После обновления убунты до версии 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. Вот и все :)
Собранные пакеты, с внесенными изменениями, можно скачать c моего репозитория
$sudo add-apt-repository "deb http://ppa.launchpad.net/leolik/leolik/ubuntu karmic main" $sudo apt-get update $sudo apt-get install notify-osd или с репозитория Dr.AKULAvich (за что ему большое спасибо).
$sudo add-apt-repository "deb http://ppa.launchpad.net/dr-akulavich/ppa/ubuntu karmic main" $sudo apt-get update $sudo apt-get install notify-osd
Дополнительные возможности 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)
Источник: http://leolik.blogspot.com/2009/11/notify-osd-ubuntu-910.html
|