why no refresh on focus events?

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?
(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.)
--dave
Mon May 28 09:31:27 EDT 2007 Don Stewart

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
participants (2)
-
David Glasser
-
dons@cse.unsw.edu.au