aboutsummaryrefslogtreecommitdiffstats
path: root/src/app.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/app.cpp')
-rw-r--r--src/app.cpp33
1 files changed, 20 insertions, 13 deletions
diff --git a/src/app.cpp b/src/app.cpp
index 93877ba..aa3f644 100644
--- a/src/app.cpp
+++ b/src/app.cpp
@@ -114,27 +114,34 @@ App::App(wl::display *d)
display{d},
controller{},
outputs(),
+ config(),
layouts(),
layers() {
assert(g_app == nullptr);
g_app = this;
- {
- auto l = load_layer_map("../ids.json");
- if (l.is_ok()) {
- this->layers = l.unwrap();
- } else {
- logerror("%s", l.err().value());
+ try {
+ {
+ auto l = load_layer_map(
+ this->config.get_string("layers.json").value().c_str());
+ if (l.is_ok()) {
+ this->layers = l.unwrap();
+ } else {
+ logerror("%s", l.err().value());
+ }
}
- }
- {
- auto l = load_layout("../layout.json");
- if (l.is_ok()) {
- this->layouts = l.unwrap();
- } else {
- logerror("%s", l.err().value());
+ {
+ auto l = load_layout(
+ this->config.get_string("layout.json").value().c_str());
+ if (l.is_ok()) {
+ this->layouts = l.unwrap();
+ } else {
+ logerror("%s", l.err().value());
+ }
}
+ } catch (std::exception &e) {
+ logerror("Loading of configuration failed: %s", e.what());
}
}