Make fast terminal startup a setting

This commit is contained in:
crschnick 2023-12-28 04:57:33 +00:00
parent f2c5561eac
commit d0d55a3a94
4 changed files with 18 additions and 3 deletions

View file

@ -154,6 +154,16 @@ public class AppPrefs {
private final BooleanField preferTerminalTabsField =
BooleanField.ofBooleanType(preferTerminalTabs).render(() -> new CustomToggleControl());
// Fast terminal
// ===========
public final BooleanProperty enableFastTerminalStartup = typed(new SimpleBooleanProperty(false), Boolean.class);
public ObservableBooleanValue enableFastTerminalStartup() {
return enableFastTerminalStartup;
}
private final BooleanField enableFastTerminalStartupField =
BooleanField.ofBooleanType(enableFastTerminalStartup).render(() -> new CustomToggleControl());
// Password manager
// ================
final StringProperty passwordManagerCommand = typed(new SimpleStringProperty(""), String.class);
@ -626,7 +636,8 @@ public class AppPrefs {
Setting.of("customTerminalCommand", customTerminalCommandControl, customTerminalCommand)
.applyVisibility(VisibilityProperty.of(
terminalType.isEqualTo(ExternalTerminalType.CUSTOM))),
Setting.of("preferTerminalTabs", preferTerminalTabsField, preferTerminalTabs))),
Setting.of("preferTerminalTabs", preferTerminalTabsField, preferTerminalTabs),
Setting.of("enableFastTerminalStartup", enableFastTerminalStartupField, enableFastTerminalStartup))),
new DeveloperCategory(this).create(),
Category.of("troubleshoot", Group.of(troubleshoot))));

View file

@ -134,6 +134,8 @@ customTerminalCommand=Custom terminal command
customTerminalCommandDescription=The command to execute to open the custom terminal. The placeholder string $CMD will be replaced by the quoted shell script file name when called. Remember to quote your terminal executable path if it contains spaces.
preferTerminalTabs=Prefer to open new tabs
preferTerminalTabsDescription=Controls whether XPipe will try to open new tabs in your chosen terminal instead of new windows.
enableFastTerminalStartup=Enable fast terminal startup
enableFastTerminalStartupDescription=When enabled, terminal sessions are attempted to be started quicker when possible.\n\nThis will skip several startup checks and won't update any displayed system information. Any connection errors will only be shown in the terminal.
cmd=cmd.exe
powershell=Powershell
pwsh=Powershell Core

View file

@ -6,10 +6,12 @@
## Changes
- Optimize terminal launching performance. When no scripts, environment, or custom title/color are enabled for a connection,
- Add setting to optimize terminal launching performance.
When no scripts, environment, or custom title/color are enabled for a connection,
it will now be instantly launched in a terminal without verifying the connection first.
This will speed up the process but will move any occurring errors into the terminal window.
It also fixes any login banners not being shown.
You can enable this under Settings -> Terminal
- Make current default shell also show up in shell environments to prevent confusion about missing `bash`
- Improve error messages when an additional password was requested by the connection
when none was provided instead of just showing permission denied

View file

@ -90,7 +90,7 @@ public abstract class ScriptStore extends JacksonizedValue implements DataStore,
return targetDir;
}
} catch (NumberFormatException e) {
ErrorEvent.fromThrowable(e).omit().handle();
ErrorEvent.fromThrowable(e).expected().omit().handle();
}
}