Sideward Scrolling Desktop Environment or Window Manager

Posted on

Problem :

I saw a guy on the train the other day with a desktop environment or window manager that when you moved your mouse to the edge of the screen it would scroll sideways to reveal more of the desktop. As if there was a long thin desktop that wasn’t all on the screen at once.

It looked pretty old, had a kind of motif type look to it.

Anyone have any idea what this is or anything that works in a similar way? Would be perfect on my netbook.

Solution :

While geekosaur is partially correct in the sense that this can be done in X with viewports it can also be achieved entirely within Fvwm (the reason E16 supported this, btw, is because E16 was based off of Fvwm). Doing this within the wm also allows things to be tuned a bit more to personal preference.

Fvwm is one of the only WMs that supports the concept of virtual desktops and virtual workspaces (or “pages”). Most Window Managers only support the former. This distinction becomes important when you want to do things like what you describe: it is impossible to move windows accross desktops (move as in “drag”) whereas this is entirely possible with workspaces (if you drag a window accross the edge of a page it will flip to the next page, or just scroll the viewport as you describe).

A page is basically just a “view” on your desktop (you look through your physical screen at a part of your virtual desktop), if your desktops are only 1 page wide and one page high these are the same, however if you make your desktop bigger than the resolution of your physical screen things get interesting as you can no longer view your entire desktop in one “screen”.

A basic configuration for this behaviour in Fvwm would be something like this:

DesktopSize 3x3         #our desktops are 3 pages (or screens) wide and 3 high
DesktopName 0 "First desktop"
DesktopName 1 "Second desktop"
EdgeScroll 10 10        #scroll 10% when we hit the edge of the page
EdgeResistance 0 0 0    #allow scrolling and moving of pages when we hit the side of the screen

A few remarks here:

  • Fvwm doesn’t support end of line comments, these are just there to make the example more readable
  • The EdgeResistance syntax I used is deprecated, but should still work, if I read the manpage correctly this

    EdgeResistance scrolling
    Style * EdgeMoveDelay scrolling
    Style * EdgeMoveResistance moving

    should have the same effect.

  • There is no need to declare the desktops if you’re only after the pages, I just included them to demonstrate the difference between desktops and pages.

On an unrelated note: there’s no reason for Fvwm to look like something from the 80s, though a lot of it’s users don’t bother with making it look pretty, they just want something that works (see the Fvwm homepage for examples of how Fvwm can look and of course, for more documentation).

The window manager was probably fvwm or related, but the scrolling thing isn’t part of the window manager. Take a look at the Virtual and Viewport configuration options in xorg.conf.

If you want a more recent window manager that implements the same concept, have a look at e17. I prefer fluxbox now, but I used to be an avid e17 (and before that, e16) user.

It’s themable, has a lot of nice little addons, and runs really smoothly for software in perpetual beta, and is not to mention fast (so fast, in fact, that it has an FPS option to control drawing speed).

enter image description here

Leave a Reply

Your email address will not be published. Required fields are marked *