web-dev-qa-db-fra.com

Comment arrêter de réorganiser du même type plusieurs fenêtres de prévisualisation lors du changement de tâche?

Lors de l'utilisation de la commutation de tâches dans le mode graphique par défaut d'Ubuntu 12.04, s'il s'agit de plusieurs fenêtres du même type, par exemple. plusieurs fenêtres de terminal, vous pouvez les voir toutes ensemble et sélectionner celle que vous voulez.

enter image description here

Mon problème est que l'ordre de ces fenêtres est constamment modifié. Il suit l'ordre "dernier utilisé". Je les veux toujours dans un ordre fixe; Comment puis-je le faire?

21
n611x007

Plutôt que de changer la base de code de l'unité, vous pouvez envisager d'utiliser des ordinateurs de bureau pour obtenir le résultat souhaité.

Exemple d'utilisation de Compiz Desktop Cube dans CompizConfigSettingsManager

Ouvrez CompizConfigSettingsManager (ccsm) et modifiez les paramètres pour qu'ils correspondent aux éléments suivants:

ccsm-1

ccsm-2

Terminal ouvert 1

Utilisez le raccourci clavier CTRL-ALT -> (flèche droite) pour accéder au bureau suivant, à droite.

Terminal ouvert 2

Utilisez le raccourci clavier CTRL-ALT -> (flèche droite) pour revenir au bureau suivant, à droite.

Terminal ouvert 3

Utilisez le raccourci clavier CTRL-ALT - < flèche gauche) pour aller au bureau précédent contenant le terminal 2 (ou deux fois pour revenir au terminal 1)

Une autre option

Utilisez le gestionnaire de vues dans CompizConfig SettingManager et attribuez une combinaison de touches pour accéder directement au bureau de vos choix.

Remarque: Jusqu'à présent, je n'ai réussi qu'à obtenir que 10 fonctionne, bien que 12 soit possible avec cette méthode. ccsm-3

Mise à jour: sur la base des préoccupations exprimées dans les commentaires:

Il suffit de cliquer avec le bouton droit sur la barre de titre de gedit et de choisir toujours l’espace de travail visible ...

Autre option:

Plutôt que d’ouvrir des terminaux séparés (ou espaces de travail) pour vos nombreuses activités, vous pouvez également utiliser des onglets dans le terminal gnome. Les touches de raccourci pour la commutation d’onglet sont disponibles dans les préférences du terminal. Voir ci-dessous:

--- (terminal-prefs

2
Elder Geek

Une autre option, si votre bureau est suffisamment grand, consiste à définir certaines fenêtres sur "Toujours au premier plan" et à les disposer de manière à pouvoir passer d’une souris à l’autre. C'est un kludge ... mais je trouve parfois cela utile de travailler avec plusieurs fenêtres du même type.

Une autre solution consiste à définir plusieurs profils de terminaux avec des palettes de couleurs différentes et à utiliser un profil différent pour chaque terminal ... cela les rendrait facilement identifiables . enter image description here Ouais, celui-ci est aussi une solution de contournement.

1
laugh

Je pense que vous pouvez y parvenir en modifiant le code source de nity 7 . Il suffit de suivre les étapes décrites sur le site du développeur, mais avant de commencer le processus de construction, ouvrez: ./trunk/plugins/unityshell/src/unityshell.cpp et jetez un oeil à la fonction SetUpAndShowSwitcher:

void UnityScreen::SetUpAndShowSwitcher(switcher::ShowMode show_mode)
{
  RaiseInputWindows();

  if (!optionGetAltTabBiasViewport())
  {
    if (show_mode == switcher::ShowMode::CURRENT_VIEWPORT)
      show_mode = switcher::ShowMode::ALL;
    else
      show_mode = switcher::ShowMode::CURRENT_VIEWPORT;
  }

  auto results = launcher_controller_->GetAltTabIcons(show_mode == switcher::ShowMode::CURRENT_VIEWPORT,
                                                      switcher_controller_->show_desktop_disabled());

  if (switcher_controller_->CanShowSwitcher(results))
    switcher_controller_->Show(show_mode, switcher::SortMode::FOCUS_ORDER, results);
}

Ici, vous pouvez clairement voir que c’est exactement la fonction que nous recherchions. La partie supérieure est responsable de la commutation des modes de la fenêtre d'affichage:

Show modes

Cette bascule apparaît chaque fois que nous entrons dans un groupe d'applications ou si nous quittons le groupe. optionGetAltTabBiasViewport indique quand cela se produit. Ensuite, GetAltTabIcons est impliqué afin d'obtenir les bonnes icônes. Et enfin, la fonction Show avec le SortMode::FOCUS_ORDER est appelée pour afficher nos icônes triées. SortMode est une énumération:

enum class SortMode
{
  LAUNCHER_ORDER,
  FOCUS_ORDER,
};

et changer FOCUS_ORDER en LAUNCHER_ORDER devrait résoudre votre problème. Vous pouvez insérer une instruction if supplémentaire avant d'appeler Show pour empêcher le tri de l'ordre du lanceur dans le cas ShowMode::ALL.

Veuillez noter que le code source de Unity 8 est complètement différent. Cette solution ne peut donc fonctionner que pour Unity 7. Après une demi-heure à réparer les dépendances manquantes et une autre heure à me battre avec cmake, j’ai décidé de ne pas ruiner mon système et de l’essayer dans VM demain;)

1
incBrain