* Reaction on "personal" messages should take into account groupchat "highlights" as well as private chat messages. This possibly could be accomplished by hooking not the drawing of messages by some event which is generated when a chat tab/window title is updated. * Sometimes, it looks like the urgency flag is not dropped when a (toplevel) chat window seemingly gets focus. The reason *might* be a race condition between two parallel copies of `urgent`, of which one tries to clear the urgency flag, and another one tries to set it. The only sensible way to prevent such race conditions seems to be turning `urgent` into a Tcl extension. Another way could be to not just [exec ... &] the `urgent` binary, but read its stdout asynchronously while queueing urgency flag manipulation requests. This seems compilcated though. Yet another possible solution is to make `urgent` read the flag manipulation commands on its stdin continuously. Then we could permanently spawn just one copy of `urgent` at startup and feed it with commands. Serialization of commands would happen automatically while maintaining good speed of processing. * Think about turning `urgent` into a Tcl package.