Notify-OSD - это система сообщений, используемая в дистрибутивах Ubuntu, т.е. те самые "пузыри" всплывающие при каком-либо событии. В целом, Notify-OSD - это красиво, нарядно и удобно, но есть отдельные многочисленные недостатки:

  • привязка к верхнему правому углу (а мне вот хочется в нижнем углу видеть сообщение);
  • невозможность закрыть сообщение (оно мне тупо мешает, особенно при работе в какой-нить полноэкранной программе);
  • какое-то странное замутнение при наведении мыши (вообще не понимаю, зачем эта фигня);
  • полное отсутствие каких бы то ни было настроек внешнего вида (в Canonical думают, что я буду подбирать тему под их "пузыри");
  • разница в положении системных и пользовательских сообщений - пользовательские всплывают под системными (и это единственный момент, который мне, скорее, нравится).

Будем все это исправлять и допиливать.

Про тонкую настройку Notify-OSD в Ubuntu 9.10, 10.04 и 10.10 я уже писал:

Но в Ubuntu 11.04 все делается чуток по-другому (кое-что добавилось, и появилось пара параметров)...

Сначала будет описательная часть. Процесс установки описан в конце поста.

Настройки внешнего вида сообщений Notify-OSD

Сие чудо программистской мысли позволяет настраивать:

средствами GUI:

  • цвета всех элементов;
  • размеры сообщений (пузырей), шрифтов, иконок и скруглений углов;
  • прозрачность всех элементов;
  • время отображения;

средствами CLI:

  • расположение всплывающих сообщений на экране;
  • эффект скрытия;
  • закрытие сообщение при клике по нему.

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

Подробнее о параметрах Notify-OSD »

Общие настройки

Positioning - имеет 2 значения: Fixed и Dynamic. Fixed используется по умолчанию в Ubuntu 10.04 и имеет "окно" между пользовательскими сообщениями и верхней панелью. Dynamic выводит сообщения сразу под панелью.
Timeout - время отображения сообщения. В секундах (от 0 до 10сек).

Вкладка Bubble

Vertical Gap - вертикальный отступ между всплывающими сообщениями. В пикселях.
Horizontal Gap - горизонтальный отступ между сообщением и правым краем экрана. В пикселях.
Background Colour - цвет фона сообщений.
Background Opacity - прозрачность фона сообщений. В процентах. Значение от 0% до 100%.
Icon Size - размер иконок в сообщениях. В пикселях и по высоте, и по ширине.
Gauge Size - толщина шкалы громкости, яркости и т.п. В пикселях. Значение от 5 до 10. Если меньше или больше, то шкала пропадает.
Width - ширина сообщений. В пикселях.
Corner Radius - закругление углов у сообщения. В процентах. Нормальные значения между 0% и 55%. Но от изменения закругления меняется тень от сообщения. К примеру при 0% - не будет закругления, но не будет и тени, а если больше 55% ставить, то закругление будет криво отображаться и тень будет просто зашкаливать.

Вкладка Text

Margin Size - отступ от текста до границ всплывающего сообщения. В пикселях.
Title Size - размер шрифта заголовка сообщения. В процентах от значения параметра 'Система'->'Параметры'->'Внешний вид'->'Шрифты'->'Шрифт приложения'. Т.е., если у вас шрифт приложения стоит 8px, то 8px = 100%. Увеличение процента даст больший размер шрифта, уменьшение - меньший размер шрифта. Это действительно и для параметра Body Size.
Title Weight - толщина начертания шрифта заголовка. Значения: bold - жирный, normal - нормальный, light - тонкий.
Title Colour - цвет шрифта заголовка.
Title Opacity - прозрачность шрифта заголовка. В процентах. Значение от 0% до 100%.
Body Size - размер шрифта заголовка основного текста. В процентах от значения параметра 'Система'->'Параметры'->'Внешний вид'->'Шрифты'->'Шрифт приложения'.
Body Weight - толщина начертания шрифта основного текста. Значения: bold - жирный, normal - нормальный, light - тонкий.
Body Colour - цвет шрифта основного текста.
Body Opacity - прозрачность шрифта основного текста. В процентах. Значение от 0% до 100%.
Shadow Opacity - прозрачность тени от текста. В процентах. Значение от 0% до 100%.

К сожалению, не все параметры работают корректно, но авторы патча обещают все доделать в ближайшее время.

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

Настройка позиции сообщений

Для того чтобы задать расположение всплывающих сообщений просто выполняем в терминале:

gconftool-2 -s /apps/notify-osd/gravity --type=int [номер позиции]

где [номер позиции] может принимать одно из шести значений:

  1. Верхний правый угол (по умолчанию в Ubuntu)
  2. Справа в центре
  3. Нижний правый угол
  4. Верхний левый угол
  5. Слева в центре
  6. Нижний левый угол

Т.е., чтобы расположить всплывающие сообщения, как на скриншоте выше, надо выполнить следующее:

gconftool-2 -s /apps/notify-osd/gravity --type=int 3

Проверка:

notify-send test

Прочие настройки Notify-OSD

Открываем файл настроек ~/.notify-osd и дописываем туда следующее:

bubble-prevent-fade = 1

bubble-close-on-click = 1

Первый параметр запрещает "пьяное размывание" сообщений, а второй позволяет закрывать сообщения одним кликом по ним.

После этого выполняем команду:

pkill notify-osd

Вот и сделали более адекватную систему сообщений.

Установка пропатченой Notify-OSD и инструментов настройки

Как всегда, нам надо добавить пару PPA-репозиториев. Открываем "Источники приложений" (если вы используете Dash, то достаточно просто ввести в поиске "Источники приложений"). Выбираем вкладку "Другое ПО" и давим "Добывить...". В открывшемся диалоге вводим:

ppa:leolik/leolik

ppa:nilarimogard/webupd8

(Не надо вводить обе строки одновременно :)

Давим "Закрыть", соглашаемся "Обновить" и запускаем "Менеджер обновлений". Ждем пока все обновится и перезапускаем Notify-OSD так:

pkill notify-osd

GUI утилита появится в "Стандартных" под названием NotifyOSD Configurator.

Установка в терминале »

Последовательно выполняем команды:

sudo add-apt-repository ppa:leolik/leolik
sudo add-apt-repository ppa:nilarimogard/webupd8
sudo apt-get update && sudo apt-get upgrade
sudo apt-get install notifyosdconfig libnotify-bin
pkill notify-osd

Случайное расположение сообщений на экране (просто для прикола)

Если вы отличаетесь полным непостоянством (ну, или просто вы - блондинка), то можно настроить Notify-OSD на появление в произвольной части экрана. Для этого создаем скрипт со следующим содержанием:

#!/bin/bash

gconftool-2 -s /apps/notify-osd/gravity --type=int $((RANDOM%6+1))

Даем ему права на исполнение и запускаем средствами cron каждую минуту (про настройку заданий cron). Если вы настроили свои программы на сообщение вам всего и вся (вот пример настройки Notify-OSD для Skype), то вы получите бесплатную занимательную игру "успей кликнуть мышкой по сообщению, которое появится в любой части экрана". Чем-то напоминает стрельбу по ковбоям из видеопистолета на приставках Dendy :)

Развлекайтесь!

Популярность: 10%

Поделиться в соц. сетях

Опубликовать в Одноклассники
Опубликовать в LiveJournal
Опубликовать в Мой Мир
Опубликовать в Яндекс
Опубликовать в Google Buzz
Опубликовать в Google Plus