Linux 子系统负责工作区处理?

Linux 子系统负责工作区处理?

更新:这个问题可能是由一些错误的假设引起的。我已经用答案结束了这个问题。我会保留这个问题,以防其他人得出类似的结论(或可以添加任何见解)。


大多数 Linux 桌面环境都包含多个工作区的功能。我记得直到最近,所有或大多数桌面环境都会“自动聚焦”。我的意思是:

假设您在工作区 1 中打开了电子邮件客户端,在工作区 2 中打开了 Web 浏览器。您正在使用电子邮件客户端,其中的一条消息包含 Web 链接。以前的操作是单击该链接即可查看该链接。也就是说,链接在浏览器中打开,工作区 1 自动切换到工作区 2,只需单击链接即可看到网页。

此行为最近已发生改变。在大多数桌面环境中,自动对焦功能已停止工作。单击链接会在浏览器中打开它,但工作区操作将是以下操作之一:

  • 没有迹象表明发生了什么,但如果您切换到浏览器的工作区,链接将在那里打开。
  • 浏览器工作区的系统托盘图标表示那里发生了变化,例如通过改变颜色,但您必须手动切换到该工作区才能看到它。
  • 浏览器从其自己的工作区被吸入电子邮件客户端的工作区,并位于电子邮件客户端前面以供查看(然后必须手动移回其自己的工作区)。

这发生在 KDE(我首选的 DE)上,我以为这只是一个发行版错误。我尝试了所有主要的 KDE 发行版(包括 Neon,它是 KDE 自己的发行版),它们都是一样的。所以也许这是一个 KDE 错误。

我开始寻找其他桌面环境,直到 KDE 能够正常工作。我不知道 Gnome(我觉得它根本无法使用),但至少 Mate、Xfce、LXDE 和 LXQT 现在都无法自动对焦(跨发行版)。

我发现 Cinnamon 是唯一一款仍能“正确”执行此操作的主流桌面环境。Budgie 可以运行,尽管该项目似乎已基本夭折(Ubuntu Budgie 也存在缺陷)。Moksha 可以运行,但只能在 Bodhi 上使用,而该发行版存在严重问题。

我不太喜欢 Cinnamon,所以我想深入挖掘以找出共同点。所有这些 DE 功能都是基于相对较少的工具包构建的。由于这种行为变化如此普遍且同时发生在所有地方,我假设问题出在这些底层组件之一上。如果我能识别它,那么弄清楚什么可行、什么不可行就会比反复试验更容易,并提供一种跟踪进度的方法。它也可能有助于识别和解决问题。

有人知道哪个子系统负责这个工作区自动聚焦操作吗?

答案1

我要结束这个问题。我会保留这个问题,以防有人能提供一些见解(或其他人得出类似的结论),但看起来我所追求的是一个失败。

  1. 似乎与工作区切换相关的任何事情都是窗口管理器的责任。大多数桌面环境使用不同的默认窗口管理器。因此,行为可能在大约同一时间在多个桌面环境中发生变化,这似乎是巧合。

  2. 甚至可能根本不是巧合。我可能对改变行为的主要 DE 的数量计算有误,或者过于笼统。

    我尝试过很多桌面环境,但近几年主要使用 KDE。我没有明确测试其他桌面环境的这种行为,而是记得我从未见过我使用或测试过的主要桌面环境缺乏自动对焦功能。我怀疑我只是从未将那些其他桌面环境用于需要自动对焦的目的。最近的测试让我意识到他们现在不这样做,我可能妄下结论了。

看起来,底线是有些改变了,有些则没有。我确信唯一改变行为的是 KDE。

教训:检查假设时要小心谨慎。很容易推断出可能不存在的模式。


更新:

这个问题是由 KDE 中自动对焦行为的变化引发的。虽然这个问题最终没有解决,但原来的问题已经解决了。如果有人遇到同样的问题,下面是根本问题。

我找不到任何文档表明 KDE 中的自动焦点切换是一项明确的功能。它可能只是一个有益的怪癖,其行为因不相关的修改而改变。

KDE 至少从 KDE4 开始就有了一项功能,称为focus stealing prevention。添加此功能是为了解决弹出窗口或行为不当的应用程序突然夺走您正在处理的焦点的问题。最近的一些变化(改进和可能的默认级别设置?)影响了由另一个应用程序激活的应用程序,而不是由用户明确点击。

将焦点窃取预防设置为none允许此功能像以前一样工作。它可以作为系统设置中的一项综合策略来完成,也可以仅限于特定应用程序,例如浏览器(这可以最大限度地减少焦点窃取预防功能在实际有益的地方的损失)。

解决方案详情可参见KDE 不再自动切换桌面。我需要进一步调查,看看是否有任何其他无法自动对焦的 DE 受到相同类型功能的影响,并且是否可以从类似的修复中受益。

相关内容