Hammerspoon pro Mac - Automate mě úplně
Macos / / December 26, 2019
Mnoho akcí v OS X lze automatizovat pomocí personálu Automator aplikace. Hammerspoon bezplatný nástroj, dělá to samé, ale hlouběji integrován se systémem, který umožňuje vytvářet klávesové zkratky vázané na akce a dokonce i malých programů.
Takové neobvyklé jméno tvůrci museli chtěl zdůraznit všestrannost a pružnost Hammerspoon. Mohou jen těžko vyčítat, protože díky podpoře Lua-skriptů otevírá před námi je opravdu obrovská příležitost.
Ihned je třeba říci, že Hammerspoon budeme muset pohrát s kódem trochu. Ale nebojte se, bude schopen psát sami, není to nutné (i když je to velmi jednoduché v případě, že Lua), na Místo obsahuje mnoho připravených příkladů založených na rozšíření, které mohou být použity nebo změněn.
Po instalaci Hammerspoon potřeba k tomu, aby univerzální přístup k ní, a poté přejděte do nabídky Otevřít Config v textovém editoru přidat kód našeho prvního okna skriptu.
Tradičně, můžete začít s Hello World, nebo přejít přímo do složitějších věcí: vývojáři Připravili podrobný průvodce
. Jsme s vámi nebude ztrácet čas na maličkosti a dělat zkratky pro pohyb okna. Chcete-li to provést, vložte do našeho init.lua následující kód, uložte dokument a zvolte nabídku Hammerspoon Reload Config.hs.hotkey.bind ({ "cmd", "alt", "ctrl"}, "Y", () funkci místní výhra = hs.window.focusedWindow () místní f = vyhrát: rám () fx = fx - 10 fy = fy - 10 výhra: setFrame (f) konec) hs.hotkey.bind ({ "cmd", "alt", "ctrl"}, "K", funkce () místní výhra = hs.window.focusedWindow () místní f = vyhrát: rám () fy = fy - 10 win: setFrame (f) konec) hs.hotkey.bind ({ "cmd", "alt", "ctrl"}, "U", () funkci místní výhra = hs.window.focusedWindow () místní f = vyhrát: rám () fx = fx 10 + fy = fy - 10 výhra: setFrame (f) konec) hs.hotkey.bind ({ "cmd", "alt", "ctrl"}, "H", () funkci místní výhra = hs.window.focusedWindow () místní f = vyhrát: rám () fx = fx - 10 win: setFrame (f) konec) hs.hotkey.bind ({ "cmd", "alt", "ctrl"}, "L", () funkci místní výhra = hs.window.focusedWindow () místní f = vyhrát: rám () fx = fx + 10 výhra: setFrame (f) konec) hs.hotkey.bind ({ "cmd", "alt", "ctrl"}, "B", () funkci místní výhra = hs.window.focusedWindow () místní f = vyhrát: rám () fx = fx - 10 fy = fy + 10 výhra: setFrame (f) konec) hs.hotkey.bind ({ "cmd", "alt", "ctrl"}, "J", () funkci místní výhra = hs.window.focusedWindow () místní f = vyhrát: rám () fy = fy + 10 výhra: setFrame (f) konec) hs.hotkey.bind ({ "cmd", "alt", "ctrl"}, "N", () funkci místní výhra = hs.window.focusedWindow () místní f = vyhrát: rám () fx = fx 10 + fy = fy + 10 výhra: setFrame (f) end)
Podíváte-li se pozorně na kód, můžete vidět parametry udávající počet pixelů, které okno je přesunut, jeho pozice a kombinace kláves, které jsou zodpovědné za hnutí. Kontrola: hold ⌃⌥⌘, Lisujeme na klíči H / L pro pohyb vlevo a vpravo a J / K pro pohyb nahoru a dolů. Všechno funguje.
Jako mini-programy lze uvést příklad realizace populární utility analogového Kofein zabraňuje Mac přechod do režimu spánku. Příslušný skript jen tucet řádků kódu.
Místní kofein = hs.menubar.new () Funkce setCaffeineDisplay (stát) je-li stát pak kofein: setTitle ( "vzbudit") else kofein: setTitle ( "SLEEPY") end. konec funkce caffeineClicked () setCaffeineDisplay (hs.caffeinate.toggle ( "displayIdle")) end if kofein pak kofein: setClickCallback (caffeineClicked) setCaffeineDisplay (hs.caffeinate.get ( "displayIdle")) konec
Po uložení ospalý jednoduché se zobrazí tlačítko v menu, měnící se vzhůru, v případě, že zákaz jde do spánku.
Ve skriptu, můžete přidat nějaký kód fragmenty s různými funkcemi, budou pracovat nezávisle na sobě. Jen Hammerspoon k dispozici o Stovky APIKteré umožňují automatizovat řadu kroků od pohyblivých oken, interakce s schránky a běh AppleScript ke všem druhům postupů založených na událostech, jako je například připojení k síti, připojte USB-zařízení a mnoho jiní.
Nástroj je velmi užitečné, a pokud jste se nebojí pohrát s kódem, to je bez nadsázky, aby mohli pomoci svým hory přenášet.