Tavu allows remote programs to use your local KDE notification system (aka knotify). The network communication between the remote program and knotify is done using the XMPP (Jabber) protocol.
Then it's very simple: when KJabnotify receives a message, it triggers a KDE notification.
Download Tavu version 0.2.1, then
extract it somewhere and run make install as root.
Then, run tavu-listen. When you run the program for
the first time, a configuration file will be created. All you have to do is
fill the "jid" and "password" lines so that the program can connect to the
Jabber network.
If you stick with Tavu's default configuration, the remote program has to use its own name as resource when connecting to the Jabber server. Then the name of the event is to be placed in the message subject, and the text of the event in the message itself. An example of a program that behaves this way is jabber_hilight_notify.
You might want to change this default configuration, though, and e.g. have Tavu read the application name from the name associated to its JID in the roster. See the next section (Advanced configuration) to see how this can be done.
On the local side, to configure how KDE will react to the events, just
create a file called ~/.kde/share/apps/FOO/eventsrc, where FOO
is the name of the remote program. You can refer to the
knotify documentation
to see what the file should look like.
Of course, you can customize the place where Tavu will look for the information about the events it receives (application, event name, notification text). These 3 parameters can be defined in the configuration file, in the section "Event information". In order to give you a good flexibility in the way to interact with the remote application, you can use the following variables:
To avoid event spoofing, you can restrict the JIDs Tavu will accept
notifications from. The corresponding option is accept, located
in the section "Message filters".
The possible values for accept are: roster,
self, roster+self, list, roster+list,
all and none.
If you set accept to either list or roster+list, you can further provide a list of JIDs to be accepted, with the list option.
Tavu is being written by David Ammouial.