mirror of
https://github.com/xpipe-io/xpipe.git
synced 2025-04-19 02:33:39 +00:00
Fixes
This commit is contained in:
parent
27b8616e91
commit
d0b10f36ec
1 changed files with 24 additions and 36 deletions
|
@ -180,7 +180,7 @@ public class TerminalLauncher {
|
|||
}
|
||||
}
|
||||
|
||||
var proxyConfig = launchProxy(request, terminalConfig, config);
|
||||
var proxyConfig = launchProxy(request, config);
|
||||
if (proxyConfig.isPresent()) {
|
||||
launch(type, proxyConfig.get(), latch);
|
||||
return;
|
||||
|
@ -224,24 +224,21 @@ public class TerminalLauncher {
|
|||
return false;
|
||||
}
|
||||
|
||||
var control = TerminalProxyManager.getProxy().orElse(LocalShell.getShell());
|
||||
|
||||
// Throw if not supported
|
||||
multiplexer.get().checkSupported(TerminalProxyManager.getProxy().orElse(LocalShell.getShell()));
|
||||
multiplexer.get().checkSupported(control);
|
||||
|
||||
if (TerminalMultiplexerManager.requiresNewTerminalSession(request)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
var control = TerminalProxyManager.getProxy();
|
||||
if (control.isEmpty()) {
|
||||
return false;
|
||||
}
|
||||
|
||||
var openCommand = launchConfiguration.getDialectLaunchCommand().buildFull(control.get());
|
||||
var openCommand = launchConfiguration.getDialectLaunchCommand().buildFull(control);
|
||||
var multiplexerCommand = multiplexer
|
||||
.get()
|
||||
.launchScriptExternal(control.get(), openCommand, initScriptConfig)
|
||||
.launchScriptExternal(control, openCommand, initScriptConfig)
|
||||
.toString();
|
||||
control.get().command(multiplexerCommand).execute();
|
||||
control.command(multiplexerCommand).execute();
|
||||
return true;
|
||||
}
|
||||
|
||||
|
@ -308,36 +305,27 @@ public class TerminalLauncher {
|
|||
}
|
||||
|
||||
private static Optional<TerminalLaunchConfiguration> launchProxy(
|
||||
UUID request, TerminalInitScriptConfig initScriptConfig, TerminalLaunchConfiguration launchConfiguration)
|
||||
UUID request, TerminalLaunchConfiguration launchConfiguration)
|
||||
throws Exception {
|
||||
var proxyControl = TerminalProxyManager.getProxy();
|
||||
if (proxyControl.isEmpty()) {
|
||||
return Optional.empty();
|
||||
}
|
||||
|
||||
var initScript = AppPrefs.get().terminalInitScript().getValue();
|
||||
var initialCommand = initScript != null ? initScript + "\n" : "";
|
||||
var openCommand = launchConfiguration.getDialectLaunchCommand().buildSimple();
|
||||
var fullCommand = initialCommand + openCommand;
|
||||
|
||||
var proxyControl = TerminalProxyManager.getProxy();
|
||||
if (proxyControl.isPresent()) {
|
||||
var launchCommand = proxyControl
|
||||
.get()
|
||||
.prepareIntermediateTerminalOpen(
|
||||
TerminalInitFunction.fixed(fullCommand),
|
||||
TerminalInitScriptConfig.ofName("XPipe"),
|
||||
WorkingDirectoryFunction.none());
|
||||
// Restart for the next time
|
||||
proxyControl.get().start();
|
||||
var fullLocalCommand = getTerminalRegisterCommand(request) + "\n" + launchCommand;
|
||||
return Optional.ofNullable(launchConfiguration.withScript(
|
||||
ProcessControlProvider.get().getEffectiveLocalDialect(), fullLocalCommand));
|
||||
|
||||
} else {
|
||||
var launchCommand = LocalShell.getShell()
|
||||
.prepareIntermediateTerminalOpen(
|
||||
TerminalInitFunction.fixed(fullCommand),
|
||||
TerminalInitScriptConfig.ofName("XPipe"),
|
||||
WorkingDirectoryFunction.none());
|
||||
var fullLocalCommand = getTerminalRegisterCommand(request) + "\n" + launchCommand;
|
||||
return Optional.ofNullable(launchConfiguration.withScript(
|
||||
ProcessControlProvider.get().getEffectiveLocalDialect(), fullLocalCommand));
|
||||
}
|
||||
var launchCommand = proxyControl
|
||||
.get()
|
||||
.prepareIntermediateTerminalOpen(
|
||||
TerminalInitFunction.fixed(fullCommand),
|
||||
TerminalInitScriptConfig.ofName("XPipe"),
|
||||
WorkingDirectoryFunction.none());
|
||||
// Restart for the next time
|
||||
proxyControl.get().start();
|
||||
var fullLocalCommand = getTerminalRegisterCommand(request) + "\n" + launchCommand;
|
||||
return Optional.ofNullable(launchConfiguration.withScript(
|
||||
ProcessControlProvider.get().getEffectiveLocalDialect(), fullLocalCommand));
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue