#include <bits/signum.h>
#include <csignal>
#include <fstream>
+#include <thread>
#include <json.hpp>
namespace wm {
// Set all others invisible
for (auto &i : this->controller->surfaces) {
auto &si = this->controller->sprops[i.second->id];
- if (si.visibility == 1 && si.id != s->id &&
- int(si.id) != this->layers.main_surface) {
+ if (si.id != s->id && int(si.id) != this->layers.main_surface) {
i.second->set_visibility(0);
}
}
this->controller->commit_changes();
this->display->flush();
+ auto set_vis = [&s, this](int id, int vis) {
+ using namespace std::chrono_literals;
+
+ std::this_thread::sleep_for(100ms);
+ s->set_visibility(vis);
+ this->controller->commit_changes();
+ this->display->roundtrip();
+ };
+ set_vis(s->id, 0);
+ set_vis(s->id, 1);
+
// Current active surface is the first in last_active
this->last_active.push_front(s->id);
/// // XXX: I am not sure I even need 5 elements...