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.