compositor: extend applyrules, guard toggles, gate effects at render time only

This commit is contained in:
2026-07-03 04:20:35 -04:00
parent 310be15cf3
commit 0fac17ee84
2 changed files with 51 additions and 15 deletions
+16
View File
@@ -19,6 +19,17 @@ struct wlr_scene_shadow;
/* Client types */
enum { XDGShell, LayerShell, X11 };
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 +61,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;