diff --git a/app/src/main/java/io/xpipe/app/prefs/ExternalTerminalType.java b/app/src/main/java/io/xpipe/app/prefs/ExternalTerminalType.java index 3ad0401a3..f43ce7add 100644 --- a/app/src/main/java/io/xpipe/app/prefs/ExternalTerminalType.java +++ b/app/src/main/java/io/xpipe/app/prefs/ExternalTerminalType.java @@ -413,6 +413,46 @@ public interface ExternalTerminalType extends PrefsChoiceValue { } }; + ExternalTerminalType XTERM = new SimplePathType("app.xterm", "xterm") { + + @Override + protected CommandBuilder toCommand(String name, String file) { + return CommandBuilder.of().add("-title").addQuoted(name).add("-e").addQuoted(file); + } + + @Override + public boolean isSelectable() { + return OsType.getLocal().equals(OsType.LINUX); + } + }; + + ExternalTerminalType DEEPIN_TERMINAL = new SimplePathType("app.deepinTerminal", "deepin-terminal") { + + @Override + protected CommandBuilder toCommand(String name, String file) { + return CommandBuilder.of().add("-C").addQuoted(file); + } + + @Override + public boolean isSelectable() { + return OsType.getLocal().equals(OsType.LINUX); + } + }; + + + ExternalTerminalType Q_TERMINAL = new SimplePathType("app.qTerminal", "qterminal") { + + @Override + protected CommandBuilder toCommand(String name, String file) { + return CommandBuilder.of().add("-e").addQuoted(file); + } + + @Override + public boolean isSelectable() { + return OsType.getLocal().equals(OsType.LINUX); + } + }; + ExternalTerminalType MACOS_TERMINAL = new MacOsTerminalType(); ExternalTerminalType ITERM2 = new ITerm2Type(); diff --git a/app/src/main/resources/io/xpipe/app/resources/lang/translations_en.properties b/app/src/main/resources/io/xpipe/app/resources/lang/translations_en.properties index d75c99c88..8dec31d00 100644 --- a/app/src/main/resources/io/xpipe/app/resources/lang/translations_en.properties +++ b/app/src/main/resources/io/xpipe/app/resources/lang/translations_en.properties @@ -55,6 +55,9 @@ coolRetroTerm=Cool Retro Term guake=Guake alacritty=Alacritty tilda=Tilda +xterm=XTerm +deepinTerminal=Deepin Terminal +qterminal=QTerminal recent=Recent hostFeatureUnsupported=$FEATURE$ is not installed on the host missingStore=$NAME$ does not exist