Hammerspoon för Mac - Automatisera mig helt
Mac Os / / December 26, 2019
Många åtgärder i OS X kan automatiseras med hjälp av en personal Automator program. Hammerspoon gratis verktyg gör samma sak, men djupare integrerade med systemet, så att du kan skapa snabbtangenter knutna till de åtgärder och även små program.
Sådana ett ovanligt namn skapare måste ha velat betona mångsidighet och flexibilitet Hammerspoon. De kan knappast klandras, eftersom tack vare stödet från Lua-scripts öppna upp framför oss är verkligen en fantastisk möjlighet.
Omedelbart det borde säga att Hammerspoon vi måste mixtra med koden lite. Men oroa dig inte, kunna skriva det själv är inte nödvändigt (även om det är mycket lätt i fallet med Lua), på Webbplatsen innehåller många färdiga exempel baserat på tillägg som kan användas eller modifieras.
Efter att ha installerat Hammerspoon behov av att göra det möjligt för allmän tillgång till det, och sedan gå till menyn Open Config i en textredigerare för att lägga till koden för vår första script fönstret.
Traditionellt kan du börja med Hello World, eller gå direkt till mer komplexa saker: utvecklare har förberett
en detaljerad guide. Vi är med dig inte slösa din tid på småsaker och göra genvägar för att flytta fönster. För att göra detta genom att sätta in vår init.lua följande kod sparar du dokumentet och väljer att Hammerspoon Reload Config menyn.hs.hotkey.bind ({ "cmd", "alt", "ctrl"}, "Y", funktion () lokal win = hs.window.focusedWindow () lokal f = vinst: ram () fx = fx - 10 fy = fy - 10 win: setFrame (f) änden) hs.hotkey.bind ({ "cmd", "alt", "ctrl"}, "K", funktion () lokal win = hs.window.focusedWindow () lokal f = vinst: ram () fy = fy - 10 win: setFrame (f) änden) hs.hotkey.bind ({ "cmd", "alt", "ctrl"}, "U", funktion () lokal win = hs.window.focusedWindow () lokal f = vinst: ram () fx = fx 10 + fy = fy - 10 win: setFrame (f) änden) hs.hotkey.bind ({ "cmd", "alt", "ctrl"}, "H", funktion () lokal win = hs.window.focusedWindow () lokal f = vinst: ram () fx = fx - 10 win: setFrame (f) änden) hs.hotkey.bind ({ "cmd", "alt", "ctrl"}, "L", funktion () lokal win = hs.window.focusedWindow () lokal f = vinst: ram () fx = fx + 10 win: setFrame (f) änden) hs.hotkey.bind ({ "cmd", "alt", "ctrl"}, "B", funktion () lokal win = hs.window.focusedWindow () lokal f = vinst: ram () fx = fx - 10 fy = fy + 10 win: setFrame (f) änden) hs.hotkey.bind ({ "cmd", "alt", "ctrl"}, "J", funktion () lokal win = hs.window.focusedWindow () lokal f = vinst: ram () fy = fy + 10 win: setFrame (f) änden) hs.hotkey.bind ({ "cmd", "alt", "ctrl"}, "N", funktion () lokal win = hs.window.focusedWindow () lokal f = vinst: ram () fx = fx 10 + fy = fy + 10 win: setFrame (f) änden)
Om du tittar noga på koden, kan du se de parametrar som indikerar antalet bildpunkter att fönstret flyttas sin position och tangentkombinationer som är ansvariga för rörelse. Check: hold ⌃⌥⌘, Vi trycker på H / L för att flytta vänster och höger och J / K för att flytta upp och ner. Allt fungerar.
Som en mini-program kan citera exempel på genomförandet av den populära verktyget analoga Koffein hindrar Mac övergång till sömn. Den relevanta manus bara ett dussin rader kod.
lokal koffein = hs.menubar.new () Funktionen setCaffeineDisplay (stat) om tillstånd då koffein: setTitle ( "VAKNA") annars koffein: setTitle ( "Sömnig") änden. änden funktion caffeineClicked () setCaffeineDisplay (hs.caffeinate.toggle ( "displayIdle")) slut om koffein sedan koffein: setClickCallback (caffeineClicked) setCaffeineDisplay (hs.caffeinate.get ( "displayIdle")) änden
När du har sparat SLEEPY enkla knapp visas i menyraden, ändra vakna, om förbudet går att sova.
I skriptet kan du lägga till några kodfragment med olika funktioner, kommer de att arbeta oberoende av varandra. Bara Hammerspoon tillgänglig om hundratals APIDet gör det möjligt att automatisera en rad olika åtgärder från rörliga fönster, interaktion med urklipp och kör Applescript till alla typer av processer baserade på händelser, såsom nätverksanslutning, anslut USB-enheter och många andra.
Verktyget är mycket användbart, och om du inte är rädd för att mixtra med koden, är det ingen överdrift att kunna hjälpa henne flytta berg.