13 December 2011

Возвращаем Pidgin и Skype на верхнюю панель GNOME Shell

Configuring Linux
Sandbox


Хочу рассказать несложное действие по оптимизации рабочего пространства, которое упростит жизнь многим пользователям GNOME Shell, привыкшим видеть в трее иконки любимых IM (Pidgin и др.), Skype или других приложений. В стандартной настройке они находятся в «нижнем» трее, вызов которого осуществляется наведением мыши на нижний край экрана. Неудобство упомянутого «нижнего» трея в плане общения по jabber, skype, icq и т.д. состоит в том, что пропустив от кого-либо сообщение (например, отойдя от ПК), увидеть его при возвращении без дополнительного вызова дефолтного трея невозможно. Иконка же на верхней панели сразу бросается в глаза, поэтому пропустить важное сообщение или не ответить на него вовремя менее вероятно.

На многих ресурсах этот вопрос поднимался, но непросто найти универсальную инструкцию, которая состояла бы с четкой последовательности действий, необходимых для решения вопроса с учетом некоторых нюансов.

Реализуется такое действие с помощью дополнительных параметров системы, для выполнения которых, в т.ч. и управления пользовательскими приложениями (GNOME Shell Extensions) в debian-подобных дистирибутивах (в моем случае это Ubuntu 11.10 + GNOME Shell), используется пакет gnome-tweak-tool. Если он еще не установлен, выполняем в терминале:

sudo apt-get install gnome-tweak-tool


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

mkdir ~/.local/share/gnome-shell/extensions/pidgin-status
mkdir ~/.local/share/gnome-shell/extensions/skype-status


Создаем в каждой папке файлы:

nano ~/.local/share/gnome-shell/extensions/pidgin-status/extension.js


с таким содержанием

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


nano ~/.local/share/gnome-shell/extensions/pidgin-status/metadata.json 


{
  "shell-version": ["3.2.1", "3.2"],
  "uuid": "pidgin-status",
  "name": "Pidgin Status Icon",
  "description": "Integrates Pidgin Client into the status bar"
}


nano ~/.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() {
}


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


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


В «shell-version» указываем версию GNOME Shell, которая у вас установлена.

Завершаем сеанс пользователя.
Логинимся в систему.
Переходим в Приложения-Прочие-Дополнительные параметры системы-Расширения Shell.
Включаем наши дополнения.



Еще раз завершаем сеанс пользователя и логинимся в систему.
Запускаем Pidgin и Skype, наблюдаем их значки на верхней панели. Не забываем включить отображение значка в настройках самого Pidgin'a (Средства-Настройки-Интерфейс-Показывать значок системного лотка), у Skype он отображается автоматически.



Данный метод можно использовать и для других клиентов, подставив его имя в соответствующие поля файлов extension.js и metadata.json.
Стоит также заметить, что с помощью дополнений пользователя можно настроить еще много чего интересного. Об этом детальнее можно прочитать здесь.

Основные источники информации:
forum.ubuntu.ru/index.php?topic=172495.0
mo.morsi.org/blog/taxonomy/term/72
extensions.gnome.org
Tags:ubuntu 11.10gnome shellpidginskypeтрей
Hubs: Configuring Linux
+37
20.3k 138
Comments 53
Popular right now
Administrator Linux. Professional
January 18, 202180,000 ₽OTUS
Безопасность Linux
February 12, 202130,000 ₽OTUS
Профессия iOS-разработчик
November 30, 202075,000 ₽SkillFactory
Основы HTML и CSS
November 30, 2020FreeНетология
Курс по аналитике данных
November 30, 202053,500 ₽SkillFactory
Top of the last 24 hours