Jak mogę zamówić rozszerzenia powłoki Gnome3 u góry?

18

Kolejność widżetów rozszerzeń powłoki wydaje się losowa, jak mogę to zmienić? Chcę na przykład mieć informacje o dacie / godzinie po lewej stronie.

Mój panel powłoki:

Mój panel powłoki

klausi
źródło
Dobre pytanie. Obawiam się, że jest to prawie niemożliwe bez konieczności edytowania dziwnych plików css. Jest to jedna z rzeczy, która pokazuje, że całe rozszerzenie było moim zdaniem późniejszym przemyśleniem.
Rmano
Niektóre rozszerzenia, takie jak extensions.gnome.org/extension/584/taskbar, pozwalają na umieszczenie go w miejscu, w którym go umieścisz ... (może być niewłaściwe rozszerzenie - jedno z rozszerzeń paska zadań ...)
Wilf
Ja uwielbiam aby znaleźć odpowiedź na to
To brazylijski Guy
@ThatBrazilianGuy Niż uwielbiam odpowiedź :)
AB
@klausi Zaktualizowałem swoją odpowiedź. Mam nadzieję, że pasuje do twoich potrzeb :)
Jibbow

Odpowiedzi:

16

Wspólny sposób:

Na początek musisz znaleźć odpowiedni plik rozszerzenia, które chcesz zmienić.
Zwykle można go znaleźć tutaj: ~/.local/share/gnome-shell/extensions.
Jeśli rozszerzenie zostało zainstalowane za pomocą menedżera pakietów, możesz je znaleźć tutaj: /usr/share/gnome-shell/extensions/(Dzięki AB )

Następnie przejdź do katalogu rozszerzenia i otwórz „ extension.js” dowolnym edytorem tekstu.

Przejdź do wiersza z: function enable()(użyj funkcji wyszukiwania w edytorze - jeśli nie możesz go znaleźć, przejdź do sekcji Aktualizacja poniżej).
Wewnątrz tej funkcji zwykle jest linia Main.panel.addToStatusArea('NAME', _OTHERNAME, NUMBER, LEFT/CENTER/RIGHT);(ponownie: jeśli nie możesz jej znaleźć, przejdź do Aktualizuj ). Może się zdarzyć, że brakuje dwóch ostatnich parametrów ( NUMBERi POSITION); wygląda tak: Main.panel.addToStatusArea('NAME', _OTHERNAME);
(Nie martw się! Twój komputer interpretuje krótszą wersję z: ('NAME', _OTHERNAME, 0, right);Możesz dodać brakujące parametry. Ale zawsze w pokazanej kolejności !!! )

Do POSITIONdefiniuje gdzie na panelu ikona powinna być. Istnieją trzy obszary: lewy , środkowy i prawy . Prawdopodobnie nie chcesz zmieniać tej wartości, ale możesz to zrobić. Oto trzy możliwe stany dla POSITIONpanelu:

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

Najważniejszą wartością, którą prawdopodobnie chcesz zmienić, jest NUMBER. Określa kolejność ikon w pod-panelach. Możliwe wartości to:

  • 0 : Nie obchodzi mnie, gdzie jest ikona.

  • wartości ujemne : pozycja; zaczynając od prawej strony (może być ważne, ponieważ wszystkie ikony rozszerzeń są ładowane po ikonach systemowych)

  • wartości dodatnie : pozycja; zaczynając od lewej strony. Wyższe wartości zostaną umieszczone dalej po prawej stronie.

Musisz bawić się tymi wartościami we wszystkich swoich rozszerzeniach, ponieważ te same wartości są ze sobą w konflikcie (dwa różne rozszerzenia na pozycji 2 nie mają żadnego sensu). A czasem sprzeczne są nawet następujące wartości.

Przy każdej zmianie wartości pamiętaj o zapisaniu pliku. Następnie naciśnij Alt+ F2, wpisz ri Enter. Panel odświeży się z nowo zamówionymi ikonami. Jest to szybka opcja zabawy z tymi wartościami.


Na koniec cytat z Mathematical Coffee :

Użyj Main.panel.addToStatusArea (unikatowa_nazwa_indukatora, identyfikatora, pozycji, pola), aby dodać SystemStatusButton lub PanelButton do panelu. Obsługuje to dodawanie menu do menedżera menu (pole to Main.panel ._ {lewy, prawy, środkowy} Pole, pomijanie argumentu pola domyślnie daje prawe pole, a rezygnacja z pozycji daje pozycję 0). Jeśli twój przycisk jest tylko ButtonBox (tj. Bez menu), trzymaj się. _ {lewo, prawo, środek} Box.insert_child_at_index.

Daj mi znać, jeśli masz jakieś problemy z tym podejściem.


Aktualizacja:

Rozejrzałem się i zauważyłem, że ten sposób nie działa dla wszystkich rozszerzeń (głównie tylko dla prostych / nowych rozszerzeń). Często stosowanym rozszerzeniem w tym przypadku jest „monitor systemu”. Sposób modyfikacji pozycji ikon powinien być (ogólnie) taki sam (nie testowałem tego. Upewnij się, że utworzyłeś plik kopii zapasowej) . Istnieją jednak pewne różnice dla „monitora systemu”:

  1. Wywoływana jest funkcja, którą musisz wyszukać var enable = function (). Dlatego może być lepiej wyszukać słowo enablew pliku.
  2. Nazywa się miejsce, w którym określa się pozycję ikon Main.panel._addToPanelBox('system-monitor', tray, 1, panel);. Zmiana liczby powinna mieć taki sam efekt, jak opisano powyżej. Aby zmienić cały obszar, masz dwie opcje:

    • Zmieniając tę ​​samą linię na Main.panel._addToPanelBox('system-monitor', tray, 1, Main.panel._rightBox);(Uwaga: Pozycja w menu ustawień rozszerzenia nie będzie działać).

    • Lub zmieniając linię let panel = Main.panel._rightBox;(ponownie użyj funkcji wyszukiwania) do żądanej pozycji ( _leftBox, _centerBox, _rightBox ).

(Te kroki można zastosować do dowolnego innego rozszerzenia. Ale będą nieco inne nazwy. Ale nadal: Wspólny sposób został opisany w mojej pierwszej próbie tej odpowiedzi)


Cała procedura w pigułce:

Wyszukaj odpowiedni plik. Następnie wyszukaj enablewewnątrz tego pliku. Następnie wyszukaj coś podobnego Main.panel...i zmień wartości (dość samo wyjaśniające).


I w końcu zauważyłem, że wspomniałeś o panelu czasu. Nie znalazłem dobrego sposobu na zmianę jego pozycji, ale oto coś innego:

Masz zainstalowany „monitor systemu”. To dobrze :)
Otwórz odpowiednio extension.jsi zmień słowo „prawo” na „lewo” w tych dwóch wierszach:
Main.panel._addToPanelBox('dateMenu', dateMenu, -1, Main.panel._rightBox);i Main.panel._rightBox.insert_child_at_index(dateMenu.actor, -1);.
Na koniec musisz sprawdzić „Przenieś zegar” w ustawieniach tego rozszerzenia. Proszę bardzo! Nie testowałem tego, ale powinno działać. Jeśli nie, napisz komentarz :)

Ahh! Zapomniałem wspomnieć: Za każdym razem, gdy włączasz wartości, zapisz plik i odśwież panel za pomocą Alt+ F2- type r- hit Enter. I pamiętaj, aby utworzyć pliki kopii zapasowej !!! :RE

Jibbow
źródło
Jeśli podoba ci się odpowiedź, po prostu kliknij mały szary po lewej stronie odpowiedzi, teraz zmieniając ją w piękną zieloną. Jeśli podoba Ci się odpowiedź, kliknij mały szary znacznik wyboru i małą strzałkę w górę ... Jeśli masz dodatkowe pytania, przejdź do askubuntu.com/questions/ask
AB
1
Rozszerzenia zainstalowane za pomocą menedżera pakietów są umieszczone w/usr/share/gnome-shell/extensions/
AB
1
Łał! Powinieneś otrzymać jeszcze kilka pozytywnych opinii za cały wysiłek! ;-)
Fabby
2017 i wciąż niemożliwe bez ryzyka dla twojego systemu. Zadziwiający.
HörmannHH,
2

Rozszerz panel Menu rozszerzenie pozwoli Ci uporządkować wskaźników z „Taca Offset” funkcji i zakładki wskaźników. Po zainstalowaniu rozszerzenia przejdź do ustawień, aby poprawić wskaźniki. Szczęśliwy OCDing!

guttermonk
źródło
Nie do końca to, czego szukałem, ale mimo wszystko świetna wskazówka. To rozszerzenie naprawia kalendarz w środkowym i pogrupowanym menu statusu, które zawsze mnie denerwowało! :)
Cas
-2

Istnieje również łatwiejszy sposób otwierania gnome-tweak-tool, przeglądania karty Rozszerzenia , a następnie wyłączania i ponownego włączania rozszerzeń. W ten sposób ikony zostaną przesunięte w lewo.

użytkownik693690
źródło
Włączając co offi on...?
George Udosen
1
spowoduje to zamówienie rozszerzeń tylko dla tej sesji.
QkiZ