web-dev-qa-db-fra.com

Gnome: fenêtres séparées, même si elles sont pour la même application

NB: Je ne suis pas pour savoir comment passer d'une fenêtre à l'autre de la même application. Alt+Tab est idéal pour cela.

J'ai souvent deux fenêtres de navigateur ouvertes en même temps (car elles correspondent à des profils distincts). Je déplace beaucoup mes fenêtres (par exemple Ctrl+Win+ / Ctrl+Win+), et j’ai souvent l’occasion de montrer un navigateur dans une moitié de l’écran et d’utiliser un éditeur de texte dans l’autre moitié.

Malheureusement, le comportement de "regroupement" de mon système (bureau Ubuntu 17.10 + Gnome) signifie que lorsque j'apporte la fenêtre de navigateur souhaitée au premier plan (pour couvrir un terminal, par exemple), les deux fenêtres du navigateur apparaissent . La moitié du temps, la deuxième fenêtre du navigateur a été laissée sur la moitié opposée de l'écran. Elle recouvre donc mon éditeur de texte et je ne peux pas faire référence à mon code sans déplacer davantage de fenêtres.

Puis-je faire quelque chose pour garder ces fenêtres non groupées? À la maison (Ubuntu + Unity), je n’ai pas ce problème.

Éditer: Je me suis efforcé de suivre les instructions données à https: // askubuntu .com/a/1054494/117018 pour définir des valeurs WM_CLASS distinctes pour mes différents profils: j'ai mis à jour mes fichiers .desktop, mais lorsque je vérifie le WM_CLASS à l'aide de xprop, mes modifications semblent ne pas avoir pris effet: WM_CLASS(STRING) = "google-chrome", "Google-chrome".

J'ai mis à jour les fichiers .desktop ainsi:

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

Maintenant, les fichiers .desktop ressemblent à ceci:

#!/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

Autant que je vois, Alt + Tab votre problème est de mettre toutes les fenêtres d'une application à l'avant plutôt que la plus récente. La seule façon de modifier le comportement Alt + Tab consiste à utiliser un commutateur différent. Même si vous utilisez Ubuntu de série sans aucun accès root, vous pouvez y parvenir. Cela nécessite quelques commandes au terminal.

Méthode impliquant le terminal

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']"

Ces commandes suppriment les raccourcis clavier du "commutateur d'application" par défaut et les définissent pour le "commutateur de fenêtre". Alt + Tab se comportera désormais de manière plus traditionnelle et vous permettra de basculer d’une fenêtre à une autre plutôt qu’entre toutes les fenêtres d’une application différente.

Pour restaurer les paramètres par défaut, émettez quatre commandes similaires en remplaçant set par reset et en omettant le paramètre, par exemple.

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

Méthode alternative pour installer une extension

Les utilisateurs d'Ubuntu ayant un accès root ou pour lesquels l'installation d'extensions est activée peuvent obtenir le même effet en utilisant l'extension Alternatetab. Il s'agit d'une extension de gnome officielle qui, dans Ubuntu, est incluse dans le paquet gnome-Shell-extensions. Il peut également être installé depuis Gnome site Web des extensions Shell .

1
vanadium