web-dev-qa-db-ja.com

Gnome:同じアプリケーション用であっても、別々のウィンドウ

NB:私は同じアプリケーションのウィンドウを切り替える方法を探していません。 Alt+Tab それに最適です。

多くの場合、一度に2つのブラウザーウィンドウを開きます(これらは個別のプロファイル用であるため)。ウィンドウを頻繁に移動します(例: Ctrl+Win+ / Ctrl+Win+)、また、画面の半分にブラウザを表示し、残りの半分にテキストエディタを使用する機会があります。

残念ながら、私のシステム(Ubuntu 17.10 + Gnomeデスクトップ)の「グループ化」動作は、目的のブラウザーウィンドウをフォアグラウンドに持ってくると(たとえば、端末を隠蔽するために)、bothブラウザーウィンドウが前面に表示されます。半分の時間、2番目のブラウザーウィンドウは画面の反対側に残っているため、テキストエディターが隠れてしまい、さらにウィンドウを移動しないとコードを参照できません。

これらのウィンドウのグループ化を解除するためにできることはありますか?自宅のシステム(Ubuntu + Unity)では、この問題はありません。

Edit:https:// askubuntuの指示に従うように努力しました.com/a/1054494/117018 さまざまなプロファイルに個別のWM_CLASS値を設定するため:.desktopファイルを更新しましたが、xpropを使用してWM_CLASSを確認すると、変更有効になっていないように見えます: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
2
JellicleCat

私が見る限り、 Alt + Tab あなたの問題は、アプリケーションのすべてのウィンドウを最新のものではなく前面に持ってくることです。 Alt + Tabの動作を変更する唯一の方法は、別のスイッチャーを使用することです。ルートアクセスなしで標準の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に置き換えて設定を省略した4つの同様のコマンドを発行します。

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

拡張機能をインストールする代替方法

ルートアクセスがあるUbuntuのユーザー、または拡張機能のインストールが有効になっているユーザーは、Alternatetab拡張機能を使用して同じ効果を実現できます。これは、Ubuntuではgnome-Shell-extensionsパッケージに含まれる公式のgnome拡張機能です。 Gnome Shell extensions website からインストールすることもできます。

1
vanadium