aboutsummaryrefslogtreecommitdiffstats
path: root/TODO
blob: b08d18643c5336835928d380da62ae5d92728966 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
* 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.