Hangi uygulamanın OS X'teki odağımı çaldığını nasıl anlarım?


25

Makinemdeki etkin pencere zaman zaman odağı kaybediyor. Etkin uygulama aynı kalır - daha önce Chrome'da olsaydım, şu anda hala Chrome'dayım - ancak etkin pencere artık etkin değil. Etkin pencere yok. Bu sinir bozucu; bu soruyu yazarken oldu ve tuş vuruşlarım birdenbire kaydı durdurdu.

Başka bir uygulamanın odağı çaldığına inanıyorum, ancak görüntülenecek kullanıcı arayüzü yok, bu yüzden aktif pencere aktif değil, ancak aktif uygulama aktif kalıyor.

Soru şudur: Rahatsız edici bir şekilde silebilmek için rahatsız edici uygulamayı nasıl izleyebilirim? Normalde odak hırsızlığı durumunda, suçlu açıktır, çünkü odaklıdır. Bu durumda, güldüm.


Çalışmaması Apple > Force Quit...gereken bir şey olup olmadığını görmek için menüyü deneyebilirsiniz .
Michael Frank

1
@MichaelFrank Hiçbir menü çubuğu (örn olanlar var uygulamaları göstermeyecektir LSUIElementiçin sette truede Info.plist). Bunlar bu davranışı mükemmel bir şekilde yapabilirler.
Daniel Beck

@DanielBeck Ahh, yakaladım. Bunu bilmek kullanışlı.
Michael Frank


tell application "System Events" to display alert ((name of first application process whose frontmost is true) as string)ne yazık ki menü çubuğu olmadan işlemleri dikkate almaz.
Daniel Beck

Yanıtlar:


35

İşte size söylemeden hangi uygulamanın etkinleştirildiğini söyleyen bir komut dosyası. @ KevinReid'in Apple SE ile ilgili sorusuna bir cevaptan uyarladım .

Bir terminalde çalışır halde bırakın, haydut uygulamanın odak çalmasını bekleyin ve en son hangi uygulamanın listelendiğini görün. (Benim için: Google Drive. Diğerleri Symantec AV şeylerini bildirdi.)

#!/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)

Bu senaryo bana suçlu olduğunu söylüyorGoogle Drive [/Applications/Google Drive.app]
MarkHu

Benim için suçlu, Symantec oldu.
Josh Bleecher Snyder

1
Benim durumumda SecurityAgent [/System/Library/Frameworks/Security.framework/Versions/A/MachServices/SecurityAgent.bundle]
Ed Randall

Rahatsız edici uygulama Microsoft Update Assistant'tı. Bu cevabı çok takdir ediyorum, bu sorun bir süredir beni deli ediyor.
jamesbev

2
Benim suçluum JetBrains Toolbox idi [/ Applications / JetBrains Toolbox.app/Contents/jetbrains-toolbox-cef.app], kendini güncellemeye çalışıyordu ve süreçte çöküyordu. Çok teşekkür ederim sooooooo çok !! Ayrıca çok miktarda kaynak tüketiyordu.
Gabriel

1

Bu aptalca ve saçma bir şekilde basit olacak ... İzleme dörtgenini kullandığımda veya klavyede kullandığımda dizüstü bilgisayarımla aynı sorunu yaşadım. İki ayrı dizüstü bilgisayar biraz neme maruz kaldıktan sonra benzer deneyimler vermişti (evet, klavyeye döktüm).

Çevresel fare ve klavye eklemek benim için çözdü.


1
İlginç. Harici bir fare ve klavye kullanıyorum, ancak umarım bu başka birine yardımcı olur. Teşekkürler.
Josh Bleecher Snyder
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.