суббота, 7 ноября 2009 г.

Меняем всплывающие сообщения в Ubuntu 9.10

Я недавно установил в виртуалке Ubuntu 9.10, не удержавшись от соблазна пощупать сие творение лично. Должен признать, в этот раз система очень понравилась. Первый осмотр явных глюков не выявил. Хотя некоторые "ненавязчивые" сервисные плюшки были замечены. Одна из них это всплывающие окна уведомлений. Но все можно исправить. Решение, которое привожу ниже, взято здесь, за что огромное спасибо автору - Роману Сукочеву.


После обновления убунты до версии 9.10, долго не мог прийти в себя, после того как увидел, что сотворили с всплывающими сообщениями. Для тех, кто не в курсе объясняю, в предыдущей версии убунты 9.04 - эти сообщения отображались в правом верхнем углу, сразу под панелью, один за одним по мере вывода, будь то системные сообщения или пользовательские. В новой же версии, по-умолчанию системные сообщения так и выводятся сверху, а вот пользовательские выводятся на пикселей 60 ниже. Как объясняют разработчики, это сделано для удобства. Только я не могу понять - удобства для кого??

В общем, еще раз вспомнив "добрым" словом разработчиков за их удобства, начал искать где это нововведение можно отключить. Как оказалось, никакой такой опции в конфигах не предусмотрено (и я не скажу что я плохо искал, перерыл кучу инфы - опций нет). Зато удалось выяснить, что система вывода сообщений называется slot-allocation и теперь подразделяется на два типа 'fixed' и 'dynamic'. В 9.04 использовалась версия 'dynamic', а в 9.10 используется версия 'fixed'.
В общем посмотрел я на все это дело и за неимением нормальных настроек, полез в исходники искать правды. И нашел :)

Исправляем досадное недоразумение

1. Устанавливаем все нужные зависимости

$
sudo apt-get build-dep notify-osd

2. Скачиваем исходники системы сообщений notify-osd:
$
apt-get source notify-osd

3. Заходим в папку 'notify-osd-0.9.24/src' (она создается при автоматической распаковке в предыдущем шаге)
$
cd notify-osd-0.9.24/src/

4. Открываем для редактирования файл defaults.c
$
gedit defaults.c

4.1. Ищем 758 строку и заменяем строку
self->slot_allocation = SLOT_ALLOCATION_FIXED;
на
self->slot_allocation = SLOT_ALLOCATION_DYNAMIC;
и сохраняем изменения.
5. Переходим каталогом выше
$
cd ..

6. Запускаем сборку пакета
$
sudo dpkg-buildpackage

7. Еще раз переходим каталогом выше
$
cd ..

8. И устанавливаем собранный deb-пакет
$
sudo dpkg -i notify-osd*.deb

9. Вот и все :)

Собранные пакеты с внесенными изменениями:
Версия для x86(i386) архитектуры
Версия для x86_64(amd64) архитектуры.
Также в приведенных выше, собранных пакетах, уменьшено время отображения попапа с 10 секунд до 5, а то уж очень долго они висят.

Дополнительные возможности notify-osd

1) gravity - параметр переключает место отображения сообщений на экране.
1. Создание параметра:
$
gconftool-2 -s /apps/notify-osd/gravity --type=int 1

где значение 1 - сверху-справа(NorthEast), а 2 - посредине-справа(East)
2. Удаление параметра (так на всякий случай):
$
gconftool-2 -u /apps/notify-osd/gravity



2) multihead_mode - параметр вкл/откл отображение сообщений на том мониторе, который в данный момент активен (касается, только владельцев нескольких мониторов).
1. Создание параметра:
$

gconftool-2 -s /apps/notify-osd/multihead_mode --type=string focus-follow

где значение focus-follow - отображение на активном мониторе, а любое другое значение - отображение всегда на основном мониторе.
2. Удаление параметра (так на всякий случай):
$
gconftool-2 -u /apps/notify-osd/multihead_mode



После создания параметров описанных выше, ими можно будет управлять через 'Редактор конфигурации' (gconf-editor)

Одно из главных условий популярности сайта, это интересное и постоянно обновляющееся содержание. А это немалый труд, который одному человеку бывает не по силам. В этом необходим
профессиональный копирайтинг. Не пугайтесь, это написание статей на заданную тематику. Что важно - статей уникальных. То есть они не тролько будут интересны читателям, но и "понравятся" поисковым системам. Но очень важно, чтобы копирайтом занимались профессионалы. Ибо правила стилистики, грамматики и орфографии еще никто не отменял.

1 комментарий:

Анонимный комментирует...

Огромное спасибо за информацию, все великолепно работает.
Однако, ссылки на собранные пакеты сообщают о том. что файл удален.