using json = nlohmann::json;
struct wm::area area_from_json(json const &j) {
- DB(j);
return wm::area{
j["name"],
{
}
result<struct layout> layout_from_json(json const &j) {
- DB(j);
auto &ja = j["areas"];
auto l = layout{j["name"], uint32_t(ja.size()), {}};
// Will throw if parsing fails
struct result<layouts_type> load_layout(char const *filename) {
- DB("loading layout from " << filename);
+ logdebug("loading layout from %s", filename);
auto j = file_to_json(filename);
if (j.is_err()) {
struct result<layer_map>
load_layer_map(char const *filename) {
- DB("loading IDs from " << filename);
+ logdebug("loading IDs from %s", filename);
auto j = file_to_json(filename);
if (j.is_err()) {
// | .__/|_| \___/_/\_\_|\___|\__,_| |_____| \_/ \___|_| |_|\__|___/
// |_|
void App::surface_created(uint32_t surface_id) {
- DB("surface_id is " << surface_id);
+ logdebug("surface_id is %u", surface_id);
// We need to execute the surface setup after its creation.
this->add_task("surface_set_layout",
}
void App::surface_removed(uint32_t surface_id) {
- DB("surface_id is " << surface_id);
+ logdebug("surface_id is %u", surface_id);
}
// _ _ _ _ _ _ _
using json = nlohmann::json;
layer::layer(nlohmann::json const &j) {
- DB(j);
if (j["type"] == "range") {
this->id_min = j["first_surface_id"];
this->id_max = j["last_surface_id"];
}
struct result<struct layer_map> to_layer_map(nlohmann::json const &j) {
- DB(j);
try {
layer_map stl{};
auto m = j["mappings"];
auto jtests = j.value("tests", json());
if (!jtests.empty()) {
- DB("Embedded tests...");
+ logdebug("Embedded tests...");
std::vector<std::pair<int, int>> tests;
tests.reserve(jtests.size());
std::transform(std::cbegin(jtests), std::cend(jtests),
for (auto sid : tests) {
int lid = stl.get_layer_id(sid.first).value_or(-1);
- DB("this=" << sid.first << ", that=" << lid
- << ", expect=" << sid.second);
+ logdebug("this=%d, that=%d, expect=%d", sid.first, lid, sid.second);
if (lid != sid.second) {
return Err<layer_map>("ID Map embedded test failed!");
}
#define logdebug(...)
#endif
-#ifndef NDEBUG
-#define DB(expr) \
- do { \
- std::ostringstream o; \
- o << __FILE__ << ":" << __LINE__ << ":" << __func__ << ": " << expr; \
- logdebug("%s", o.str().c_str()); \
- } while (0)
-#else
-#define DB(expr)
-#endif
-
// _ _ _ __ _
// ___| |_ _ __ _ _ ___| |_ _ _ _ __ (_) __ _ _ _ ___ / _| __| |
// / __| __| '__| | | |/ __| __| | | | | '_ \| |/ _` | | | |/ _ \ | |_ / _` |