Class MirRunner

Class Documentation

class MirRunner

Runner for applying initialization options to Mir.

Public Functions

MirRunner(int argc, char const *argv[])
MirRunner(int argc, char const *argv[], char const *config_file)
~MirRunner()
void add_start_callback(std::function<void()> const &start_callback)

Add a callback to be invoked when the server has started, If multiple callbacks are added they will be invoked in the sequence added.

void add_stop_callback(std::function<void()> const &stop_callback)

Add a callback to be invoked when the server is about to stop, If multiple callbacks are added they will be invoked in the reverse sequence added.

void register_signal_handler(std::initializer_list<int> signals, std::function<void(int)> const &handler)

Add signal handler to the server’s main loop.

Remark

Since MirAL 3.7

auto register_fd_handler(mir::Fd fd, std::function<void(int)> const &handler) -> std::unique_ptr<miral::FdHandle>

Add a watch on a file descriptor. The handler will be triggered when there is data to read on the Fd.

Remark

Since MirAL 3.7

void set_exception_handler(std::function<void()> const &handler)

Set a handler for exceptions caught in run_with(). run_with() invokes handler() in catch (…) blocks before returning EXIT_FAILURE. Hence the exception can be re-thrown to retrieve type information. The default action is to call mir::report_exception(std::cerr)

auto run_with(std::initializer_list<std::function<void(::mir::Server&)>> options) -> int

Apply the supplied initialization options and run the Mir server.

Returns:

EXIT_SUCCESS or EXIT_FAILURE according to whether the server ran successfully

Note

blocks until the Mir server exits

void stop()

Tell the Mir server to exit.

auto config_file() const -> std::string

Name of the .config file. The .config file is located via the XDG Base Directory Specification: $XDG_CONFIG_HOME or $HOME/.config followed by $XDG_CONFIG_DIRS Config file entries are long form (e.g. “x11-output=1200x720”)

Remark

Since MirAL 2.4

auto display_config_file() const -> std::string

Name of the .display configuration file. The .display file is located via the XDG Base Directory Specification: $XDG_CONFIG_HOME or $HOME/.config followed by $XDG_CONFIG_DIRS Config file entries are long form (e.g. “x11-output=1200x720”)

Remark

Since MirAL 2.4

auto wayland_display() const -> mir::optional_value<std::string>

Get the Wayland endpoint name (if any) usable as a $WAYLAND_DISPLAY value.

Remark

Since MirAL 2.8

auto x11_display() const -> mir::optional_value<std::string>

Get the X11 socket name (if any) usable as a $DISPLAY value.

Remark

Since MirAL 2.8