diff --git a/app/src/main/java/io/xpipe/app/util/MacOsPermissions.java b/app/src/main/java/io/xpipe/app/util/MacOsPermissions.java index 5662d9af..abb60181 100644 --- a/app/src/main/java/io/xpipe/app/util/MacOsPermissions.java +++ b/app/src/main/java/io/xpipe/app/util/MacOsPermissions.java @@ -1,13 +1,20 @@ package io.xpipe.app.util; import io.xpipe.core.store.ShellStore; +import io.xpipe.extension.util.ThreadHelper; public class MacOsPermissions { - public static boolean waitFor() throws Exception { + public static boolean waitForAccessibilityPermissions() throws Exception { try (var pc = ShellStore.local().create().start()) { - pc.executeSimpleCommand("tell application \"System Events\" to keystroke \"t\""); + while (true) { + var success = pc.executeBooleanSimpleCommand("osascript -e 'tell application \"System Events\" to keystroke \"t\"'"); + if (success) { + return true; + } + + ThreadHelper.sleep(1000); + } } - return true; } } diff --git a/ext/proc/src/main/java/io/xpipe/ext/proc/ExternalTerminalType.java b/ext/proc/src/main/java/io/xpipe/ext/proc/ExternalTerminalType.java index d87d7f25..cc097211 100644 --- a/ext/proc/src/main/java/io/xpipe/ext/proc/ExternalTerminalType.java +++ b/ext/proc/src/main/java/io/xpipe/ext/proc/ExternalTerminalType.java @@ -224,7 +224,7 @@ public interface ExternalTerminalType extends PrefsChoiceValue { @Override public void launch(String name, String command) throws Exception { - MacOsPermissions.waitFor(); + MacOsPermissions.waitForAccessibilityPermissions(); try (ShellProcessControl pc = ShellStore.local().create().start()) { var cmd = String.format( diff --git a/ext/proc/src/main/resources/io/xpipe/ext/proc/resources/lang/translations_en.properties b/ext/proc/src/main/resources/io/xpipe/ext/proc/resources/lang/translations_en.properties index f183fcb4..f7a9f385 100644 --- a/ext/proc/src/main/resources/io/xpipe/ext/proc/resources/lang/translations_en.properties +++ b/ext/proc/src/main/resources/io/xpipe/ext/proc/resources/lang/translations_en.properties @@ -90,7 +90,7 @@ key=Key installConnector=Install Connector konsole=Konsole xfce=Xfce -macosTerminal=Terminal +macosTerminal=Terminal.app iterm2=iTerm2 warp=Warp custom=Custom \ No newline at end of file