diff options
Diffstat (limited to 'src/app.cpp')
-rw-r--r-- | src/app.cpp | 33 |
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()); } } |