Slved]ScrollingPagerWhileMouse1 Root+motiondisplacement+ALT?

Smooth scrolling of the page while mouse 1 Root+motion displacement +ALT ?

I would like to click on the root (mouse 1) with ALT key, then
proportionally to the motion of mouse (+valueXmouse +valueYmouse), scroll the screen.

SCROLL +valueXmouse +valueYmouse

It would be like moving the pager on just clicking on the root with ALT pressed.

I dont know whether this could be possibly done.

I tried sthg like :

Mouse 1    R     M         Scroll $Mouse Motion 0

and this is not working (of course)

:question: :unamused:

If you have any idea, please do not hesitate to let us know.

Thank you,


It depends on your other configuration somewhat. If you are not using strokes via StrokeFunc, and have stroke support compiled in it can be done. Also if you are using strokes, and have no very simple strokes (i.e straight lines) it can also be done easy.

DestroyFunc DragViewPort
AddToFunc DragViewPort
+ I StrokeFunc
+ I PipeRead "echo Scroll $(($[pointer.x]-$0))p $(($[pointer.y]-$1))p"

Mouse 1 R M DragViewPort $$[pointer.x] $$[pointer.y]

If you are using simple strokes (taht can be matched by any viewport motion you might want to do) you will have to make additional modifications of the stroke bindings to disable them.

DestroyFunc StartDragViewPort
AddToFunc StartDragViewPort
+ I UnsetStrokeBindings
+ I DragViewPort $[pointer.x] $[pointer.y]
+ I SetStrokeBindings

Where you have to move all your ‘Stroke sequence 0 … commands’ to a function SetStrokeBindings and also create a corresponding UnsetStrokeBindings function that disables the strokes.

The use of the StrokeFunc command is required since there is no other way to wait for a key release in function execution.

It works !

Thank you very much! Thank you for sharing your great knowledge.

That’s really amazing what we can do with fvwm !!

Greetings from Belgium