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

@ -62,9 +62,10 @@ enum ssd_part_type {
};
enum ssd_mode {
LAB_SSD_MODE_INVALID,
LAB_SSD_MODE_NONE,
LAB_SSD_MODE_BORDER,
LAB_SSD_MODE_FULL
LAB_SSD_MODE_FULL,
};
/* Forward declare arguments */

View file

@ -57,6 +57,11 @@ enum view_axis {
VIEW_AXIS_HORIZONTAL = (1 << 0),
VIEW_AXIS_VERTICAL = (1 << 1),
VIEW_AXIS_BOTH = (VIEW_AXIS_HORIZONTAL | VIEW_AXIS_VERTICAL),
/*
* If view_axis is treated as a bitfield, INVALID should never
* set the HORIZONTAL or VERTICAL bits.
*/
VIEW_AXIS_INVALID = (1 << 2),
};
enum view_edge {
@ -290,6 +295,16 @@ struct view_query {
int window_type;
char *sandbox_engine;
char *sandbox_app_id;
enum three_state shaded;
enum view_axis maximized;
enum three_state iconified;
enum three_state focused;
enum three_state omnipresent;
enum view_edge tiled;
char *tiled_region;
char *desktop;
enum ssd_mode decoration;
char *monitor;
};
struct xdg_toplevel_view {