This commit is contained in:
crschnick
2025-04-11 17:06:57 +00:00
parent 63f7b61027
commit 27b8616e91
3 changed files with 30 additions and 16 deletions
@@ -310,25 +310,34 @@ public class TerminalLauncher {
private static Optional<TerminalLaunchConfiguration> launchProxy(
UUID request, TerminalInitScriptConfig initScriptConfig, 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 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));
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));
}
}
}
+4
View File
@@ -37,6 +37,10 @@ Various improvements were made to the SSH implementation:
- When the SSH password is set to none, XPipe will no longer prompt for it anyway if the preferred auth failed
- The VSCode SSH remote integration has been reworked to allow more connections it to be opened in vscode. It now supports essentially all simple SSH connections, custom SSH connections, SSH config connections, and VM SSH connections. This support includes gateways
## Mini mode
The application window will now hide any unnecessary sidebars when being resized to a small width. This makes it much easier to use XPipe next to a terminal (maybe also with the new multiplexer integration) in a tiling window arrangement.
## Other
- Generated connection names, e.g. VM names, will now automatically update on refresh when they were changed
+1
View File
@@ -123,3 +123,4 @@ onePassword=1Password
starship=Starship
ohmyposh=Oh My Posh
ohmyzsh=Oh My Zsh
uxterm=UXTerm