Mir
display_configuration.h
Go to the documentation of this file.
1 /*
2  * Copyright © 2018 Canonical Ltd.
3  *
4  * This program is free software: you can redistribute it and/or modify it
5  * under the terms of the GNU General Public License version 3,
6  * as published by the Free Software Foundation.
7  *
8  * This program is distributed in the hope that it will be useful,
9  * but WITHOUT ANY WARRANTY; without even the implied warranty of
10  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11  * GNU General Public License for more details.
12  *
13  * You should have received a copy of the GNU General Public License
14  * along with this program. If not, see <http://www.gnu.org/licenses/>.
15  */
16 
17 #ifndef MIRAL_DISPLAY_CONFIGURATION_H
18 #define MIRAL_DISPLAY_CONFIGURATION_H
19 
20 #include <memory>
21 #include <string>
22 #include <vector>
23 
24 namespace mir { class Server; }
25 
26 namespace miral
27 {
28 class MirRunner;
30 
31 /// Enable display configuration.
32 /// The config file (miral::MirRunner::display_config_file()) is located via
33 /// the XDG Base Directory Specification. Vis:
34 ///($XDG_CONFIG_HOME or $HOME/.config followed by $XDG_CONFIG_DIRS)
35 /// \remark Since MirAL 2.4
37 {
38 public:
39  explicit DisplayConfiguration(MirRunner const& mir_runner);
40 
41  /// Provide the default 'display-layout' configuration option
43 
44  /// Select a layout from the configuration
45  void select_layout(std::string const& layout);
46 
47  /// List all layouts found in the config file
49 
50  void operator()(mir::Server& server) const;
51 
55 
56 private:
57  struct Self;
58  std::shared_ptr<Self> self;
59 };
60 }
61 
62 #endif //MIRAL_DISPLAY_CONFIGURATION_H

Copyright © 2012-2022 Canonical Ltd.
Generated on Fri Aug 26 13:27:37 UTC 2022
This documentation is licensed under the GPL version 2 or 3.