有什么办法可以防止焦点被其他应用程序抢走吗?

有什么办法可以防止焦点被其他应用程序抢走吗?

我对 X 打开下的窗口并将焦点从当前具有焦点的窗口上移开感到恼火。当您在密码对话框中输入密码并且另一个应用程序窃取焦点时,这尤其令人烦恼,因此您的某些击键最终会出现在新应用程序中。

我一直对 Windows 中的这个问题感到恼火,但在那里对此无能为力,而且我不禁觉得这个问题在 Unix 上应该是可以解决的。

我目前正在使用 Gnome 作为我的桌面环境(在 RHEL 5.8 上),并且据wmctrl -m我目前正在使用 GnomeMetacity作为我的窗口管理器。虽然我更愿意坚持使用这些默认选项,但我很乐意了解窗口管理器表现出这种行为。

答案1

FWIW,用xterm,按住鼠标左键单击Ctrl会出现一个菜单,您可以在其中选择安全键盘。它使用XGrab键盘获得键盘的独占使用权。

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

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

为了Shift-F2。尽管您宁愿将其放在资源文件中(通过xtermlike加载~/.Xdefaults或存储在 X 服务器中并由xrdbxterm 查询)而不是在命令行中。

答案2

你没有说你在 gnome 下使用哪个窗口管理器。最常见的是metacity, compiz(以及新版本 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 -->

相关内容