Wie soll ich ein neues iTerm-Terminal mit Verknüpfung starten?

Ich habe einen Dienst in Automator erstellt und eine Verknüpfung zugewiesen, und es funktioniert.

Geben Sie hier die Bildbeschreibung ein

Dies startet jedoch kein neues iTerm-Terminal. Es zeigt nur die bereits laufende

Wie kann ich einen neuen „Tab“ oder ein neues „iTerm-Fenster“ starten?

Antworten (4)

Sie können die Aktion in Ihrem Automator-definierten Dienst in eine AppleScript-Aktion ändern:

  • Wählen Sie Bibliothek/AppleScript ausführen im Fenster „Aktionen“.
  • Fügen Sie das folgende AppleScript in der erstellten Aktion hinzu und speichern Sie:
if application "iTerm" is not running then
    activate application "iTerm"
else
    tell application "iTerm"
        create window with default profile
        activate
    end tell
end if

Dies öffnet iTerm, wenn es nicht läuft, andernfalls öffnet es ein neues Fenster. Weitere Beispiele für AppleScript-Skripting für iTerm finden Sie in der iTerm-Dokumentation .

Sie können die iTerm-Tastenkombination verwenden:

  • Neuer Tab: Command ⌘+T
  • Neues Fenster: Command ⌘+N
Sie müssen die App dafür fokussieren. Die Frage scheint nach einer globalen Verknüpfung zu fragen, nicht nach einer anwendungsspezifischen.

Sie können dies auch mit skhd tun.

.skhdrc:

ctrl + cmd - t : osascript /Users/user/Library/Scripts/new-iterm-window.scpt

new-iterm-window.scpt:

tell application "iTerm"
    create window with default profile
    activate
end tell

Es ist ein bisschen schneller als über den Standard-Services-Shortcuts-Menüleisten-Ansatz. Es funktioniert buchstäblich in jeder App, sogar in einer, die kein Dienstemenü hat oder die diese bestimmte Verknüpfung belegt, da skhd die Tasten zuerst abfängt.

Dies ist die einzige Antwort, die für mich richtig funktioniert hat - wie Sie sagten, funktioniert sie von überall (im Gegensatz zum Automator-Ansatz). Außerdem ist es viel übersichtlicher zu konfigurieren, da keine GUIs durchlaufen werden müssen

Sie können ein AppleScript erstellen, das die menschliche Eingabe manuell emuliert. Mit anderen Worten, ziehen Sie AppleScript per Drag & Drop und zwingen Sie die Anwendung, die vorderste Anwendung zu werden, und rufen Sie dann einen Kontextmenü-Klick auf, als ob Sie mit Ihrer Maus darauf geklickt hätten. Speichern Sie es dann erneut als Ihren Dienst.

Und ein Beispiel, aber nicht spezifisch für Ihre Anwendung, wäre:

activate application "ApplicationName"
tell application "System Events"
tell process "ApplicationName"
    keystroke "n" using {command down}
    delay 1
end tell
end tell