Crea un comando per focalizzare una finestra specifica da qualsiasi parte del sistema operativo


10

Durante lo sviluppo per il web, tendo molto a fare avanti e indietro tra il mio editor di testo e il browser. Vorrei impostare una scorciatoia da tastiera a livello di sistema operativo che mi consenta di passare ogni volta a una finestra specifica e definibile. Ancora meglio sarebbe la possibilità di emettere un detto a quell'applicazione di eseguire qualcosa, ma lo salverò per dopo.

Ci sono tecnologie disponibili che mi permetteranno di farlo? Ci deve essere qualcosa tra C e AppleScript che mi permetta di creare questo tipo di interazione. Qualcuno sa da dove cominciare?

Grazie.

Risposte:


2

Dovresti provare Automator. È possibile "Registrare" un nuovo servizio (che sarà possibile pubblicare in seguito per tutte le app e assegnare una scorciatoia da tastiera), che fa clic sull'app dal Dock. In effetti, potresti aggiungere più azioni ed eseguire il "dì a quell'applicazione di eseguire qualcosa".

Ho provato a crearne uno (che è relativamente inutile ma che funziona) che fa clic su Mail nel mio Dock, quindi fa clic sull'icona Ottieni nuova posta nella barra degli strumenti. Divertimento ;)

In allegato la foto del risultato di Automator:

Automator

Ho usato il pulsante Registra nell'angolo in alto a destra e poi ho fatto le azioni da solo (ho fatto clic sull'icona del dock di Mail, quindi ho fatto clic sull'icona di Get New Mail nella barra degli strumenti, quindi ho fatto clic su "Interrompi registrazione"). Si noti che ho selezionato "Il servizio riceve [nessun input]" nella prima casella combinata, poiché non ero interessato a nessun input.

Ciò offre molteplici possibilità di avere un paio di servizi che vanno avanti e indietro con TextEditor e il browser.

Automator si trova utilizzando Spotlight e digitando Automator (anche in /Applications/Automator.app)

In questo caso ho creato un nuovo "Servizio" ma probabilmente potresti cavartela creando "script". Non sono sicuro di quale sarebbe più veloce. Sperimentare. Automator è tuo amico.


5

Potresti fare qualcosa del genere con AppleScript:

tell application "Terminal"
    activate
    windows where name contains "bash"
    if result is not {} then set index of item 1 of result to 1
end tell

O usando gli eventi di sistema:

tell application "System Events" to tell process "Terminal"
    set frontmost to true
    windows where title contains "bash"
    if result is not {} then perform action "AXRaise" of item 1 of result
end tell

1

Uso BetterTouchTool per impostare diverse scorciatoie da tastiera o gesti del trackpad su Mac OS X. Una delle azioni che può essere avviata è Esegui comando terminale

Quindi nelle impostazioni del comando fornisco quanto segue:

osascript -e 'tell application "NameOfTheApplicationHere" to activate'

Ecco un esempio dalle preferenze di BetterTouchTool:

inserisci qui la descrizione dell'immagine


1

Ho avuto molti problemi a farlo funzionare con iTerm2. Ecco la soluzione a comando singolo:

  osascript -e 'tell application "System Events" to tell process "iTerm2"' \
            -e 'set frontmost to true' \
            -e 'if windows is not {} then perform action "AXRaise" of item 1 of windows' \
            -e 'end tell'
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.