From 7a01cd9db3376356a13338858df608fd57971d15 Mon Sep 17 00:00:00 2001 From: HuntedByTheIRS Date: Fri, 3 Jul 2026 03:29:56 -0400 Subject: [PATCH] client: add ClientRuleEffects, can_float, can_fullscreen to Client struct --- include/client.h | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/include/client.h b/include/client.h index 9902152..2ad616c 100644 --- a/include/client.h +++ b/include/client.h @@ -19,6 +19,18 @@ struct wlr_scene_shadow; /* Client types */ enum { XDGShell, LayerShell, X11 }; +/* Per-client rule effects — standalone typedef (no parser.h include to avoid circular deps) */ +typedef struct { + bool rounding; + bool shadows; + bool transparency; + bool blur; + bool gaps; + bool smartgaps; + bool border; + bool sloppy_focus; +} ClientRuleEffects; + typedef struct Client { /* Must keep this field first — union-cast discriminant */ unsigned int type; /* XDGShell or X11 */ @@ -50,6 +62,11 @@ typedef struct Client { struct wlr_scene_tree *scene_surface; struct wlr_xdg_toplevel_decoration_v1 *decoration; + /* Per-rule constraints and effects */ + bool can_float; + bool can_fullscreen; + ClientRuleEffects rule_effects; + /* COLD — wl_listeners (set up once, rarely touched after) */ struct wl_listener commit; struct wl_listener map;