Merge lp:~alan-griffiths/mir/integrate-generic-shell into lp:mir
| Status: | Merged |
|---|---|
| Approved by: | Alan Griffiths on 2015-03-06 |
| Approved revision: | 2365 |
| Merged at revision: | 2375 |
| Proposed branch: | lp:~alan-griffiths/mir/integrate-generic-shell |
| Merge into: | lp:mir |
| Prerequisite: | lp:~alan-griffiths/mir/integrate-focus-controller |
| Diff against target: |
832 lines (+523/-56) 10 files modified
examples/CMakeLists.txt (+0/-1) examples/server_example_basic_window_manager.h (+4/-5) examples/server_example_window_management.cpp (+5/-5) include/server/mir/shell/generic_shell.h (+10/-13) include/server/mir/shell/window_manager.h (+7/-9) src/server/shell/CMakeLists.txt (+1/-0) src/server/shell/generic_shell.cpp (+19/-23) src/server/symbols.map (+10/-0) tests/unit-tests/scene/CMakeLists.txt (+1/-0) tests/unit-tests/scene/test_generic_shell.cpp (+466/-0) |
| To merge this branch: | bzr merge lp:~alan-griffiths/mir/integrate-generic-shell |
| Related bugs: |
| Reviewer | Review Type | Date Requested | Status |
|---|---|---|---|
| Alexandros Frantzis (community) | Approve on 2015-03-05 | ||
| PS Jenkins bot | continuous-integration | Approve on 2015-03-05 | |
| Robert Carr (community) | 2015-03-03 | Approve on 2015-03-04 | |
|
Review via email:
|
|||
Commit Message
examples, shell: integrate the GenericShell support for writing window management policies.
Description of the Change
examples, shell: integrate the GenericShell support for writing window management policies.
- 2363. By Alan Griffiths on 2015-03-04
-
merge lp:mir
| PS Jenkins bot (ps-jenkins) wrote : | # |
PASSED: Continuous integration, rev:2363
http://
Executed test runs:
SUCCESS: http://
SUCCESS: http://
SUCCESS: http://
SUCCESS: http://
deb: http://
SUCCESS: http://
deb: http://
SUCCESS: http://
SUCCESS: http://
Click here to trigger a rebuild:
http://
| Alexandros Frantzis (afrantzis) wrote : | # |
Looking at GenericShell, it seem to have very little logic in it, mostly forwarding calls to the WindowManager interface. It makes me wonder if the WindowManager/
98 #define MIR_EXAMPLE_
Needs update.
Needs discussion.
- 2364. By Alan Griffiths on 2015-03-05
-
Update guard in moved header
| Alan Griffiths (alan-griffiths) wrote : | # |
> Looking at GenericShell, it seem to have very little logic in it, mostly
> forwarding calls to the WindowManager interface. It makes me wonder if the
> WindowManager/
> with AbstractShell.
I contemplated rolling AbstractShell and GenericShell into one and using WindowManager as the customization point - the only real impediment to doing that is DefaultShell. (U8 makes trivial use of AbstractShell to avoid DefaultShell's behavior but I don't see that being hard to port.)
Given that DefaultShell has window management behavior that could only be described as perverse I'd like like to get rid of it as soon it is possible to change USC (and our examples) to something based on WindowManager.
> 98 #define MIR_EXAMPLE_
Fixed.
- 2365. By Alan Griffiths on 2015-03-05
-
merge lp:mir
| PS Jenkins bot (ps-jenkins) wrote : | # |
PASSED: Continuous integration, rev:2365
http://
Executed test runs:
SUCCESS: http://
SUCCESS: http://
SUCCESS: http://
SUCCESS: http://
deb: http://
SUCCESS: http://
deb: http://
SUCCESS: http://
SUCCESS: http://
Click here to trigger a rebuild:
http://
| Alexandros Frantzis (afrantzis) wrote : | # |
I am not convinced that GenericShell/
Alan mentioned in IRC an alternative approach in which WindowManager is exposed and *Shell classes are internal. I like this idea and I think it's worth pursuing it further. My only concern is that the WindowManager interface won't be enough for clients that have other shell needs (e.g. need to handle prompt sessions specially), but my experience in that area is limited.
All that being said, this MP seems like a reasonable starting point for further investigation and experimentation.
| Alan Griffiths (alan-griffiths) wrote : | # |
I would have been happy to take on board a different approach, but given the silence around here lets land and see where we can refactor to before the next release.

PASSED: Continuous integration, rev:2362 jenkins. qa.ubuntu. com/job/ mir-ci/ 3113/ jenkins. qa.ubuntu. com/job/ mir-android- vivid-i386- build/1485 jenkins. qa.ubuntu. com/job/ mir-clang- vivid-amd64- build/1484 jenkins. qa.ubuntu. com/job/ mir-mediumtests -vivid- touch/1439 jenkins. qa.ubuntu. com/job/ mir-vivid- amd64-ci/ 1110 jenkins. qa.ubuntu. com/job/ mir-vivid- amd64-ci/ 1110/artifact/ work/output/ *zip*/output. zip jenkins. qa.ubuntu. com/job/ mir-mediumtests -builder- vivid-armhf/ 1439 jenkins. qa.ubuntu. com/job/ mir-mediumtests -builder- vivid-armhf/ 1439/artifact/ work/output/ *zip*/output. zip jenkins. qa.ubuntu. com/job/ mir-mediumtests -runner- mako/4459 s-jenkins. ubuntu- ci:8080/ job/touch- flash-device/ 18504
http://
Executed test runs:
SUCCESS: http://
SUCCESS: http://
SUCCESS: http://
SUCCESS: http://
deb: http://
SUCCESS: http://
deb: http://
SUCCESS: http://
SUCCESS: http://
Click here to trigger a rebuild: s-jenkins. ubuntu- ci:8080/ job/mir- ci/3113/ rebuild
http://