क्या आप एक हल्का, अति-त्वरित, आसान-से-पहुंच नोट लेने का समाधान चाहते हैं? ऑनलाइन खोजें, और आपको ऐसे ऐप्स के लिए अनगिनत सुझाव मिलेंगे। और फिर भी, यहां तक कि "सबसे हल्के" भी अक्सर भद्दे होते हैं और उन विशेषताओं के साथ आ सकते हैं जिन्हें आप व्यक्तिगत रूप से बेकार मान सकते हैं।
तो, आइए देखें कि आप AutoHotkey का उपयोग करके अपना खुद का अल्ट्रा-लाइट, धधकते-तेज़, कस्टम नोट लेने वाला ऐप कैसे बना सकते हैं। एक सरल, नो-फ्रिल नोट लेने वाला समाधान जो एक ही कुंजी दबाने से तुरंत आपकी स्क्रीन पर पॉप करने में सक्षम होगा।
AutoHotkey के साथ नोट लेने की योजना तैयार करना
आइए अपने अंतिम लक्ष्य को स्पष्ट रूप से बताते हुए और वहां पहुंचने के लिए एक सरल योजना तैयार करके आरंभ करें।
इस प्रोजेक्ट के लिए, हमें किसी फैंसी टेक्स्ट फॉर्मेटिंग, टेम्प्लेट के लिए समर्थन या अन्य "उन्नत" सुविधाओं की आवश्यकता नहीं है। हमारा लक्ष्य?
- हम एक अति-सरल ऐप बनाना चाहते हैं जो हॉटकी संयोजन दबाने पर हमारी स्क्रीन पर पॉप हो जाए।
- यह विंडो हमें एक नोट लिखने की अनुमति देगी, और इसे एक सादे पाठ/मार्कडाउन फ़ाइल में सहेज लेगी।
और बस इतना ही—कोई अतिरिक्त विंडो, संवाद, मेनू या बटन नहीं।
शुक्र है, AutoHotkey के साथ ऐसा प्रोजेक्ट बनाना आसान है, जैसा कि हम आगे देखेंगे। यदि आपने पहले AutoHotkey का उपयोग नहीं किया है तो भी बेझिझक अनुसरण करें। हालाँकि, यह सबसे अच्छा हो सकता है यदि आप पहले हमारी जाँच करें नौसिखियों के लिए त्वरित AutoHotkey गाइड.
AutoHotkey कैसे इनस्टॉल करें
चूँकि AutoHotkey एक तृतीय-पक्ष समाधान है, इसका उपयोग करने के लिए, आपको इसे स्थापित करने की आवश्यकता है।
तो, के लिए भुगतान करें AutoHotkey की आधिकारिक साइट, और फ्रेंडली ग्रीन पर क्लिक करें डाउनलोड करना बटन। V1 (बहिष्कृत) और V2 (बीटा) दोनों संस्करणों को छोड़ दें, और चुनें वर्तमान संस्करण डाउनलोड करें. फिर, इसे अपने कंप्यूटर पर इंस्टॉल करें।
आप बाद में किसी भी बदलाव को नोटिस नहीं कर पाएंगे क्योंकि AutoHotkey केवल AutoHotkey स्क्रिप्ट के लिए एक पार्सर के रूप में काम करता है। दूसरे शब्दों में, AutoHotkey अपने आप "कुछ भी नहीं करती"। इसके बजाय, यह उस प्लेटफॉर्म के रूप में काम करता है जिस पर हम आगे की स्क्रिप्ट तैयार करेंगे।
AutoHotkey में नई स्क्रिप्ट कैसे बनायें
अपना पसंदीदा फ़ाइल प्रबंधक खोलें, जैसे विंडोज फाइल एक्सप्लोरर, और इसे उस निर्देशिका की ओर इंगित करें जहाँ आप अपनी नई स्क्रिप्ट बनाना चाहते हैं। आप अपने डेस्कटॉप से अपने व्यक्तिगत दस्तावेज़ फ़ोल्डर में कोई भी निर्देशिका चुन सकते हैं।
एक नई AutoHotkey स्क्रिप्ट बनाने का सबसे आसान तरीका AutoHotkey स्थापित करने के बाद राइट-क्लिक संदर्भ मेनू के माध्यम से उपलब्ध नए विकल्प का लाभ उठाना है। फ़ाइल प्रबंधक की विंडो के खाली स्थान पर राइट-क्लिक करें, और दिखाई देने वाले मेनू से चुनें नया > ऑटोहॉट्की स्क्रिप्ट.
चूँकि AutoHotkey स्क्रिप्ट वास्तव में सादा पाठ फ़ाइलें हैं, आप वैकल्पिक रूप से एक नई पाठ फ़ाइल बना सकते हैं और फिर इसका नाम बदल सकते हैं, इसके विस्तार को बदल सकते हैं TXT को एएचके. अंतिम परिणाम समान होगा: आपके पास एक नई रिक्त AutoHotkey स्क्रिप्ट होगी।
अपना पसंदीदा पाठ या कोड संपादक शुरू करें और इसे संपादित करने के लिए वहां स्क्रिप्ट खोलें। इस लेख के लिए, हम नोटपैड ++ का उपयोग करेंगे, लेकिन आप वीएस कोड या एटम जैसे किसी भी समान टूल का उपयोग कर सकते हैं।
बेशक, अगर आप चीजों को सरल रखना पसंद करते हैं, तो आप हमेशा पुराने पुराने नोटपैड का उपयोग कर सकते हैं जो विंडोज के साथ आता है।
AutoHotkey में GUI बनाना
हमारी स्क्रिप्ट के भविष्य के अनुकूलन को आसान बनाने के लिए, आइए दो आवश्यक जानकारी को दो चरों में संग्रहीत करें।
- पहला, जिसे हमने NotesPath नाम दिया है, को पूर्ण पथ पर मैप किया जाता है जहाँ हम चाहते हैं कि हमारी स्क्रिप्ट हमारे नोट्स को सहेजे। कृपया, जिस पथ का आप उपयोग करना चाहते हैं, उसे बदलना याद रखें। अन्यथा, आपके नोट्स किसी अनपेक्षित स्थान पर सहेजे जाएँगे, या स्क्रिप्ट विफल हो जाएगी।
- दूसरा, जिसे हमने FileNameExtra नाम दिया है, एक स्ट्रिंग रखता है जिसका उपयोग हम अपने नोट्स के फ़ाइलनामों के लिए करेंगे। प्रत्येक नोट की फ़ाइल का नाम इसके शीर्षक के "sanitized" संस्करण के नाम पर रखा जाएगा, जिसके बाद यह स्ट्रिंग होगी।
इसे ऐसा दिखना चाहिए:
NotesPath = A:\00_Cloud_Storage\Dropbox\Notes\Obsidian\Duckland! इनबॉक्स
FileNameExtra = _MUOnote.md
आमतौर पर, AutoHotkey का उपयोग अन्य विंडो को प्रभावित करने के लिए किया जाता है, जैसा कि हमने अपने लेख में देखा था AutoHotkey के साथ अपनी स्क्रीन पर किसी भी विंडो को कैसे केंद्रित करें, या हॉटकी बनाने के लिए, जिसके लिए आप हमारे गाइड को देख सकते हैं AutoHotkey के साथ ऐप-विशिष्ट हॉटकी बनाना.
हालाँकि, इस परिदृश्य में, हम AutoHotkey की GUI निर्माण क्षमताओं पर बहुत अधिक भरोसा करेंगे, जिसके बारे में बहुत से लोग भूल जाते हैं। AutoHotkey "Windows" के अपने "विंडो टूलकिट" में टैप करता है। यह जीयूआई के निर्माण को उन सभी सामान्य तत्वों के साथ सक्षम बनाता है जिन्हें आप "मानक" ओएस विंडो में टेक्स्ट फ़ील्ड और ड्रॉप-डाउन मेनू से बटन और स्क्रॉलबार में ढूंढने की अपेक्षा करते हैं।
शुक्र है, चूंकि हम एक सरल और "लाइट" नोट लेने वाला ऐप बना रहे हैं, इसलिए प्रोजेक्ट जटिल नहीं होगा और इस प्रकार, शिल्प करना अपेक्षाकृत आसान होगा। हमारे जीयूआई में केवल तीन तत्व शामिल होंगे:
- नोट के शीर्षक के लिए एक टेक्स्ट बॉक्स
- नोट की सामग्री के लिए एक और
- नोट को सेव करने के लिए एक बटन।
हम "रद्द करें" बटन भी नहीं जोड़ेंगे क्योंकि हम उस फ़ंक्शन को कीबोर्ड पर एस्केप कुंजी और विंडो बंद करने की क्रिया से मैप करेंगे।
नीचे दी गई पंक्ति को अपनी स्क्रिप्ट में जोड़ें - यह मूल रूप से "ऑटोहॉटकी" को बताता है कि किसी भी तत्व में फ़ॉन्ट "आकार 14" और "रंग 666666" होना चाहिए।
जीयूआई, क्यूएन: फ़ॉन्ट, s14सी666666
अगला, निम्न पंक्ति:
जीयूआई, क्यूएन:जोड़ना, संपादन करना, x5y5w550h60vTitle, शीर्षक-फ़ाइल का नाम
- ...एक संपादन योग्य टेक्स्ट बॉक्स जोड़ता है ("संपादित करें")...
- ... खिड़की के किनारे से 5 पिक्सेल क्षैतिज और 5 पिक्सेल लंबवत निर्देशांक पर ("x5 y5")...
- ...550 पिक्सेल की चौड़ाई और 60 पिक्सेल की ऊँचाई ("w550 h60") के साथ।
- इसमें टाइप की गई हर चीज को टाइटल वेरिएबल ("vTitle") में मैप किया जाएगा...
- ...और इसमें "शीर्षक - फ़ाइल नाम" पाठ होगा।
इसके बाद, उस पंक्ति के बाद आने वाले किसी भी तत्व के लिए फ़ॉन्ट आकार को 12 और उसके रंग को 4444444 में बदलें।
फिर, नोट की वास्तविक सामग्री के लिए एक बड़ा संपादन योग्य टेक्स्ट बॉक्स जोड़ें, इसे नोट वेरिएबल पर मैप करें, और क्लिपबोर्ड में पहले से मौजूद किसी भी चीज़ के साथ इसे प्री-पॉप्युलेट करें।
अंत में, दो टेक्स्ट बॉक्स के नीचे और ऐप की विंडो के नीचे एक बटन जोड़ें, जिसे स्क्रिप्ट के डिफ़ॉल्ट ओके फ़ंक्शन में मैप किया गया हो।
जीयूआई, क्यूएन: फ़ॉन्ट, s12c444444
जीयूआई, क्यूएन:जोड़ना, संपादन करना, x5y70w550h600vध्यान दें, %क्लिपबोर्ड%
जीयूआई, क्यूएन:जोड़ना, बटन, x5वाई 680w550h50, ठीक
हमने एक जीयूआई बनाया है, लेकिन हमें इसे प्रदर्शित करने के लिए एक विंडो की भी आवश्यकता है।
उसके लिए, निम्न पंक्ति 560 पिक्सेल चौड़ाई और 735 पिक्सेल ऊँचाई के साथ निर्देशांक 0, 0 (क्षैतिज, लंबवत) पर एक विंडो बनाने के लिए AutoHotkey को "बताती है", जिसका नाम "MUONotes" है।
जीयूआई, क्यूएन:दिखाना, X 0य0w560h735, म्यूओनोट्स
अब तक की पूरी स्क्रिप्ट कुछ इस तरह दिखनी चाहिए:
NotesPath = A:\00_Cloud_Storage\Dropbox\Notes\Obsidian\Duckland! इनबॉक्स
FileNameExtra = _MUOnote.md गुई, QN: फ़ॉन्ट, s14 c666666
जीयूआई, क्यूएन:जोड़ना, संपादन करना, x5y5w550h60vTitle, शीर्षक-फ़ाइल का नाम
जीयूआई, क्यूएन: फ़ॉन्ट, s12c444444
जीयूआई, क्यूएन:जोड़ना, संपादन करना, x5y70w550h600vध्यान दें, %क्लिपबोर्ड%
जीयूआई, क्यूएन:जोड़ना, बटन, x5वाई 680w550h50, ठीक
जीयूआई, क्यूएन:दिखाना, X 0य0w560h735, म्यूओनोट्स
बटन बनाना AutoHotkey में कुछ करें
हमारा जीयूआई तैयार है—आप अपनी स्क्रिप्ट पर डबल-क्लिक करके इसे देख सकते हैं।
जैसा कि आप देखेंगे, मुख्य नोट का क्षेत्र क्लिपबोर्ड की सामग्री से पहले से भर जाएगा। हालाँकि, ऐप अपने आप बेकार हो जाएगा क्योंकि हमने अभी तक कुछ भी सेव करने के लिए सपोर्ट नहीं जोड़ा है।
अपनी स्क्रिप्ट में निम्नलिखित जोड़कर इसे ठीक करें:
क्यूएन बटन ओके:
फ़ाइल एन्कोडिंग, यूटीएफ-8-रॉ
जीयूआई, क्यूएन:जमा करना
टेम्पक्लिपबोर्ड =% क्लिपबोर्ड%
क्लिपबोर्ड = %शीर्षक%
गोसब क्लीनटेक्स्ट
फ़ाइल का नाम =% क्लिपबोर्ड%
क्लिपबोर्ड =% टेम्पक्लिपबोर्ड%
finalFilename =% NotesPath%\%FileName%%FileNameExtra%
फाइलडिलीट, %FinalFileName%
FileAppend,% नोट%,% finalFileName%
वापस करना
आइए इसे अलग करें:
- "QNButtonOK:" बताता है कि जीयूआई के डिफ़ॉल्ट ओके बटन पर क्लिक करने पर AutoHotkey को "करना चाहिए" के बाद क्या आता है।
- "फाइलएन्कोडिंग" लाइन बनाई गई टेक्स्ट फ़ाइल के एन्कोडिंग को सेट करती है।
- "गुई, जीएन: सबमिट करें" प्रत्येक जीयूआई तत्व की स्थिति को पकड़ लेता है, जिसका अर्थ है कि यह दो पाठ क्षेत्रों में टाइप की गई किसी भी चीज़ को "पकड़ लेता है"।
- फिर हम अस्थायी रूप से क्लिपबोर्ड की वास्तविक सामग्री को TempClipboard चर में कॉपी करते हैं।
- हम उपरोक्त करते हैं क्योंकि हम नोट के शीर्षक को क्लिपबोर्ड पर कॉपी करना चाहते हैं, इसे एक फ़ंक्शन में भेजने के लिए एक मध्यस्थ के रूप में उपयोग किया जाता है जिसे हम आगे जोड़ेंगे। यह फ़ंक्शन टेक्स्ट को "सैनिटाइज़" करेगा, गैर-अल्फ़ान्यूमेरिक वर्णों को हटा देगा और हमें फ़ाइल नाम के रूप में शीर्षक के टेक्स्ट का उपयोग करने की अनुमति देगा।
- स्वच्छता समारोह "क्लीन" शीर्षक को क्लिपबोर्ड पर वापस कर देगा, जहां से हम इसे फाइलनेम चर में मैप करते हैं।
- फिर हम इसकी मूल सामग्री को TempClipboard चर से क्लिपबोर्ड पर लौटाते हैं।
- लक्ष्य फ़ाइल का पूरा पथ और फ़ाइल नाम प्राप्त करने के लिए, हम NotePath और FileNameExtra चर के बीच नव-संयोजित फ़ाइलनाम चर को "सैंडविच" करते हैं। इसलिए हमने उन्हें स्क्रिप्ट की शुरुआत में परिभाषित किया।
- हम समान पथ और फ़ाइल नाम वाली किसी भी पिछली फ़ाइल को पहले से हटा देते हैं।
- हम Note वेरिएबल की सामग्री को FinalFileName फ़ाइल में जोड़ते हैं।
AutoHotkey में टेक्स्ट को सैनिटाइज़ करना
ऊपर वर्णित "स्वच्छता" फ़ंक्शन निम्नलिखित है:
क्लीनटेक्स्ट: क्लीनमीप्लीज =% क्लिपबोर्ड%
क्लीनमीप्लीज:= रेगेक्सरिप्लेस (क्लीनमीप्लीज, "एक-zA-Z0-9", "")
कुंडली
{
StringReplace, CleanMeकृपया, CleanMeकृपया, %A_SPACE%%A_SPACE%, %A_SPACE%, सभी
अगर त्रुटि स्तर <> 0
तोड़ना
}
क्लिपबोर्ड =% CleanMeकृपया%
वापस करना
इसके माध्यम से लाइन-बाय-लाइन जाने के लिए:
- "क्लीनटेक्स्ट:" उस फ़ंक्शन का नाम है जिसमें अनुसरण करने वाली कार्रवाइयाँ "शामिल हैं"।
- हम पहले क्लिपबोर्ड की सामग्री को CleanMeकृपया वेरिएबल में मैप करते हैं।
- हम CleanMeकृपया वेरिएबल से सभी गैर-अल्फ़ान्यूमेरिक वर्णों को हटाने के लिए एक RegEx नियम का उपयोग करते हैं।
- चूंकि उपरोक्त डबल स्पेस पेश कर सकता है, इसलिए हम एक बार फिर से क्लीनमीप्लीज वेरिएबल के माध्यम से कंघी करने के लिए एक लूप का उपयोग करते हैं, उन्हें सिंगल स्पेस के साथ बदल देते हैं। यह दो "%A_SPACE%" वाला बिट है, जिसके बाद एक और शब्द "all" है।
- ErrorLevel लाइन "ऑटोहॉटकी" को "लूप को तोड़ने" के लिए "बताती है" जब यह पाठ में अधिक दोहरे स्थान नहीं पा सकती है।
- अंत में, हम CleanMeकृपया वेरिएबल के "sanitized" संस्करण को क्लिपबोर्ड पर लौटाते हैं।
अपने नोट लेने वाले ऐप में अंतिम बदलाव करना
आपकी नोट लेने वाली स्क्रिप्ट उपयोग के लिए तैयार है, लेकिन यदि आप इसे आज़माते हैं, तो हो सकता है कि आपको इसकी विंडो पॉप अप दिखाई दे और तुरंत गायब हो जाए। ऐसा इसलिए है क्योंकि आपको इसमें परिभाषित प्रत्येक फ़ंक्शन को "वापस" करने की भी आवश्यकता है।
इसलिए, "वापसी" शब्द (बिना उद्धरण चिह्नों के) को नीचे रखें:
- GUI, "QN: Show..." लाइन के अंतर्गत, स्क्रिप्ट का GUI बनाने वाला भाग।
- "QNButtonOK" फ़ंक्शन, अंतिम "FileAppend ..." लाइन के अंतर्गत।
- CleanText फ़ंक्शन, अंतिम "ClipBoard =..." पंक्ति के अंतर्गत।
हालाँकि, यदि आप अपनी स्क्रिप्ट को अभी चलाने का प्रयास करते हैं, तो आप देखेंगे कि इसका उपयोग करने के बाद भी यह Windows ट्रे में बना रहता है। एप्लिकेशन को बंद करने और स्क्रिप्ट को पूरी तरह से बाहर निकालने के लिए, अंत में निम्नलिखित जोड़ें:
QNGuiEscape:
QNGuiबंद करें:
बाहर निकलें
वापस करना
अंत में, ऐप को तुरंत चलाने के लिए जब भी आपको इसकी आवश्यकता हो, अपने डेस्कटॉप पर अपनी स्क्रिप्ट के लिए एक शॉर्टकट बनाएं। फिर, उस पर राइट-क्लिक करें, चुनें गुण, में क्लिक करें शॉर्टकट की क्षेत्र, और अपने वांछित बटन संयोजन को हिट करें।
AutoHotkey में अपना पहला ऐप बनाने के लिए बधाई
यह शुरू में एक जटिल परियोजना की तरह लग सकता है, लेकिन जैसा कि हमने देखा, "लाइट" नोट लेने वाला ऐप बनाना बहुत सीधा था।
AutoHotkey के मानव-अनुकूल सिंटैक्स और विंडोज के डिफ़ॉल्ट जीयूआई-संबंधित तत्वों का लाभ उठाने की क्षमता के लिए धन्यवाद।