Posso creare un collegamento per aprire un'applicazione specifica su OS X?


51

Voglio creare una scorciatoia da tastiera per aprire Firefox mentre sto lavorando in un'altra applicazione. So che posso usare ⌘ CMD+ Tquando sono in Firefox per aprire una nuova scheda.

Non ho trovato un modo per creare quel tipo di scorciatoie nelle Preferenze di Sistema.

Qualche idea?


1
Quindi vuoi dire scorciatoie da tastiera ?
Rabarberski,

Dai un'occhiata ai Servizi nel menu Applicazioni qualsiasi app Cocoa scritta in modo ragionevole avrà questi e potranno essere assegnati chiavi. Purtroppo penso che Firefox non sia stato scritto per usarli. Safari può essere utilizzato qui
user151019

Questa potrebbe non essere stata un'opzione nel 2011 quando la domanda è stata posta per la prima volta, ma ora è abbastanza facile da fare utilizzando Automator. Vedi howtogeek.com/209725/… per un tutorial.
Edward Falk,

È abbastanza sorprendente per me che Apple, con la sua decantata usabilità, non abbia ritenuto adatto per integrare in MacOS un modo semplice di assegnare una scorciatoia da tastiera per l'avvio di un'applicazione.
Teemu Leisti,

Risposte:


44

Karabiner-Elements (10.12 e successivi)

Karabiner ha smesso di funzionare nel 10.12 a causa di cambiamenti nell'architettura del kernel e Karabiner è stato riscritto come Karabiner-Elements che utilizza un nuovo formato JSON per i file di configurazione.

Ora puoi aggiungere una regola come questa a karabiner.json( https://pqrs.org/osx/karabiner/json.html ):

{
  "from": {
    "key_code": "t",
    "modifiers": {
      "mandatory": [
        "right_option"
      ]
    }
  },
  "to": [
    {
      "shell_command": "open -aterminal"
    }
  ],
  "type": "basic"
}

Questo fa premere brevemente il tasto di comando destro per aprire Emacs:

{
  "from": {
    "key_code": "right_command",
    "modifiers": {
      "optional": [
        "any"
      ]
    }
  },
  "to": [
    {
      "key_code": "right_command",
      "lazy": true
    }
  ],
  "to_if_alone": [
    {
      "shell_command": "open -aemacs"
    }
  ],
  "type": "basic"
}

Karabiner (10.11 e precedenti)

Salvare un file come questo come private.xml :

<?xml version="1.0"?>
<root>
  <vkopenurldef>
    <name>KeyCode::VK_OPEN_URL_Safari</name>
    <url>file:///Applications/Safari.app</url>
  </vkopenurldef>
  <vkopenurldef>
    <name>KeyCode::VK_OPEN_URL_iTunes</name>
    <url>file:///Applications/iTunes.app</url>
  </vkopenurldef>
  <vkopenurldef>
    <name>KeyCode::VK_OPEN_URL_EMACS</name>
    <url>file:///Applications/Emacs.app</url>
  </vkopenurldef>
  <item>
    <name>custom</name>
    <identifier>custom</identifier>
    <autogen>__KeyToKey__ KeyCode::F11, KeyCode::VK_OPEN_URL_Safari</autogen>

    <!-- change the right option key into an extra modifier key -->
    <autogen>__KeyToKey__ KeyCode::OPTION_R, KeyCode::VK_MODIFIER_EXTRA1</autogen>

    <autogen>__KeyToKey__ KeyCode::I, ModifierFlag::EXTRA1, KeyCode::VK_OPEN_URL_iTunes</autogen>

    <!-- make a short press of the right command open Emacs -->
    <autogen>__KeyOverlaidModifier__ KeyCode::COMMAND_R, KeyCode::COMMAND_R, KeyCode::VK_OPEN_URL_EMACS</autogen>
  </item>
</root>

Alfred 2

Se hai acquistato Powerpack per Alfred 2, puoi creare un flusso di lavoro come questo:

I tasti di scelta rapida hanno un breve ritardo per impostazione predefinita, ma è possibile ridurre il ritardo modificando l'opzione "Comportamento del trigger" da "Simula i tasti modificatori rilasciati" in "Passa attraverso i tasti modificatori (il più veloce)":

Servizi di automazione

Apri Automator, seleziona "Servizio" come tipo di documento, modifica "Il servizio riceve" da "testo" a "nessun input", aggiungi un'azione "Avvia applicazione" e salva il servizio. Quindi assegnare una scorciatoia da tastiera per il servizio da "Preferenze di Sistema> Tastiera> Scorciatoie> Servizi".

Non consiglio questa opzione, perché almeno sul mio sistema, c'è al massimo un ritardo di circa mezzo secondo prima che un'applicazione sia focalizzata da una scorciatoia da tastiera creata usando questo metodo e il ritardo è spesso anche più lungo. C'è stato anche un bug dal 10.7 in cui le scorciatoie da tastiera per i servizi di Automator non funzionano sempre fino a quando non si passa sopra il menu dei servizi dalla barra dei menu. (Modifica: sono passati 8 anni da quando ho scritto questa risposta e il bug non è stato ancora corretto.) Inoltre le scorciatoie da tastiera per i servizi non sono disponibili in alcune applicazioni come Emacs.


3
private.xml DOVE? Dovunque? Esiste già? Non riesco a trovarlo Dove va?
boulder_ruby,

@boulder_ruby, /Library/Application Support/Karabiner/private.xml. Oppure apri la GUI di Karabiner> scheda Misc & Uninstall> scheda "Apri private.xml". Ho avuto la stessa identica difficoltà.
Alexander Bird,

Karabiner-Elements è fantastico, ora che so di poter modificare le sue impostazioni direttamente in un file json. Grazie! 😃
Quinn Comendant

2
Metti l'automobilista in cima è il più semplice da fare per la maggior parte delle persone
Harry,

8

Alfred

Alfred, nella sua versione di Power Pack, può associare collegamenti alle applicazioni, tra molte altre funzionalità.


5

Se non si desidera utilizzare app di terze parti.
Quindi è possibile utilizzare Automator (Servizi) e le scorciatoie da tastiera integrate.

Ecco come in una risposta a una domanda simile.

Molto semplice.

Nel passaggio 3 , della creazione del servizio.
Impostalo su "qualsiasi applicazione".

vale a dire,
impostare il servizio riceve su: "nessun input" in "qualsiasi applicazione" (farlo utilizzando i menu a discesa in alto).


Sii gentile nel sapere perché c'è un voto negativo su questo. Non commentare i voti
negativi


5

Ottieni Quicksilver, http://www.blacktree.com/ , ti permetterà di impostare scorciatoie da tastiera per aprire le app. In realtà ci sono molte più app che lo fanno (Alfred, Keyboard Maestro ecc. Ecc.)

Mac OS X ha effettivamente un modo integrato per farlo, ma non funziona per Firefox, perché non supporta i servizi! http://hints.macworld.com/article.php?story=20090903085255430

Aggiornamento gennaio 2012: Blacktree non aggiorna più Quicksilver: lo sviluppatore è andato su Google e ha rilasciato Google Quick Search Box . Quicksilver vive, ma ha una nuova casa su qsapp.com .


Grazie. Mi è stato di grande aiuto. usato Google ma non ho trovato il tuo link.
politicus,

Bene, quindi sei venuto giusto?
Paul Eccles,

1
"Sì". Quicksilver installato (molto potente, sicuramente meglio di avere solo una scorciatoia). Provato Maestro della tastiera. Ora riposarsi prima di imparare tutte queste scorciatoie ;-)
politicus

Quicksilver è fantastico. Grazie mille per il consiglio. Ho creato uno script bash per aprire Gmail e un altro per aprire mysms nel browser. Quindi ho usato lo script Appify per renderle app OS X. Da lì ho potuto usare Quicksilver per avere le scorciatoie da tastiera per lanciarle. Molto bello avere. mathiasbynens.be/notes/shell-script-mac-apps
jbrock

2

Ci sono molte buone opzioni qui, ma volevo aggiungere il mio preferito personale che sto usando dalla 10.5 e funziona ancora su 10.11.2: Spark 3 .

http://www.shadowlab.org/Software/spark.php

È gratuito ed estremamente facile da configurare. Ecco la descrizione dello sviluppatore:

Spark è un gestore di scorciatoie potente e facile. Con Spark è possibile creare tasti di scelta rapida per avviare applicazioni e documenti, eseguire AppleScript, controllare iTunes e altro ... È inoltre possibile esportare e importare la libreria di tasti di scelta rapida o salvarla in formato HTML per stamparla. Spark è gratuito, quindi usalo senza moderazione!

Ecco uno screenshot dell'interfaccia:

Interfaccia utente Spark


2

Ho trovato Apptivate il più semplice da usare. Basta selezionare un'applicazione e assegnare un collegamento globale. Questo è tutto.


1

So che Alfred è già stato menzionato, ma ho pensato di dire qualcosa sulla scelta dei tasti di scelta rapida. All'inizio non era ovvio per me quale sarebbe stata una buona serie di scorciatoie che era (a) facile da ricordare, (b) facile da usare e (c) non era in conflitto con altri tasti di scelta rapida di sistema o applicazione.

Ho finito per usare il tasto "alt" come base, e generalmente basandomi su tasti che possono essere attivati ​​dalla mano sinistra, e scegliendo lettere descrittive (ad esempio, x per Excel). questo ti permette di avere il mouse nella mano destra e i tasti di scelta rapida attivati ​​con la sinistra.

Un altro vantaggio dell'utilizzo dei tasti di scelta rapida Alfred per l'attivazione di un'applicazione è che se un'applicazione è nascosta, sarà nascosta.

Ecco una schermata di come l'ho configurato: esempio configurazione di hotkey alfred


1

Per aprire il Terminale con una scorciatoia da tastiera senza software di terze parti:

  • Apri Automator ( ⌘ + Spazio , quindi digita Automator)
  • Vai a File -> Nuovo
  • Seleziona Azione rapida (o Servizio , a seconda della versione del tuo Mac)
  • Dove dice Flusso di lavoro , seleziona nessun input :

come aprire un terminale mac con scorciatoia da tastiera

  • Nella colonna Azioni , cerca Esegui AppleScript e trascinalo nella colonna di destra
  • Incolla questo nell'area degli script:

    on run {input, parameters}
    
        tell application "Terminal"
            do script ""
            activate
        end tell
    
    end run
    

PS: rimuovere do script ""se non si desidera una nuova istanza del terminale ogni volta che si preme il tasto di scelta rapida.

  • Fare clic su File -> Salva e denominarlo come desiderato

mac open terminal con scorciatoia da tastiera

  • Ora chiudi Automator e apri Preferenze di Sistema -> Tastiera -> Scorciatoie
  • Nella colonna di sinistra, fai clic su "Servizi"
  • Scorri fino in fondo, dovresti vedere lo script che hai appena salvato. Fare clic su nessuno per assegnargli un tasto di scelta rapida.

Una cosa importante da considerare, tuttavia, è che il tasto di scelta rapida deve essere unico in tutte le applicazioni. Se si assegna un tasto di scelta rapida comune, come ⌘ + T , e si tenta di aprire il terminale durante la navigazione, sarà in conflitto con il tasto di scelta rapida della maggior parte del browser per aprire una nuova scheda, quindi non funzionerà. Ecco perché dovresti provare un collegamento che non entrerà in conflitto con nessuna app.

Ho scelto ⌘ + ⌥ + F12 . Funziona abbastanza bene.

Aggiornare

Se stai usando iTerm2 + Oh My Zsh , sostituisci Esegui AppleScript con Avvia applicazione in Automator e seleziona iTerm.app dall'elenco.


Non è necessario utilizzare AppleScript: è presente un'azione Avvia applicazione.
benwiggy,

1

Se l'applicazione è Terminale, questo ha già i tasti di scelta rapida configurati in Preferenze: Preferenze di sistema Scorciatoie da tastiera Nuovo Terminale in Cartella ^+ +T

Nuovo terminale nella cartella Tab + ^+ +T


Si noti che avrei risposto a questo nel tasto di scelta rapida per le domande di avvio del terminale. Tuttavia, non è possibile rispondere in quanto contrassegnati come duplicati di questa domanda.
Max MacLeod,

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.