Go to the documentation of this file.
19 #ifndef MIRAL_WAYLAND_EXTENSIONS_H
20 #define MIRAL_WAYLAND_EXTENSIONS_H
33 namespace mir {
class Server; }
70 virtual auto display() const -> wl_display* = 0;
71 virtual
void run_on_wayland_mainloop(std::function<
void()>&& work) const = 0;
92 std::function<std::shared_ptr<void>(
Context const* context)>
build;
156 std::shared_ptr<Self>
self;
179 #endif //MIRAL_WAYLAND_EXTENSIONS_H
Mir Abstraction Layer.
Definition: floating_window_manager.h:31
auto application_for(wl_client *client) -> Application
Get the MirAL application for a wl_client.
auto operator=(WaylandExtensions const &) -> WaylandExtensions &
std::string name
Name of the protocol extension.
Definition: wayland_extensions.h:85
virtual auto display() const -> wl_display *=0
void add_extension(Builder const &builder)
Add a bespoke Wayland extension both to "supported" and "enabled by default".
std::shared_ptr< mir::scene::Session > Application
Definition: application.h:34
WaylandExtensions(WaylandExtensions const &)
Handle class to manage a Mir surface. It may be null (e.g. default initialized)
Definition: window.h:38
WaylandExtensions()
Default to enabling the extensions recommended by Mir.
void operator()(mir::Server &server) const
Definition: splash_session.h:24
auto window_for(wl_resource *surface) -> Window
Get the MirAL Window for a Wayland Surface, XdgSurface, etc. Note that there may not be a correspondi...
auto enable(std::string name) -> WaylandExtensions &
Enable a Wayland extension Throws a std::runtime_error if the extension is not supported.
void add_extension_disabled_by_default(Builder const &builder)
Add a bespoke Wayland extension both to "supported" but not "enabled by default".
auto disable(std::string name) -> WaylandExtensions &
Disable a Wayand extension Throws a std::runtime_error if the extension is not supported.
static auto recommended() -> std::set< std::string >
The set of Wayland extensions that Mir recommends. Also the set that is enabled by default upon const...
static char const *const zwlr_foreign_toplevel_manager_v1
Allows a client to get information and gain control over all toplevels of all clients Useful for task...
Definition: wayland_extensions.h:122
Context information useful for implementing Wayland extensions.
Definition: wayland_extensions.h:68
static char const *const zwlr_layer_shell_v1
Supported wayland extensions that are not enabled by default.
Definition: wayland_extensions.h:112
static char const *const zxdg_output_manager_v1
Allows clients to retrieve additional information about outputs.
Definition: wayland_extensions.h:116
static auto supported() -> std::set< std::string >
The set of Wayland extensions that core Mir supports. Does not include bespoke extensions A superset ...
auto all_supported() const -> std::set< std::string >
All Wayland extensions supported. This includes both the supported() provided by Mir and any extensio...
A Builder creates and registers an extension protocol.
Definition: wayland_extensions.h:83
std::function< std::shared_ptr< void >Context const *context)> build
Functor that creates and registers an extension protocol.
Definition: wayland_extensions.h:92
std::function< bool(Application const &app, char const *protocol)> Filter
Definition: wayland_extensions.h:96
Enable configuration of the Wayland extensions enabled at runtime.
Definition: wayland_extensions.h:48
void set_filter(Filter const &extension_filter)
Set an extension filter callback to control the extensions available to specific clients.
Copyright © 2012-2021
Canonical Ltd.
Generated on Thu Jun 24 19:55:23 UTC 2021
This documentation is licensed under the GPL version 2 or 3.