query: support additional conditions for matching clients

Co-authored-by: Andrew J. Hesford <ajh@sideband.org>

Closes: #2245.
This commit is contained in:
Orfeas 2024-10-18 02:07:52 +03:00 committed by Andrew J. Hesford
parent f394d03600
commit 96da82c085
7 changed files with 217 additions and 34 deletions

View file

@ -473,6 +473,26 @@ fill_action_query(char *nodename, char *content, struct action *action)
current_view_query->sandbox_engine = xstrdup(content);
} else if (!strcasecmp(nodename, "sandboxAppId")) {
current_view_query->sandbox_app_id = xstrdup(content);
} else if (!strcasecmp(nodename, "shaded")) {
current_view_query->shaded = parse_bool(content, -1);
} else if (!strcasecmp(nodename, "maximized")) {
current_view_query->maximized = view_axis_parse(content);
} else if (!strcasecmp(nodename, "iconified")) {
current_view_query->iconified = parse_bool(content, -1);
} else if (!strcasecmp(nodename, "focused")) {
current_view_query->focused = parse_bool(content, -1);
} else if (!strcasecmp(nodename, "omnipresent")) {
current_view_query->omnipresent = parse_bool(content, -1);
} else if (!strcasecmp(nodename, "tiled")) {
current_view_query->tiled = view_edge_parse(content);
} else if (!strcasecmp(nodename, "tiled_region")) {
current_view_query->tiled_region = xstrdup(content);
} else if (!strcasecmp(nodename, "desktop")) {
current_view_query->desktop = xstrdup(content);
} else if (!strcasecmp(nodename, "decoration")) {
current_view_query->decoration = ssd_mode_parse(content);
} else if (!strcasecmp(nodename, "monitor")) {
current_view_query->monitor = xstrdup(content);
}
}