Как настроить всплывающие подсказки в Ubuntu

0
327

Есть в Ubuntu такая фишка, как всплывающие сообщения. Вещь удобная очень. Хотя некоторых это раздражает. Это как лечение зубов — никому не нравится, но все понимают что надо. И часто раздражают даже не столько сами всплывающие сообщения, как то место где они появляются по умолчанию. Но оказывается все можно изменить.  Более того, добавить сообщения от тех программ которые изначально к этому не приспособлены. И здесь рассказано как это сделать.

Всплавающие сообщения в Ubuntu 9.10 сделаны действительно красиво. Но многим очень не нравится то, что часть сообщений (пользовательские сообщения) появляются ниже системных. Дырка между сообщением и панелью выглядит совсем безрадостно. Эта проблема решилась достаточно просто, но всплыли другие.

Мне захотелось получать уведомления в таком же стиле от Skype и от Thunderbird. Вообще удивительно, почему программы, написанные для Ubuntu, не используют систему notify-osd. Будем надеяться, что это станет стандартом в следующей версии. А пока подправим, что можем, сами. Подробнее о notify-osd можно узнать на wiki.ubuntu.com.

Начнем со смены позиции пользовательских сообщений. Очень хорошо об этой проблеме написал в своем блоге Leolik. Но если вам лень все делать самому, то качаем уже скомпилированный файл notify-osd_0.9.24-0ubuntu1_i386.deb и устанавливаем (это скомпилированный пакет с патчем от Лёлика). Создаем в своей домашней папке файл настроек .notify-osd. Если этого не сделать, то будут использованы настройки по умолчанию. Копируем туда слудующие строки:

slot-allocation = dynamic
bubble-expire-timeout = 10sec
bubble-vertical-gap = 5px
bubble-horizontal-gap = 5px
bubble-corner-radius = 37,5%
bubble-icon-size = 30px
bubble-gauge-size = 6px
bubble-width = 240px
bubble-background-color = 131313
bubble-background-opacity = 90%
text-margin-size = 10px
text-title-size = 100%
text-title-weight = bold
text-title-color = ffffff
text-title-opacity = 100%
text-body-size = 90%
text-body-weight = normal
text-body-color = eaeaea
text-body-opacity = 100%
text-shadow-opacity = 100%

Описание настроек (взято здесь — блог Leolikа):

slot-allocation — система вывода сообщений. Значения: dynamic — система вывода по-умолчанию в 9.04, fixed — система вывода по-умолчанию в 9.10. Чтобы выводить сообщения на одном и том же месте, ставьте dynamic.
bubble-expire-timeout — время отображения сообщения. В секундах.
bubble-vertical-gap — вертикальный отступ между всплывающими сообщениями. В пикселях.
bubble-horizontal-gap — горизонтальный отступ между сообщением и правым краем экрана. В пикселях.
bubble-corner-radius — закругление углов у сообщения. В процентах. Нормальные значения между 0% и 55%. Но от изменения закругления меняется тень от сообщения. К примеру при 0% — не будет закругления, но не будет и тени, а если больше 55% ставить, то закругление будет криво отображаться и тень будет просто зашкаливать.
bubble-icon-size — размер иконок в сообщениях. В пикселях, сразу и по высоте, и по ширине.
bubble-gauge-size — высота шкалы громкости, яркости и т.п. В пикселях. Значение от 5 до 10. Если меньше или больше, то шкала пропадает.
bubble-width — ширина сообщений. В пикселях.
bubble-background-color — цвет фона сообщений. Цвет ставится, как в стилях в html-верстке.
bubble-background-opacity — прозрачность фона сообщений. В процентах. Значение от 0% до 100%.
text-margin-size — отступ от текста до границ всплывающего сообщения. В пикселях.
text-title-size — размер шрифта заголовка сообщения. В процентах от значения параметра ‘Система’->’Параметры’->’Внешний вид’->’Шрифты’->’Шрифт приложения’. Тоесть, если у вас шрифт приложения стоит 8px, то 8px = 100%. Увеличение процента даст больший размер шрифта, уменьшение — меньший размер шрифта. Это действительно и для параметра text-body-size, что описан ниже.
text-title-weight — толщина начертания шрифта заголовка. Значения: bold — жирный, normal — нормальный, light — тонкий.
text-title-color — цвет шрифта заголовка. Цвет ставится, как в стилях в html-верстке.
text-title-opacity — прозрачность шрифта заголовка. В процентах. Значение от 0% до 100%.
text-body-size — размер шрифта заголовка основного текста. В процентах от значения параметра ‘Система’->’Параметры’->’Внешний вид’->’Шрифты’->’Шрифт приложения’.
text-body-weight — толщина начертания шрифта основного текста. Значения: bold — жирный, normal — нормальный, light — тонкий.
text-body-color — цвет шрифта основного текста. Цвет ставится, как в стилях в html-верстке.
text-body-opacity — прозрачность шрифта основного текста. В процентах. Значение от 0% до 100%.
text-shadow-opacity — прозрачность тени от текста. В процентах. Значение от 0% до 100%. Цвет тени к сожалению не меняется.

Теперь ВСЕ всплывающие сообщения будут показываться на одном месте и в соответсвии с параметрами из .notify-osd.

Настраиваем сообщения Thunderbird.

Для Thunderbird достаточно просто скачать плагин libnotify-mozilla-0.1.4-beta.xpi и установить его (Инструменты — Дополнения)

libnotify

Не забудьте выключить уведомления от Thunderbird, а то будете получать каждое сообщение дважды.

Настройка сообщений Skype.

Для начала устанавливаем в Synaptic пакет libnotify-bin и проверяем, установлен ли пакет notify-osd.

Заходим в настройки Skype, выбираем «Уведомления» и нажимаем кнопку «Больше настроек» (см. рисунок ниже). Снимаем галочку с «Отображать всплывающее уведомление». Отмечаем галочкой «Запускать следующий скрипт» и вводим нужную команду (см. ниже)

Настройка всплывающих сообщений Skype

Все события Skype, которые требуется привести к виду стандартных уведомлений, нужно отредактировать по приведенной схеме. Ниже в таблице приведены скрипты для самых востребованных событий Skype (список с легкой редактурой взят здесь):

Событие Skype Скрипт для стандартного уведомления Ubuntu
Входящий звонок notify-send «%sname» «Вам звонит» -i skype
Номер занят notify-send «%sname занят» -i skype
Звонок не удался notify-send «%sname звонок не удался» -i skype
Удержание вызова notify-send «%sname» «Удержание звонка» -i skype
Вызов продлен notify-send «%sname» «Вызов продлен» -i skype
Вызов завершен notify-send «%sname» «Вызов завершен» -i skype
Контакт показался в сети notify-send «%sname» «Снова в сети» -i skype
Контакт покинул сеть notify-send «%sname» «Покинул сеть» -i skype
Первое сообщение получено notify-send «%sname» «%smessage» -i skype
Сообщение получено
Запрос на передачу файла notify-send «%sname передаёт файл %fname (%fsize)» -i skype
Передача файла завершена notify-send «%sname» «Завершил передчу файла %fname» -i skype
Передача файла не удалась notify-send «Ошибка передачи файла» «%fname (%fsize)» -i skype

Можно использовать параметр %sskype вместо %sname, чтобы выводить скайповое имя пользователя (его логин в Skype), но мне больше нравится использовать имя. О других параметрах читайте на хабре.

Еще вариант вывода сообщений от Skype был реализован неким Димой на сайте thexnews.com. На сайте все прекрасно описано, поэтому не буду повторяться и копипастить. Я стал использовать оба эти способа, заменив строку для «Сообщение получено» и «Первое сообщение получено» на вызов скрипта от Димы:

skypenotify «%sname» «%smessage»

Основное достоинство здесь в том, что сообщение от одного абонента складываются, что очень удобно при активной переписке (см. картинку с сайта автора):

notify

Вот такие возможности есть у notify-osd. Из несдотатков всего вышесказанного я заметил только одно: Thunderbird выводит сообщения о новых письмах даже, если это спам. Но и плагин — beta, надеюсь в релизе будет больше настроек.

ОСТАВЬТЕ ОТВЕТ

Please enter your comment!
Please enter your name here