Различия

Здесь показаны различия между выбранной ревизией и текущей версией данной страницы.

Ссылка на это сравнение

sfs:notify [2016/02/01 11:32] (текущий)
Строка 1: Строка 1:
 +====== *notify*. Варианты реализации уведомлений системы. ======
 +121224 [[sfslinux@gmail.com]]
  
 +В процессе работы, возникают ситуации, требующие уведомления пользователя об определенных событиях.
 +Описанные ниже методики, теоретически, можно применять в любом Linux с любым WM ([[wpru>Менеджер_окон]]).
 +
 +===== Стандартные демоны =====
 +**Libnotify** - это простой способ отображения уведомлений и информации в маленьком диалоговом окне. Он используется во многих программах с открытым исходным кодом, например evolution, pidgin и т.д., и поддерживает как Gtk+, так и Qt. Кроме этого, libnotify не зависит от используемого оконного менеджера. 
 +Отправка сообщения:
 +  notify-send "Заголовок" "Сообщение" -i Путь_к_иконке
 +
 +Демоны естественно постоянно находятся в памяти. Расход не большой , но он есть...
 +
 +  *Есть иконки. 
 +  *Можно менять, местоположение, цвет, шрифт
 +==== Gnome ====
 +[[http://www.mediafire.com/?ttw636us4992jb8| notify-osd]]. Самый тяжелый: 348k. 
 +
 +На мой взгляд ничем не лучше //xfce4-notifyd//. Актуально применять только в Gnome.
 +==== XFCE ====
 +[[http://www.mediafire.com/?alkaweyy3b9afwp|xfce4-notifyd]]. 168k. 
 +
 +В более свежей версии 0.2 ничего интересного для себя не нашел. 
 +
 +GUI конфигуратор убрал. ///etc/skel/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-notifyd.xml// можно отредактировать вручную или написать //gtkdialog// интерфейс.
 +
 +=====Скрипты=====
 +  *Не являются демонами. 
 +  *Ресурсоемкость и объем минимальны. 
 +  *Как правило, имеются в системе и применяются для других целей
 +
 +В WM, где стандартом являются //notify-osd// и //notifyd// - лучше использовать их. Иначе можно получить нестандартные проблемы. 
 +==== gtkdialog-splash ====
 +[[http://208.109.22.214/puppy/viewtopic.php?t=73941&sid=d7b4d243424488f614c339f294ee02b3|www]] [[http://murga-linux.com/puppy/viewtopic.php?t=56448|www]]
 +
 +В различных вариантах, иногда под именем //yaf-splash//, используется в [[wpru>PuppyLinux]]. Основан на **gtkdialog** и будет работать везде, где он есть.
 +
 +  *Вывод в правой части экрана (стандартное место) проблематичен или невозможен. 
 +  *Выводит иконки.
 +
 +==== conky ====
 +Использовать [[wpru>conky]] для сообщений придумал  [[http://forum.puppyrus.org/index.php/topic,11683.msg63255.html#msg63255|
 +сам.]]
 +Стало интересно, неужели никому подобное в голову не приходило... Поискал. Приходило: [[http://www.techrepublic.com/blog/opensource/how-to-use-conky-for-automatic-system-notification-and-administration/2969|1]], [[http://ubuntism.ru/2011/05/conky-notifyosd-style-theme/|2]], [[http://g33q.co.za/2011/01/16/using-notify-send-as-a-conky-replacement/|3]]
 +
 +  *Можно весь мониторинг трея перенести в //conky//. 
 +  *Перекомпиляция (//conky-//) под мою конфигурацию позволила избавиться от тяжелых библиотек типа //imlib// и уменьшить размер. Пришлось пожертвовать выводом иконок. Там где //imlib// уже есть ([[wpru>Openbox]]) - лучше использовать стандартный //conky//. Если иконки хочется, возможно есть смысл подумать о //notifyd//. 
 +  *Проблемы вывода справа нет. 
 +  *Можно сделать рамку и т.п.
 +  *Можно менять цвет, шрифт. 
 +  *Можно использовать [[http://help.ubuntu.ru/wiki/conky#%D0%B4%D0%BE%D1%81%D1%82%D1%83%D0%BF%D0%BD%D1%8B%D0%B5_%D0%BF%D0%B5%D1%80%D0%B5%D0%BC%D0%B5%D0%BD%D0%BD%D1%8B%D0%B5|переменные conky]].
 +
 +Документация по конфигурации //conky//:  [[http://ramzport.blogspot.com/|1]], [[http://forum.ubuntu.ru/index.php?topic=123423.0|2]], [[http://rus-linux.net/lib.php?name=/MyLDP/admin/monitoring/tools.html|3]]
 +===== Утилиты =====
 +
 +==== Xdialog ====
 +Вряд ли будет лучше gtkdialog. 
 +==== gxmessage ====
 +Иконок нет. Цвет есть. Вывод только по центру или под курсором. На gnome, xfce абсолютно не похоже.
 +==== xpupsay ====
 +Есть выбор иконок, места выводв и прочие настройки (см. xpupsay --help). [[http://www.murga-linux.com/puppy/viewtopic.php?p=430055|www]]
 +
 +
 +=====Итог=====
 +Написал //sh// скрипт **///usr/local/bin/notify-send//**. [[http://ubuntuone.com/2LsEn7fV9EkCWyrIiwVPtm|Скриншот]] (conky - уведомление находится в верхнем правом углу)
 +  *Будет работать в любом линуксе с //conky >=1.8.0//. //lua// не использовал. 
 +  *Название, ключи и расположение такие, чтобы можно было использовать как заглушку для оригинального бинарника //notify-send// (его переименовал в notify-send.bin). 
 +
 +Автоматически определяет наличие в системе 
 +  *notify-osd
 +  *notifyd
 +  *xpupsay
 +  *conky
 +  *gxmessage
 +Использует первый найденный. 
 +
 +//notify-osd// и //notifyd// можно подключить модулем. Ссылки выше. 
 +
 +Работоспособность модулей проверена в **LupuRus520** (нужна одна lib из debian), **PuppuRus21x**, **SFSl**, [[http://uco.puppyrus.org/forum/thread218.html|CDL-R1.1]](только //notifyd//)
 +
 +Изменение цвета для conky (ключи запуска //notify-osd//): 
 +  * -i info  - зеленый цвет
 +  * -i error - красный
 +  * прочее - желтый
 +
 +Из всего описанного по критериям: возможности-ресурсоемкость, мне понравился //xpupsay//. Следующий: //notifyd//.