web-dev-qa-db-fra.com

Comment puis-je commander les extensions Gnome3 Shell en haut?

L'ordre des widgets d'extension Shell semble être aléatoire. Comment puis-je le changer? Je veux avoir les informations de date/heure à gauche par exemple.

Mon panneau Shell:

My Shell panel

18
klausi

Façon commune:

Pour commencer, vous devez trouver le fichier correspondant à l'extension que vous souhaitez modifier.
Vous pouvez généralement le trouver ici: ~/.local/share/gnome-Shell/extensions.
Si l'extension a été installée via le gestionnaire de paquets, vous pouvez la trouver ici: /usr/share/gnome-Shell/extensions/ (Merci à A.B. )

Ensuite, allez dans le répertoire de l'extension et ouvrez "extension.js" avec n'importe quel éditeur de texte.

Accédez à la ligne avec: function enable() (utilisez la fonction de recherche de votre éditeur - si vous ne la trouvez pas, accédez à la section Mise à jour ci-dessous).
À l'intérieur de cette fonction se trouve généralement une ligne Main.panel.addToStatusArea('NAME', _OTHERNAME, NUMBER, LEFT/CENTER/RIGHT); (Encore une fois: si vous ne la trouvez pas, allez à pdate). Il peut arriver que les deux derniers paramètres (NUMBERet POSITIONname__) soient manquants; ressemble à ceci: Main.panel.addToStatusArea('NAME', _OTHERNAME);
(Ne vous inquiétez pas! Votre ordinateur interprète la version abrégée avec: ('NAME', _OTHERNAME, 0, right); N'hésitez pas à ajouter les paramètres manquants. Mais toujours dans l'ordre indiqué !!!)

POSITIONdéfinit l'emplacement de l'icône sur le panneau. Il y a trois zones: gauche, centre et droite. Vous ne voulez probablement pas changer cette valeur, mais n'hésitez pas à le faire. Voici les trois états possibles pour POSITIONsur le panneau:

------------------------------------------------------------------
Activities                 Date                        Other icons
------------------------------------------------------------------
   left                   center                          right 

La valeur la plus importante que vous souhaitiez probablement modifier est NUMBERname__. Il définit l'ordre des icônes dans les sous-panneaux. Les valeurs possibles sont:

  • 0 : Peu importe où se trouve l'icône.

  • valeurs négatives : position; en partant du côté droit (peut être important car toutes les icônes de poste sont chargées après les icônes système)

  • valeurs positives : position; à partir du côté gauche. Les valeurs les plus élevées seront situées plus à droite.

Vous devez jouer avec ces valeurs dans toutes vos extensions, car les mêmes valeurs sont en conflit (deux extensions différentes en position 2 n'ont aucun sens). Et parfois même les valeurs suivantes sont en conflit.

Chaque fois que vous modifiez la valeur, veillez à enregistrer le fichier. Puis frappe Alt+F2, tapez r et Enter. Le panneau s'actualisera avec les icônes nouvellement commandées. C'est une option rapide pour jouer avec ces valeurs.


Enfin une citation de Café mathématique :

Utilisez Main.panel.addToStatusArea (unique_name_of_indicator, inidicator, position, box) pour ajouter un SystemStatusButton ou un PanelButton au panneau. Ceci gère l’ajout de son menu au gestionnaire de menus pour vous (la boîte est Main.panel ._ {gauche, droite, centre} Boîte, omettant l’argument de la boîte donne la boîte droite par défaut, et la non-position donne la position 0). Si votre bouton est uniquement une ButtonBox (c’est-à-dire qu’aucun menu), restez avec _ {gauche, droite, centre} Box.insert_child_at_index.

S'il vous plaît laissez-moi savoir si vous avez eu des problèmes avec cette approche.


Mettre à jour:

J'ai regardé autour de moi et j'ai reconnu que cette méthode ne fonctionnait pas pour toutes les extensions (principalement pour les extensions simples/nouvelles). Dans ce cas, une extension fréquemment utilisée est "Moniteur système". La manière de modifier la position des icônes devrait être (généralement) la même (Je ne l’ai pas testée. Assurez-vous donc de créer un fichier de sauvegarde)]. Mais il y a quelques différences pour "moniteur système":

  1. La fonction que vous devez rechercher s'appelle var enable = function (). Il serait donc préférable de rechercher le mot enabledans le fichier.
  2. L'emplacement où la position des icônes est définie s'appelle Main.panel._addToPanelBox('system-monitor', tray, 1, panel);. Changer le numéro devrait avoir le même effet que décrit ci-dessus. Afin de changer toute la zone, vous avez deux options:

    • En changeant la même ligne en Main.panel._addToPanelBox('system-monitor', tray, 1, Main.panel._rightBox); (Remarque: la position dans le menu des paramètres du poste ne fonctionnera plus).

    • Ou en modifiant la ligne let panel = Main.panel._rightBox; (utilisez à nouveau la fonction de recherche) sur la position souhaitée (_ leftBox, _centerBox, _rightBox).

(Ces étapes peuvent être appliquées à n'importe quelle autre extension. Mais il y aura des noms légèrement différents. Mais quand même: La manière habituelle a été décrite dans ma première tentative pour cette réponse.)


Toute la procédure en quelques mots:

Rechercher le fichier correspondant. Ensuite, recherchez enabledans ce fichier. Ensuite, recherchez quelque chose comme Main.panel... et modifiez les valeurs (assez explicite).


Et finalement, j'ai remarqué que vous avez mentionné le panneau de temps. Je n'ai trouvé aucun moyen de modifier sa position, mais voici quelque chose d'autre:

"Moniteur système" est installé. C'est bon :)
Ouvrez le extension.js correspondant et changez le mot "right" en "left" dans ces deux lignes:
Main.panel._addToPanelBox('dateMenu', dateMenu, -1, Main.panel._rightBox); and Main.panel._rightBox.insert_child_at_index(dateMenu.actor, -1);.
Enfin, vous devez cocher "move clock" dans les paramètres de cette extension. Voilà! Je ne l'ai pas testé mais ça devrait marcher. Sinon, écrivez un commentaire :)

Ahh! Oublié de mentionner: chaque fois que vous modifiez une valeur, enregistrez le fichier et actualisez le panneau avec Alt+F2 - type r - frappé Enter. Et assurez-vous de créer des fichiers de sauvegarde !!! : D

15
Jibbow

L'extension Extension Panel Men vous permettra de trier les indicateurs avec la fonction "Décalage magasin" et l'onglet "Indicateurs". Après avoir installé l’extension, allez dans les paramètres pour ajuster vos indicateurs. Bonne OCDing!

2
guttermonk