Come posso assegnare un'applicazione a tutti i desktop usando la tastiera?

0

So che posso assegnare un'applicazione a "Tutti i desktop", "Questo desktop" o "Nessuno" facendo clic con il pulsante destro del mouse nel Dock.

Mi piacerebbe essere in grado di alternare l'applicazione corrente tra "Tutti i desktop" e "Nessuno" usando una scorciatoia da tastiera.

C'è un modo per raggiungere questo obiettivo, preferibilmente senza lo scripting della GUI?

    
posta Andrew Monks 17.08.2015 - 20:59
fonte

1 risposta

1

Ecco una soluzione che utilizza per lo scripting GUI:

In Automator, crea un servizio. Usa l'azione 'Esegui AppleScript', con l'AppleScript di seguito. Quindi, in Preferenze servizi, puoi assegnare una scorciatoia da tastiera al servizio.

on run
    -- get active application
    tell application "System Events" to set activeApp to name of first application process whose frontmost is true

    -- right click that application in the dock
    tell application "System Events" to tell UI element activeApp of list 1 of process "Dock"
        perform action "AXShowMenu"
        click menu item "Options" of menu 1

        -- is it currently checked?
        set isChecked to value of attribute "AXMenuItemMarkChar" of menu item "All Desktops" of menu 1 of menu item "Options" of menu 1 as string

        -- toggle between "None" and "All Desktops"
        if (isChecked = "✓") then
            perform action "AXShowMenu"
            click menu item "Options" of menu 1
            click menu item "None" of menu 1 of menu item "Options" of menu 1
        else
            perform action "AXShowMenu"
            click menu item "Options" of menu 1
            click menu item "All Desktops" of menu 1 of menu item "Options" of menu 1
        end if

    end tell
end run

Potenziali avvertimenti:

  • È lento
  • Lampeggia brevemente il menu delle opzioni del dock
  • Smetterà di funzionare se l'interfaccia utente cambia
  • A volte (ma molto incoerente, non sempre), mi viene richiesto di consentire all'applicazione corrente OR Automator di controllare il computer. Non l'ho fatto e di solito funziona ancora.
risposta data 17.08.2015 - 21:33
fonte

Leggi altre domande sui tag