From f09ace51bfb85b82cba8e434c69c6466aabd3f90 Mon Sep 17 00:00:00 2001 From: tokyo4j Date: Mon, 15 Sep 2025 03:31:56 +0900 Subject: [PATCH] view: fix Before this commit, branch was always executed with monitor="current", monitor="left" or monitor="right" queries. For example: --- src/view.c | 33 +++++++++++++++++++-------------- 1 file changed, 19 insertions(+), 14 deletions(-) diff --git a/src/view.c b/src/view.c index ef871313..97616cbc 100644 --- a/src/view.c +++ b/src/view.c @@ -215,20 +215,25 @@ view_matches_query(struct view *view, struct view_query *query) if (query->monitor) { struct output *current = output_nearest_to_cursor(view->server); - - if (!strcasecmp(query->monitor, "current") && current != view->output) { - return false; - } - if (!strcasecmp(query->monitor, "left") && - output_get_adjacent(current, LAB_EDGE_LEFT, false) != view->output) { - return false; - } - if (!strcasecmp(query->monitor, "right") && - output_get_adjacent(current, LAB_EDGE_RIGHT, false) != view->output) { - return false; - } - if (output_from_name(view->server, query->monitor) != view->output) { - return false; + if (!strcasecmp(query->monitor, "current")) { + if (current != view->output) { + return false; + } + } else if (!strcasecmp(query->monitor, "left")) { + if (output_get_adjacent(current, LAB_EDGE_LEFT, false) + != view->output) { + return false; + } + } else if (!strcasecmp(query->monitor, "right")) { + if (output_get_adjacent(current, LAB_EDGE_RIGHT, false) + != view->output) { + return false; + } + } else { + if (output_from_name(view->server, query->monitor) + != view->output) { + return false; + } } }