Утилита notify-send, входящая в состав пакета libnotify-bin, позволяет отправить через D-BUS уведомление,
которое будет отражено в GNOME в виде всплывающего окошка.Пример:
notify-send -c info -t 1800000 "заголовок окна" "текст внутри окна"где, "-t 1800000" - таймаут висения окна в милисекундах.
"-c info" - категория оповещения, список можно найти здесь:
http://www.galago-project.org/specs/notification/0.9/x211.htmlВ тексте можно использовать тэги: <b>жирный шрифт</b>, <i>наклонный</i>, <u>с подчеркиванием</u>,
<a href="...">ссылки</a>, <img src="..." alt="...">картинки, размером до 200x100</img>.Интересные возможности по управлению оконным менеджером из командной строки предоставляет утилита wmctrl:
Получить список открытых окон:
wmctrl -lПолучить список открытых окон с отображением PID-процесса и инфрмацией о размере окна:
wmctrl -p -G -lСделать активным окно в названии которого есть слово licq:
wmctrl -a licqСвернуть окно в названии которого есть слово 'mozilla':
wmctrl -r mozilla -b add,shadedЗакрыть окно по его имени:
wmctrl -F -c 'Debian bug tracking system - Mozilla'Изменить заголовок окна для окна выбранного курсором мыши:
wmctrl -r :SELECT: -T "Selected Window"Развернуть окно со словом video в заголовке на полный экран
wmctrl -r "video" -b toggle,fullscreen
URL:
Обсуждается: http://www.opennet.dev/tips/info/1769.shtml
О, раздолье для малварьщиков. :-)
>О, раздолье для малварьщиков. :-)Если так рассуждать то все системные сервисы для малварщиков просто клад! Ведь они могут юзать их так же как и прочие программы.
Это как раз то, что я безуспешно искал!
Спасибо!
в третих кедах можно использовать dcop knotify
http://lukeplant.me.uk/articles.php?id=3в четвёртых кедах это делается через dbus
>в четвёртых кедах это делается через dbusА вот интересно, в третьих через d-bus можно?
разумеется нет
>Утилита notify-send, входящая в состав пакета libnotify-bin, позволяет отправить через D-BUS уведомление,notify-send у меня работает только из командной строки. При запуске из крона не происходит ничего.
libnotify-bin - такой пакет у меня не установлен.
Я даже не знаю где начинать копать. Никаких манов, инфо или чего-нибудь в этом роде.wmctrl у меня нет
Всё это на Федоре 9.
>notify-send у меня работает только из командной строки. При запуске из крона
>не происходит ничего.
>libnotify-bin - такой пакет у меня не установлен.
>Я даже не знаю где начинать копать. Никаких манов, инфо или чего-нибудь
>в этом роде.
>
>wmctrl у меня нет
>
>Всё это на Федоре 9.Направление копания прежде всего зависит от задачи. :)
Вместо пакета libnotify-bin в Федоре есть пакет libnotify. Утилита wmctrl входит в пакет wmctrl.
Если для какой-то утилиты отсутствуют маны, то иногда помогает ключ --help к самой утилите.
Иногда может помочь просмотр списка файлов, которые входят в состав пакета:rpm -ql package_name
В этом списке можно увидеть кое-какие доки, которые обычно помещаются в /usr/share/doc.
Либо сразу можно дать командуrpm -qd package_name
и она покажет только доки и маны, которые входят в состав пакета.
Для поиска пакетов удобнее всего использовать yum, имхо.
Что касается notify-send из-под cron, то этой утилите требуется установленная переменная DISPLAY, которая отсутствует в окружении cron. Так что ее сначала надо тем или иным способом установить.
Под Федорой мне также не удавалось отправлять с помощью этой утилиты уведомления от одного пользователя к другому. Из-под одного пользователя ему же удавалось, а из-под одного другому - нет. Поэтому приходилось дополнительно извращаться.
Хотелось конечно проще, но по-другому почему-то не получалось. :(
wmctrl -r mozilla -b add,shaded - скрутит, а не свернет, исправьте.
Правильно так:
wmctrl -r mozilla -b add,hidden
У меня так:
wmctrl -r VLC -b add,shaded сворачивает
wmctrl -r VLC -b add,hidden разворачивает