Geometry issues ...



Hi David,

On Mon, 2002-07-01 at 15:23, David Watson wrote:
> For example, imagine that the user resizes a window and then navigates to
> another location. If the geometry is only saved on window close, then the
> geometry will be saved for a location which the user never resized.  This
> isn't very intuitive because the change state and save state events are
> unrelated...

	Fine - but lets not keep saving it - I mean drag the window around, and
see it flicker - switch virtual desktop with a large directory and see
the horrible slowness as it re-sorts, re-lays out and re-renders the
whole thing. Also, the disk IO is just ugly.

	It is also the case that the geometry management doesn't work at all
with virtual desktops, for example start nautilus, switch to the desktop
to the right of it, killall -9 nautilus, watch the window appear in a
totally manic position. [ to do with negative offsets, clipping etc. ]

	After some more thought here is my conclusion:

	Saving / obeying the geometry in the meta-data seems to only make sense
to me for the "browse each URL in a new window" setting, and if that
setting is not turned on, then we are really doing a dis-service to
usability, since when you do 'Control-N' your windows all get piled on
top of the other window instead of the WM doing something sensible with
them.

	So, action item 1: Don't do geometry saving for the single 
			   window browse mode - it just complicates the
			   semantics horribly.

	So, action item 2: Since we get a new window per URI _anyway_ we 			  
only need to save the geometry on window close
			   and restore it on window creation.

	Thus, we a) make C-n useable again, b) save thrashing the meta-data, c)
save hundreds of bogus re-draws making window dragging ugly and d)
retain the nice stored geometry semantic in 'open in new window' mode.

	So I'll make up a patch for the above - should be fairly trivial, and
give it some testing.

	Regards,

		Michael.

-- 
 mmeeks gnu org  <><, Pseudo Engineer, itinerant idiot




[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]