我运行的是带有 KDE4 桌面的当前 Linux(OpenSuse 11.4)。在日常工作中,我运行的是 1999 年的旧版 X 应用程序。(不,没有办法更新这个闭源应用程序。)
在使用旧 libc 的 chroot 环境中运行,它在过去 10 年中一直运行良好。唯一让我烦恼的是对话框并不总是被提升到最前面。
例如,当我第一次打开“查找/替换”对话框时,它被提升到前面,但是关闭它之后,当我第二次打开它时,它被创建在后面。
是否有地方可以配置旧式 X 应用程序的行为?
我该如何调试这个问题?
答案1
这是“系统设置”中的“焦点窃取预防”设置。它旨在防止当您的注意力(焦点)在另一个应用程序上时程序将东西推到您面前。
系统设置 -> 窗口行为 -> 窗口行为(左侧)
您将在右侧看到“焦点窃取预防级别”的上部,通常默认为 LOW。我建议保留该级别,并添加“窗口规则”,即左栏中的下一项。
一旦您选择了它,您可能会看到 xv 的“焦点窃取预防”,它是预设的。
按下最右边的“新建”,然后“检测窗口属性”,然后单击应用程序的窗口。
然后它会提示您选择此规则的适当“范围”,整个应用程序,仅此窗口等。选择您认为合适的范围,您可能需要尝试此设置才能使其正常工作。
它将返回到“检测属性”窗口,但会填写一些值。选择第 5 个选项卡“解决方法”,顶部是“焦点窃取预防”。
选中左侧的复选框,这将启用解决方法,然后单击“强制”,然后单击“无”。
这仅将该窗口的焦点丢失设置设为无,这应该可以解决您的问题。
可以通过一种稍微简短的方法进入“Windows 规则”,方法是单击窗口装饰左上角的图标,然后选择“高级”,然后选择“特殊 Windows 设置”或“应用程序设置”。探索。
您可以简单地将“Windows 行为”中的 FSP 设置更改为“无”,但您可能会发现其他事情变得更加烦人,因为它们现在也可以窃取焦点。