V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
dalang
V2EX  ›  MacBook Pro

mac 使用时窗口经常无故自己切换

  •  
  •   dalang · 2019-12-06 23:11:47 +08:00 via iPhone · 4575 次点击
    这是一个创建于 1814 天前的主题,其中的信息可能已经有所发展或是发生改变。
    目前使用的是 2018 13 寸 mbp,最近使用的时候常常窗口会无故自己切换。有时是手放在键盘上没动,有时手都已经离开键盘,今天测了下外接键盘也发生了。
    特意安装了 keycast 记录键盘按键记录,并没发现窗口被切换时有键盘触发的操作。

    现在用 mac 很难受,莫名发生窗口切换后,就得自己按 cmd+tab,很影响工作。虽然严格上说发生的概率不能算高,真的很烦人。尤其是找不到问题,感觉陷入玄学了
    第 1 条附言  ·  2019-12-11 00:40:37 +08:00
    问题似乎找到了

    用脚本发现每次切换回来都有 chrome 出现,然后搜索到下面的问题跟我的现象很像。
    https://apple.stackexchange.com/questions/362639/macos-mojave-suddenly-changes-focus-to-a-chrome-window?newreg=cbc5e852b4f44c339f38202b5c42916f

    后来停用了 chrome,换用 chromium,到现在一天过去了,问题没有重现。
    13 条回复    2023-05-11 17:03:04 +08:00
    wclebb
        1
    wclebb  
       2019-12-06 23:34:21 +08:00 via iPhone
    邮件?
    uhian
        2
    uhian  
       2019-12-07 00:03:44 +08:00
    窗口切换指的是切换到别的 app 还是切换到主窗口?如果是主窗口,会不会有什么隐藏的 app 在主窗口有消息。比如有的 app 有新版本,你在别的窗口正忙,他会跳出来导致回到主窗口。不知道我说明白没。。。。。。
    dalang
        3
    dalang  
    OP
       2019-12-07 09:09:27 +08:00 via iPhone
    @uhian 切换到别的 app,行为上就跟自己按了一次的 cmd+tab 一样
    starrystarry
        4
    starrystarry  
       2019-12-07 09:17:04 +08:00
    很久之前似乎遇到过类似的问题,当时用了一段代码查找到了元凶,卸载之后就好了。只想到这些,细节全忘了……
    dalang
        5
    dalang  
    OP
       2019-12-07 11:53:28 +08:00
    @starrystarry #4 如果是软件层的问题,至少感觉比应用故障要好一点。
    starrystarry
        6
    starrystarry  
       2019-12-07 11:55:18 +08:00   ❤️ 1
    @dalang 搜「 Mac 失去焦点」试试
    leeum
        7
    leeum  
       2019-12-08 00:09:17 +08:00
    10.14 的时候出现相同问题,升级到 10.15 就没再出现过
    dalang
        8
    dalang  
    OP
       2019-12-09 12:06:52 +08:00
    @leeum #7 我从 high siera 升到 catalina 后问题依旧。
    dalang
        9
    dalang  
    OP
       2019-12-09 12:07:26 +08:00
    @starrystarry #6 脚本用起来了,看看能不能起作用。
    feellucky
        10
    feellucky  
       2020-05-07 23:58:20 +08:00
    我今天遇到两次,在没有操作键鼠的情况下自己出现了切换窗口的浮层(似乎并没有真的切换)。一开始以为是 mac 被人远程控制了,因为前几天打开了远程管理的共享,但是关掉共享之后又出现一次。有搜到这个帖: https://discussionschinese.apple.com/thread/250914911,没有解决问题。

    看了下拥有辅助功能权限的应用,嫌疑最大的是 karabiner-element 、logi option 、magnet 和 mos 。
    feellucky
        11
    feellucky  
       2020-05-07 23:59:41 +08:00
    mac mini 2018 + 蓝牙键鼠、catalina 10.15.4
    dalang
        12
    dalang  
    OP
       2020-05-09 10:23:21 +08:00
    我后来发现确实是 chrome 的原因,解决方法是下载完重装
    cyongfrank
        13
    cyongfrank  
       2023-05-11 17:03:04 +08:00
    > [How do I tell which app stole my focus in OS X?]( https://superuser.com/questions/734007/how-do-i-tell-which-app-stole-my-focus-in-os-x)

    ```python
    #!/usr/bin/python

    try:
    from AppKit import NSWorkspace
    except ImportError:
    print("Can't import AppKit -- try `pip install PyObjC`")
    print("(see instructions for running in a venv with PyObjC)")
    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)
    ```

    1. Create a directory, and save the script above into it as "focus-stealer.py"
    2. In a terminal in that directory enter these commands:

    ```sh
    /usr/bin/python3 -m venv venv
    ./venv/bin/python -m pip install PyObjC
    ```

    (This creates a new, isolated Python virtual environment, just for this script, and installs PyObjC into it. This avoids modifying your system Python installation or needing to use sudo.)

    3. Now you can run the script. In a terminal in that same directory run:

    ```sh
    ./venv/bin/python ./focus-stealer.py
    ```

    (In the future, you can skip directly to this step—no need to reinstall things.)
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2729 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 35ms · UTC 11:27 · PVG 19:27 · LAX 03:27 · JFK 06:27
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.