[Orientation] Allow applications to specify the orientations supported
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Ubuntu UX |
Fix Released
|
High
|
Vesa Rautiainen | ||
qtmir (Ubuntu) |
Fix Released
|
High
|
Daniel d'Andrada | ||
unity8 (Ubuntu) |
Fix Released
|
Undecided
|
Unassigned |
Bug Description
Currently unity8 shell has a partial implementation of orientation support. It trusts applications to rotate their own contents, if they want to. The shell doesn't reposition the panel (at the top) though, so a landscape app still has a portrait panel on the side.
For proper orientation support in the shell, shell needs to know if the application wants to rotate its contents or not. To animate correctly, we really need shell to be responsible for rotating the app surface, not the app itself.
Therefore an application needs to tell shell what orientations it supports, so shell can respect its wishes.
A hint in the desktop file may be sufficient.
-------
Desired UX
As described above. Application should be able to tell the system its possible orientations so that the shell can handle the actual rotation accordingly.
Related branches
- Michał Sawicz: Approve
- Gerry Boland (community): Approve
- PS Jenkins bot (community): Needs Fixing (continuous-integration)
-
Diff: 594 lines (+238/-94)12 files modifiedCMakeLists.txt (+3/-1)
debian/changelog (+6/-0)
debian/control (+2/-2)
src/modules/Unity/Application/CMakeLists.txt (+0/-1)
src/modules/Unity/Application/application.cpp (+9/-7)
src/modules/Unity/Application/application.h (+4/-15)
src/modules/Unity/Application/application_manager.cpp (+0/-34)
src/modules/Unity/Application/desktopfilereader.cpp (+96/-0)
src/modules/Unity/Application/desktopfilereader.h (+5/-0)
src/modules/Unity/Application/mirsurfaceitem.cpp (+22/-29)
src/modules/Unity/Application/mirsurfaceitem.h (+21/-5)
tests/modules/DesktopFileReader/desktopfilereader_test.cpp (+70/-0)
Changed in ubuntu-ux: | |
assignee: | nobody → Vesa Rautiainen (vesar) |
summary: |
- Allow applications to specify the orientations supported + [Dash] Allow applications to specify the orientations supported |
Changed in ubuntu-ux: | |
status: | New → Triaged |
Changed in ubuntu-ui-toolkit (Ubuntu): | |
status: | New → Triaged |
no longer affects: | ubuntu-ui-toolkit |
Changed in ubuntu-ux: | |
importance: | Undecided → High |
summary: |
- Allow applications to specify the orientations supported + [Orientation] Allow applications to specify the orientations supported |
tags: | added: landscape |
Changed in qtmir: | |
status: | New → In Progress |
importance: | Undecided → High |
assignee: | nobody → Daniel d'Andrada (dandrader) |
Changed in qtmir: | |
status: | In Progress → Fix Released |
Changed in ubuntu-ux: | |
status: | Triaged → Fix Released |
description: | updated |
Changed in unity8 (Ubuntu): | |
status: | Incomplete → Fix Released |
no longer affects: | ubuntu-ui-toolkit (Ubuntu) |
affects: | qtmir → qtmir (Ubuntu) |
> A hint in the desktop file may be sufficient.
Nope, it needs to be a surface property. Apps need to be able to dynamically change their orientation preference.
What's more, as discussed before, some apps will still want to rotate themselves (like camera, probably some games). The panel still needs to change position in that case, and we may say we only support this if app is fullscreen.
All in all, I believe this needs design exploration.