मैं कैसे बताऊं कि किस ऐप ने ओएस एक्स में मेरा ध्यान चुराया है?


25

मेरी मशीन पर सक्रिय विंडो कभी-कभी फोकस खो देती है। सक्रिय ऐप वही रहता है - अगर मैं पहले क्रोम में था, तो अभी भी क्रोम में हूँ - लेकिन सक्रिय विंडो अब सक्रिय नहीं है। कोई विंडो सक्रिय नहीं है। यह निराश करने वाला है; यह प्रश्न लिखते समय हुआ, और मेरे कीस्ट्रोक्स ने अचानक पंजीकरण बंद कर दिया।

मेरा मानना ​​है कि कुछ अन्य ऐप फ़ोकस चुरा रहे हैं, लेकिन यह स्वयं के पास प्रदर्शित करने के लिए कोई UI नहीं है, इसलिए सक्रिय विंडो सक्रिय नहीं होती है, लेकिन सक्रिय ऐप सक्रिय रहता है।

सवाल यह है: मैं अपमानजनक ऐप को कैसे ट्रैक करूं, ताकि मैं गुस्से में इसे हटा सकूं? आम तौर पर फोकस चोरी के मामलों में, अपराधी स्पष्ट है, क्योंकि इसमें फोकस है। इस मामले में, मैं स्टम्प्ड हूं।


आप Apple > Force Quit...मेनू को देखने की कोशिश कर सकते हैं कि क्या कुछ चल रहा है जो नहीं होना चाहिए।
माइकल फ्रैंक

1
@MichaelFrank यह आवेदन पत्र नहीं मेनू पट्टी (जैसे के साथ उन है कि नहीं दिखाया जाएगा LSUIElementकरने के लिए सेट trueमें Info.plist)। वे उस व्यवहार के लिए पूरी तरह से सक्षम हैं।
डैनियल बेक

@ डैनियलबेक आह, गेटा। यह जानना आसान है।
माइकल फ्रैंक

1
FYI करें, मैंने मूल रूप से Apple SE पर यही प्रश्न पूछा था
केविन रीड

tell application "System Events" to display alert ((name of first application process whose frontmost is true) as string)दुर्भाग्य से मेनू बार के बिना प्रक्रियाओं पर विचार नहीं किया जाता है।
डैनियल बेक

जवाबों:


35

यहां एक स्क्रिप्ट है जो आपको बताएगी कि कौन सा ऐप आपको बताए बिना सक्रिय कर रहा है। मैंने Apple SE पर @ KevinReid के प्रश्न के उत्तर से इसे अनुकूलित किया ।

इसे टर्मिनल में चलाना छोड़ दें, फ़ोकस चुराने के लिए दुष्ट ऐप की प्रतीक्षा करें और देखें कि कौन सा ऐप अंतिम रूप से सूचीबद्ध है। (मेरे लिए: Google ड्राइव। अन्य ने Symantec AV सामान की सूचना दी है।)

#!/usr/bin/python                                                                                                       

try:
    from AppKit import NSWorkspace
except ImportError:
    print "Can't import AppKit -- maybe you're running python from brew?"
    print "Try running with Apple's /usr/bin/python instead."
    exit(1)

from datetime import datetime
from time import sleep

last_active_name = None
while True:
    active_app = NSWorkspace.sharedWorkspace().activeApplication()
    if active_app['NSApplicationName'] != last_active_name:
        last_active_name = active_app['NSApplicationName']
        print '%s: %s [%s]' % (
            datetime.now().strftime('%Y-%m-%d %H:%M:%S'),
            active_app['NSApplicationName'],
            active_app['NSApplicationPath']
        )
    sleep(1)

यह स्क्रिप्ट मुझे बताती है कि मेरा अपराधी हैGoogle Drive [/Applications/Google Drive.app]
मार्कहु 19

मेरे लिए अपराधी सिमेंटेक हो गया।
जोश ब्लेचर स्नाइडर

1
मेरे मामले में यह SecurityAgent [/System/Library/Frameworks/Security.framework/Versions/A/MachServices/SecurityAgent.bundle]
Ed Randall

अपकमिंग ऐप माइक्रोसॉफ्ट अपडेट असिस्टेंट था। मैं इस जवाब की बहुत सराहना करता हूं, यह समस्या मुझे कुछ समय के लिए पागल कर रही है।
jamesbev

2
मेरा अपराधी JetBrains Toolbox था [/ Applications / JetBrains Toolbox.app/Contents/jetbrains-toolbox-cef.app], स्वयं को अपडेट करने और प्रक्रिया में क्रैश करने का प्रयास कर रहा था। आपका बहुत बहुत धन्यवाद !! यह भारी मात्रा में संसाधनों का उपभोग भी कर रहा था।
गेब्रियल

1

यह मूर्खतापूर्ण और बेतुका सरल ध्वनि करेगा ... मुझे अपने लैपटॉप के साथ एक ही समस्या थी जब मैंने ट्रैकपैड का उपयोग किया था या कीबोर्ड में बनाया था। अगर दो अलग-अलग लैपटॉप थोड़ी नमी के संपर्क में आने के बाद समान अनुभव देते हैं (हां, मैं कीबोर्ड पर गिरा था)।

परिधीय माउस और कीबोर्ड को जोड़ने से यह मेरे लिए हल हो गया।


1
दिलचस्प। मैं एक बाहरी माउस और कीबोर्ड का उपयोग करता हूं, लेकिन उम्मीद है कि यह किसी और की मदद करता है। धन्यवाद।
जोश ब्लेकियर स्नाइडर
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.