如何防止新窗口窃取焦点?


33

典型的情况是,在某些应用程序中键入某些内容(最坏的情况是我的密码),而其他一些应用程序弹出一个窗口并抢走了焦点,因此我的键入内容(密码)转到了其他内容。我想避免这种情况,至少在我主动在编辑框中键入内容时要避免这种情况。我一直非常讨厌Windows上的此功能,但从未找到防止这种情况的方法。我前一阵子开始使用Ubuntu,到目前为止,我已经能够做我想做的所有事情,所以我认为也许这也是可能的。提前致谢!


4
尝试使用terminal命令更改设置gsettings set org.gnome.desktop.wm.preferences focus-new-windows 'strict'。让我们知道这是否适合您的情况。要重置为默认值,请发出命令gsettings reset org.gnome.desktop.wm.preferences focus-new-windows

3
谢谢。进行此更改后,新窗口将显示在背景中,但有趣的是,焦点消失了。因此,例如,我开始在终端中输入内容,与此同时,我启动某些应用程序的启动速度也很慢。我单击收藏夹左侧的应用程序,然后单击返回到终端窗口以继续输入。几秒钟后,应用程序启动,它的窗口被放置在终端窗口的后面(很好),但是我失去了焦点,在再次单击终端窗口之前无法键入。
Imre Major

可惜的是,这并没有完全奏效。它仍然是很难控制的东西。多年来,许多相关问题仍然没有得到解答。

这不是一个错误,这是一个功能!:(影响我项目的另一种变化是,当我的应用程序显示一个弹出窗口(使用yad),并且用户单击其他任何位置时,从那时起,该弹出窗口以及同一应用程序中的所有后续弹出窗口都不会重新获得焦点,即使它们在最上面也是如此(如果其他应用显示与您的情况相同的窗口,也会发生同样的事情。)……

...我还没有尝试过,但是我正在考虑编写另一个小应用程序(我的主应用程序可以在后台启动,然后在不再需要它时停止),它只是在后台寻找我弹出式窗口,并将焦点重新分配给他们。使用bash和编写代码似乎很容易xdotool,但是在尝试实现它们之前,很多事情看起来都很简单。这必须事先知道它在寻找什么窗口,因此这不是解决问题的通用方法。

Answers:


2

对于此问题,我的最佳建议是对需要保持(不聚焦)窗口的状态使用“始终位于顶部”或“始终位于其他窗口以下”选项。只需右键单击标题栏并选中该选项。我可以保证,无论如何,该窗口将和/或不会因为弹出的任何东西而失去焦点。

您还可以强制某些窗口停留在特定的工作区上。您也可以将频繁通知的应用程序转移到工作区1,然后从工作区2运行。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.