gzemnid
Desktop notification for unix geeks
- Current version: none / trunk
- Downloads: none
- Browse source: loggerhead
- Screenshot: 1
- Dependencies:
- twisted
- dbus-python (for notify-daemon support)
To get current development version, use Bazaar version system:
bzr branch http://www.webprojekty.cz/ccx/bzr/gzemnid
description
Gzemnid is lightweigth, networked desktop notification system focused on flexibility and configurability. It allows for multiple display endpoints, data sources and mesh-networked daemon intercommunication.
components
gzemnid.server
Server is autoran by any of the components. It creates following structure in your $XDG_CACHE_HOME/gzemnid ( ~/.cache/gzemnid by default ):
- gzemnid.pid -- pid file
- gzemnid.log -- log file, autorotated
- bencode -- bidirectional socket in bencode format
- bencode-in -- input socket in bencode format
gzemnid.send
Sends one message to the daemon.
examples:
$ cat message | python -m gzemnid.send
$ python -m gzemnid.send \
-a summary "$TITLE" \
-a body "$TEXT" \
-a template '{summary}: {body}'
gzemnid.client
Establishes connection to socket provided by server and pipes it to stdin/out or alternatively executes some command with stdin/out redirected to the socket.
examples:
$ tailf /var/log/messages | python -m gzemnid.client in/plain $ python -m gzemnid.client bencode -e 'ssh someserver "python -m gzemnid.client bencode "'
The latter example connects two gzemnid servers on two diferrent machines. Gzemnid has builtin cycle detection, so you don't have to worry about connecting to more servers.
znc-gzemnid
Module for znc that publishes notifications to local gzemnid server.
bzr branch http://www.webprojekty.cz/ccx/bzr/znc-gzemnid
Compile it with scons. Resulting libgzemnid.so need to be renamed and put into ~/.znc/modules/gzemnid.so
.xinitrc snippet
DZEN_OPTS=( -bg '#222222' -fn '-*-fixed-medium-r-normal-*-12-*-*-*-*-*-iso10646-1' -e "button3=exit:13;\ sigusr1=togglecollapse;\ entertitle=uncollapse;\ leaveslave=collapse;\ button4=scrollup;button5=scrolldown") python -m gzemnid.server ~/bzr/gzemnid/dbusnotify.py & ( echo "Notifications" while python -m gzemnid.client out/dzen2 | sed -u 's/\(.*\)/^tw()\1\n\1/' do echo '^tw()Disconnected from gzemnid, reconnecting...' done ) | dzen2 -ta right -l 15 -w 800 -tw 400 -x 1250 $DZEN_OPTS &