当激活具有打开窗口的进程时,它保持不聚焦并隐藏在其他窗口下方,但在下面给出一个小通知,表明有操作。这在以下情况下尤其明显:
- PCManFM 文件管理器- 当它已经打开一个文件夹并被赋予一个新文件夹以在新选项卡中打开时
- 文件滚筒或者档案管理员- 当它已经打开一个文件并获取一个新文件并在窗口中打开时。
我用侏儒 3.x主要是。我已经搜索了dconf
30次,我能找到的最接近的是focus_mode = click
and,auto_raise = true
但都没有任何效果。
我已经从事这个工作太久了,我一定会忽略一些事情。如果你发现我明显遗漏了什么,请随时告诉我。 这是系统设置:
- Ubuntu 14.04 x64(和 Fedora 20)
- Gnome 3.x(所有受影响的版本)
- 适用于 Radeon R9 的 AMD Catalyst 13 驱动程序
gdm
编辑#1
nautilus
我刚刚确认也受此影响。
我真的需要这些窗口在发生事情时显示出来。特别是因为我是让事情发生的人,不是一些随机过程。
很乐意根据需要发布任何设置或配置文件。
编辑#2
我已将负责的操作范围缩小到Alt+ Tab(即使重新分配给新的键映射和当另一个具有类似操作的映射被重新分配给它时)。
起初我以为这可能是备用选项卡扩展但禁用它没有什么。
复制:打开一个文件窗口,Alt+Tab到另一个窗口,然后打开文件管理器的另一个实例。它不必位于选项卡中;它也会在新窗口中发生。
答案1
对于某些应用程序(例如),可以通过将其各自文件(例如)中的键值从更改为来file-roller
修复。StartupNotify
true
false
.desktop
/usr/share/applications/file-roller.desktop
上述方法并不适用于所有应用程序(例如nautilus
),因此解决问题的另一种方法是自定义 shell 扩展;只是为了给您一个想法,您可以轻松修复nautilus
如下行为:编辑/usr/share/gnome-shell/js/ui/windowAttentionHandler.js
并添加以下三行代码:
if (app.get_id() == "nautilus.desktop")
Main.activateWindow(window);
return;
在以下行之后:
let app = this._tracker.get_window_app(window);
所以你最终会得到这样的结果:
let app = this._tracker.get_window_app(window);
if (app.get_id() == "nautilus.desktop")
Main.activateWindow(window);
return;
let source = new Source(app, window);
Main.messageTray.add(source);
但是,除非您只想针对某些特定应用程序,否则不值得编写自己的扩展。对于全局更改,看起来有一个扩展:
覆盖“通知系统”(它在此处工作正常gnome 3.8
)。
请记住,两个文件 (extension.js
和metadata.json
) 必须放置在: 通过调整工具激活扩展并重新启动 shell ( + then then )。
~/.local/share/gnome-shell/extensions/[email protected]
AltF2rEnter
答案2
这个问题已经出现在不同版本的 Ubuntu 和使用 gnome 的其他论坛上。解决该问题的最简单方法是确保您安装了 Compiz Config Settings Manager。
有时安装永远不会正确完成,并且必须重新安装管理器。
要安装它,请在软件中心搜索 compizconfig-settings-manager 并从那里安装或在终端中输入sudo apt-get install compizconfig-settings-manager
完成后,转到系统工具 > 首选项 > compizconfig
转到最底部显示窗口管理的位置并在其中打勾。这应该可以解决问题