The idea was then floated of having an escape sequence which caused the client to pop up a notification, so that even a curses-based application running on a remote server could alert you that you had new mail, or that someone had just said your name in channel.
So on the plane home, I hacked up an example implementation:
You can find the patches here:
- it still needs osso-xterm integration, but that should be easy
- patches to mutt, irssi, and so on to produce these sequences would be useful
- we need to work out something to do with terminfo to report that this sequence may be generated
- it uses OSC code 55, which is otherwise unused in gnome-terminal, but I don't know whether anyone else uses it for anything. (The relevant spec, ECMA-48, says that OSC codes are user-defined, but I'd still rather not tread on anyone's toes.)
- it only allows the sequence to be terminated by BEL; this is traditional, but ECMA-48 actually requires ST instead. This will be trivial to allow as well.
- I'm not at all sure about min/max versions of libnotify
(Edit: naltrexone suggests appropriate Flann O'Brien parody.)
Your thoughts (and patches) are welcome, as always.