गोदी में आइकन पर क्लिक कैसे करें == नया उदाहरण खोलें


16

मेरी गोदी में कई अनुप्रयोग हैं जो कई उदाहरण खोल सकते हैं (जैसे क्रोम, iTerm, उदात्त, आदि)

जब मैं किसी एक आइकन पर क्लिक करता हूं, तो मैं चाहता हूं कि एक नई विंडो खुले (यह वही होता है अगर कोई विंडो वर्तमान में खुली नहीं है) हालांकि, यदि कोई उदाहरण पहले से ही खुला है तो यह मुझे उस उदाहरण पर ले जाता है।

यह विशेष रूप से कष्टप्रद होता है जब उदाहरण पूरे अन्य डेस्कटॉप उदाहरण पर होता है और मेरे डेस्कटॉप को बदलने का कारण बनता है।

क्या कोई सेटिंग है जिसे आप इसे बनाने के लिए सेट कर सकते हैं जब आप आइकन पर क्लिक करते हैं, तो यह आपको पहले से खुली हुई विंडो पर रीडायरेक्ट करने के बजाय एक नई विंडो खोलता है?


2
मैं आपको दिखा सकता हूं कि यह कैसे AppleScript के साथ किया जा सकता है जिसे आप डॉक में रख सकते हैं।
इयान सी

या आप बस ctrl + n को हिट कर सकते हैं।
कॉफी रेन

3
@C450Rain Ctrl-N? वह क्या है? ITerm और Chrome में कुछ भी नहीं है। मुझे लगता है कि आपका मतलब सीएमडी-एन से था - लेकिन यह तभी काम करता है जब ऐप अग्रभूमि में हो।
इयान सी

@IanC। क्षमा करें, हां मेरा मतलब सीएमडी-एन था।
कॉफी रेन

जवाबों:


17

आप कुछ AppleScript और कुछ चालाक आइकन छवि चिपकाने के साथ एक साथ कुछ कर सकते हैं। यहाँ आप इसे iTerm / iTerm2 के लिए कैसे करेंगे।

AppleScript एडिटर खोलें और निम्नलिखित AppleScript में पेस्ट करें:

set myapp to "iTerm"
on appIsRunning(appName)
    tell application "System Events" to (name of processes) contains appName
end appIsRunning
if appIsRunning(myapp) then
    # What you do here will depend on the program. This works for
    # iTerm but you'll need to look up the actions for other programs
    # since this bit is iTerm-specific.
    tell application "iTerm"
        set myterm to (make new terminal)
        tell myterm
            launch session "Default"
        end tell
    end tell
else
    tell application myapp
        activate
    end tell
end if

आप संपादक में रन बटन का उपयोग करके परीक्षण कर सकते हैं कि यह काम करता है। यदि आप चाहते हैं कि एक अलग प्रोफाइल खोला गया डिफॉल्ट "डिफ़ॉल्ट" लाइन 12 पर आपके द्वारा खोले गए प्रोफाइल के नाम पर हो।

अब इस AppleScript को सेव करें। तल पर "फ़ाइल प्रारूप" के तहत सहेजें संवाद में सूची से "आवेदन" चुनें।

मैंने अपने डेस्कटॉप पर "न्यू iTerm.app" के रूप में मेरा बचाया।

अब हर बार जब मैं अपने डेस्कटॉप पर "न्यू iTerm.app" पर क्लिक करता हूं तो मुझे एक नई iTerm विंडो मिलती है। मैं अपने डॉक में "न्यू iTerm.app" को खींच सकता हूं और यह एक डॉक आइकन होगा, मैं किसी भी समय क्लिक कर सकता हूं मैं एक नया iTerm विंडो खोलना चाहता हूं। लेकिन आइकन जेनेरिक AppleScript आइकन है।

चलिए इसे iTerm आइकन में बदलते हैं। डेस्कटॉप पर "न्यू iTerm.app" चुनें और एप्लिकेशन के लिए गुण स्क्रीन लाने के लिए Cmd-I पर क्लिक करें।

अब /Applicationsफाइंडर विंडो में नेविगेट करें , इंस्टॉल किए गए एप्लिकेशन की सूची में iTerm ढूंढें, इसे चुनें और iTerm एप्लिकेशन के लिए गुण स्क्रीन खोलने के लिए Cmd-I पर क्लिक करें।

ITerm info विंडो में आइकन पर क्लिक करें ताकि उसे चारों ओर एक नरम नीली छाया मिल जाए। आइकन को क्लिपबोर्ड पर कॉपी करने के लिए Cmd-C दबाएं।

अब "न्यू iTerm.app" जानकारी विंडो में आइकन पर क्लिक करें और "न्यू iTerm.app" एप्लिकेशन पर iTerm आइकन पेस्ट करने के लिए Cmd-V दबाएं।

ITerm से New iTerm तक आइकन कॉपी करना

इसमें अब iTerm आइकन होना चाहिए।

/Applicationsयदि आप चाहें तो "न्यू iTerm.app" को अपने फ़ोल्डर में स्थानांतरित कर सकते हैं। इसे उस फ़ोल्डर से खींचें, जिसे आप अपने गोदी में वापस रखने का निर्णय लेते हैं, और अब आप प्रत्येक क्लिक के साथ एक नई iTerm विंडो खोलने के लिए डॉक में उस पर क्लिक कर सकते हैं।

यदि आप इसे चल रहे iTerm.app डॉक आइकन से अलग करने में सक्षम होना चाहते हैं, तो आप Pixelmator जैसे छवि संपादक में आइकन चिपकाने पर विचार कर सकते हैं और इसमें एक बड़ा लाल जोड़ +सकते हैं, इसलिए यह स्पष्ट रूप से एक नए मॉडल के लिए प्रेस करने के लिए आइकन के रूप में पहचाना जाता है बाहर निकलने के लिए प्रेस करने के लिए आइकन के बजाय विंडो, iTerm एप्लिकेशन खोलें।

यहाँ कुछ अन्य अनुप्रयोगों के लिए कुछ और स्क्रिप्ट दी गई हैं जिससे आप चीजों को अनुकूलित करना शुरू कर सकते हैं:

Google Chrome (नई विंडो)

set myapp to "Google Chrome"
on appIsRunning(appName)
    tell application "System Events" to (name of processes) contains appName
end appIsRunning
if appIsRunning(myapp) then
    tell application "Google Chrome"
        make new window
    end tell
else
    tell application myapp
        activate
    end tell
end if

Google Chrome (नया टैब)

set myapp to "Google Chrome"
on appIsRunning(appName)
    tell application "System Events" to (name of processes) contains appName
end appIsRunning
if appIsRunning(myapp) then
    tell application "Google Chrome"
        make new tab at end of tabs of window 1
    end tell
else
    tell application myapp
        activate
    end tell
end if

उदात्त पाठ २

दुर्भाग्य से ST2 में AppleScript सुलभ एक्सटेंशन नहीं है। आप हमेशा OS X कमांड लाइन टूल पर एक नज़र डाल सकते हैं जो ST2 जहाजों के साथ है । आप एसटी 2 में एक नई विंडो खोलने के लिए डॉक में एक साधारण स्क्रिप्ट से कॉल कर सकते हैं। इसलिए:

set myapp to "Sublime Text 2"
on appIsRunning(appName)
    tell application "System Events" to (name of processes) contains appName
end appIsRunning
if appIsRunning(myapp) then
    # Assumes you've installed the subl command line tool for ST2
    # in to /usr/local/bin. Adjust accordingly.
    do shell script "/usr/local/bin/subl --new-window"
else
    tell application myapp
        activate
    end tell
end if

2
विभिन्न उपयोग मामलों और विवरणों को कवर करने वाले स्पष्ट उदाहरणों के साथ शानदार जवाब! धन्यवाद!
एडम डेविस

@AdamDavis मैं अभी AppleScript से शुरुआत कर रहा हूं, इसलिए मैंने जो सीखा है उसे परखने के लिए यह एक अच्छा व्यायाम था।
इयान सी

क्या इसका उपयोग वर्तमान में चल रहे एप्लिकेशन का नाम प्राप्त करने के लिए किया जा सकता है?
विलियम

अगर ऐप चल रहा है और यह वर्तमान डेस्कटॉप पर नहीं है या नहीं, इसकी जांच करने का कोई तरीका है? मुझे नई विंडो तभी पसंद आएगी जब मौजूदा विंडो दूसरे डेस्कटॉप पर हो।
adamdport
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.