
On Tuesday 17 July 2007 12:27:38 Andrea Rossato wrote:
Hi,
today I added XEvents handling to xmobar, a status bar you should know I'm writing.
Now, this is more difficult of what I first thought, since xmobar makes heavy use of Haskell threads.
Since we need to call XNextEvent, it seems, as far as I can understand, that this is going to block every other Haskell threads, unless the threaded RTS is used and/or (?) forkOS (which requires anyway the threaded RTS) is used instead of forkIO.
While this is working fine on my system, I have a system with an old Xorg build (I cannot compile X11-1.2.2 and X11-extras on that machine), which seem to block all threads no matter what I do. This is not a valuable test for me, so I need testers to confirm or refute my personal test.
Here you can grab the source, which now requires x11-extras (I think that 0.2 should go, but I did not check: please let me know if you find out):
http://gorgias.mine.nu/xmobar/xmobar-0.7rc1.tar.gz
If no tester will show up, well, no problem: no refreshing xmobar will be released....;-)
ciao andrea
It seems to work on my machine. I have a recent Xlib (the XCB based 1.1.2). I tried replacing forkOS with forkIO, and things still seemed to work. However, removing -threaded caused serious hangs before text updates (perhaps only happening after each expose event?). Cheers, Spencer Janssen