[Xmonad] why no refresh on focus events?

Donald Bruce Stewart dons at cse.unsw.edu.au
Thu May 31 22:27:31 EDT 2007


glasser:
> I'm working on an "accordion" layout in which the layout depends on
> which window is focused.  (Basically: the focused window takes up most
> of the screen; the windows before it in the list are strips on the
> top, and the windows after it are strips on the bottom.)
> 
> It mostly works, but only when you use focus changes that go through
> the "windows" function; when a window is focused by mouse-over,
> nothing happens.  This is because of the patch quoted below, which
> doesn't refresh when you call "focus".  I'm wondering what the problem
> caused by that refresh was, and if there's another way to fix it?

This was noticed just prior to the release, in fact. Its a bit strange
-- since the state of the StackSet isn't being flushed to the screen.
The issue was that temporary focus changes due to transients popping up,
would cause those transients to disappear.

Now, though, we understand transients properly. I suspect we can safely 
call refresh now. I've applied the necessary change.

> (Also, the current doLayout signature is pretty restrictive.  It would
> be nice if it was told the workspace ID of the workspace it is laying
> out; that way it can get the windowset from the X state and, say, find
> out what the top window of the workspace being laid out is; W.peek
> just gives you the focused window of the entire StackSet.)

Why not pass the entire Workspace? Information is power :-)

-- Don


More information about the Xmonad mailing list