Comment puis-je commander des extensions de shell Gnome3 en haut?


18

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

Mon panneau de coque:

Mon panneau de coque


Bonne question. Je crains que ce soit presque impossible sans avoir à modifier d'étranges fichiers CSS. C'est l'une des choses qui montre que toute l'extension a été une réflexion après coup, à mon avis.
Rmano

Certaines extensions comme extensions.gnome.org/extension/584/taskbar vous permettent de placer où vous le mettez ... (peut-être une mauvaise extension - l'une des extensions de la barre des tâches ...)
Wilf

Je serais ravi de trouver une réponse à cela
Ce type brésilien

@ThatBrazilianGuy Than love the answer :)
AB

@klausi J'ai mis à jour ma réponse. J'espère que cela correspond à vos besoins :)
Jibbow

Réponses:


16

Façon commune:

Pour commencer, vous devez trouver le fichier correspondant à l'extension que vous souhaitez modifier.
Vous pouvez généralement 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 à AB )

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

Allez à la ligne avec: function enable()(utilisez la fonction de recherche dans votre éditeur - si vous ne la trouvez pas, allez à la section Mise à jour plus bas).
À 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 dans Mettre à jour ). Il peut arriver que les deux derniers paramètres ( NUMBERet POSITION) soient manquants; ressemble à ceci: Main.panel.addToStatusArea('NAME', _OTHERNAME);
(Ne vous inquiétez pas! Votre ordinateur interprète la version plus courte avec: ('NAME', _OTHERNAME, 0, right);N'hésitez pas à ajouter les paramètres manquants. Mais toujours dans l'ordre indiqué !!! )

Le POSITIONdéfinit où sur le panneau l'icône doit être. Il y a trois zones: gauche , centre et droite . Vous ne voulez probablement pas modifier 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 voudrez probablement changer est NUMBER. Il définit l'ordre des icônes à l'intérieur des sous-panneaux. Les valeurs possibles sont:

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

  • valeurs négatives : position; à partir du côté droit (peut être important car toutes les icônes d'extension sont chargées après les icônes système)

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

Vous devez jouer avec ces valeurs dans toutes vos extensions car les mêmes valeurs entrent 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, assurez-vous d'enregistrer le fichier. Appuyez ensuite sur Alt+ F2, tapez ret Enter. Le panneau s'actualisera avec les icônes nouvellement commandées. Il s'agit d'une option rapide pour jouer avec ces valeurs.


Enfin une citation de Mathematical Coffee :

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

Veuillez me faire savoir si vous avez rencontré des problèmes avec cette approche.


Mise à jour:

J'ai regardé autour de moi et j'ai reconnu que cette méthode ne fonctionne pas pour toutes les extensions (surtout pour les extensions simples / nouvelles). Une extension fréquemment utilisée dans ce cas est "moniteur système". La façon de modifier la position des icônes doit ê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 existe quelques différences pour le "moniteur système":

  1. La fonction que vous devez rechercher est appelée var enable = function (). Il serait donc préférable de rechercher le mot enabledans le fichier.
  2. L'endroit où la position des icônes est définie est appelé Main.panel._addToPanelBox('system-monitor', tray, 1, panel);. La modification du nombre devrait avoir le même effet que celui décrit ci-dessus. Afin de modifier 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 de l'extension ne fonctionnera plus).

    • Ou en changeant la ligne let panel = Main.panel._rightBox;(utilisez à nouveau la fonction de recherche) à 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 courante a été décrite dans ma première tentative pour cette réponse)


Toute la procédure en bref:

Recherchez le fichier correspondant. Recherchez ensuite à l' enableintérieur de ce fichier. Ensuite, recherchez quelque chose comme Main.panel...et changez les valeurs (assez explicites).


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

Vous avez "moniteur système" installé. C'est bien :)
Ouvrez le correspondant extension.jset changez le mot "droite" en "gauche" dans ces deux lignes:
Main.panel._addToPanelBox('dateMenu', dateMenu, -1, Main.panel._rightBox);et Main.panel._rightBox.insert_child_at_index(dateMenu.actor, -1);.
Enfin, vous devez cocher «déplacer l'horloge» 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 l'une des valeurs, enregistrez le fichier et actualisez le panneau avec Alt+ F2- tapez r- appuyez sur Enter. Et assurez-vous de créer des fichiers de sauvegarde !!! :RÉ


Si vous aimez la réponse, cliquez simplement sur le petit gris à gauche de la réponse pour la transformer en un beau vert. Si vous aimez la réponse, cliquez sur la petite coche grise et la petite flèche vers le haut ... Si vous avez d'autres questions, rendez-vous sur askubuntu.com/questions/ask
AB


1
Les extensions installées via le gestionnaire de paquets sont placées dans/usr/share/gnome-shell/extensions/
AB

1
Hou la la! Vous devriez obtenir quelques votes supplémentaires juste pour tous les efforts! ;-)
Fabby

2017 et toujours impossible sans risquer votre système. Étonnant.
HörmannHH

2

L' extension du menu Extend Panel vous permettra de trier les indicateurs avec la fonction "Tray offset" et l'onglet Indicators. Après avoir installé l'extension, accédez aux paramètres pour modifier vos indicateurs. OCDing heureux!


Pas tout à fait ce que je cherchais mais un bon conseil néanmoins. Cette extension corrige le calendrier dans le menu d'état central et groupé qui m'a toujours mis sur écoute! :)
Cas

-2

Il existe également un moyen plus simple d'ouvrir gnome-tweak-tool, de parcourir l' onglet Extensions , puis de désactiver et réactiver les extensions. Cela déplace les icônes vers la gauche.


Tourner quoi offet on...?
George Udosen

1
cela ne commandera des extensions que pour cette session.
QkiZ
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.