Hammerspoon til Mac - Automatiser mig helt
Macos / / December 26, 2019
Mange handlinger i OS X kan automatiseres ved hjælp af et personale Automator ansøgning. Hammerspoon gratis hjælpeprogram gør det samme, men mere dybt integreret med systemet, så du kan skabe genvejstaster knyttet til de handlinger og selv små programmer.
En så usædvanlig navn skabere må have ønsket at understrege den alsidighed og fleksibilitet Hammerspoon. De kan næppe bebrejdes, fordi takket være støtte fra Lua-scripts, åbner op foran os er virkelig en fantastisk mulighed.
Umiddelbart bør det sige, at Hammerspoon Vi bliver nødt til at rode med koden en lille smule. Men bare rolig, være i stand til at skrive det selv er ikke nødvendigt (selvom det er meget let i tilfælde af Lua), på Sitet indeholder mange færdige eksempler baseret på udvidelser, der kan bruges eller modificeret.
Efter installation Hammerspoon behov for at gøre det muligt for universel adgang til det, og derefter gå til menuen Åbn Config i en teksteditor til at tilføje koden på vores første script vindue.
Traditionelt kan du starte med Hello World, eller gå direkte til mere komplekse ting: udviklere har forberedt
en detaljeret vejledning. Vi er med dig vil ikke spilde din tid på bagateller og foretage genveje til at flytte vinduer. For at gøre dette, skal du indsætte ind i vores init.lua følgende kode, gemme dokumentet og vælger at Hammerspoon Reload Config-menuen.hs.hotkey.bind ({ "cmd", "alt", "ctrl"}, "Y", function () lokal sejr = hs.window.focusedWindow () lokal f = vinde: ramme () fx = fx - 10 fy = fy - 10 sejr: setFrame (f) ende) hs.hotkey.bind ({ "cmd", "alt", "ctrl"}, "K", function () lokal sejr = hs.window.focusedWindow () lokal f = vinde: ramme () fy = fy - 10 sejr: setFrame (f) ende) hs.hotkey.bind ({ "cmd", "alt", "ctrl"}, "U", function () lokal sejr = hs.window.focusedWindow () lokal f = vinde: ramme () fx = fx 10 + fy = fy - 10 sejr: setFrame (f) ende) hs.hotkey.bind ({ "cmd", "alt", "ctrl"}, "H", function () lokal sejr = hs.window.focusedWindow () lokal f = vinde: ramme () fx = fx - 10 sejr: setFrame (f) ende) hs.hotkey.bind ({ "cmd", "alt", "ctrl"}, "L", function () lokal sejr = hs.window.focusedWindow () lokal f = vinde: ramme () fx = fx +10 gevinst: setFrame (f) ende) hs.hotkey.bind ({ "cmd", "alt", "ctrl"}, "B", function () lokal sejr = hs.window.focusedWindow () lokal f = vinde: ramme () fx = fx - 10 fy = fy + 10 sejr: setFrame (f) ende) hs.hotkey.bind ({ "cmd", "alt", "ctrl"}, "J", function () lokal sejr = hs.window.focusedWindow () lokal f = vinde: ramme () fy = fy +10 gevinst: setFrame (f) ende) hs.hotkey.bind ({ "cmd", "alt", "ctrl"}, "N", function () lokal sejr = hs.window.focusedWindow () lokal f = vinde: ramme () fx = fx 10 + fy = fy + 10 sejr: setFrame (f) ende)
Hvis man ser nærmere på koden, kan du se de parametre, der angiver antallet af pixel at vinduet er flyttet, sin stilling og de tastekombinationer, der er ansvarlige for bevægelse. Check: hold ⌃⌥⌘Vi trykker på H / L for at flytte til venstre og højre og J / K til at bevæge sig op og ned. Alt fungerer.
Som en mini-programmer kan nævne eksemplet med gennemførelsen af den populære nytte analoge Koffein, forhindrer Mac overgangen til søvn. Den relevante script kun en halv snes linjer kode.
lokal koffein = hs.menubar.new () funktion setCaffeineDisplay (stat) hvis tilstand så koffein: setTitle ( "AWAKE") ellers koffein: setTitle ( "SLEEPY") ende. ende funktion caffeineClicked () setCaffeineDisplay (hs.caffeinate.toggle ( "displayIdle")) ende, hvis koffein derefter koffein: setClickCallback (caffeineClicked) setCaffeineDisplay (hs.caffeinate.get ( "displayIdle")) ende
Efter at have gemt SLEEPY simple knap vises på menulinjen, skifte til AWAKE, hvis forbuddet går til søvn.
I scriptet, kan du tilføje nogle kode fragmenter med forskellige funktioner, vil de arbejde uafhængigt af hinanden. Bare Hammerspoon rådighed om hundredvis af APIDet gør det muligt at automatisere en række tiltag fra bevægelige vinduer, interaktion med klippebordet og løb AppleScript til alle mulige processer baseret på begivenheder, såsom netværksforbindelse, tilsluttes USB-enheder og mange andre.
Den nytte er meget nyttigt, og hvis du ikke er bange for at rode med koden, er det ingen overdrivelse at være i stand til at hjælpe hende flytte bjerge.