Issue 91 in xmonad: DynamicLog causes xmonad to hang when the output pipe is full

Comment #5 on issue 91 by wirtwolff: DynamicLog causes xmonad to hang when the output pipe is full http://code.google.com/p/xmonad/issues/detail?id=91 Hmm, unfortunately, looks like this needs to be re-opened. Run either of these configs with latest darcs, or Config.Sjanssen, or anything that spawnPipes and hPutStrLn's to a status bar. Then kill the bar and hold down mod-j till xmonad freezes. Asgaroth worked out can find pipe fd via lsof, so to clear it to restart xmonad can use something like: ls /proc/`pgrep xmonad`/fd/`lsof | grep xmonad | \ egrep '[ur] *FIFO' | sed -n 's/.*\([0-9]\)[ur].*/\1/ p'` and cat the appropriate pipe. import XMonad import XMonad.Hooks.DynamicLog {- import XMonad.Hooks.ManageDocks import XMonad.Util.Run import System.IO main = do h <- spawnPipe "xmobar" xmonad $ defaultConfig { layoutHook = avoidStruts $ layoutHook defaultConfig , logHook = dynamicLogWithPP $ xmobarPP { ppOutput = hPutStrLn h } } -} -- or equivalent plus kebinding-- main = xmonad =<< statusBar "xmobar" xmobarPP strutkey defaultConfig where strutkey (XConfig {modMask = modm}) = (modm, xK_b) -- You received this message because you are listed in the owner or CC fields of this issue, or because you starred this issue. You may adjust your issue notification preferences at: http://code.google.com/hosting/settings
participants (1)
-
codesite-noreply@google.com