Яндекс.Метрика

    Песочница

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

    image image image

    Хочу рассказать несложное действие по оптимизации рабочего пространства, которое упростит жизнь многим пользователям 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 /home/username/.local/share/gnome-shell/extensions/pidgin-status
    mkdir /home/username/.local/share/gnome-shell/extensions/skype-status


    где username — домашняя папка вашего пользователя.
    Создаем в каждой папке файлы:

    nano /home/username/.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 /home/username/.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 /home/username/.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 /home/username/.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.
    Включаем наши дополнения.

    image

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

    image

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

    Основные источники информации:
    forum.ubuntu.ru/index.php?topic=172495.0
    mo.morsi.org/blog/taxonomy/term/72
    extensions.gnome.org/