aboutsummaryrefslogtreecommitdiff
path: root/sway/criteria.c
diff options
context:
space:
mode:
Diffstat (limited to 'sway/criteria.c')
-rw-r--r--sway/criteria.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/sway/criteria.c b/sway/criteria.c
index c2e9c07e..b2c6edf9 100644
--- a/sway/criteria.c
+++ b/sway/criteria.c
@@ -19,7 +19,9 @@ bool criteria_is_empty(struct criteria *criteria) {
&& !criteria->instance
&& !criteria->con_mark
&& !criteria->con_id
+ #ifdef HAVE_XWAYLAND
&& !criteria->id
+ #endif
&& !criteria->window_role
&& !criteria->window_type
&& !criteria->floating
@@ -127,12 +129,14 @@ static bool criteria_matches_view(struct criteria *criteria,
}
}
+ #ifdef HAVE_XWAYLAND
if (criteria->id) { // X11 window ID
uint32_t x11_window_id = view_get_x11_window_id(view);
if (!x11_window_id || x11_window_id != criteria->id) {
return false;
}
}
+ #endif
if (criteria->window_role) {
// TODO
@@ -265,7 +269,9 @@ enum criteria_token {
T_CON_ID,
T_CON_MARK,
T_FLOATING,
+ #ifdef HAVE_XWAYLAND
T_ID,
+ #endif
T_INSTANCE,
T_SHELL,
T_TILING,
@@ -287,8 +293,10 @@ static enum criteria_token token_from_name(char *name) {
return T_CON_ID;
} else if (strcmp(name, "con_mark") == 0) {
return T_CON_MARK;
+ #ifdef HAVE_XWAYLAND
} else if (strcmp(name, "id") == 0) {
return T_ID;
+ #endif
} else if (strcmp(name, "instance") == 0) {
return T_INSTANCE;
} else if (strcmp(name, "shell") == 0) {
@@ -355,7 +363,9 @@ static char *get_focused_prop(enum criteria_token token) {
case T_CON_ID: // These do not support __focused__
case T_CON_MARK:
case T_FLOATING:
+ #ifdef HAVE_XWAYLAND
case T_ID:
+ #endif
case T_TILING:
case T_URGENT:
case T_WINDOW_TYPE:
@@ -426,12 +436,14 @@ static bool parse_token(struct criteria *criteria, char *name, char *value) {
case T_WINDOW_TYPE:
// TODO: This is a string but will be stored as an enum or integer
break;
+ #ifdef HAVE_XWAYLAND
case T_ID:
criteria->id = strtoul(effective_value, &endptr, 10);
if (*endptr != 0) {
error = strdup("The value for 'id' should be numeric");
}
break;
+ #endif
case T_FLOATING:
criteria->floating = true;
break;