Hammerspoon Mac - Automaatti minulle täysin
Macos / / December 26, 2019
Monet toimet OS X voidaan automatisoida avulla henkilöstön Automatorin sovellus. Hammerspoon ilmainen apuohjelma ei sama asia, mutta syvemmin integroitu järjestelmä, jonka avulla voit luoda pikanäppäimiä sidottu toimien ja jopa pieniä ohjelmia.
Tällainen epätavallinen nimi luojat on halunnut korostaa monipuolisuuden ja joustavuuden Hammerspoon. Ne tuskin moitti, koska ansiosta tukea Lua-skriptit avautumassa edessämme on todella valtava mahdollisuus.
Välittömästi sen pitäisi sanoa, että Hammerspoon meidän täytyy korjailla koodia hieman. Mutta älä huoli, voi kirjoittaa itse ei tarvitse (vaikka se on hyvin helppoa, kun kyseessä on Lua) puolesta sivusto sisältää monia valmiita esimerkkejä, jotka perustuvat laajennuksia, joita voidaan käyttää tai muutettu.
Asennuksen jälkeen Hammerspoon tarve antaa yleistä saatavuutta, ja siirry valikkoon Avaa Config tekstieditorissa lisätä koodin ensimmäinen kirjoitus ikkunassa.
Perinteisesti voit aloittaa Hello World, tai mennä suoraan monimutkaisempia asioita: kehittäjät ovat laatineet
yksityiskohtaisen oppaan. Olemme kanssa et tuhlaa aikaasi trifles ja tekevät pikakuvakkeet siirtämiseen ikkunoita. Voit tehdä tämän asettamalla meidän init.lua seuraava koodi, tallenna dokumentti ja valitse Hammerspoon Lataa Config-valikon.hs.hotkey.bind ({ "cmd", "alt", "ctrl"}, "Y", toiminto () paikallinen voittaa = hs.window.focusedWindow () paikallinen f = voittaa: runko () fx = fx - 10 FY = FY - 10 voittaa: setFrame (f) end) hs.hotkey.bind ({ "cmd", "alt", "ctrl"}, "K", toiminto () paikallinen voittaa = hs.window.focusedWindow () paikallinen f = voittaa: runko () fy = fy - 10 voittaa: setFrame (f) end) hs.hotkey.bind ({ "cmd", "alt", "ctrl"}, "U", toiminto () paikallinen voittaa = hs.window.focusedWindow () paikallinen f = voittaa: runko () fx = fx 10 + fy = fy - 10 voittaa: setFrame (f) end) hs.hotkey.bind ({ "cmd", "alt", "ctrl"}, "H", toiminto () paikallinen voittaa = hs.window.focusedWindow () paikallinen f = voittaa: runko () fx = fx - 10 voittaa: setFrame (f) end) hs.hotkey.bind ({ "cmd", "alt", "ctrl"}, "L", toiminto () paikallinen voittaa = hs.window.focusedWindow () paikallinen f = voittaa: runko () fx = fx + 10 voittaa: setFrame (f) end) hs.hotkey.bind ({ "cmd", "alt", "ctrl"}, "B", toiminto () paikallinen voittaa = hs.window.focusedWindow () paikallinen f = voittaa: runko () fx = fx - 10 fy = fy + 10 voittaa: setFrame (f) end) hs.hotkey.bind ({ "cmd", "alt", "ctrl"}, "J", toiminto () paikallinen voittaa = hs.window.focusedWindow () paikallinen f = voittaa: runko () fy = fy + 10 voittaa: setFrame (f) end) hs.hotkey.bind ({ "cmd", "alt", "ctrl"}, "N", toiminto () paikallinen voittaa = hs.window.focusedWindow () paikallinen f = voittaa: runko () fx = fx 10 + fy = fy + 10 voittaa: setFrame (f) end)
Jos tarkastelemme koodia, näet parametrit osoittavat määrä pikseleitä, että ikkunaa siirretään, asemaansa ja näppäinyhdistelmiä, jotka ovat vastuussa liikettä. Tarkista: pito ⌃⌥⌘Me paina H / L-näppäintä siirtyä vasemmalle ja oikealle ja J / K liikkua ylös ja alas. Kaikki toimii.
Mini-ohjelmat voivat mainita esimerkkinä täytäntöönpanon suosittu apuohjelma analoginen Kofeiini estää Mac siirtymistä nukkumaan. Asiaa käsikirjoitus vain kymmenkunta riviä koodia.
paikallinen kofeiini = hs.menubar.new () toiminto setCaffeineDisplay (state) jos valtio niin kofeiinia: setTitle ( "AWAKE") else kofeiinia: setTitle ( "SLEEPY") lopussa. end function caffeineClicked () setCaffeineDisplay (hs.caffeinate.toggle ( "displayIdle")) end jos kofeiinia sitten kofeiini: setClickCallback (caffeineClicked) setCaffeineDisplay (hs.caffeinate.get ( "displayIdle")) pää
Tallennuksen jälkeen SLEEPY yksinkertainen painike näkyy valikkorivillä, muuttaa hereillä, jos kielto menee nukkumaan.
Vuonna skripti, voit lisätä joitakin koodi fragmenttien eri toiminnoilla, ne toimivat toisistaan riippumatta. Juuri Hammerspoon käytettävissä noin satoja APIJoiden avulla voidaan automatisoida erilaisia toimia liikkumasta ikkunat, vuorovaikutus leikepöydälle ja ajaa AppleScriptiä kaikenlaisia prosessit perustuvat tapahtumiin, kuten verkkoyhteys, connect USB-laitteita ja monet toiset.
Hyödyllisyys on erittäin hyödyllinen, ja jos et pelkää korjailla koodia, se ei ole liioiteltua pystyä auttamaan häntä siirtää vuoria.