Any feature of a shell that might be customized (like "placement strategy") would relate to a virtual method of mir::Shell that you override. e.g. virtual std::shared_ptr<FeatureX> get_featureX();
It is dangerous to assume how "Unity might" do things. More safe is to assume that if you make everything really simple with sane defaults, then people can get learn it and use it faster. With fewer mistakes and less coupling.
I meant...
class MyShell : public mir::Shell
{
...
}
int main()
{
MyShell shell;
return shell.run();
}
It should be that simple.
Any feature of a shell that might be customized (like "placement strategy") would relate to a virtual method of mir::Shell that you override. e.g. virtual std::shared_ ptr<FeatureX> get_featureX();
It is dangerous to assume how "Unity might" do things. More safe is to assume that if you make everything really simple with sane defaults, then people can get learn it and use it faster. With fewer mistakes and less coupling.