
On Mon, 18 Jun 2007 13:12:36 +1000 dons@cse.unsw.edu.au (Donald Bruce Stewart) wrote:
This is a little weird. Spencer: was this expected.
The message seems to indicate that the "Hide windows that are not supposed to be visible" fixed it, which is a bit strange. Do the grey blobs appear immediately before this patch? Cheers, Spencer Janssen
Does it mean that the 'grey blobs' window is somehow not visible, and previously was just left on the screen?
----- Forwarded message from Sebastian Goll
----- Date: Sun, 17 Jun 2007 21:29:19 +0200 From: Sebastian Goll
To: dwm@suckless.org Subject: Re: [dwm] Greyish blobs On Sun, 17 Jun 2007 11:27:11 +0200 "Szabolcs Nagy"
wrote: have you tried other wms?
Just tried current xmonad version (Sun Jun 17 07:23:22 CEST 2007) and it works correctly, ie. it doesn't show any greyish blobs (but has the same flicker as ion3, wmii, and plain X). The problem appeared in xmonad too, but is fixed by patch "Hide windows that are not supposed to be visible" (Mon Jun 11 21:18:09 CEST 2007, patch attached).
I hope that helps identify the problem.
Regards, Sebastian
----- End forwarded message -----
This is the patch that apparently fixes the 'grey blobs' window:
Mon Jun 11 21:18:09 CEST 2007 Spencer Janssen
* Hide windows that are not supposed to be visible hunk ./Operations.hs 24 -import Data.List (genericIndex, intersectBy) +import Data.List (genericIndex, intersectBy, nub, (\\)) hunk ./Operations.hs 87 -shift n = withFocused hide >> windows (W.shift n) --- TODO: get rid of the above hide. 'windows' should handle all hiding and --- revealing of windows +shift n = windows (W.shift n) hunk ./Operations.hs 132 - let ws = f old + let oldvisible = concatMap (W.integrate . W.stack . W.workspace) $ W.current old : W.visible old + ws = f old hunk ./Operations.hs 138 - forM_ (W.current ws : W.visible ws) $ \w -> do + visible <- fmap concat $ forM (W.current ws : W.visible ws) $ \w -> do hunk ./Operations.hs 187 + -- return the visible windows for this workspace: + return (map fst rs ++ flt) + hunk ./Operations.hs 194 - -- We now go to some effort to compute the minimal set of windows to hide. - -- The minimal set being only those windows which weren't previously hidden, - -- which is the intersection of previously visible windows with those now hidden - mapM_ hide . concatMap (W.integrate . W.stack) $ - intersectBy (\w x -> W.tag w == W.tag x) - (map W.workspace $ W.current old : W.visible old) - (W.hidden ws) + -- hide every window that was potentially visible before, but is not + -- given a position by a layout now. + mapM_ hide (nub oldvisible \\ visible) _______________________________________________ Xmonad mailing list Xmonad@haskell.org http://www.haskell.org/mailman/listinfo/xmonad