Anwendung mit benutzerdefiniertem Tastaturkürzel starten

17

Mac OS 10.6 verfügt in den Systemeinstellungen über einen Einstellungsbereich "Tastaturkürzel". Hier können Sie neue Einträge hinzufügen, die jedoch scheinbar nicht funktionieren. Ist dies der richtige Weg, um Hotkeys hinzuzufügen? Zum Beispiel möchte ich, dass Command + Esc Terminal.app öffnet.

Igorio
quelle
Daniel weist darauf hin, dass Sie sich vielleicht etwas wie Alfred.app oder Quicksilver oder Googles QSB-Projekt ansehen möchten.
Peelman
Ich benutze und liebe Alfred, aber Sie können auch mit Spotlight starten. Wenn Sie Terminal häufig genug verwenden (oder zumindest weniger als andere Apps, die mit "T" beginnen), sind es möglicherweise nur drei Tastenanschläge - einer zum Starten von Spotlight, einer zum Eingeben von "T" und einer zum Drücken der Eingabetaste Akzeptieren Sie das erste gefundene Ergebnis.
Doug Harris
Keine Notwendigkeit, die Vorschläge anderer zu wiederholen. Bitte hinterlassen Sie Kommentare für neue Informationen. Ich mag Alfred auch, aber ich frage nicht nach Trägerraketen.
Igorio

Antworten:

14

Sie müssen sich hier mit zwei Fragen befassen

  • Sie können Tastenkombinationen nur den Menüelementen und Diensten von Anwendungen zuweisen. Terminal.app ist weder.
  • Sie können in der Regel keine Tastenkombination erstellen, indem Sie Escfür Dienste in den Systemeinstellungen »Tastatur» Tastenkombinationen verwenden .

Stellen Sie sicher, dass ein echter Anwendungsstarter wie Quicksilver, Alfred oder LaunchBar nicht die bessere Lösung ist.

Schauen Sie sich für ein Terminal Visor an . Hiermit können Sie eine HUD-Konsole erstellen. Wenn Sie Quake gespielt haben, wissen Sie, wie es funktioniert.


Davon abgesehen können Sie diese Arbeit machen.

Erstellen Sie zunächst einen Dienst, indem /Applications/Automator.appSie die Dienstvorlage starten und auswählen . Wählen Sie die Dienstprogrammbibliothek aus und doppelklicken Sie auf Anwendung starten . Wählen Sie im Popup-Menü Andere ... und dann /Applications/Utilities/Terminal.app.

Wählen Sie über dem Befehl Anwendung starten keine Eingabe und keine Anwendung aus .

Drücken Sie Command-Szum Speichern und nennen Sie es Terminal starten .


Öffnen Sie nun die Systemeinstellungen »Tastatur» Tastaturkürzel , wählen Sie Anwendungsverknüpfungen ( nicht Service !). Klicken Sie auf die +Schaltfläche und wählen Sie Alle Anwendungen . Geben Sie als Namen ein Launch Terminal. Wählen Sie dann das Tastaturkürzel-Eingabefeld und drücken Sie Command-Esc. Klicken Sie auf Hinzufügen .

Erledigt. Jetzt gibt es einen neuen Menüpunkt im Anwendungsmenü »Dienste mit dem Namen TerminalCommand-Esc starten , mit der Tastenkombination , und durch Auswahl dieser Option wird Terminal gestartet.

Bildbeschreibung hier eingeben

Daniel Beck
quelle
Ein brillanter Hack :)
Peelman
Ich bin mir ziemlich sicher Cmd-Esc, dass einige Anwendungen sie verwenden. Könnte mit der EscAutovervollständigung verbunden sein. Ich könnte mich jedoch irren.
Daniel Beck
Ich wollte, dass dies funktioniert, aber die Tastenkombination startet das Terminal immer noch nicht. Ich kann es aus dem Menü auswählen, aber das hat nicht den Zweck, eine Verknüpfung zu haben. (Daniel, ja, in der ersten Reihe wird standardmäßig diese Verknüpfung verwendet, die Sie in den Tastatureinstellungen deaktivieren können.)
Igorio
1
Neu gestartet, und das habe ich gefunden. Die Verknüpfungen funktionieren nicht direkt vom Gate aus. Wenn Sie jedoch zum Menü "App"> "Dienste" gehen, werden diese angezeigt. Dies scheint den Dienst zu aktualisieren oder zu aktivieren. Danach funktionieren die Verknüpfungen, aber nur in dieser App. Finden Sie das auch?
Igorio
1
Es funktioniert mit einem anderen Benutzerkonto, und jetzt scheint es auch mit meinem Benutzerkonto zu funktionieren. Ich bin ratlos. Irgendeine Idee, welcher Launchagent oder Daemon dafür verantwortlich ist? Andererseits startet diese Methode Apps langsamer als die Verwendung einer Launcher-App, nicht dass es deine Schuld oder etwas anderes ist, aber das Schöne an Verknüpfungen ist die Geschwindigkeit.
Igorio
2

Es gibt einen Fehler, bei dem die Verknüpfungen für Automator-Dienste nicht immer funktionieren, bis das Menü "Dienste" einmal in der Menüleiste angezeigt wurde. Und sie sind in Anwendungen ohne Menü "Dienste" nicht verfügbar . Es gibt auch eine merkliche Verzögerung, bevor sie ausgeführt werden.

Die Verwendung einer Drittanbieteranwendung wie Alfred wäre eine bessere Idee.

Sie können auch Shell-Befehlen wie Verknüpfungen zuweisenopen -a iTunes .

Dies würde das Skript blockieren, bis das Öffnen der Anwendung abgeschlossen ist. Es würde also länger dauern, wenn es mit FastScripts ausgeführt würde:

tell application "iTunes"
    reopen
    activate
end tell
Lri
quelle
Ich habe seine Antwort dahingehend interpretiert, dass ich keine Software von Drittanbietern wie Trägerraketen haben möchte. Also waren FastScripts, Apptivate etc. raus - obwohl sie zugegebenermaßen wahrscheinlich besser funktionieren als meine Lösung. Ich kenne mich mit dem Bearbeiten von Plists aus und habe dies vor einiger Zeit mit Hilfe von @ Arjan untersucht. Aber ich glaube, Sie sind sich einig, dass dies normalerweise nicht möglich ist und die Verwendung der Verknüpfungsoptionen für die genannten Menüelemente sehr viel einfacher ist. Übrigens, willkommen in SU, ich liebe deine Beiträge.
Daniel Beck