Skip to content

Commit 5868f76

Browse files
Issue 1399: use parent node instead of filterWorkspace
1 parent d999b5f commit 5868f76

File tree

1 file changed

+5
-9
lines changed

1 file changed

+5
-9
lines changed

src/modules/sway/window.cpp

+5-9
Original file line numberDiff line numberDiff line change
@@ -188,22 +188,18 @@ std::pair<int, int> leafNodesInWorkspace(const Json::Value& node) {
188188

189189
std::tuple<std::size_t, int, int, std::string, std::string, std::string> gfnWithWorkspace(
190190
const Json::Value& nodes, std::string& output, const Json::Value& config_,
191-
const Bar& bar_, Json::Value& parentWorkspace, Json::Value& filterWorkspace, const Json::Value& immediateParent) {
191+
const Bar& bar_, Json::Value& parentWorkspace, const Json::Value& immediateParent) {
192192
bool found_visible = false;
193193
for(auto const& node : nodes) {
194194
if (node["type"].asString() == "output") {
195195
if (!config_["all-outputs"].asBool() && node["name"].asString() != bar_.output->name) {
196196
continue;
197197
}
198-
filterWorkspace = node["current_workspace"];
199198
output = node["name"].asString();
200199
}
201200
else if(node["type"].asString() == "workspace") {
202-
if (!filterWorkspace.isString()) {
203-
continue;
204-
}
205201
// needs to be a string comparison, because filterWorkspace is the current_workspace
206-
if (node["name"].asString() != filterWorkspace.asString()) {
202+
if (node["name"].asString() != immediateParent["current_workspace"].asString()) {
207203
continue;
208204
}
209205
parentWorkspace = node;
@@ -239,8 +235,8 @@ std::tuple<std::size_t, int, int, std::string, std::string, std::string> gfnWith
239235
}
240236

241237
// iterate
242-
auto [nb, f, id, name, app_id, workspace_layout] = gfnWithWorkspace(node["nodes"], output, config_, bar_, parentWorkspace, filterWorkspace, node);
243-
auto [nb2, f2, id2, name2, app_id2, workspace_layout2] = gfnWithWorkspace(node["floating_nodes"], output, config_, bar_, parentWorkspace, filterWorkspace, node);
238+
auto [nb, f, id, name, app_id, workspace_layout] = gfnWithWorkspace(node["nodes"], output, config_, bar_, parentWorkspace, node);
239+
auto [nb2, f2, id2, name2, app_id2, workspace_layout2] = gfnWithWorkspace(node["floating_nodes"], output, config_, bar_, parentWorkspace, node);
244240

245241
if ((id > 0 || ((id2 < 0 || name2.empty()) && id > -1)) && !name.empty()) {
246242
return {nb, f, id, name, app_id, workspace_layout};
@@ -271,7 +267,7 @@ std::tuple<std::size_t, int, int, std::string, std::string, std::string> gfnWith
271267
std::tuple<std::size_t, int, int, std::string, std::string, std::string> Window::getFocusedNode(
272268
const Json::Value& nodes, std::string& output) {
273269
Json::Value placeholder = 0;
274-
return gfnWithWorkspace(nodes, output, config_, bar_, placeholder, placeholder, placeholder);
270+
return gfnWithWorkspace(nodes, output, config_, bar_, placeholder, placeholder);
275271
}
276272

277273
void Window::getTree() {

0 commit comments

Comments
 (0)