Ticket #3807 (new enhancement)
rotation and fullscreen mode
| Reported by: | walter | Owned by: | erikos |
|---|---|---|---|
| Priority: | Unspecified by Maintainer | Milestone: | Unspecified by Release Team |
| Component: | sugar-toolkit | Version: | Git as of bugdate |
| Severity: | Unspecified | Keywords: | |
| Cc: | Distribution/OS: | Unspecified | |
| Bug Status: | Unconfirmed |
Description
In trying to make the layout of may activity adapt to both fullscreen mode and screen rotation, I have been frustrated by the lack of documentation. I have observed a private variable in window.py that maintains the status the fullscreen mode, but don't know how to access it. There is an OLPC-specific mechanism for detecting screen rotation in olpc-kbdsm, but it is not documented, as far as I can tell, and it would be useful to have a mechanism in general for notifying Sugar activities that something has changed.
walterbender garycmartin: is there an activity you can recommend as an example of good handling of screen rotation?
garycmartin walterbender: example of good handling of screen rotation; no not specifically. Most do a fair job relying on standard gtk widget auto-scaling. I can't think of any off the top of my head that try and detect a change and do something more advanced (e.g. Calculate could auto switch between basic and scientific mode, or Read could auto switch between 1 column or 2 column book page layouts).
walterbender garycmartin: how to detect the change is not well documented...
garycmartin walterbender: agreed
walterbender garycmartin: I cannot even find doc on how to know if I am in fullscreen mode or not (I know when I enter, but not when I leave unless I access an internal variable in window)
manuq walterbender: maybe kbdism can be wrapped in a signal?
walterbender manuq: +1
garycmartin walterbender: I did consider at one point looking at the canvas aspect ratio to decide on portrait vs landscape when a canvas redraw was triggered, but I didn't have a good need for it back then.
walterbender manuq: are there any code snippets as to how to use kbdsm?
manuq walterbender: you could start reporting a bug for enhacement
manuq walterbender: not that I know
walterbender manuq: will do
manuq walterbender: great
