GNOME Shell и системный трей

/www/pages/modesco/ubuntovod

Как известно, GNOME Shell использует нижний трей с автоскрытием. Вообщем-то неплохое решение. Но иногда, например как в случае с "My weather indicator" или "Skype", хочется лицезреть их трей-иконки. Есть неплохое расширение "Classic systray", которое возращает весь системный трей на панель GNOME Shell. Но когда иконок много и, в принципе, часть из них не нужна, было бы хорошо, чтобы они так и оставались в нижнем трее.

И так, одно из решений это создание расширения, которое будет отражать трей-иконку нужного приложения на верхней панели.

Покажу на примере программ, таких как Mу-weather-indicator и Skype:

Создаем две папки:

mkdir ~/.local/share/gnome-shell/extensions/my-weather-indicator-status
mkdir ~/.local/share/gnome-shell/extensions/skype-status

Создаем в папке my-weather-indicator-status файлы extension.js:

gedit ~/.local/share/gnome-shell/extensions/my-weather-indicator-status/extension.js

С содержанием:

const StatusIconDispatcher = imports.ui.statusIconDispatcher;
function enable() {
StatusIconDispatcher.STANDARD_TRAY_ICON_IMPLEMENTATIONS[`my-weather-indicator`] = `my-weather-indicator`;
}
function disable() {
StatusIconDispatcher.STANDARD_TRAY_ICON_IMPLEMENTATIONS[`my-weather-indicator`] = ``;
}
function init() {
}

И metadata.json:

gedit ~/.local/share/gnome-shell/extensions/my-weather-indicator-status/metadata.json

С содержанием:

{
"shell-version": ["3.0", "3.2", "3.4"],
"uuid": "my-weather-indicator-status",
"name": " My-weather-indicator Status Icon",
"description": "Integrates My-weather-indicator into the status bar"
}

Создаем в папке skype-status файлы extension.js:

gedit ~/.local/share/gnome-shell/extensions/skype-status/extension.js

С содержанием:

const StatusIconDispatcher = imports.ui.statusIconDispatcher;
function enable() {
StatusIconDispatcher.STANDARD_TRAY_ICON_IMPLEMENTATIONS[`skype`] = `skype`;
}
function disable() {
StatusIconDispatcher.STANDARD_TRAY_ICON_IMPLEMENTATIONS[`skype`] = ``;
}
function init() {
}

И metadata.json:

gedit ~/.local/share/gnome-shell/extensions/skype-status/metadata.json

с содержанием:

{
"shell-version": ["3.0", "3.2", "3.4"],
"uuid": "skype-status",
"name": " Skype Status Icon",
"description": "Integrates Skype Icon into the status bar"
}

Вот и все перезапускаем GNOME Shell (Alt + F2 и команда r или выходим и входим обратно в систему), запускаем gnome-tweak-tool и включаем наши расширения.

GNOME Shell и системный трей

Всё, можно запускать наши программы. Таким образом можно переместить в верхний бар трей-иконку практически любого приложения заменив в файле extension.js имя программы "skype" на имя другой программы (и заменив, соответственно, описание расширения в metadata.json). Для себя я сделал расширения еще для программ Deadbeef , Psi+, Turpial.

GNOME Shell и системный трей

Всем приятного открытия! Буду рад видеть в группе vk.com/hybryde.

Много интересных новостей и другой информации о планшетах вы найдёте на сайте zazvon.com.

bla-bla
2012-08-17 02:53:00
Поделитесь коньками :)
DEDan
2012-08-17 10:37:00
Кому интересно, можно уменьшить расстояние между иконками https://extensions.gnome.org/extension/355/status-area-horizontal-spacing/
LALA
2012-08-17 23:54:00
спасиб
Haodemon
2012-08-21 14:01:00
+1 Поделитесь Вы уже коньками.
Sk8er
2012-08-23 16:01:00
http://ubuntovod.ru/instructions/sekret-conky.html
Sk8er
2012-08-23 16:04:00
вот: http://ubuntovod.ru/instructions/sekret-conky.html
Ksenia Volkova
2012-09-28 23:33:00
спасибо, оч полезная статья
Игорёша
2012-11-26 17:58:00
Супер огромное, спс.