Есть ли способ узнать, как называется иконка на нижней панели в Gnome 3?
Например, иконка Audacious называется audacious
, для Dropbox это dropbox
... Мне нужны их имена, чтобы записать их в расширении Status Icon Fixer для Gnome 3.
Я пытался:
StatusIconDispatcher.STANDARD_TRAY_ICON_IMPLEMENTATIONS ['LibreOffice 3.5 Quickstarter'] = 'LibreOffice 3.5 Quickstarter';
Но это не сработало.
Мне нужно имя для иконки в фоновом режиме в Google Chrome и быстрого запуска LibreOffice 3.5.
Спасибо!
Это полностью взято из https://github.com/brianhsu/EvilStatusIconForever
Таким образом, кредиты идут на Брианшу.
Это может нарушить ваш GNOME, БУДЬТЕ ОСТОРОЖНЫ И РЕЗЕРВНЫМ ВПЕРВЫМ !!!! Для этого вам нужно получить права root. Отредактируйте /usr/share/gnome-shell/js/ui/statusIconDispatcher.js
Перейдите к строке 48, вы должны увидеть функцию с именем _onTrayIconAdded, которая выглядит следующим образом:
_onTrayIconAdded: function(o, icon) { let wmClass = (icon.wm_class || 'unknown').toLowerCase(); let role = STANDARD_TRAY_ICON_IMPLEMENTATIONS[wmClass]; if (role) this.emit('status-icon-added', icon, role); else this.emit('message-icon-added', icon); },
Добавить global.log ("wmClass [] =" + wmClass); после строки let role = ... теперь эта функция должна выглядеть следующим образом:
_onTrayIconAdded: function(o, icon) { let wmClass = (icon.wm_class || 'unknown').toLowerCase(); let role = STANDARD_TRAY_ICON_IMPLEMENTATIONS[wmClass]; global.log("wmClass[] = " + wmClass); if (role) this.emit('status-icon-added', icon, role); else this.emit('message-icon-added', icon); },
Перезапустите GNOME 3, нажав Alt + F2 и r, и нажмите Enter.
Запустите консоль GNOME, нажав Alt + F2 и lg, и нажмите Enter.
Перейдите на вкладку «Ошибки», теперь вы должны увидеть следующее сообщение:
wmClass [] = pidgin
blockquote> blockquote>... которое имя иконки для использования в Fixer Icon Status.
Получил имя быстрого запуска LibreOffice 3.5 от System Monitor, а Google Chrome - это Google-Chrome.
Добавить:
StatusIconDispatcher.STANDARD_TRAY_ICON_IMPLEMENTATIONS['soffice'] = 'soffice';
StatusIconDispatcher.STANDARD_TRAY_ICON_IMPLEMENTATIONS['google-chrome'] = 'google-chrome';
к:
.../gnome-shell/extensions/status@gnome-shell.2jk.org/extension.js
Все еще не нашли способа извлечь имена из значков.