Добро пожаловать на мой блог

Собственно о чем речь?

Это блог! В котором я веду свои заметки и копи-пасты с других сайтов. В основном это не что иное как дневник. Приятного чтения.

Как сделать себе такую панель?

Это можно выяснить перейдя по ссылке »

Вход в блог

Забыли/потеряли пароль?

Регистрация закрыта

Мне жаль, но регистрация на этом блоге закрыта!

Для того, чтоб получить регистрацию свяжитесь с владельцем блога nick {at} homolibere {dot} info.

Note: If you are the admin and want to display the register form here, log in to your dashboard, and go to Settings > General and click "Anyone can register".

Собственные уведомления (notify) в Gnome

Речь пойдет об извещениях которые показываю практически все приложения от Rhythmbox до сетевых подключений. Хотелось иметь возможность показывать в таком виде собственные.
для начала понадобится установить пакет libnotify-bin, я под ubuntu запустил команду

1
sudo apt-get install libnotify-bin

после этого небольшой тест. Проверяем в консоле

notify-send test

если у вас появилась такое окошко значит можно двигаться дальше и разбираться с настройками

1
notify-send [OPTION...] [BODY] — create a notification

-u, —urgency=LEVEL
Вариантов здесь не так много, low, normal, critical. Разница лишь в полоске которая появляется с левой стороны.

-t, —expire-time=TIME Specifies the timeout in milliseconds at which to expire the notification.
Здесь все понятно, указываем время в миллисекундах которе извещение будет висеть на экране.

-i, —icon=ICON[,ICON...] Specifies an icon filename or stock icon to display.
С иконкой тоже все замечательно, Во первых можно прямо указать путь на любое изображение на диске. Другой вариант это открыть /usr/share/icons/hicolor/48×48/apps/ и выбрать там любую и указать ее название только без расширения notify-send -i pidgin test

-c, —category=TYPE[,TYPE...] Specifies the notification category.
по идеи задание категории должно было дать результат но я поверьте его так и не заметил, поэтому пойдем дальше

-h, —hint=TYPE:NAME:VALUE Specifies basic extra data to pass. Valid types are int, double, string and byte.
хинты дают возможность большу возможность по настройке, например местоположение на экране где должно появится извещение -h int:x:500 -h int:y:500

теперь по тексту, принимаются 2 текста, первый идет в шапку, второй это тело с небольшими возможностями гипертекста

1
notify-send «Шапка» "<strong>жирный <em>италик <a href="«a.html»">ссылка</a>"

после того как разобрались с настройками сразу начинает зарождаться мысль, а куда это применить и первое это собственный органайзер. Все время говорят что надо отрываться от монитора каждые 45 минут, значит есть шанс это сделать. Шаг первый это написать небольшой скриптик

1
#!/bin/sh export DISPLAY=:0.0 PATH=/usr/bin/:/bin/ notify-send --urgency normal --expire-time=10000 -i typing-monitor -h int:x:500 -h int:y:500 "Пора сделать перерыв" "Глазам нужен отдых"

что здесь важно, это DISPLAY, крон его не видит в упор и поэтому команды хоть и будут выполнятся на экране ничего не появится.
сохраняем ставим на исполнение и проверяем

1
chmod a+x sh1.sh ./sh1.sh

результат понравился? тогда дело за настройкой крона

1
45 * * * * /home/rus/sh1.sh

Насчет DISPLAY=:0.0. Жестковбитый DISPLAY — не хорошо. Он время от времени может меняться, даже, если всего один пользователь за компьютером. Кроме того, если ты закрыл сессию и ушел, крон будет все равно работать и ошибки будут сыпаться тебе в почту.

Лучше определять его автоматом, например, с помощью вот такой вот функции:

1
# get_display [USER] — Returns $DISPLAY of USER. # If first param is omitted, then $LOGNAME will be used. get_display () { who \ | grep ${1:-$LOGNAME} \ | perl -ne 'if ( m!\(\:(\d+)\)$! ) {print ":$1.0\n"; $ok = 1; last} END {exit !$ok}' }

И в скрипте поправить вот так (в одной строчке нельзя, так как export сбивает $?):

1
DISPLAY=$(get_display) || exit export DISPLAY

взято с habrahabra

декабря 27, 2008 Add a comment
Home > Unix Like > Собственные уведомления (notify) в Gnome
Comments (2) Trackback Leave a comment
  1. Январь 5th, 2009 at 16:11 | #1

    Во, сейчас напишем полезный скриптик :)

  2. Декабрь 27th, 2008 at 15:13 | #2

    Прикольно, раньше как раз для чего-то надо было, но ниче, думаю еще не раз пригодится

Allowed tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>
Trackbacks (0 ) Detail Trackback