C'è un modo per ridimensionare il Dock in macOS usando le scorciatoie da tastiera?

6

Mi piacerebbe essere in grado di ridimensionare il Dock in macOS usando rigorosamente keybindings. Idealmente, questo sarebbe incrementale e funzionerebbe in modo simile al modo in cui i tasti di aumento / riduzione del volume / luminosità funzionano.

Uso BetterTouchTool per la maggior parte delle mie personalizzazioni di gesti / collegamenti e sono riuscito a ottenere praticamente tutto ciò di cui avevo bisogno , ma questa è una cosa che devo ancora capire.

Qualcuno ha mai realizzato con successo questo? Se sì, qual è stato il tuo approccio (software, strumenti, ecc.)?

    
posta blizzrdof77 12.11.2018 - 18:07
fonte

2 risposte

3

L'approccio che ho preso è stato una variazione di @Paolo 's solution , ed è semplice implementare utilizzando uno strumento come BetterTouchTool (come @ blizzrdof77 menziona nella sua domanda originale).

Invece di preparare due AppleScript, questo singolo script accetta un argomento - un valore numerico tra -1.5 e 1.5 - che determina se il dock aumenterà o diminuirà di dimensioni.

AppleScript: Crea un nuovo file chiamato "change-dock-size.applescript" con il seguente contenuto:
on run argv
    tell application "System Events"
        -- Get dock size
        set docksize to dock size of dock preferences
        -- Increase or decrease based on argument version
        set docksize to docksize + (item 1 of argv)
        -- Constrain value to 0.1 -- 1.5
        if docksize > 1.5 then docksize = 1.5
        if docksize < 0.1 then docksize = 0.1
        -- Set dock to the new size
        set dock size of dock preferences to docksize
    end tell
end run

Eseguirlo dalla riga di comando:
Puoi eseguirlo dalla riga di comando utilizzando osascript - come questo:

# Increase Dock Size
osascript /path/to/script/change-dock-size.applescript 0.01
# Decrease Dock Size
osascript /path/to/script/change-dock-size.applescript -0.01

Aggiunta di associazioni di tasti a BetterTouchTool:
Per utilizzarlo in BTT , aggiungi due nuove scorciatoie con l'azione " Esegui comando terminale " e utilizza gli esempi precedenti come i comandi (ho fornito uno screenshot della mia configurazione di seguito). Spero che questo possa essere d'aiuto!

    
risposta data 31.12.2018 - 04:29
fonte
2

Per prima cosa devi preparare due AppleScript, uno per aumentare la dimensione del Dock e uno per diminuire.

Potresti eseguire AppleScript Editor , scrivere e testarli.

tell application "System Events"

    -- get dock size (decimal in range 0 -- 1)
    set docksize to dock size of dock preferences

    -- increase version
    set docksize to docksize + 0.05

    -- decrease version (commented)
    -- set docksize to docksize - 0.05

    -- constrain value to 0.1 -- 1.0

    if docksize > 1 then docksize = 1
    if docksize < 0.1 then docksize = 0.1

    -- set dock size
    set dock size of dock preferences to docksize
end tell

La dimensione del dock è un valore che va da 0 a 1 .

Lo script sopra riportato aumenta / diminuisce la dimensione con 0,05 passaggi.

Puoi scegliere una formula diversa in base alle tue esigenze.

I prossimi passi sono

  1. Crea e salva un nuovo servizio con Automator che esegue un AppleScript

  2. Assegna una scorciatoia da tastiera al servizio creato tramite Preferenze di sistema

Fatelo due volte: per il collegamento aumento e riduzione .

Quando crei i servizi con Automator la corsa AppleScript è quella che hai preparato per aumentare / diminuire la dimensione del Dock.

Le istruzioni su come creare il servizio e assegnare un AppleScript da eseguire sono qui:

Come faccio ad assegnare una scorciatoia da tastiera ad un AppleScript che ho scritto?

Nota di fondo:

Alcuni hanno suggerito nei commenti di ridimensionare il dock emettendo i seguenti comandi di terminale

defaults write com.apple.dock tilesize -int 32; killall Dock

così ho fatto nella prima versione di questa risposta. Tuttavia, questo approccio implica il riavvio dell'applicazione Dock con diversi svantaggi.

Poiché user3439894 ha suggerito di ridimensionare il Dock tramite AppleScript utilizzando System Events . In questo modo l'azione si svolge più velocemente e con più grazia, quindi ho aggiornato la mia risposta.

    
risposta data 14.11.2018 - 10:18
fonte

Leggi altre domande sui tag