Mir
Loading...
Searching...
No Matches
miral::MirRunner Class Reference

Runner for applying initialization options to Mir. More...

#include <runner.h>

Public Member 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 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.
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").
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").
auto wayland_display () const -> mir::optional_value< std::string >
 Get the Wayland endpoint name (if any) usable as a $WAYLAND_DISPLAY value.
auto x11_display () const -> mir::optional_value< std::string >
 Get the X11 socket name (if any) usable as a $DISPLAY value.

Detailed Description

Runner for applying initialization options to Mir.

Constructor & Destructor Documentation

◆ MirRunner() [1/2]

miral::MirRunner::MirRunner ( int argc,
char const * argv[] )

◆ MirRunner() [2/2]

miral::MirRunner::MirRunner ( int argc,
char const * argv[],
char const * config_file )

◆ ~MirRunner()

miral::MirRunner::~MirRunner ( )

Member Function Documentation

◆ add_start_callback()

void miral::MirRunner::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.

◆ add_stop_callback()

void miral::MirRunner::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.

◆ config_file()

auto miral::MirRunner::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").

Remarks
Since MirAL 2.4

◆ display_config_file()

auto miral::MirRunner::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").

Remarks
Since MirAL 2.4

◆ run_with()

auto miral::MirRunner::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

◆ set_exception_handler()

void miral::MirRunner::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).

◆ stop()

void miral::MirRunner::stop ( )

Tell the Mir server to exit.

◆ wayland_display()

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

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

Remarks
Since MirAL 2.8

◆ x11_display()

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

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

Remarks
Since MirAL 2.8

The documentation for this class was generated from the following file:

Copyright © 2012-2026 Canonical Ltd.
Generated on Mon Mar 16 14:59:04 UTC 2026
This documentation is licensed under the GPL version 2 or 3.