Как я могу заказать расширения оболочки Gnome3 вверху?

18

Порядок виджетов расширения оболочки выглядит случайным, как я могу его изменить? Я хочу иметь информацию о дате / времени слева, например.

Моя панель оболочки:

Моя панель оболочки

klausi
источник
Хороший вопрос. Я боюсь, что это почти невозможно без необходимости редактировать странные файлы CSS. Это одна из вещей, которая показывает, что все расширение было запоздалой мыслью, по моему мнению.
Rmano
Некоторые расширения, такие как extensions.gnome.org/extension/584/taskbar, позволяют размещать туда, куда вы их поместили ... (может быть неправильное расширение - одно из расширений панели задач ...)
Wilf
Я люблю , чтобы найти ответ на это
что бразильский парень
@ThatBrazilianGuy Чем нравится ответ :)
AB
@klausi Я обновил свой ответ. Я надеюсь, что это соответствует вашим потребностям :)
Jibbow

Ответы:

16

Общий способ:

Для начала вам нужно найти соответствующий файл расширения, которое вы хотите изменить.
Обычно вы можете найти его здесь: ~/.local/share/gnome-shell/extensions.
Если расширение было установлено через менеджер пакетов, вы можете найти его здесь: /usr/share/gnome-shell/extensions/(Спасибо AB )

Затем перейдите в каталог расширения и откройте « extension.js» в любом текстовом редакторе.

Перейдите в строку с: function enable()(используйте функцию поиска в вашем редакторе - если вы не можете ее найти, перейдите в раздел « Обновление » ниже).
Внутри этой функции обычно есть строка Main.panel.addToStatusArea('NAME', _OTHERNAME, NUMBER, LEFT/CENTER/RIGHT);(опять же: если вы не можете найти ее, перейдите в « Обновить» ). Может случиться так, что последние два параметра ( NUMBERи POSITION) отсутствуют; выглядит так: Main.panel.addToStatusArea('NAME', _OTHERNAME);
(Не волнуйтесь! Ваш компьютер интерпретирует более короткую версию с помощью: Не ('NAME', _OTHERNAME, 0, right);стесняйтесь добавлять отсутствующие параметры. Но всегда в указанном порядке !!! )

В POSITIONопределяет , где на панели значок должен быть. Есть три области: слева , в центре и справа . Возможно, вы не хотите менять это значение, но можете это сделать. Вот три возможных состояния для POSITIONпанели:

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

Более важная ценность, которую вы, вероятно, хотите изменить NUMBER. Он определяет порядок значков внутри вложенных панелей. Возможные значения:

  • 0 : Мне все равно, где иконка.

  • отрицательные значения : позиция; начиная с правой стороны (может быть важно, поскольку все значки расширений загружаются после системных значков)

  • положительные значения : позиция; начиная с левой стороны. Более высокие значения будут расположены дальше к правой стороне.

Вы должны поэкспериментировать с этими значениями во всех ваших расширениях, потому что одни и те же значения конфликтуют друг с другом (два разных расширения в позиции 2 не имеют никакого смысла). И иногда даже следующие ценности вступают в противоречие.

Каждый раз, когда вы меняете значение, обязательно сохраняйте файл. Затем нажмите Alt+ F2, введите rи Enter. Панель обновится новыми заказанными значками. Это быстрый вариант поиграться с этими значениями.


Наконец, цитата из Математического Кофе :

Используйте Main.panel.addToStatusArea (unique_name_of_indicator, inidicator, position, box), чтобы добавить SystemStatusButton или PanelButton на панель. Это обрабатывает добавление его меню в менеджер меню для вас (box - это Main.panel ._ {left, right, center} Box, пропуск аргумента box по умолчанию дает правое поле, а пропуск позиции устанавливает позицию 0). Если ваша кнопка только ButtonBox (то есть без меню), то придерживайтесь. _ {слева, справа, по центру} Box.insert_child_at_index.

Пожалуйста, дайте мне знать, если у вас были какие-либо проблемы с этим подходом.


Обновить:

Я осмотрелся и понял, что этот способ не работает для всех расширений (в основном только для простых / новых расширений). В этом случае часто используемым расширением является «системный монитор». Способ изменения положения значков должен быть (как правило) одинаковым (я не проверял его. Поэтому обязательно создайте файл резервной копии) . Но есть некоторые отличия для «системного монитора»:

  1. Функция, которую вы должны искать, называется var enable = function (). Так что может быть лучше поискать слово enableв файле.
  2. Место, где определяется положение значков, называется Main.panel._addToPanelBox('system-monitor', tray, 1, panel);. Изменение номера должно иметь такой же эффект, как описано выше. Чтобы изменить всю область, у вас есть два варианта:

    • Изменив эту же строку на Main.panel._addToPanelBox('system-monitor', tray, 1, Main.panel._rightBox);(Примечание: позиция в меню настроек расширения больше не будет работать).

    • Или изменив строку let panel = Main.panel._rightBox;(снова используйте функцию поиска) на нужную вам позицию ( _leftBox, _centerBox, _rightBox ).

(Эти шаги могут быть применены к любому другому расширению. Но будут немного другие имена. Но все же: Общий способ был описан в моей первой попытке этого ответа)


Вся процедура в двух словах:

Найдите соответствующий файл. Затем найдите enableвнутри этого файла. Затем найдите что-нибудь подобное Main.panel...и измените значения (вполне понятно).


И, наконец, я заметил, что вы упомянули панель времени. Я не нашел хорошего способа изменить свою позицию, но вот что-то еще:

У вас установлен «системный монитор». Это хорошо :)
Откройте соответствующее extension.jsи измените слово «вправо» на «лево» в этих двух строках:
Main.panel._addToPanelBox('dateMenu', dateMenu, -1, Main.panel._rightBox);и Main.panel._rightBox.insert_child_at_index(dateMenu.actor, -1);.
Наконец, вы должны проверить «переместить часы» в настройках этого расширения. Вот и вы! Я не проверял это, но это должно работать. Если нет, напишите комментарий :)

Ааа! Забыл упомянуть: каждый раз, когда вы меняете значения, сохраняйте файл и обновляйте панель нажатием Alt+ F2- type r- Enter. И обязательно создавайте резервные копии файлов !!! : D

Jibbow
источник
Если вам нравится ответ, просто нажмите маленький серый в левой части ответа, теперь он превращается в красивый зеленый. Если вам нравится ответ, нажмите на маленькую серую галочку и маленькую стрелку вверх ... Если у вас есть какие-либо дополнительные вопросы, перейдите по адресу askubuntu.com/questions/ask
AB
1
Расширения, установленные через менеджер пакетов, размещаются в/usr/share/gnome-shell/extensions/
AB
1
Вот это да! Вы должны получить еще несколько голосов только за все усилия! ;-)
Fabby
2017 и до сих пор невозможно, не рискуя своей системой. Поразительно.
HörmannHH
2

Расширение меню Панель расширение позволит вам отсортировать индикаторы с «Tray смещением» функцией и вкладкой индикаторов. После установки расширения зайдите в настройки, чтобы настроить ваши индикаторы. Счастливого OCDing!

guttermonk
источник
Не совсем то, что я искал, но отличный совет тем не менее. Это расширение исправляет календарь в среднем и сгруппированном меню состояния, которое всегда меня беспокоило! :)
Cas
-2

Там также более легкий способ просто открытие gnome-tweak-tool, просмотр на Extensions вкладку, затем поворачивая расширения и включи его снова. При этом значки перемещаются влево.

user693690
источник
Поворачивая что offи on...?
Джордж Удосен
1
это будет заказывать расширения только для этой сессии.
QkiZ