防止窗户偷走焦点

我正在使用Maverick并启用了Compiz。

我搜索过AskUbuntu和谷歌。 AskUbuntu在这个主题上没有任何内容,谷歌出现的所有内容都有几年了。

我正在进行浏览器测试,我的测试不断产生新的Firefox窗口。 问题是,当窗口产生时,它需要关注。 这非常令人讨厌,因为我通常在其他地方打字。 这不仅发生在我的测试中,而且是我遇到的最常见的例子。 有时我的IDE决定在特殊情况发生时(例如在编译完成某些事情时)需要关注,然后我会找到我在代码中输入的IM消息片段。 这真让我抓狂。 我已经查看了Gnome设置和Compiz设置,但无法找到防止这种情况发生的方法。

有没有人知道如何防止应用程序在打开时窃取焦点? 我宁愿让任务栏闪现在我身上,也可以引起我的注意。

该设置位于CompizConfig>常规>焦点和提升行为中 ,如此记录。 窗口匹配规则非常重要。

如果你在一个窗口工作,大多数时候你可以右键单击标题栏并告诉窗口始终位于顶部……这不是一个完美的解决方案,但是当你完成后你可以遮住窗口,或最小化它然后返回它…

如果您没有安装CCSM ,也可以在gconf-editor更改此设置。 导航到/apps/compiz/general/screen0/options/focus_prevention_level键并将其值设置为4

对于一些人来说,4太高了。 Eclipse用户会发现,当设置为4时,各种对话框将无法正确获取键盘焦点,但如果设置为3,则会不会。

这不是您应该全局配置的。 也就是说,你真的不希望没有新窗口可以成为焦点:你不希望任何测试窗口成为焦点。 要实现此目的,请使用Compiz Window Rules插件来防止所有“测试”Firefox窗口成为焦点。

您需要编写规则以仅识别“测试”Firefox实例。 如果它们在标题中都有一个特定的字符串,那就行了。 否则,您可以使用wmctrl设置WM_ICON_NAME X属性。 (我不知道如何轻松设置Firefox的X属性..如果有其他人这样做,请插入!)