Demonstrate a custom placement strategy (that fullscreens surfaces)
std::shared_ptr<msh::DisplayLayout> const& display_layout)
: display_layout(display_layout)
{
}
{
auto placed_parameters = request_parameters;
geometry::Rectangle rect{request_parameters.
top_left, request_parameters.
size};
display_layout->size_to_output(rect);
placed_parameters.size = rect.size;
return placed_parameters;
}
{
server.add_configuration_option(
"fullscreen-surfaces",
"Make all surfaces fullscreen",
mir::OptionType::null);
server.override_the_placement_strategy([&]()
-> std::shared_ptr<ms::PlacementStrategy>
{
if (server.get_options()->is_set("fullscreen-surfaces"))
return std::make_shared<me::FullscreenPlacementStrategy>(server.the_shell_display_layout());
else
return std::shared_ptr<ms::PlacementStrategy>{};
});
}
Copyright © 2012,2013 Canonical Ltd.
Generated on Tue Mar 24 16:15:19 UTC 2015