OS में कहीं से एक विशिष्ट विंडो को फोकस करने के लिए एक कमांड बनाएं


10

वेब के लिए विकास करते समय मैं अपने पाठ संपादक और ब्राउज़र के बीच बहुत आगे-पीछे कूदता हूं। मैं ओएस स्तर पर एक कीबोर्ड शॉर्टकट सेट करना चाहता हूं जो मुझे हर बार एक विशिष्ट, निश्चित विंडो पर कूदने की अनुमति देता है। इससे भी बेहतर यह होगा कि कुछ को निष्पादित करने के लिए एक आवेदन पत्र जारी करने की क्षमता हो, लेकिन मैं बाद के लिए इसे बचाऊंगा।

क्या ऐसी तकनीकें उपलब्ध हैं जो मुझे ऐसा करने देंगी? C और AppleScript के बीच कुछ होना चाहिए जो मुझे इस तरह का इंटरैक्शन बनाने दें। क्या किसी को पता है कि कहां से शुरू करना है?

धन्यवाद।

जवाबों:


2

आपको ऑटोमेटर को आज़माना चाहिए। आप एक नई सेवा "रिकॉर्ड" कर सकते हैं (जिसे आप बाद में सभी ऐप्स के लिए प्रकाशित कर सकते हैं और कीबोर्ड शॉर्टकट असाइन कर सकते हैं), जो डॉक से ऐप को क्लिक करता है। वास्तव में, आप अधिक क्रियाएं जोड़ सकते हैं और अपना "प्रदर्शन उस एप्लिकेशन को कुछ निष्पादित करने के लिए" कर सकते हैं।

मैंने एक बनाने की कोशिश की है (जो कि अपेक्षाकृत बेकार है लेकिन काम करता है) जो मेरे डॉक में मेल पर क्लिक करता है, फिर टूलबार में प्राप्त नए मेल आइकन पर क्लिक करता है । आनंद ;)

संलग्न को ऑटोमेटर परिणाम का शॉट है:

स्वचालक

मैंने ऊपरी दाएं कोने पर रिकॉर्ड बटन का उपयोग किया और फिर स्वयं क्रियाएं कीं (मेल के डॉक आइकन पर क्लिक किया, फिर टूलबार में मेल के गेट न्यू मेल आइकन पर क्लिक किया, फिर "स्टॉप रिकॉर्डिंग" पर क्लिक किया)। कृपया ध्यान दें कि मैंने पहले कॉम्बो बॉक्स में "सेवा प्राप्त करता है [कोई इनपुट नहीं]" चुना है, क्योंकि मुझे किसी इनपुट में कोई दिलचस्पी नहीं थी।

इससे आपको कई सेवाएँ मिल सकती हैं, जो आपके TextEditor और आपके ब्राउज़र के आगे-पीछे चलती हैं।

ऑटोमेटर स्पॉटलाइट और टाइपिंग ऑटोमेटर का उपयोग करके स्थित है (यह भी /Applications/Automator.app में स्थित है)

इस मामले में मैंने एक नई "सेवा" बनाई है, लेकिन आप शायद "स्क्रिप्ट" बनाकर भाग सकते हैं। निश्चित नहीं है कि कौन सा तेज़ होगा। प्रयोग। ऑटोमेटर आपका दोस्त है।


5

आप AppleScript के साथ ऐसा कुछ कर सकते हैं:

tell application "Terminal"
    activate
    windows where name contains "bash"
    if result is not {} then set index of item 1 of result to 1
end tell

या सिस्टम ईवेंट का उपयोग करना:

tell application "System Events" to tell process "Terminal"
    set frontmost to true
    windows where title contains "bash"
    if result is not {} then perform action "AXRaise" of item 1 of result
end tell

1

मैं मैक ओएस एक्स पर अलग-अलग कीबोर्ड शॉर्टकट या ट्रैकपैड जेस्चर सेट करने के लिए BetterTouchTool का उपयोग करता हूं। यह लॉन्च होने वाले कार्यों में से एक है एक्सक्यूट टर्मिनल कमांड

तो मैं निम्नलिखित आदेश की सेटिंग्स में:

osascript -e 'tell application "NameOfTheApplicationHere" to activate'

यहाँ BetterTouchTool वरीयताओं से एक उदाहरण है:

यहां छवि विवरण दर्ज करें


1

मुझे iTerm2 के साथ काम करने में बहुत परेशानी हो रही थी। यहाँ एकल कमांड समाधान है:

  osascript -e 'tell application "System Events" to tell process "iTerm2"' \
            -e 'set frontmost to true' \
            -e 'if windows is not {} then perform action "AXRaise" of item 1 of windows' \
            -e 'end tell'
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.