Ideal screen rotation
helge.hafting at hist.no
Mon Nov 9 13:28:48 CET 2009
Rui Miguel Silva Seabra wrote:
> On Fri, Nov 06, 2009 at 04:40:04PM +0100, Helge Hafting wrote:
>> But there is a problem. The user may switch between several apps with
>> different rotation needs. (xmahjongg needs landscape, tetris needs
>> portrait, ...) How will omnewrotate be notified about this?
> The proper way is to define a set of DBUS signals.
> Of course conflicting signals need to be ignored.
What conflicting signals? A proper implementation won't
The normal freerunner usage is to maximize the foreground app, so there
is only one app that need its rotation preference obeyed at any time.
The user may run both some portrait apps, some landscape apps, and some
"don't care at all" apps and some "use the accelerometer orientation"
apps all at the same time. All of them can state their preferences,
only one need to be obeyed at any time.
So, when the user uses the arrows to flip form app to app, the
orientation stays the same if a "don't care" app is selected, or some
app that wants the current orientation. If an app with a different
orientation is selected, the display should change _before_ the new app
gets painted. It is a huge waste of time if the app first shows in the
wrong orientation, and then quickly changes. (Or if the previous app
is repainted in the new orientation before the new app is brought to the
There are no conflicts, but whatever software you have managing the
display must be able to change orientation at exactly the right moment.
Merely setting the orientation when an app is launched (like we do for
backlight) is no good - the user can switch apps at any time. Good
orientation management must therefore be a part of the app switching
More information about the community