wiki: gzemnid

gzemnid

Desktop notification for unix geeks

  • Current version: none / trunk
  • Downloads: none
  • Browse source:  loggerhead

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.

source in loggerhead

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 &
Last modified by https://launchpad.net/~ccx on 02/10/2011 02:36:53 AM (16 months ago)