From 6b80d4cda3fd3e51cea3113182bfa5bed4da860c Mon Sep 17 00:00:00 2001 From: crschnick Date: Fri, 3 Feb 2023 13:05:12 +0000 Subject: [PATCH] Fixes for mac integration --- .../xpipe/app/prefs/ExternalEditorType.java | 4 +- .../java/io/xpipe/ext/proc/TerminalType.java | 37 ++++++++++++++++++- 2 files changed, 38 insertions(+), 3 deletions(-) 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 e66ca587..06cb8901 100644 --- a/app/src/main/java/io/xpipe/app/prefs/ExternalEditorType.java +++ b/app/src/main/java/io/xpipe/app/prefs/ExternalEditorType.java @@ -73,14 +73,14 @@ public abstract class ExternalEditorType implements PrefsChoiceValue { public static final ExternalEditorType TEXT_EDIT = new MacOsFullPathType("app.textEdit") { @Override protected Path determinePath() { - return Path.of("/Applications/TextEdit.app"); + return Path.of("/System/Applications/TextEdit.app"); } }; public static final ExternalEditorType NOTEPADPP_MACOS = new MacOsFullPathType("app.notepad++") { @Override protected Path determinePath() { - return Path.of("/Applications/TextEdit.app"); + return Path.of("/Applications/Notepad++.app"); } }; diff --git a/ext/proc/src/main/java/io/xpipe/ext/proc/TerminalType.java b/ext/proc/src/main/java/io/xpipe/ext/proc/TerminalType.java index 6295c86d..42213bf0 100644 --- a/ext/proc/src/main/java/io/xpipe/ext/proc/TerminalType.java +++ b/ext/proc/src/main/java/io/xpipe/ext/proc/TerminalType.java @@ -10,6 +10,8 @@ import io.xpipe.extension.util.ApplicationHelper; import lombok.AllArgsConstructor; import lombok.Getter; +import java.nio.file.Files; +import java.nio.file.Path; import java.util.List; @Getter @@ -98,7 +100,7 @@ public abstract class TerminalType implements PrefsChoiceValue { public static final TerminalType MACOS_TERMINAL = new MacType("proc.macosTerminal", "Terminal"); - public static final TerminalType ITERM2 = new MacType("proc.iterm2", "iTerm2"); + public static final TerminalType ITERM2 = new ITerm2Type(); public static final TerminalType WARP = new MacType("proc.warp", "Warp"); @@ -178,6 +180,39 @@ public abstract class TerminalType implements PrefsChoiceValue { } } + static class ITerm2Type extends TerminalType { + + public ITerm2Type() { + super("proc.iterm2"); + } + + @Override + public void launch(String name, String command) throws Exception { + try (ShellProcessControl pc = ShellStore.local().create().start()) { + var cmd = String.format(""" + osascript - "$@" <