Hi. 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 'stop-at-workspace-borders' 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. Regards, Teika (Teika kazura)
