मुझे गति चाहिए थी। मुझे गति । चाहिए थी यह सब इधर-उधर क्लिक करना, यह सारी खोज, सभी दोहराव वाली सोच और मानसिक उपर वास्तव में काम पूरा करने में कटौती कर रहा था। मेरे लिए काम करने के लिए मुझे रोबोट की जरूरत थी। मैं हाल ही में विंडोज़ पर कई वर्षों के बाद मैकोज़ में स्थानांतरित हो गया था जहां मैंने ऑटोहॉटकी के साथ छेड़छाड़ की थी। एक रिश्तेदार मैक नोब के रूप में मैंने , के साथ हैकिंग शुरू कर दी और जल्दी से हैमरस्पून के रूप में सांत्वना पाई। अल्फ्रेड करबिनेर आह, । हां, मैंने हैमरस्पून की कोडिंग और विस्तार करने वाले सुपर-स्मार्ट लोगों से कोड और मॉड्यूल - "स्पून" - का उपभोग किया था और इससे मुझे कुछ अच्छा लाभ मिला, फिर भी मुझे की आवश्यकता थी। हैमरस्पून और अधिक फिर, लुआ था। मैं लुआ में अपस्किल करना चाहता था। ऐसा करने का सबसे अच्छा तरीका? कुछ कोड करें। के शीर्ष पर निर्मित 3 मिनी-ऐप्स का एक संग्रह इसलिए आप कार्यों को स्वचालित कर सकते हैं, उत्पादकता बढ़ा सकते हैं और अपने दैनिक कार्यप्रवाह में शॉर्टकट प्रोग्रामिंग करके समय की कमी को समाप्त कर सकते हैं। दर्ज करें, Hellfred हैमरस्पून यह दोहराए जाने वाले, समय लेने वाले कार्यों को प्रमुख अनुक्रमों, आदेशों या खोज योग्य ग्रंथों में मैप करने का एक तरीका है। टीएल; डीआर और शाखा करें। तो आप त्वरित आग चाहते हैं? नीचे दिए गए इंस्टॉलेशन और ट्यूटोरियल सेक्शन पर जाएं या रेपो डाउनलोड करें basics checkout git checkout basics ऐप्स रोलर कोस्टर पर भूत एक त्वरित-फायर, मोड-आधारित, हॉटकी-टू-एक्शन मैपिंग उपयोगिता। एकल कुंजी ट्रिगर के साथ-साथ ट्रिगर के रूप में कुंजी कॉर्ड अनुक्रमों का समर्थन करता है। ट्रिगर के रूप में उपयोग करने के लिए संशोधक कुंजियों सहित कीबोर्ड पर लगभग हर कुंजी को उजागर करता है। मोड एक ही ट्रिगर को अलग-अलग संदर्भों में अलग-अलग व्यवहार करने की अनुमति देते हैं। कृपया अंग्रेज़ी का प्रयोग करें? जब मैं कोई वर्ण या वर्णों का अनुक्रम टाइप करता हूं, तो एक विशिष्ट फ़ंक्शन निष्पादित करता हूं, लेकिन केवल तभी जब मैं किसी विशेष मोड में हूं। ठीक। एक उदाहरण शायद? जब मैं टाइप करता हूं तो फ़ंक्शन (लेकिन केवल अगर मैं डिफ़ॉल्ट मोड में हूं) सी launchGoogleChromeApp जब मैं के बाद टाइप करता हूं तो फ़ंक्शन (फिर से, डिफ़ॉल्ट मोड में रहते हुए) एम डब्ल्यू changeToWindowManagerMode जब मैं टाइप करता हूं तो फंक्शन चलाएं (जबकि विंडोमैनेजर मोड में) सी centerWindowOnScreen हेलफज चॉइस-टू-एक्शन मैपिंग के साथ एक अस्पष्ट-खोज चयनकर्ता उपयोगिता। बहु-स्तरीय (नेस्टेड) विकल्प सेट का समर्थन करता है। कृपया अंग्रेज़ी का प्रयोग करें? जब मैं विकल्पों की सूची के माध्यम से खोज करता हूं और एक का चयन करता हूं, तो एक विशिष्ट फ़ंक्शन निष्पादित करें। अगर मेरी पसंद में उप-विकल्प हैं (सोचें: ), तो मुझे वे दिखाएं ताकि मैं उनके माध्यम से खोज सकूं। parent => children ठीक। एक उदाहरण शायद? मान लीजिए कि आपके पास यह संरचना है: जब मैं ' ' टाइप करता हूं, तो ' ' विकल्प को हाइलाइट करें। इस विकल्प का चयन करने से फ़ंक्शन निष्पादित हो जाएगा। गूग ओपन गूगल openGoogleInBrowser वैकल्पिक रूप से, यदि मैं ' ' टाइप करता हूं, तो ' ' विकल्प को हाइलाइट करें। इस विकल्प को चुनने से मौजूदा विकल्प , और ( के लिए विकल्पों का सबसेट) से बदल जाएंगे। ऐप लॉन्च ऐप्स टर्मिनल नोट्स कैलेंडर लॉन्च ऐप्स जब मैं माध्यम से अस्पष्ट खोज करता हूं और एक का चयन करता हूं, तो Hellfuzz चयनित ऐप के साथ निष्पादित करेगा। उनके launchOrOpenApp हेलप्रॉम्प्ट मूल स्ट्रिंग मिलान समर्थन के साथ एक कमांडलाइन जैसी उपयोगिता। कृपया अंग्रेज़ी का प्रयोग करें? जब मैं एक कमांड टाइप करता हूं और उसे सबमिट करता हूं, तो किसी भी मिलान स्ट्रिंग पैटर्न के लिए मेरे कमांड का निरीक्षण करें और उस कमांड से संबंधित कार्यों को निष्पादित करें। ठीक। एक उदाहरण शायद? जब मैं कमांड ' ' टाइप करता हूं और फिर दबाता हूं, तो के साथ किसी भी फ़ंक्शन को निष्पादित करें (उदाहरण के लिए कमांड ' ' शब्द से शुरू होना चाहिए) और व्यवहार (उदाहरण के लिए ' ' से जुड़े ओपन ऐप) नोट्स खोलने के लिए उपयुक्त अनुप्रयोग। ओपन नोट्स enter filter ओपन नोट्स जब मैं ' ' टाइप करता हूं और फिर दबाता हूं, तो फिल्टर के साथ किसी भी फ़ंक्शन को निष्पादित करें (उदाहरण के लिए कमांड ' ' शब्द से शुरू होता है) और व्यवहार (' ' से जुड़ा यूआरएल खोलें) लिंक खोलने के लिए उपयुक्त है। ब्राउज जीथब enter ब्राउज जीथब स्थापना: फायरस्टार्टर डाउनलोड और इंस्टॉल करें हैमरस्पून हेलफ्रेड स्थापित करें: रिपॉजिटरी को अपनी ` निर्देशिका में क्लोन करें: ~/.hammerspoon git clone https://github.com/braddevelop/hellfred.git ~/.hammerspoon बूटस्ट्रैप: इसे हल्का करें हेलफ्रेड के लिए एक पूर्व-कॉन्फ़िगर सेटअप के साथ एक है। आइए इसे हैमरस्पून की फ़ाइल में देखें। बूटस्ट्रैप फ़ाइल init.lua https://gist.github.com/braddevelop/bac92b6797c087ca42f9363aab4972e0 फ़ाइल को सहेजें और कॉन्फ़िगरेशन को पुनः लोड करें (या अपने आप को कुछ समय बचाएं और उपयोग करें ) फैंसी पुनः लोड बॉक्स में क्या है? पूर्व-कॉन्फ़िगरेशन का प्रयास करें आउट-द-बॉक्स 3 हेलफ्रेड ऐप्स उपयोग के लिए तैयार हैं और एक त्वरित-प्रारंभ उदाहरण के साथ पूर्व-कॉन्फ़िगर किए गए हैं। आइए यह सुनिश्चित करने के लिए इसका परीक्षण करें कि सब कुछ वायरिंग और फायरिंग है। हेलफायर का प्रयास करें + + . के साथ ओपन ⌘ shift h हेलफायर अक्षर . टाइप करें c हेलफ्रेड के लिए रेपो एक ब्राउज़र में खुलेगा। हेलफज ट्राई करें + + . के साथ खोलें ⌥ shift h हेलफज ' ' शब्द टाइप करें विकी यह ' ' विकल्प पर प्रकाश डालता है। ओपन हेलफ्रेड विकी दबाएं और हेलफ्रेड के लिए विकी एक ब्राउज़र में खुलेगा enter हेलप्रॉम्प्ट का प्रयास करें हॉटकी + + . के साथ खोलें shift ^ h हेलप्रॉम्प्ट ' ' टाइप करें ओपन कोड दबाएं और हेलफ्रेड के लिए कोड रेपो एक ब्राउज़र में खुल जाएगा enter , और क्या हासिल करते हैं, किसी या के लिए एक या मैप करते हैं, , और जब तक हमने एक ही परिणाम प्राप्त करने के लिए प्रत्येक ऐप का उपयोग करके प्रदर्शन किया है, तो आप प्रत्येक ऐप को अधिक उपयुक्त पाएंगे दूसरों की तुलना में कुछ उपयोग के मामले। Hellfire Hellfuzz Hellprompt क्रिया व्यवहार ट्रिगर इनपुट if-this-then-that ट्यूटोरियल: एक बुनियादी सेटअप हम क्या प्रोग्रामिंग करेंगे अब आंच को तेज करते हैं और कुछ और उपयोगी चीज को कॉन्फ़िगर करते हैं। हम निम्नलिखित परिदृश्यों को हल करने के लिए को प्रोग्राम करने जा रहे हैं ताकि आप चीजों को लटका सकें: प्रत्येक ऐप एक साधारण ऐप लॉन्चर आमतौर पर देखे जाने वाले लिंक के लिए एक url लॉन्चर आप इस पूर्वाभ्यास के लिए अंतिम फ़ाइलें निर्देशिका में रिपॉजिटरी की शाखा पर पा सकते हैं। हेलफ़्रेड/विस्तार/मूलभूत मूल ध्यान देने योग्य पैटर्न प्रत्येक ऐप समान चरणों का पालन करता है। हॉटकी बाइंडिंग के साथ ऐप को इनिशियलाइज़ करें ` वस्तुओं को कॉन्फ़िगर करें (यह में किया जा सकता है लेकिन हम चीजों को साफ-सुथरा रखने के लिए अलग फाइलें बनाएंगे। हम वस्तु निर्माण को हवा बनाने के लिए कारखाने के तरीकों का लाभ उठाएंगे) Subscriber हेलफ्रेड-बूटस्ट्रैप.लुआ ऐप के साथ सब्सक्राइबर्स को रजिस्टर करें ऐप चलाने के लिए हॉटकी समय-चूसने वाले कार्यों को नष्ट करें हेलफायर के लिए सेटअप हेलफायर कुछ इस तरह काम करता है: एप्लिकेशन लॉन्चर ऐप को इनिशियलाइज़ करें यह पहले से ही में पूर्व-कॉन्फ़िगरेशन के साथ किया जा चुका है। हॉटकी को किसी और चीज़ में बदलने के लिए स्वतंत्र महसूस करें। hellfred-bootstrap.lua https://gist.github.com/braddevelop/49c7e7c7c62350d93e7798ff2bf40541 करें Subscriber ऑब्जेक्ट कॉन्फ़िगर और उपयोगकर्ता-परिभाषित हैं और सरल कॉन्फ़िगरेशन ऑब्जेक्ट्स के अंदर लिपटे हुए हैं। ये ऑब्जेक्ट, संबंधित ऐप के साथ पंजीकृत होने पर के रूप में कार्य करते हैं और जब भी ऐप के अंदर कुछ महत्वपूर्ण होता है तो अधिसूचित किया जाता है। triggers callbacks subscribers हेलफायर के लिए सब्सक्राइबर ऑब्जेक्ट इस संरचना का अनुसरण करते हैं: https://gist.github.com/braddevelop/20c9c5b97a85a9a5c4cb924b511e494a : यदि परिभाषित नहीं है, तो Hellfire डिफ़ॉल्ट रूप से मोड सेट करेगा, जिसका अर्थ है कि ट्रिगर होने पर कॉलबैक किसी भी मोड में सक्रिय हो जाएगा। नोट fireIfModeIs ANY यदि यह मौजूद नहीं है तो निम्न निर्देशिका संरचना बनाएँ: । hellfred/extend/basics फिर निर्देशिका के अंदर एक नई लुआ फ़ाइल बनाएँ जिसे कहा जाता है - फ़ाइल नामकरण सम्मेलन का कोई महत्व नहीं है। basics hellfirepack-applications.lua यह कोड जोड़ें: https://gist.github.com/braddevelop/c12d37d64ce75b83a195666317a10aa2 ऐप के साथ सब्सक्राइबर्स को रजिस्टर करें वापस में, हमें उन ग्राहकों के पैक को पंजीकृत करने की आवश्यकता है जिन्हें हमने अभी कॉन्फ़िगर किया है। hellfred-bootstrap.lua https://gist.github.com/braddevelop/2298469b805978062421f5a09d01d11a ऐप चलाएं दर्ज करें ( + + ) और कोई भी नया ट्रिगर टाइप करें: फाइंडर ऐप खोलने के लिए, टर्मिनल खोलने के लिए या नोट्स ऐप खोलने के लिए। ⌘ shift h f t n लिंक लॉन्चर (नरक फायर मोड का उपयोग करके) करें Subscriber ऑब्जेक्ट कॉन्फ़िगर ठीक है, अब हमारे कॉमन लिंक्स url लॉन्चर के लिए सब्सक्राइबर्स को कॉन्फ़िगर करें। में एक नई लुआ फ़ाइल बनाएं जिसे कहा जाता है hellfred/extend/basics hellfirepack-common-links.lua यह कोड जोड़ें: https://gist.github.com/braddevelop/7d637464f45d2d9a4641e365ad2f20a1 ऐप के साथ सब्सक्राइबर्स को रजिस्टर करें वापस में, हमें उन ग्राहकों के पैक को पंजीकृत करने की आवश्यकता है जिन्हें हमने अभी कॉन्फ़िगर किया है। hellfred-bootstrap.lua https://gist.github.com/braddevelop/f0dafb518797620747044afbc20da060 ऐप चलाएं ( + + ) दर्ज करें और कोई भी नया ट्रिगर टाइप करें: , , या । ⌘ shift h t g h s क्या आपने देखा कि ट्रिगर टाइप करने से लॉन्च हुआ वेबसाइट भी खुल ? शायद हम ऐसा नहीं होना चाहते हैं। आइए का लाभ उठाएं। डटे रहो! टर्मिनल और साथ ही t गई हेलफायर के मोड फीचर मोड एक ही ट्रिगर को अलग-अलग संदर्भों में अलग-अलग व्यवहार करने का एक तरीका प्रदान करते हैं। डिफ़ॉल्ट रूप से, Hellfire नामक मोड में आरंभ होता है...आपने अनुमान लगाया... ' ' मोड। हम Hellfire के साथ उपयोग करने के लिए कुछ कस्टम मोड कॉन्फ़िगर कर सकते हैं ताकि ट्रिगर अलग-अलग मोड के तहत अलग-अलग व्यवहार कर सकें - या यदि आप चाहें तो 'नेमस्पेस'। डिफ़ॉल्ट इस प्रवाह पर विचार करें: में एक नई लुआ फ़ाइल बनाएं जिसे हेलफायर कहा जाता है। hellfred/extend/basics hellfire-modes-extended.lua करने के लिए हम एक अलग मोड तैयार करेंगे। सामान्य लिंक ट्रिगर यह कोड जोड़ें: https://gist.github.com/braddevelop/1e3f345076a8cd5c4cdf843cad785c9e हमें इस फ़ाइल को में आवश्यकता होगी, इसलिए यह है पहुंच योग्य। हम के साथ भी ऐसा ही करेंगे ताकि हमारे पास हमारे एप्लिकेशन के अन्य हिस्सों में हेलफायर के बिल्ट-इन मोड्स तक पहुंच हो। hellfred-bootstrap.lua वैश्विक स्तर पर हेलफायर मोड्स फाइल निम्नलिखित कोड को में जोड़ें (मेटाडेटा अनुभाग के अंतर्गत, फ़ाइल के शीर्ष की ओर) hellfred-bootstrap.lua https://gist.github.com/braddevelop/04a4ec21aab06f50760d1082b216426f अब हमें मोड को हमारे नए कॉमन लिंक्स मोड में बदलने का एक तरीका चाहिए। हम के कुंजी अनुक्रम का उपयोग करेंगे जिसके बाद होगा। c l हमें मोड पर वापस जाने में सक्षम होने की भी आवश्यकता है डिफ़ॉल्ट हम सेमी-कोलन का प्रयोग करेंगे एक ट्रिगर के रूप में। ; वो अगला… मोड परिवर्तन को ट्रिगर करने वाले करें Subscriber ऑब्जेक्ट को कॉन्फ़िगर में एक नई लुआ फ़ाइल बनाएं जिसे हेलफायर कहा जाता है hellfred/extend/basics hellfire-mode-triggers.lua यह कोड जोड़ें: https://gist.github.com/braddevelop/283acacb9634590208c3b29b6039dc12 ऐप के साथ सब्सक्राइबर्स को रजिस्टर करें में, नए मोड ट्रिगर के लिए ग्राहकों को पंजीकृत करें: hellfred-bootstrap.lua https://gist.github.com/braddevelop/8afc4a576d550415f22c3c6fbf4152f1 मोड के बीच टेस्ट स्विचिंग अब ( + + ) दर्ज करें और दो मोड के बीच टॉगल करें। ⌘ shift h मोड एफटीडब्ल्यू! मोड में काम करने के लिए ग्राहकों को अपडेट करें अब हमें अपने सब्सक्राइबर्स को में अपडेट करने की जरूरत है ताकि के सक्रिय होने पर ही वे सक्रिय हों। hellfirepack-common-links.lua कॉमन लिंक्स मोड हम फ़ैक्टरी पद्धति को अपडेट करेंगे और बजाय को असाइन करेंगे। nil fireIfModeIs _G.HELLFIRE_MODES_EXTENDED.COMMON_LINKS अद्यतन विधि इस तरह दिखनी चाहिए: https://gist.github.com/braddevelop/152a16f87efe55f08e7ed7139225f757 हमें अपने ग्राहकों को भी में अपडेट करने की जरूरत है ताकि वे तभी सक्रिय हों जब सक्रिय हो। hellfirepack-applications.lua हेलफायर का डिफॉल्ट मोड अद्यतन विधि इस तरह दिखनी चाहिए: https://gist.github.com/braddevelop/8ed8dea04397b0471299c8c89f8a9ae0 ऐप चलाएं दर्ज करें ( + + ) और मोड के बीच टॉगल करें। ट्रिगर अब उस मोड के आधार पर अलग तरह से व्यवहार करता है जिसमें हेलफायर है। ⌘ shift h t अरे हाँ! हेलप्रॉम्प्ट के लिए सेटअप हेलप्रॉम्प्ट इस प्रकार कार्य करता है: एप्लिकेशन और URL लॉन्चर ऐप को इनिशियलाइज़ करें यह पहले से ही में पूर्व-कॉन्फ़िगरेशन के साथ किया जा चुका है। हॉटकी को किसी और चीज़ में बदलने के लिए स्वतंत्र महसूस करें। hellfred-bootstrap.lua https://gist.github.com/braddevelop/11e9b4871182f90c57313ab6ffa939a4 करें Subscriber ऑब्जेक्ट कॉन्फ़िगर Hellprompt के सदस्य Hellfire के लिए एक अलग संरचना लेते हैं। इस संरचना पर विचार करें: https://gist.github.com/braddevelop/c247d1d1429234c96f3e8c7d8a0b48df : यदि परिभाषित नहीं है, तो कॉलबैक हमेशा निष्पादित किया जाएगा। नोट filter में एक नई लुआ फ़ाइल बनाएं जिसे कहा जाता है hellfred/extend/basics hellpromptpack-commands.lua यह कोड जोड़ें: https://gist.github.com/braddevelop/6b18219f83fcf69826083d5dfce5d06f ऐप के साथ सब्सक्राइबर्स को रजिस्टर करें वापस में, हमें उन ग्राहकों के पैक को पंजीकृत करने की आवश्यकता है जिन्हें हमने अभी कॉन्फ़िगर किया है। hellfred-bootstrap.lua https://gist.github.com/braddevelop/f1b75646b7330fcb1c993a5737fd7d61 हेलप्रॉम्प्ट ( + + ) दर्ज करें और उन आदेशों का परीक्षण करें। ऐप चलाएं shift ^ h नरक! प्रयत्न: browse news तथा: open terminal हेलफज के लिए सेटअप हेलफज इस तरह काम करता है: एप्लिकेशन लॉन्चर ऐप को इनिशियलाइज़ करें यह पहले से ही में पूर्व-कॉन्फ़िगरेशन के साथ किया जा चुका है। हॉटकी को किसी और चीज़ में बदलने के लिए स्वतंत्र महसूस करें। hellfred-bootstrap.lua https://gist.github.com/braddevelop/b18f575ec347503628e7457217b6e187 करें Subscriber ऑब्जेक्ट कॉन्फ़िगर Hellfuzz के सदस्य अन्य ऐप्स के लिए एक अलग संरचना लेते हैं। इस संरचना पर विचार करें: https://gist.github.com/braddevelop/56e9c22c6f921575637c73d60920d208 : यदि परिभाषित किया गया है तो को अनदेखा कर दिया जाता है। नोट nextChoicesFn callback चीजों को आसान बनाने के लिए हम Hellfuzz के लिए सब्सक्राइबर्स को कॉन्फिगर करने के लिए एक हेल्पर मेथड का इस्तेमाल करेंगे में एक नई लुआ फ़ाइल बनाएं जिसे कहा जाता है hellfred/extend/basics hellfuzzpack-apps-and-links.lua यह कोड जोड़ें: https://gist.github.com/braddevelop/3564ad1ec286a30eca1abb94cfd6a69a ऐप के साथ सब्सक्राइबर्स को रजिस्टर करें में, ग्राहकों के पैक को पंजीकृत करें। hellfred-bootstrap.lua https://gist.github.com/braddevelop/a90f9d5635377d74b145a892845c8273 ऐप चलाएं दर्ज करें ( + + ) और एक कमांड टाइप करें। उदाहरण के लिए शब्द टाइप करना शुरू करें, आप देखेंगे कि टर्मिनल खोलने का विकल्प हाइलाइट किया गया है। दबाएं और खुल जाता है। ⌥ shift h 'टर्मिनल' enter टर्मिनल धूआंधार! लिंक लॉन्चर (नेस्टेड पसंद सेट का उपयोग करके) Hellfuzz की एक उपयोगी विशेषता विकल्पों के सेट को घोंसला बनाने की क्षमता है। इस अद्यतन प्रवाह पर विचार करें: आइए इसे अपने कार्य पर आज़माएं, हम निम्नलिखित पदानुक्रमित पसंद संरचना बनाएंगे: लिंक लॉन्चर में कोड को निम्नलिखित में अपडेट करें: hellfuzzpack-apps-and-links.lua https://gist.github.com/braddevelop/384b0ae9629faca95d5d4cb519cd8e61 अब दर्ज करें ( + + ) और ' ' खोजना शुरू करें। आप ' ' विकल्प का चयन कर सकते हैं, और सामान्य से विकल्पों का उप-सेट प्रदर्शित किया जाएगा और अस्पष्ट खोज की जा सकती है। किसी भी लिंक विकल्प को चुनने पर संबंधित यूआरएल खुल जाएगा। ⌥ shift h कॉमन लिंक्स सामान्य लिंक commonLinkNextChoices एक्सटेंशन: आग में ईंधन डालें। शाखा की जाँच करके रेपो पर आगामी हेलफ्रेड प्रयोग और विस्तार देखें। extend git checkout extend अब जाओ नरक बढ़ाओ \m/