Domanda

C'è un modo per ottenere un AppleScript per accedere alle voci di menu che sorgono quando si fa clic destro sull'icona di un dock?

In particolare, ecco cosa voglio fare:

Io uso Google Chrome come browser web su MacOS X Snow Leopard. Sono un tossicodipendente scorciatoia da tastiera, e io uso QuickSilver per creare scorciatoie da tastiera per tutto quello che posso. Una delle cose più comuni che faccio è quello di aprire una nuova finestra del browser web. Ma io uso gli ambienti, spesso di partizionare i miei compiti che sto attualmente lavorando su, e quando apro un browser web o una pagina web con un trigger QuickSilver, spazi passa all'ultima spazio che ho usato Chrome su e si apre una nuova scheda, che spesso mi distrae per ore, perché mi porta ad uno spazio diverso e quindi un compito diverso. Posso risolvere questo problema facendo clic destro sull'icona di Google Chrome e scegliere l'opzione "Nuova Finestra", che apre una nuova finestra sullo spazio corrente. Ma in AppleScript, di fare qualsiasi cosa con Google Chrome, la prima cosa che devo fare è attivarlo, che mi riporta al problema originale! Qualcuno può pensare a una soluzione a questo problema, AppleScript o in altro modo? E 'diventato un problema serio. Ai tempi in cui ho usato Firefox, ho risolto il problema cambiando un elemento preferenza che dice "i collegamenti sempre apre pop-up in una nuova finestra" o qualcosa di simile, che era una specie di approccio mazza, ma ha funzionato. Posso sempre tornare a Firefox, ma ho pensato di chiedere la mia domanda qui prima. Chiunque con tutte le idee?

È stato utile?

Soluzione 2

Per chi è interessato, io credo di avere una soluzione di lavoro ragionevole a questo problema, ma non coinvolge clic destro su di icone del dock.

In primo luogo, è necessario deselezionare "Quando si passa a un'applicazione, passare a uno spazio con le finestre aperte per l'applicazione" nel pannello Spaces preferenze delle Preferenze di Sistema. Poi ho scritto il seguente AppleScript:

tell application "Google Chrome" to activate

tell application "System Events"
    tell process "Google Chrome"
        try
            set var to get name of window 1
        on error
            set var to "no window exists!!!"
        end try
    end tell
end tell

if var is "no window exists!!!" then
    tell application "System Events"
        tell process "Google Chrome"
            click menu item "New Window" of menu "File" of menu bar 1
        end tell
    end tell
else
    tell application "System Events"
        tell process "Google Chrome"
            click menu item "New Tab" of menu "File" of menu bar 1
        end tell
    end tell
end if

io lancio questo AppleScript utilizzando Spark , che mi permette di assegnare un tasto di scelta rapida ad esso.

E 'un po' lento, soprattutto quando il sistema è in un carico, ma solitamente non richiedere più di un secondo o in modo da eseguire. Evita anche il problema che stavo avendo con Firefox, dove avrei finito con decine di finestre aperte, alla fine della giornata.

Altri suggerimenti

Non sono sicuro se siete ancora interessati, ma ...

 tell application "Dock"
    activate
end tell
tell application "System Events"
    tell process "Dock"
        set frontmost to true
        activate
        tell list 1
            perform action "AXShowMenu" of UI element "Google Chrome"
            delay 1
            repeat 4 times -- count number of items to the one you want
                key code 126 -- up arrow
                -- key code 125 -- down arrow
            end repeat
            delay 1
            repeat 2 times
                key code 36 -- return key
            end repeat
        end tell
    end tell
end tell

Il Chromium nightly build ora contiene il supporto AppleScript, e questo dovrebbe rendere in Chrome in poco tempo. Significa che ora si può fare:

tell application "Chromium"
    make new window
    activate
end tell

In alternativa si potrebbe anche invocare questa opzione nascosta:

defaults write com.apple.dock workspaces-auto-swoosh -bool NO
killall Dock

Ha anche la, per me, l'effetto positivo che non si sono gettati in giro su desktop più quando si passa applicazioni. È sufficiente fare Cmd + N con Chrome come l'applicazione attiva.

A proposito si può andare a spazi direttamente con Fn + 1, Fn + 2 ecc se lo si imposta invece di ^1, ^2 ecc Devi fare gli spazi prima che le scorciatoie da tastiera possono essere impostate in Tastiera - > preferenze Scorciatoie.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top