Ideal screen rotation
openmoko at underhand.org
Sun Nov 8 04:14:54 CET 2009
Carsten Haitzler (The Rasterman) wrote:
> On Sun, 08 Nov 2009 02:03:47 +0000 Dave Ball <openmoko at underhand.org> said:
>> Sounds like we should be using window properties for passing hints to
>> the WM, and dbus for getting orientation information from the
> that is sane. :)
>> Maybe it's time for omnewrotate to retire, with the WM talking to FSO's
>> orientation API  directly?
> perhaps. whatever the mechanism
> 1. the wm is the right place to make the decision.
> 2. the wm is in the best position to easily gather information about an
> application's window and know what window is active
> 3. the wm is already talking to the xserver as part of its job - and it's
> always hanging around
> 4. all the wm needs to know is "some external input has decded that the screne
> should be rotated".
I think what you meant here is the WM decides whether the screen should
be rotated or not - all the 'external input' provides to the WM is some
hint that e.g. the _device_ has been rotated? WM could decide to NOT
rotate the screen, if the current app only works in one orientation.
> be this an accelerometer, or like the g1, opening up the
> screen, so be it. as long as
> 4.1 the current status of this rotation state can be queried at any time (you
> can ask what position the device is in or the screen is opened up or not etc.
> 4.2 you can get an event when this state changes really quickly (not have to
> wait a while).
Indeed. I've not played with the fso orientation API, but it looks like
that is exactly what it's designed to provide. It seems sensible for
this to be over dbus - given that it's an abstraction of hardware.
> if it were me... i'd even have the current desired rotation state be a property
> on the root window too... but at this point its moot - dbus or property.
If the root window will only work in one orientation, specifying that
orientation through a window property would be consistent - but ideally
wouldn't we want the root window to be able to cope with being rotated
to work in either orientation? Or have i missed something special about
the root window?
More information about the community