यदि आप जानते हैं कि कीबोर्ड शॉर्टकट / ट्रैकपैड जेस्चर के लिए किसी ऐप्पलस्क्रिप्ट को कैसे बांधना है, तो यह आपके लिए जवाब है।
लिपि का मतलब सार्वभौमिक होना है। यह यथासंभव अधिक से अधिक परिदृश्यों को शामिल करने के लिए सबसे सामान्यीकृत शब्दों का उपयोग करता है। मैंने फाइंडर, स्क्रिप्ट एडिटर और फ़ायरफ़ॉक्स पर परीक्षण किया है। त्रुटियाँ नहीं।
हालाँकि, इसमें केवेट हैं:
स्क्रिप्ट तभी काम करती है जब किसी ऐप का केवल एक ही उदाहरण हो। (BTW, यह अभी भी ओपी के पाठ में "कई उदाहरण" कहता है।) इसमें कई-उदाहरणों को काम करना संभव है, लेकिन यह एक और दिन के लिए लड़ाई है।
यह स्क्रिप्ट Window
मेनू में विंडोज़ की सूची को नीचे स्क्रॉल करती है । संक्षेप में यह चेक (")") चिह्न के साथ आइटम के ठीक नीचे क्लिक करता है। यदि "✓" वाला आइटम अंतिम आइटम है, तो स्क्रिप्ट इसके बजाय अंतिम विभाजक रेखा के नीचे पहले आइटम पर क्लिक करेगी। एक स्क्रिप्ट जो उलटी दिशा में पीछे जाती है, उसे इस स्क्रिप्ट को संशोधित किया जा सकता है। हालाँकि, मैं यह नहीं देखता कि दोनों को एक ही लिपि में कैसे जोड़ा जा सकता है।
try
बयान है कि एक का उत्पादन errorMessage
सबसे सीपीयू कारगर तरीका मैं के सूचकांक का निर्माण करने के पता है separator
। यदि आप एक बेहतर तरीका जानते हैं, तो कृपया मुझे बताएं।
लिपी:
tell application "System Events" to tell (first application process whose frontmost is true) to tell menu bar 1 to tell menu "Window"
set cellingSeperator to last menu item whose value of attribute "AXEnabled" is false
set checkedItem to first menu item whose value of attribute "AXMenuItemMarkChar" is "✓"
try
set intentionalError to cellingSeperator as Unicode text
on error errorMessage
set firstItemIndex to (characters ((offset of "«class menI» " in errorMessage) + 13) through ((offset of " of" in errorMessage) - 1) of errorMessage as string as integer) + 1
end try
repeat with iterator from firstItemIndex to number of menu items
if value of attribute "AXFrame" of menu item iterator is equal to value of attribute "AXFrame" of checkedItem then
set clickItemIndex to iterator + 1
exit repeat
end if
end repeat
if clickItemIndex is greater than number of menu items then set clickItemIndex to firstItemIndex
tell menu item clickItemIndex to perform action "AXPress"
end tell