RFC Evolving Mir support for writing shells
Daniel van Vugt
daniel.van.vugt at canonical.com
Mon Mar 23 02:11:08 UTC 2015
For the benefit of all future shell developers;
<hand waiving>I'd like to inherit from "SomethingShell" and get
something that works in a few lines without writing additional code.
Then I would like to be able to override functions to customise the
shell behaviour.</hand waiving>
I feel that's the driving requirement because that would rapidly
accelerate Mir shell development globally, if it's really easy for
people to get started. With hundreds of header files and classes, I can
see libmirserver is probably overwhelming if someone was just starting
out trying to build a shell.
Syntax and implementation details are secondary.
On 20/03/15 20:21, Alan Griffiths wrote:
> Hi,
>
> I've been spiking replacing DefaultWindowManager with the "Canonical"
> one from examples (and discovered a number of tests make implicit
> assumptions about the default window management policy). But I'm
> wondering what the right end-state is:
>
> 1. Should a shell::BasicWindowManager template be public, supported
> and used by examples? Or should it be private and copy exist in
> examples?
>
> 2. Should shell::CanonicalWindowManagerPolicy just be a "snapshot"
> of example::CanonicalWindowManagerPolicy which could remain for
> experimentation or should the code move?
>
> 3. We have some tests and playground that are coupled to the
> PlacementStrategy & SurfaceConfigurator used with
> DefaultWindowManager but I don't think these configuration points
> are needed downstream. Are we happy to "unpublish" them (for now)
> but keep them to support the legacy code in tests and playground?
>
> Opinions?
>
> Thanks in advance,
> Alan
>
> PS If you want to look at the spike it is here:
>
> https://code.launchpad.net/~alan-griffiths/mir/spike-using-camonical-window-manager/+merge/253653
>
> NB I won't be MPing it in this form. The main point of interest is the
> test changes - the rest is dependent upon the above discussion.
>
>
More information about the Mir-devel
mailing list