Ideal screen rotation

Helge Hafting helge.hafting at
Wed Nov 4 13:55:29 CET 2009

Neil Jerram wrote:
> Having just written an automatic screen rotation program (like
> omnewrotate), I'm now wondering about the best way of using it, so
> that everything Just Works the way that it should.
> In particular, I've realized now that
> - for many apps there is a preferred orientation (e.g. zhone and
> hex-a-hop), and the best thing is to rotate the screen to what is best
> for each app, regardless of how the phone is being held
> - for some apps you definitely don't want the screen to be rotated
> underneath them, e.g. mokomaze
> - for the apps where autorotation makes sense, you want the control to
> be easily accessible - certainly a lot easier than switching back to
> the launcher or an xterm and doing something there :-)
> Have others already thought about this and devised solutions?
> I think a good solution might involve the window manager - since the
> window manager knows which app is at the front of the screen and so
> could rotate the screen correctly for it (including enabling
> autorotation for the apps where that makes sense).  Alternatively - at
> least for e17 - an easily accessible gadget in the top shelf could
> make it very simple to choose a specific orientation and to enable and
> disable autorotation.

The software that control rotation need to know if the foreground app
should run in landscape, portrait or auto mode. (And perhaps the 
upside-down variants as well.)

There are many ways to do this. For example:

1. Add this to enlightenment.
    Advantages: e already knows at all times
                which app is in the foreground. The .desktop
                files in /usr/share/applications/ can specify
                rotation preferences.
                You can also have rotation gadgets on the
                top shelf, for overriding when necessary.
    Disadvantage: Works only with e - obviously.

2. Give omnewrotate (or similiar rotation app) a list of apps and their
    preferred rotation.
    Advantage: works for all window managers
    disadvantage: overriding the rotation could be trickier, and
                  omnewrotate will need a way to get notified about
                  focus/foreground changes. Fast polling will slow down
                  the phone, slow polling will be too slow. So
                  notification is necessary.

Helge Hafting

More information about the community mailing list