İçin Otomatik tamamen bana - Mac için Hammerspoon
Macos / / December 26, 2019
OS X Birçok eylemler bir personel Otomatikleştirici uygulama yardımıyla otomatik hale getirilebilir. Hammerspoon özgür yarar aynı şeyi yapar, ama daha derinden sen eylemler ve hatta küçük programlara bağlı sıcak tuşları oluşturmasına izin sistemi ile entegre.
Böyle alışılmamış bir isim yaratıcıları yönlülük ve esneklik Hammerspoon vurgulamak istemiş olmalı. Lua-komut desteği sayesinde önümüzde açılıyor gerçekten muazzam bir fırsattır çünkü pek, sitem edilebilir.
Hemen o demeliyim Hammerspoon biz kod biraz tamircilik gerekecek. Ama endişe yapmak, (o Lua durumunda çok kolay olsa da) üzerinde, kendin gerekli değildir bunu yazabilmek Site kullanılabilir veya uzantıları dayalı birçok hazır örnekler içerir Modifiye.
buna evrensel erişim sağlamak ve daha sonra ilk komut penceresinin kodu eklemek için bir metin editörü menüsünü aç Yapılandırma gitmek için Hammerspoon ihtiyacını kurduktan sonra.
Geleneksel olarak, sen Hello World başlayabilir veya daha karmaşık şeyler doğrudan gitmek: geliştiricileri hazırladık
detaylı rehber. Size küçük şeyler üzerinde zaman harcamak ve pencereleri taşımak için kısayollar yapmaz ile vardır. Bunu yapmak için, belgenin kaydetme, kod aşağıdaki bizim init.lua içine yerleştirin ve Hammerspoon Yeniden Yapılandırma menüsüne seçin.hs.hotkey.bind ({ "cmd", "alt", "Ctrl"} "Y", fonksiyon () yerel kazan = hs.window.focusedWindow () yerel f = kazanmak: çerçeve () fx = FX - 10 fy = fy - 10 kazan: setFrame (f) sonu) hs.hotkey.bind ({ "cmd", "alt", "Ctrl"}, "K", işlevi () yerel kazan = hs.window.focusedWindow () yerel f = kazanmak: çerçeve () fy = fy - 10 kazan: setFrame (f) sonu) hs.hotkey.bind ({ "cmd", "alt", "Ctrl"} "U", fonksiyon () yerel kazan = hs.window.focusedWindow () yerel f = kazanmak: çerçeve () fx = FX 10 + fy = fy - 10 kazan: setFrame (f) sonu) hs.hotkey.bind ({ "cmd", "alt", "Ctrl"} "H", fonksiyon () yerel kazan = hs.window.focusedWindow () yerel f = kazanmak: çerçeve () fx = FX - 10 kazan: setFrame (f) sonu) hs.hotkey.bind ({ "cmd", "alt", "Ctrl"}, "L", fonksiyon () yerel kazan = hs.window.focusedWindow () yerel f = kazanmak: çerçeve () fx = FX + 10 kazan: setFrame (f) sonu) hs.hotkey.bind ({ "cmd", "alt", "Ctrl"}, "B", fonksiyon () yerel kazan = hs.window.focusedWindow () yerel f = kazanmak: çerçeve () fx = FX - 10 fy = fy + 10 kazan: setFrame (f) sonu) hs.hotkey.bind ({ "cmd", "alt", "Ctrl"} "J" fonksiyonu () yerel kazan = hs.window.focusedWindow () yerel f = kazanmak: çerçeve () fy = fy + 10 kazan: setFrame (f) sonu) hs.hotkey.bind ({ "cmd", "alt", "Ctrl"} "N", fonksiyon () yerel kazan = hs.window.focusedWindow () yerel f = kazanmak: çerçeve () fx = FX 10 + fy = fy + 10 kazan: setFrame (f) bitiş)
kod yakından bakarsanız, pencere hareket edecek piksel, konumu ve hareketten sorumlu olan anahtar kombinasyonların sayısını gösteren parametrelerini görebilirsiniz. Kontrol: tutma ⌃⌥⌘Biz yukarı ve aşağı hareket ettirmek için, H / L sola hareket için anahtar, sağ ve J / K üzerinde basın. Her şey çalışıyor.
mini programlar popüler yarar analog Kafein uygulanması da örnek verebilirim gibi, uyku Mac geçişi engeller. alakalı senaryo kod sadece bir düzine çizgiler.
Yerel kafein = hs.menubar.new () fonksiyon setCaffeineDisplay (devlet) daha sonra kafein devlet eğer: setTitle ( "AWAKE") else kafein: setTitle ( "uykulu") end. uç fonksiyonu caffeineClicked () setCaffeineDisplay (hs.caffeinate.toggle ( "displayIdle")) sonu ise kafein sonra kafein: setClickCallback (caffeineClicked) setCaffeineDisplay (hs.caffeinate.get ( "displayIdle")) uç
Yasak uyumaya giderse, uyanık değişen menü çubuğunda uykulu basit düğme görünür kaydettikten sonra.
komut dosyasında, çeşitli fonksiyonlara sahip bazı kod parçaları ekleyebilir, bunlar birbirinden bağımsız olarak çalışacaktır. Sadece Hammerspoon mevcut yaklaşık API yüzlercepanoya ve kaçak ile hareketli pencere, etkileşimden çeşitli eylemler otomatik hale getirmek izin That Böyle ağ bağlantısı, bağlantı USB cihazları ve birçok gibi olaylar dayanan proseslerin her türlü AppleScript diğerleri.
yarar çok faydalı olur ve kod ile tinker korkmuyoruz eğer, onun hareket dağlar yardım edebilmek abartı olmaz.