
Ben Butler-Cole
I asked (edited):
I am unable to move focus away from the first window that I open. I can launch further windows, but they do not get focus. I can send the focused window to a different workspace, in which case focus switches to another window
When I try to switch focus there is some flickering -- I think the red border disappears and then reappears again as though focus very briefly switches where I'm trying to send it and then goes back again.
I haven't been able to see any pattern in when this does and doesn't happen.
I'm running Ubuntu 10.04, using XMonad from the standard package repo.
Brent Yorgey replied:
As just a first guess, it sounds like perhaps a poor interaction between XMonad.Actions.Warp and something else -- are you using any pointer-warping in your config? You could also try turning off focusFollowsMouse and see if that helps.
I'm not using any pointer warping. I'm afraid I haven't tried turning off focusFollowsMouse yet -- I'll try that now.
I have discovered a few more things about this. * It sometimes starts happening in the middle of a session. * I can make the problem go away by using the mouse to switch focus. * I can sometimes make the problem go away by pushing the offending window to another workspace and then going and getting it back again.
Is there any way to get XMonad to spit out any logging?
For what it's worth, I can reliably reproduce this by starting Pidgin on an empty workspace. Pidgin opens two windows (the buddy list and an authentication dialog -- which is unfortunately tiled, btw.), and I can't switch away from the buddy list by keyboard. Using the mouse helps every time. Debian squeeze XMonad(-contrib) 0.9.1, my config is: import XMonad import XMonad.Util.EZConfig import XMonad.Hooks.ManageDocks import XMonad.Layout.NoBorders import XMonad.Hooks.DynamicLog import XMonad.Util.Run (spawnPipe,hPutStrLn) import XMonad.Hooks.UrgencyHook import Data.List (isPrefixOf) import Control.Monad (liftM) main = do xmproc <- spawnPipe "xmobar /home/wferi/.xmonad/xmobar.hs" xmonad $ withUrgencyHook NoUrgencyHook $ defaultConfig { terminal = "urxvt", manageHook = composeAll [manageHook defaultConfig, manageDocks, title =? "pinentry" --> doFloat, (liftM (isPrefixOf "Ardour") className <&&> liftM not (appName =? "ardour_editor")) --> doFloat, liftM (isPrefixOf "JACK") title --> doFloat], layoutHook = smartBorders $ avoidStruts $ layoutHook defaultConfig, logHook = dynamicLogWithPP $ sjanssenPP { ppOutput = hPutStrLn xmproc, ppUrgent = xmobarColor "red" "" } } `additionalKeysP` [ ("M-S-l", spawn "sleep 1; xset dpms force off; exec xtrlock") ] I'd be happy to help debugging this, given some guidance. -- Regards, Feri.