Есть ли способ узнать, как называется значок на нижней панели в Gnome 3?

Есть ли способ узнать, как называется иконка на нижней панели в 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.

Спасибо!

4
задан 23 June 2012 в 08:49

2 ответа

Это полностью взято из 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

... которое имя иконки для использования в Fixer Icon Status.

0
ответ дан 23 June 2012 в 08:49

Получил имя быстрого запуска 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

Все еще не нашли способа извлечь имена из значков.

0
ответ дан 23 June 2012 в 08:49

Другие вопросы по тегам:

Похожие вопросы: