Làm cách nào để biết ứng dụng nào đã đánh cắp sự tập trung của tôi trong OS X?


25

Cửa sổ hoạt động trên máy của tôi thỉnh thoảng mất tập trung. Ứng dụng đang hoạt động vẫn giữ nguyên - nếu trước đây tôi đã ở trong Chrome, thì bây giờ tôi vẫn ở trong Chrome - nhưng cửa sổ hoạt động không còn hoạt động nữa. Không có cửa sổ đang hoạt động. Điều này thật khó chịu; nó đã xảy ra trong khi gõ câu hỏi này và tổ hợp phím của tôi đột nhiên ngừng đăng ký.

Tôi tin rằng một số ứng dụng khác đang đánh cắp tiêu điểm, nhưng bản thân nó không có giao diện người dùng để hiển thị, vì vậy cửa sổ hoạt động sẽ không hoạt động, nhưng ứng dụng đang hoạt động vẫn hoạt động.

Câu hỏi là: Làm thế nào để tôi theo dõi ứng dụng vi phạm, để tôi có thể xóa nó một cách giận dữ? Thông thường trong các trường hợp trộm cắp tập trung, thủ phạm là rõ ràng, bởi vì nó có trọng tâm. Trong trường hợp này, tôi đã bối rối.


Bạn có thể thử Apple > Force Quit...menu để xem có thứ gì không nên chạy không.
Michael Frank

1
@MichaelFrank Nó sẽ không hiển thị các ứng dụng không có thanh menu (ví dụ: những ứng dụng LSUIElementđược đặt thành truein Info.plist). Những người hoàn toàn có khả năng hành vi đó.
Daniel Beck

@DanielBeck Ahh, gotcha. Đó là tiện dụng để biết.
Michael Frank


tell application "System Events" to display alert ((name of first application process whose frontmost is true) as string)tiếc là không xem xét các quy trình mà không có thanh menu.
Daniel Beck

Câu trả lời:


35

Đây là một đoạn script sẽ cho bạn biết ứng dụng nào đang kích hoạt mà không cho bạn biết. Tôi đã điều chỉnh nó từ câu trả lời cho câu hỏi của @ KevinReid trên Apple SE .

Để nó chạy trong một thiết bị đầu cuối, đợi ứng dụng giả mạo đánh cắp tiêu điểm và xem ứng dụng nào được liệt kê cuối cùng. (Đối với tôi: Google Drive. Những người khác đã báo cáo công cụ 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)

Kịch bản này cho tôi biết thủ phạm của tôi làGoogle Drive [/Applications/Google Drive.app]
MarkHu

Thủ phạm đối với tôi cuối cùng là Symantec.
Josh Bleecher Snyder

1
Trong trường hợp của tôi, đó là SecurityAgent [/ System / L Library / Frameworks / Security.framework / Vionsions / A / MacService / SecurityAgent.bundle]
Ed Randall

Ứng dụng vi phạm là Microsoft Update Assistant. Tôi đánh giá cao câu trả lời này, vấn đề này đã khiến tôi phát điên trong một thời gian.
jamesbev

2
Thủ phạm của tôi là JetBrains Toolbox [/ Ứng dụng / JetBrains Toolbox.app/Contents/jetbrains-toolbox-cef.app], đã cố gắng tự cập nhật và gặp sự cố trong quá trình này. Cảm ơn bạn rất nhiều !! Nó cũng tiêu tốn một lượng lớn tài nguyên.
Gabriel

1

Điều này sẽ nghe có vẻ ngớ ngẩn và đơn giản đến ngớ ngẩn ... Tôi gặp vấn đề tương tự với máy tính xách tay của mình khi tôi sử dụng bàn di chuột hoặc bàn phím tích hợp. Có hai máy tính xách tay riêng biệt cho trải nghiệm tương tự sau khi tiếp xúc với một chút độ ẩm (vâng, tôi đã đổ trên bàn phím).

Thêm chuột ngoại vi và bàn phím đã giải quyết nó cho tôi.


1
Hấp dẫn. Tôi sử dụng chuột và bàn phím ngoài, nhưng hy vọng điều này sẽ giúp người khác. Cảm ơn.
Josh Bleecher Snyder
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.