Gnome:单独的窗口,即使它们是同一个应用程序

Gnome:单独的窗口,即使它们是同一个应用程序

注意:我是不是寻找如何在同一应用程序的窗口之间切换。Alt+Tab非常适合这一点。

我经常同时打开两个浏览器窗口(因为它们用于不同的配置文件)。我经常移动窗口(例如Ctrl+ Win+ / Ctrl+ Win+ ),并且我经常会在屏幕的一半显示浏览器,而在另一半使用文本编辑器。

不幸的是,我的系统(Ubuntu 17.10 + Gnome 桌面)的“分组”行为意味着,当我将所需的浏览器窗口移到前台(例如,覆盖终端)时,两个都浏览器窗口出现。有一半的时间,第二个浏览器窗口留在屏幕的另一半,所以它遮住了我的文本编辑器,如果不进一步移动窗口,我就无法参考我的代码。

我可以做些什么来让这些窗口保持未分组状态?在我家的系统 (Ubuntu + Unity) 中,我没有遇到这个问题。

编辑:我已尽力遵循https://askubuntu.com/a/1054494/117018WM_CLASS为我的不同配置文件设置不同的值:我更新了我的.desktop文件,但是当我检查WM_CLASS使用时xprop,我的更改似乎没有生效:WM_CLASS(STRING) = "google-chrome", "Google-chrome"

我更新了.desktop以下文件:

function update ()
{
    f=$1
    newclass=$(basename $f)
    newclass=${newclass#*-}
    newclass=${newclass%.desktop}
    newclass=${newclass/-/_}
    sed -i -e "s/StartupWMClass=.*/StartupWMClass=${newclass}/" -e "s/Exec=\(.*\)/Exec=\1 --class ${newclass}/" "$f"
    echo $f

}

find $HOME/.local/share/applications -name chrome-\* | while read -r f; do
    update "$f"
done


find $HOME/.gnome/apps -name chrome-\* | while read -r f; do
    update "$f"
done

现在,.desktop文件如下所示:

#!/usr/bin/env xdg-open
[Desktop Entry]
Version=1.0
Terminal=false
Type=Application
Name=Docs
Exec=/opt/google/chrome/google-chrome --profile-directory=Default --app-id=aohghmighlieiainnegkcijnfilokake --class aohghmighlieiainnegkcijnfilokake_Default
Icon=chrome-aohghmighlieiainnegkcijnfilokake-Default
NoDisplay=true
StartupWMClass=aohghmighlieiainnegkcijnfilokake_Default

答案1

据我所知,Alt+Tab将应用程序的所有窗口移到最前面而不是最新的窗口是您的问题。更改 Alt+Tab 行为的唯一方法是使用不同的切换器。即使您使用没有任何 root 访问权限的普通 Ubuntu,您也可以实现这一点。这需要在终端上执行一些命令。

涉及终端的方法

gsettings set org.gnome.desktop.wm.keybindings switch-applications []
gsettings set org.gnome.desktop.wm.keybindings switch-applications-backward []
gsettings set org.gnome.desktop.wm.keybindings switch-windows "['<Super>Tab', '<Alt>Tab']"
gsettings set org.gnome.desktop.wm.keybindings switch-windows-backward "['<Shift><Super>Tab', '<Shift><Alt>Tab']"

这些命令从默认的“应用程序切换器”中删除键绑定并将其设置为“窗口切换器”。Alt+Tab现在将以更传统的方式运行,并允许您在单个窗口之间切换,而不是在不同应用程序的所有窗口之间切换。

要恢复默认设置,请发出四个类似的命令,替换setreset省略设置,例如

gsettings reset org.gnome.desktop.wm.keybindings switch-windows-backward

安装扩展的替代方法

拥有 root 访问权限或启用了扩展安装的 Ubuntu 用户可以使用 Alternatetab 扩展实现相同效果。这是 Ubuntu 中的官方 gnome 扩展,包含在软件包中gnome-shell-extensions。也可以从 Gnome 安装Shell 扩展网站

答案2

在 Ubuntu 18.04 中(不确定早期版本是否如此),可以将Alt+分配Tab给“切换窗口”而不是“切换应用程序”。然后,只有选定的浏览器窗口会出现,另一个将留在后台。

要更改此行为,请转到“设置”->“设备”->“键盘”,然后将Alt“+”分配Tab给“切换窗口”,请参阅http://ubuntuhandbook.org/index.php/2019/02/alt-tab-display-separate-windows-ubuntu-18-04/

相关内容