有什么方法可以防止焦点被另一个应用程序抢占吗?


9

X打开下的窗口让我很烦,并且将焦点从当前有焦点的窗口中移开。当您在密码对话框中输入密码并且另一个应用程序失去了焦点时,这尤其令人讨厌,因此您的某些击键最终会出现在新应用程序中。

我一直对Windows感到恼火,但是在那里几乎无能为力,我不禁感到这应该在Unix上可以解决。

我目前正在使用Gnome作为我的桌面环境(在RHEL 5.8上),并且根据wmctrl -m我目前正在Metacity用作我的窗口管理器。尽管我更愿意使用这些默认选项,但我很乐意了解具有这种行为的窗口管理器。


1
我不使用gnome,但应该有窗口管理器设置,也许还有具有基于“窃听焦点”设置的窗口调整工具。
vgoff 2012年

3
Gnome不是窗口管理器,而是整个桌面环境,它可以使用各种窗口管理器中的任何一个。
jw013

小心您想要的东西。我在Gnome中遇到了相反的问题。ask.fedoraproject.org/en/question/112121/…相反的行为比您的想法更令人讨厌。
alfC

Answers:


5

FWIW,xterm在按住键的同时单击鼠标左键,弹出Ctrl菜单,您可以在其中选择安全键盘。使用XGrabKeyboard获得键盘的排他性用法。

您还可以将其绑定到键,例如:

xterm -xrm 'XTerm.VT100.translations: #override Shift <KeyPress> F2: secure()'

对于Shift-F2。尽管您希望将其存储在资源文件中(而不是在命令行中,该文件在资源文件中(由xtermlike 加载~/.Xdefaultsxrdb由xterm 存储在X服务器中并由xterm查询)。


这是非常具体的xterm,我不记得已经使用了多年。我以为大多数使用Gnome的人都会使用gnome-terminal
Mark Booth 2012年

我用xterm做很多事情,同时兼具轻巧性和开放性。从来没有想过会有这样的事情!谢谢!
Aquarius Power

2

您并不是说要在gnome下使用哪个窗口管理器。尽管可以使用任何您喜欢的东西,但最常见的是metacitycompiz(和新版本的gnome中的gnome-shell)(尽管有些比gnome更好地集成了)。

对于openbox,请将您的配置文件(~/.config/openbox/rc.xml可以从中复制文件/etc/xdg/openbox/rc.xml)更改为:

<focus>
  <focusNew>no</focusNew>
  <!-- always try to focus new windows when they appear. other rules do
       apply -->

我安装了openbox只是为了尝试此操作,但我想您忘了说了,您在哪个文件中找到这些行?
伊曼纽尔·伯格

OK,找到了:/etc/xdg/openbox/rc.xml
Emanuel Berg,2012年

@MarkBooth。尝试wmctrl -m
斯特凡Chazelas
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.