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


18

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

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

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


Хороший вопрос. Я боюсь, что это почти невозможно без необходимости редактировать странные файлы 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


Если вам нравится ответ, просто нажмите маленький серый ☑ в левой части ответа, теперь он превращается в красивый зеленый. Если вам нравится ответ, нажмите на маленькую серую галочку и маленькую стрелку вверх ... Если у вас есть какие-либо дополнительные вопросы, перейдите по адресу askubuntu.com/questions/ask
— AB


1
Расширения, установленные через менеджер пакетов, размещаются в/usr/share/gnome-shell/extensions/
— AB

1
Вот это да! Вы должны получить еще несколько голосов только за все усилия! ;-)
— Fabby

2017 и до сих пор невозможно, не рискуя своей системой. Поразительно.
— HörmannHH

2

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


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

-2

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


Поворачивая что offи on...?
— Джордж Удосен

1
это будет заказывать расширения только для этой сессии.
— QkiZ
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.