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

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

Например, имя значка Audacious - audacious, для Dropbox это dropbox ... Мне нужно, чтобы их имена записывались на расширение Fixer Status Icon для Gnome 3.

Я пробовал:

StatusIconDispatcher.STANDARD_TRAY_ICON_IMPLEMENTATIONS [' LibreOffice 3.5 Quickstarter '] =' LibreOffice 3.5 Quickstarter ';

Но это не сработало.

Мне нужно имя для значка фонового трея Google Chrome и LibreOffice 3.5 Quickstarter.

Спасибо!

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

15 ответов

Это полностью взято из https://github.com/brianhsu/EvilStatusIconForever

Поэтому кредиты передаются brianhsu.

Это может стать причиной вашего GNOME, БУДЬТЕ ОСТОРОЖНЫ И РЕЗЕРВЫ ПЕРВОГО !!!! Для этого вам нужна корневая подача. Edit /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 Status Icon.

0
ответ дан 25 July 2018 в 18:24

Это полностью взято из https://github.com/brianhsu/EvilStatusIconForever

Поэтому кредиты передаются brianhsu.

Это может стать причиной вашего GNOME, БУДЬТЕ ОСТОРОЖНЫ И РЕЗЕРВЫ ПЕРВОГО !!!! Для этого вам нужна корневая подача. Edit /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 Status Icon.

0
ответ дан 31 July 2018 в 12:59

Получено имя Quickstarter LibreOffice 3.5 от системного монитора, а 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

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

3
ответ дан 31 July 2018 в 12:59

Получено имя Quickstarter LibreOffice 3.5 от системного монитора, а 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

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

3
ответ дан 2 August 2018 в 00:36

Это полностью взято из https://github.com/brianhsu/EvilStatusIconForever

Поэтому кредиты передаются brianhsu.

Это может стать причиной вашего GNOME, БУДЬТЕ ОСТОРОЖНЫ И РЕЗЕРВЫ ПЕРВОГО !!!! Для этого вам нужна корневая подача. Edit /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 Status Icon.

0
ответ дан 2 August 2018 в 00:36

Получено имя Quickstarter LibreOffice 3.5 от системного монитора, а 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

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

3
ответ дан 4 August 2018 в 16:07

Это полностью взято из https://github.com/brianhsu/EvilStatusIconForever

Поэтому кредиты передаются brianhsu.

Это может стать причиной вашего GNOME, БУДЬТЕ ОСТОРОЖНЫ И РЕЗЕРВЫ ПЕРВОГО !!!! Для этого вам нужна корневая подача. Edit /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 Status Icon.

0
ответ дан 4 August 2018 в 16:07

Получено имя Quickstarter LibreOffice 3.5 от системного монитора, а 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

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

3
ответ дан 6 August 2018 в 00:44

Это полностью взято из https://github.com/brianhsu/EvilStatusIconForever

Поэтому кредиты передаются brianhsu.

Это может стать причиной вашего GNOME, БУДЬТЕ ОСТОРОЖНЫ И РЕЗЕРВЫ ПЕРВОГО !!!! Для этого вам нужна корневая подача. Edit /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 Status Icon.

0
ответ дан 6 August 2018 в 00:44

Получено имя Quickstarter LibreOffice 3.5 от системного монитора, а 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

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

3
ответ дан 7 August 2018 в 18:10

Это полностью взято из https://github.com/brianhsu/EvilStatusIconForever

Поэтому кредиты передаются brianhsu.

Это может стать причиной вашего GNOME, БУДЬТЕ ОСТОРОЖНЫ И РЕЗЕРВЫ ПЕРВОГО !!!! Для этого вам нужна корневая подача. Edit /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 Status Icon.

0
ответ дан 7 August 2018 в 18:10

Получено имя Quickstarter LibreOffice 3.5 от системного монитора, а 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

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

3
ответ дан 10 August 2018 в 06:56

Это полностью взято из https://github.com/brianhsu/EvilStatusIconForever

Поэтому кредиты передаются brianhsu.

Это может стать причиной вашего GNOME, БУДЬТЕ ОСТОРОЖНЫ И РЕЗЕРВЫ ПЕРВОГО !!!! Для этого вам нужна корневая подача. Edit /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 Status Icon.

0
ответ дан 10 August 2018 в 06:56

Получено имя Quickstarter LibreOffice 3.5 от системного монитора, а 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

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

3
ответ дан 15 August 2018 в 18:53

Это полностью взято из https://github.com/brianhsu/EvilStatusIconForever

Поэтому кредиты передаются brianhsu.

Это может стать причиной вашего GNOME, БУДЬТЕ ОСТОРОЖНЫ И РЕЗЕРВЫ ПЕРВОГО !!!! Для этого вам нужна корневая подача. Edit /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 Status Icon.

0
ответ дан 15 August 2018 в 18:53
  • 1
    О Боже! : | Это может сработать, но не намного ли проще? – David M. Sousa 17 July 2012 в 21:14
  • 2
    Он работает, но на самом деле это не тривиально. Я не знаю более простой способ, это, безусловно, что-то, над чем работают разработчики Gnome-shell ... – nimai 1 September 2012 в 16:51

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

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