Crea un comando per mettere a fuoco una finestra specifica da qualsiasi punto del sistema operativo

8

Durante lo sviluppo per il web tendo a saltare molto avanti tra il mio editor di testo e il browser. Mi piacerebbe impostare una scorciatoia da tastiera a livello di sistema operativo che mi permetta di passare a una finestra specifica e specifica ogni volta. Ancora meglio sarebbe la possibilità di inviare a tell quell'applicazione per eseguire qualcosa, ma la salverò per dopo.

Sono disponibili tecnologie che mi consentiranno di farlo? Deve esserci qualcosa tra C e AppleScript che mi consente di creare questo tipo di interazione. Qualcuno sa da dove cominciare?

Grazie.

    
posta Thomas 28.12.2011 - 06:40
fonte

4 risposte

1

Dovresti provare Automator. È possibile "registrare" un nuovo servizio (che in seguito è possibile pubblicare 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 tuo "dire a quell'applicazione di eseguire qualcosa".

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

In allegato è la ripresa del risultato di Automator:

HousatoilpulsanteRecordnell'angoloinaltoadestraepoihofattoleazionidasolo(hofattoclicsull'iconadeldockdiMail,poihofattoclicsull'iconaRicevinuovapostadiMailnellabarradeglistrumenti,quindihofattoclicsu"Stop Registrazione"). Si noti che ho selezionato "Il servizio riceve [nessun input]" nella prima casella combinata, poiché non ero interessato a nessun input.

Questo ti dà più possibilità di avere un paio di servizi che vanno avanti e indietro su TextEditor e sul tuo browser.

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

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

    
risposta data 28.12.2011 - 12:15
fonte
5

Potresti fare qualcosa di simile 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 utilizzando 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
    
risposta data 30.04.2014 - 11:52
fonte
1

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

Quindi nelle impostazioni del comando che fornisco di seguito:

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

Ecco un esempio delle preferenze di BetterTouchTool:

    
risposta data 26.04.2014 - 22:32
fonte
1

Ho avuto un sacco di problemi nel far funzionare questo con iTerm2. Ecco una 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'
    
risposta data 16.03.2017 - 07:13
fonte

Leggi altre domande sui tag