[Sugar-devel] prevent screen rotation in a sugar activity?
mikhak at mediamods.com
Mon Dec 20 13:40:48 EST 2010
On Dec 13, 2010, at 6:03 PM, James Cameron wrote:
> On Mon, Dec 13, 2010 at 01:12:04PM -0500, Bakhtiar Mikhak wrote:
>> On Dec 10, 2010, at 6:09 PM, James Cameron wrote:
>>> On Fri, Dec 10, 2010 at 05:50:54PM -0500, Bakhtiar Mikhak wrote:
>>>> If I am reading the current version of HIG correctly, it is not a
>>>> requirement for developers to implement a portrait layout for their
>>>> Screen Rotation
>>>> While in Hand-held mode, the laptops support screen rotation; by
>>>> pressing a small button on the bezel of the display, the interface
>>>> will rotate 90 degrees to provide a portrait layout of the
>>>> currently active activity. Just as any activity can implement
>>>> Hand-held mode, those which can benefit from a vertical aspect
>>>> ratio may also implement this feature, and we encourage developers
>>>> to take advantage of this functionality.
>>> Agreed, it is not a requirement for the activity to implement portrait
>>> layout. When it is not implemented, part of the activity would be
>>> invisible after rotation. The learner will rapidly find the activity
>>> does not work well when rotated, and will avoid rotating.
>> I was not suggesting to support a UI rotation without accounting for
>> the change in the dimensions!
> I wasn't suggesting that either. I mentioned it in order to be
> comprehensive. I've seen several activities or applications react in
> this way to rotation.
Thank you. I appreciate your point. My point was more basic: if one has the option to disable rotations for one's activity, one can ensure that the users of one's activity don't encounter a compromised rotated layout. :-)
>> Setting aside the wisdom of iPhone and Android allowing developers
>> control over UI rotation, there are however practical considerations
>> on XOs that lead us to want to disable UI rotation. For example, as
>> one can easily verify in Record and other activities which use
>> Gstreamer, xvimagesink does not rotate its contents.
> Ah, so you're saying the reason you do not wish to support rotation in
> your activity is that xvimagesink does not support rotation. You are in
> the same situation as the Record activity then. I was not aware of
Yes, whether or not we want to support rotation, we can't on XOs because of the documented bug with xvimagesink and UI rotation.
>> Your comments did also make us wonder if the case that you seem to be
>> concerned with can be seen anywhere on the laptop right now. And, we
>> discovered the bug that you can see in [ http://imgur.com/z8s4i ] on
>> the latest Sugar build on an XO-1.5. Note that the speaker icon gets
>> positioned incorrectly after a UI rotation as well.
> That's not the latest Sugar build, and that's not an XO-1.5. It is an
> XO-1, with OpenFirmware Q2E45, running OLPC OS os357. It's nearly the
> latest OLPC OS build; os358 follows. These are development builds
> leading toward 10.1.3 release.
I should have provided links to pictures from XO 1.0 and 1.5 machines; the bug effected both machines.
>> We have just filed tickets for these bugs.
> Where? I've just checked on http://bugs.sugarlabs.org/ and
> http://dev.laptop.org/ and couldn't find them.
The bugs were filed but apparently were still awaiting approval when I wrote my last message. They have both since been approved, closed, and noted as bugs that should be submitted to OLPC instead.
>>>> I therefore think it is worth considering if the control over if/how
>>>> one's activity takes advantage of screen rotation should be exposed
>>>> through the Sugar API.
>>> Sounds good, please propose a design and patch.
>> There are many people on this list who are more deeply familiar with
>> the Sugar source code and would know best know how to go about doing
>> this, but I am happy to work on it, and it would definitely be a good
>> constructionist learning experience. In the meantime, however, as
>> activity developers with limited time and resources, we were initially
>> asking if this functionality is already supported and exposed through
>> the API.
>> The larger point being, sometimes Activity developers would not mind
>> foregoing an opportunity to extend the platform they build on in
>> exchange for access to tools that help them be more expressive and
>> productive with that platform. Inviting our developers to extend the
>> system when they ask whether a feature is supported in the API,
>> however well intentioned and welcoming it is meant to be, can serve as
>> a deterrent. I am sure that is not what we want.
> Yes, it would be a deterrent to many. The last thing Sugar needs is
> changes that break things. Having been responsible for one recently,
> I'm being very cautious now. I'm not sure that it has helped, my
> patches still don't get in. I really doubt that I alone could achieve
> the API you desire.
> By the way, a request for an API for an activity to prevent rotate
> was logged in 2007 in ticket #2791. http://dev.laptop.org/ticket/2791
> See also
> http://dev.laptop.org/ticket/6477 (record-activity suddenly breaks if
> screen is rotated)
> http://dev.laptop.org/ticket/5797 (Record doesn't display image if the
> screen is rotated)
> http://dev.laptop.org/ticket/4112 (Need option to rotate recorded
Thank you for these links, Cameron. I appreciate you taking the time to consider and offer feedback on our questions.
> James Cameron
> Devel mailing list
> Devel at lists.laptop.org
More information about the Sugar-devel