I said: > I think I've found the problem: maximize calls > display-window-without-focusing, and display-window-without-focusing > calls move-viewport-to-window and move-window-to-current-viewport.
One way to fix this would be to modify maximize so that it doesn't switch to the viewport of the window that it's maximizing. This would involve minor modifications to maximize-window and slightly less minor modifications to maximize-window-fullscreen (the main issue there is that I'm not sure of the relationship between head-offset and head-dims and the 0,0 point and screen dimensions -- I guess they're not always necessarily the same? If not, how do they relate to the offset and dimensions of viewports?) But the real issue, I think, would be get-visible-window-edges, in sawfish.wm.util.edges. We'd need a replacement that didn't return visible edges, but instead gave edges visible from a specified viewport. This ought to be possible, but it doesn't look very easy (at least for me). So before I put a lot of effort into trying to do this, does anyone have a better idea? It would of course be possible to have maximize-window switch to the viewport of a window and then (conditionally) switch back once the window is maximized, but besides the fact that this would involve a lot of windows being moved and then moved back I worry about screen flicker. Is there a way to prevent the display from updating during a process like that? Or does anyone have another idea? -- Jeremy Hankins <[email protected]>
