mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-04-19 13:02:30 +07:00
IJPL-174294 Remote Dev: use jetbrains_client64.exe to run JetBrains Client process from a full IDE on Windows
This is needed to show the special icon for the application in that case. Updating the icon at runtime doesn't update it in the task bar. GitOrigin-RevId: 7487cc2fb4dd74e174329a6e5d57a730727fe236
This commit is contained in:
committed by
intellij-monorepo-bot
parent
5fa3342204
commit
c19af13f06
@@ -21,6 +21,8 @@
|
||||
description="Specify a positive value to make a client process started from an IDE listen for debug connections on that port."/>
|
||||
<registryKey key="rdct.embedded.client.debug.suspend" defaultValue="false"
|
||||
description="Enable this option to suspend a client process started from an IDE until a debugger connects to it."/>
|
||||
<registryKey key="rdct.embedded.client.prefer.jetrains_client64.exe" defaultValue="true"
|
||||
description="Disable this option to start JetBrains Client process on Windows from a full IDE using the IDE's launcher instead of a special jetbrains_client64.exe launcher."/>
|
||||
<registryKey key="rdct.use.native.client.launcher.on.linux" defaultValue="true"
|
||||
description="If enabled, the native launcher is used to run JetBrains Client process on Linux instead of jetbrains_client.sh script"/>
|
||||
</extensions>
|
||||
|
||||
@@ -98,7 +98,7 @@ class EmbeddedClientLauncher private constructor(private val moduleRepository: R
|
||||
}
|
||||
|
||||
fun launch(url: String, extraArguments: List<String>, lifetime: Lifetime, errorReporter: EmbeddedClientErrorReporter): Lifetime {
|
||||
val launcherData = createLauncherViaIdeExecutable() ?: findOldJetBrainsClientLauncher()
|
||||
val launcherData = findCustomClientLauncher() ?: createLauncherViaIdeExecutable() ?: findOldJetBrainsClientLauncher()
|
||||
if (launcherData != null) {
|
||||
LOG.debug("Start embedded client using launcher")
|
||||
val workingDirectory = Path(PathManager.getHomePath())
|
||||
@@ -178,12 +178,22 @@ class EmbeddedClientLauncher private constructor(private val moduleRepository: R
|
||||
return JetBrainsClientLauncherData(executable, listOf(executable.pathString))
|
||||
}
|
||||
|
||||
private fun findCustomClientLauncher(): JetBrainsClientLauncherData? {
|
||||
if (OS.CURRENT == OS.Windows && Registry.`is`("rdct.embedded.client.prefer.jetrains_client64.exe")) {
|
||||
//prefer a special launcher for JetBrains Client if it exists to ensure that the special 'remote' icon will be used for the application
|
||||
return PathManager.findBinFile("jetbrains_client64.exe")?.let {
|
||||
JetBrainsClientLauncherData(it, listOf(it.pathString))
|
||||
}
|
||||
}
|
||||
return null
|
||||
}
|
||||
|
||||
private fun findOldJetBrainsClientLauncher(): JetBrainsClientLauncherData? {
|
||||
return when (OS.CURRENT) {
|
||||
OS.macOS -> {
|
||||
return null
|
||||
null
|
||||
}
|
||||
OS.Windows -> PathManager.findBinFile("jetbrains_client64.exe")?.let {
|
||||
OS.Windows -> PathManager.findBinFile("jetbrains_client64.exe")?.let {
|
||||
JetBrainsClientLauncherData(it, listOf(it.pathString))
|
||||
}
|
||||
else -> PathManager.findBinFile("jetbrains_client.sh")?.let {
|
||||
|
||||
Reference in New Issue
Block a user