commit f66b69762d6844cee473c591dbf3789800ecb785
parent 99e17d5efb28cf1017743a709aa28f2e0177f43f
Author: Milad Alizadeh <git@mil.ad>
Date: Fri, 20 Feb 2026 21:49:14 +0000
simplify output priority check
Diffstat:
1 file changed, 12 insertions(+), 12 deletions(-)
diff --git a/sway/tree/workspace.c b/sway/tree/workspace.c
@@ -202,11 +202,10 @@ static bool workspace_valid_on_output(const char *output_name,
}
for (int i = 0; i < wsc->outputs->length; i++) {
- if (output_match_name_or_id(output, wsc->outputs->items[i])) {
- return true;
- }
- if (output_by_name_or_id(wsc->outputs->items[i])) {
- return false; // a higher-priority output is available
+ struct sway_output *ws_output =
+ output_by_name_or_id(wsc->outputs->items[i]);
+ if (ws_output) {
+ return ws_output == output;
}
}
@@ -323,15 +322,16 @@ char *workspace_next_name(const char *output_name) {
}
bool found = false;
for (int j = 0; j < wsc->outputs->length; ++j) {
- if (output_match_name_or_id(output, wsc->outputs->items[j])) {
- found = true;
- free(target);
- target = strdup(wsc->workspace);
+ struct sway_output *ws_output =
+ output_by_name_or_id(wsc->outputs->items[j]);
+ if (ws_output) {
+ if (ws_output == output) {
+ found = true;
+ free(target);
+ target = strdup(wsc->workspace);
+ }
break;
}
- if (output_by_name_or_id(wsc->outputs->items[j])) {
- break; // a higher-priority output is available
- }
}
if (found) {
break;