change & bug on Infinite desktop


On Sun, 11 Oct 2009 20:45:05 -0500, Jeremy Hankins wrote: 
> a minor tweak to infinite-desktop (stop-at-workspace-borders is no 
> longer a settable option, instead it depends on whether 
> viewport-boundary-mode is dynamic).

Oh, this is not minor. Previously, the default behavior of ID was to
ignore the VP size. But now, it is confined, and explicitly needs
dynamic VP to go far endlessly.

This is a good change. Smooth scroll of the virtual desktop by mouse
has nothing to do with VP infiniteness.

Thus the name 'infinite-desktop' does not make sense any more. But if
the name is to be changed, it should be done carefully.

And Jeremy, it's a bit buggy. Some users put in ~/.sawfishrc,
(define-special-variable infinite-desktop.stop-at-workspace-borders
nil) because it was a variable. (nil can be t) But now, it is a
function, so (infinite-desktop.stop-at-workspace-borders) returns an
error, as Invalid function: ()

Elisp can bind one name to both function and variable, but librep is
not. So (setq foo (lambda ...)) (foo) works. (I guess you know.:)

I propose to rename 'infinite-desktop.stop-at-workspace-borders' to
'stop-at-workspace-borders' (prefix is dropped), and move it into
viewport.jl.  So, if user sets a value to
'infinite-desktop.stop-at-workspace-borders', then it has no effect.

It's because since in future, edge-flip should be combined to other VP
features. My proposal enables for edge-flip functions to use

If you put an unused custom-var in wm/util/compat.jl, then the var is
deleted from ~/.sawfish/custom, and the value is not upon reading, as
it seems. So let's do it. What I said above is explicit setq blah,
and it can't be prevented with compat.jl, though.

Thanks a lot, Jeremy. Now VP is far better than it used to be.

Teika (Teika kazura)

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