This commit is contained in:
crschnick
2026-01-12 12:32:11 +00:00
parent f7848d8199
commit ef528181f2
3 changed files with 71 additions and 0 deletions
@@ -67,6 +67,7 @@ public interface ExternalTerminalType extends PrefsChoiceValue {
ExternalTerminalType GNOME_TERMINAL = new GnomeTerminalType();
ExternalTerminalType GNOME_CONSOLE = new GnomeConsoleType();
ExternalTerminalType PTYXIS = new PtyxisTerminalType();
ExternalTerminalType YAKUAKE = new YakuakeTerminalType();
ExternalTerminalType KONSOLE = new KonsoleTerminalType();
ExternalTerminalType XFCE = new SimplePathType("app.xfce", "xfce4-terminal", true) {
@Override
@@ -473,6 +474,7 @@ public interface ExternalTerminalType extends PrefsChoiceValue {
KONSOLE,
GNOME_TERMINAL,
GhosttyTerminalType.GHOSTTY_LINUX,
YAKUAKE,
TILIX,
GUAKE,
TILDA,
@@ -0,0 +1,68 @@
package io.xpipe.app.terminal;
import io.xpipe.app.prefs.ExternalApplicationHelper;
import io.xpipe.app.prefs.ExternalApplicationType;
import io.xpipe.app.process.CommandBuilder;
import io.xpipe.app.process.CommandSupport;
import io.xpipe.app.process.LocalShell;
import io.xpipe.app.util.FlatpakCache;
public class YakuakeTerminalType implements ExternalApplicationType.LinuxApplication, TrackableTerminalType {
@Override
public TerminalOpenFormat getOpenFormat() {
return TerminalOpenFormat.TABBED;
}
@Override
public String getWebsite() {
return "https://apps.kde.org/en-gb/yakuake/";
}
@Override
public boolean isRecommended() {
return true;
}
@Override
public boolean useColoredTitle() {
return true;
}
@Override
public void launch(TerminalLaunchConfiguration configuration) throws Exception {
CommandSupport.isInLocalPathOrThrow("Yakuake", "yakuake");
var toggle = CommandBuilder.of().add("qdbus", "org.kde.yakuake", "/yakuake/window", "org.kde.yakuake.toggleWindowState");
LocalShell.getShell().command(toggle).execute();
var newTab = CommandBuilder.of().add("qdbus", "org.kde.yakuake", "/yakuake/session","org.kde.yakuake.addSession");
LocalShell.getShell().command(newTab).execute();
var renameTab = CommandBuilder.of().add("qdbus", "org.kde.yakuake", "/yakuake/tabs", "setTabTitle").addLiteral(configuration.getColoredTitle());
LocalShell.getShell().command(renameTab).execute();
var run = CommandBuilder.of().add("qdbus", "org.kde.yakuake", "/yakuake/sessions", "runCommandInTerminal").addLiteral(configuration.getColoredTitle());
LocalShell.getShell().command(run).execute();
}
@Override
public String getExecutable() {
return "yakuake";
}
@Override
public boolean detach() {
return true;
}
@Override
public String getId() {
return "app.yakuake";
}
@Override
public String getFlatpakId() throws Exception {
return null;
}
}
+1
View File
@@ -156,3 +156,4 @@ ed25519=ED25519
ed25519Sk=ED25519 (FIDO2)
westonEditor=Weston Editor
passbolt=Passbolt
yakuake=Yakuake