Filter out special output __i3 which contains scratchpad

Fixes: #2966

Signed-off-by: Jo De Boeck <deboeck.jo@gmail.com>
This commit is contained in:
Jo De Boeck 2024-02-27 23:43:00 +02:00
parent e79ea93d7d
commit 5a887fe1ef
1 changed files with 9 additions and 4 deletions

View File

@ -107,11 +107,16 @@ void Workspaces::onCmd(const struct Ipc::ipc_response &res) {
auto payload = parser_.parse(res.payload); auto payload = parser_.parse(res.payload);
workspaces_.clear(); workspaces_.clear();
std::vector<Json::Value> outputs; std::vector<Json::Value> outputs;
bool alloutputs = config_["all-outputs"].asBool();
std::copy_if(payload["nodes"].begin(), payload["nodes"].end(), std::back_inserter(outputs), std::copy_if(payload["nodes"].begin(), payload["nodes"].end(), std::back_inserter(outputs),
[&](const auto &workspace) { [&](const auto &output) {
return !config_["all-outputs"].asBool() if (alloutputs && output["name"].asString() != "__i3") {
? workspace["name"].asString() == bar_.output->name return true;
: true; }
if (output["name"].asString() == bar_.output->name) {
return true;
}
return false;
}); });
for (auto &output : outputs) { for (auto &output : outputs) {