Hammerspoon voor Mac - Automatiseer me volledig
Macos / / December 26, 2019
Veel acties in OS X kan worden geautomatiseerd met behulp van een staf Automator applicatie. Hammerspoon gratis programma doet hetzelfde, maar dieper geïntegreerd met het systeem, zodat u sneltoetsen gekoppeld aan de acties en zelfs kleine programma's te maken.
Een dergelijke ongebruikelijke naam makers moeten hebben wilde de veelzijdigheid en flexibiliteit Hammerspoon te benadrukken. Ze kunnen nauwelijks worden verweten, want dankzij de steun van de Lua-scripts openstelling voor ons is echt een enorme kans.
Onmiddellijk moet zeggen dat Hammerspoon we zullen moeten sleutelen aan de code een beetje. Maar geen nood, in staat zijn om het te schrijven jezelf is niet nodig (hoewel het is zeer gemakkelijk in het geval van Lua), op site bevat veel klaar voorbeelden op basis van extensies die kunnen worden gebruikt of gewijzigd.
Na het installeren van Hammerspoon noodzaak om universele toegang tot het mogelijk maken, en ga dan naar het menu Open Config in een tekstverwerker om de code van onze eerste script venster toe te voegen.
Traditioneel, kunt u beginnen met Hello World, of ga direct naar meer complexe dingen: ontwikkelaars hebben voorbereid Uitgebreide handleiding. Wij zijn met u uw tijd niet verspillen aan kleinigheden en maak snelkoppelingen voor het verplaatsen van ramen. Om dit te doen, in te voegen in onze init.lua volgende code, slaat u het document en ervoor kiezen om Hammerspoon Reload Config menu.
hs.hotkey.bind ({ "cmd", "alt", "ctrl"}, "Y" functie () lokale score = hs.window.focusedWindow () lokale f = WIN frame () fx = fx - 10 fy = fy - 10 winnen: setFrame (f) end) hs.hotkey.bind ({ "cmd", "alt", "ctrl"}, "K", functie () lokale score = hs.window.focusedWindow () lokale f = WIN frame () fy = fy - 10 winnen: setFrame (f) end) hs.hotkey.bind ({ "cmd", "alt", "ctrl"}, "U", functie () lokale score = hs.window.focusedWindow () lokale f = WIN frame () fx = fx 10 + fy = fy - 10 winnen: setFrame (f) end) hs.hotkey.bind ({ "cmd", "alt", "ctrl"}, "H", de functie () lokale score = hs.window.focusedWindow () lokale f = WIN frame () fx = fx - 10 winnen: setFrame (f) end) hs.hotkey.bind ({ "cmd", "alt", "ctrl"}, "L", de functie () lokale score = hs.window.focusedWindow () lokale f = WIN frame () fx = fx + 10 winnen: setFrame (f) end) hs.hotkey.bind ({ "cmd", "alt", "ctrl"}, "B", functie () lokale score = hs.window.focusedWindow () lokale f = WIN frame () fx = fx - 10 fy = fy + 10 winnen: setFrame (f) end) hs.hotkey.bind ({ "cmd", "alt", "ctrl"}, "J", functie () lokale score = hs.window.focusedWindow () lokale f = WIN frame () fy = fy + 10 winnen: setFrame (f) end) hs.hotkey.bind ({ "cmd", "alt", "ctrl"}, "N" functie () lokale score = hs.window.focusedWindow () lokale f = WIN frame () fx = fx 10 + fy = fy + 10 winnen: setFrame (f) end)
Als je goed kijkt naar de code, kunt u de parameters die het aantal pixels dat het raam wordt verplaatst, de positie en de toetscombinaties die verantwoordelijk is voor de beweging zijn te zien. Check: hold ⌃⌥⌘Wij Druk op de H / L-toets om naar links en rechts en / om omhoog en omlaag. Alles werkt.
Als een mini-programma's het voorbeeld van de uitvoering van het populaire programma analoge Cafeïne kan noemen, voorkomt dat de Mac overgang naar slaap. De relevante script slechts een tiental regels code.
lokale cafeïne = hs.menubar.new () functie setCaffeineDisplay (staat) als staat dan cafeïne: setTitle ( "AWAKE") anders cafeïne: setTitle ( "SLAPERIGE") einde. tastend caffeineClicked () setCaffeineDisplay (hs.caffeinate.toggle ( "displayIdle")) end als cafeïne dan cafeïne: setClickCallback (caffeineClicked) setCaffeineDisplay (hs.caffeinate.get ( "displayIdle")) einde
Na het opslaan van SLAPERIG eenvoudige knop verschijnt in de menubalk, de overstap naar WAKKER, indien het verbod gaat slapen.
In het script, kunt u een aantal code-fragmenten met verschillende functies toe te voegen, zullen ze onafhankelijk van elkaar werken. Net Hammerspoon beschikbaar over honderden APIDie het mogelijk maken om een verscheidenheid van acties te automatiseren van bewegende ramen, interactie met klembord en run AppleScript om allerlei processen op basis van gebeurtenissen, zoals netwerkconnectiviteit, connect USB-apparaten en vele anderen.
Het hulpprogramma is zeer nuttig, en als je niet bang om te sleutelen aan de code, het is niet overdreven om te kunnen haar verhuizing bergen helpen.