diff --git a/app/src/main/java/io/xpipe/app/prefs/ExternalApplicationType.java b/app/src/main/java/io/xpipe/app/prefs/ExternalApplicationType.java index 41f5ab881..69b79504d 100644 --- a/app/src/main/java/io/xpipe/app/prefs/ExternalApplicationType.java +++ b/app/src/main/java/io/xpipe/app/prefs/ExternalApplicationType.java @@ -139,7 +139,7 @@ public interface ExternalApplicationType extends PrefsValue { } try (ShellControl pc = LocalShell.getShell()) { - args.add(0, "flatpak", "run", "\"" + getFlatpakId() + "\""); + args.add(0, FlatpakCache.runCommand(getFlatpakId())); pc.command(args).execute(); } } diff --git a/app/src/main/java/io/xpipe/app/prefs/ExternalEditorType.java b/app/src/main/java/io/xpipe/app/prefs/ExternalEditorType.java index 182a014f6..fbf1f0b36 100644 --- a/app/src/main/java/io/xpipe/app/prefs/ExternalEditorType.java +++ b/app/src/main/java/io/xpipe/app/prefs/ExternalEditorType.java @@ -399,7 +399,7 @@ public interface ExternalEditorType extends PrefsChoiceValue { public void launch(Path file) throws Exception { var exec = CommandSupport.isInLocalPath(getExecutable()) ? CommandBuilder.of().addFile(getExecutable()) : - CommandBuilder.of().add("flatpak", "run").addQuoted(getFlatpakId()); + FlatpakCache.runCommand(getFlatpakId()); if (FlatpakCache.getApp(getFlatpakId()).isEmpty()) { CommandSupport.isInPathOrThrow(LocalShell.getShell(), getExecutable()); @@ -763,7 +763,7 @@ public interface ExternalEditorType extends PrefsChoiceValue { CommandSupport.isInPathOrThrow(LocalShell.getShell(), getExecutable()); } - var builder = CommandBuilder.of().add("flatpak", "run").addQuoted(getFlatpakId()).addFile(file.toString()); + var builder = FlatpakCache.runCommand(getFlatpakId()).addFile(file.toString()); ExternalApplicationHelper.startAsync(builder); } } diff --git a/app/src/main/java/io/xpipe/app/terminal/WezTerminalType.java b/app/src/main/java/io/xpipe/app/terminal/WezTerminalType.java index 2b4f43e3f..d6111d7e3 100644 --- a/app/src/main/java/io/xpipe/app/terminal/WezTerminalType.java +++ b/app/src/main/java/io/xpipe/app/terminal/WezTerminalType.java @@ -111,7 +111,7 @@ public interface WezTerminalType extends ExternalTerminalType, TrackableTerminal base = CommandBuilder.of().addFile("wezterm"); } else { if (flatpak.isPresent()) { - base = CommandBuilder.of().add("flatpak", "run").addQuoted("org.wezfurlong.wezterm"); + base = FlatpakCache.runCommand("org.wezfurlong.wezterm"); } else { base = CommandBuilder.of().addFile("wezterm"); } @@ -131,7 +131,7 @@ public interface WezTerminalType extends ExternalTerminalType, TrackableTerminal base = CommandBuilder.of().addFile("wezterm-gui"); } else { if (flatpak.isPresent()) { - base = CommandBuilder.of().add("flatpak", "run").addQuoted("org.wezfurlong.wezterm"); + base = FlatpakCache.runCommand("org.wezfurlong.wezterm"); } else { base = CommandBuilder.of().addFile("wezterm-gui"); } diff --git a/app/src/main/java/io/xpipe/app/util/FlatpakCache.java b/app/src/main/java/io/xpipe/app/util/FlatpakCache.java index cb6ca4fe0..d9bc9a3ae 100644 --- a/app/src/main/java/io/xpipe/app/util/FlatpakCache.java +++ b/app/src/main/java/io/xpipe/app/util/FlatpakCache.java @@ -42,6 +42,9 @@ public class FlatpakCache { } public static CommandBuilder runCommand(String id) throws Exception { - return CommandBuilder.of().add("flatpak", "run").addQuoted(id).add("--filesystem=" + AppSystemInfo.ofLinux().getTemp()); + return CommandBuilder.of().add("flatpak", "run") + .add("--filesystem=" + AppSystemInfo.ofLinux().getTemp()) + .add("--filesystem=host") + .addQuoted(id); } }