On Sat, 11 Feb 2006, Mikhael Goikhman wrote:

On 11 Feb 2006 00:50:13 +0100, Viktor Griph wrote:

Currently EdgeScroll divides pixel steps>1000 by 1000 and enables wrap. I
belive this to be a bug (and is reportd as sush (#3162)). However, it is
useful to allow for warps when using pixel steps as well, so just removing
that ability is no good solution.

One possible solution would be to add another way of specifying wraps to
the syntax, and make it the required method for pixel sizes (or change
the check with pixels so that the size has to be larger than the screen
width, and an even multiplicand of 1000, in order for division to take
place (for compability with configs using for example EdgeScroll 1024000p
768000p)).

I think the intention was to only divide the percentage values by 1000
(the ones without "p" suffix). This is also what the man page says.

So, "EdgeScroll 1024p 768p" should be fixed not to wrap.

This has been done.

I can think of several possible syntaxes, and can't decide on which one is
best. One can either add a prefix (or another suffix) option 'w' to the
individual coordinates. (w1024p or (1024pw or 1024wp)), or one can add
optional keywords to the EdgeScroll syntax after the step parameters.
(i.e. EdgeScroll 1024p 768p wrap|wrapx|wrapy)

The last option seems better to me, although I don't think this is really
needed, anyone may achieve this now if he specifies 100% or 50%.

I implemented the last option. The need for it is when, as the initial bug reporter, one have xinerama with monitors of equal width and want to scroll one monitor at a time. Then the percentage won't be accurate ennough to not desync the scrolling.

While fixing this I noticed that the Scroll command doesn't work as intended either (at least not as described in the man page). I'm not sure how it's intended to work, so I don't know where to fix it.

The way it currently works is that if the move is greater than 100000 (pixels or percent) it will divide by 1000 and do wrapping. Wrapping will be done in a cyclic way to pass all pages (as stated in the manpage), however there will be no wrapping if the distance is between 1000 and 99000, it will just move that many percent (probably hitting the edge).

/Viktor

Reply via email to