Всплавающие сообщения в Ubuntu 9.10 сделаны действительно красиво. Но многим очень не нравится то, что часть сообщений (пользовательские сообщения) появляются ниже системных. Дырка между сообщением и панелью выглядит совсем безрадостно. Эта проблема решилась достаточно просто, но всплыли другие.
Мне захотелось получать уведомления в таком же стиле от Skype и от Thunderbird. Вообще удивительно, почему программы, написанные для Ubuntu, не используют систему notify-osd. Будем надеяться, что это станет стандартом в следующей версии. А пока подправим, что можем, сами. Подробнее о notify-osd можно узнать на wiki.ubuntu.com.
Начнем со смены позиции пользовательских сообщений. Очень хорошо об этой проблеме написал в своем блоге Leolik. Но если вам лень все делать самому, то качаем уже скомпилированный файл notify-osd_0.9.24-0ubuntu1_i386.deb или пакет для 10.10 x64 от Николая и устанавливаем (это скомпилированный пакет с патчем от Лёлика). Создаем в своей домашней папке файл настроек .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 и установить его (Инструменты — Дополнения)
Не забудьте выключить уведомления от Thunderbird, а то будете получать каждое сообщение дважды.
Настройка сообщений Skype.
Для начала устанавливаем в Synaptic пакет libnotify-bin и проверяем, установлен ли пакет notify-osd.
Заходим в настройки 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-osd. Из несдотатков всего вышесказанного я заметил только jодно: Thunderbird выводит сообщения о новых письмах даже, если это спам. Но и плагин — beta, надеюсь в релизе будет больше настроек.
Добавить комментарий