client: add ClientRuleEffects, can_float, can_fullscreen to Client struct
This commit is contained in:
@@ -19,6 +19,18 @@ struct wlr_scene_shadow;
|
|||||||
/* Client types */
|
/* Client types */
|
||||||
enum { XDGShell, LayerShell, X11 };
|
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 {
|
typedef struct Client {
|
||||||
/* Must keep this field first — union-cast discriminant */
|
/* Must keep this field first — union-cast discriminant */
|
||||||
unsigned int type; /* XDGShell or X11 */
|
unsigned int type; /* XDGShell or X11 */
|
||||||
@@ -50,6 +62,11 @@ typedef struct Client {
|
|||||||
struct wlr_scene_tree *scene_surface;
|
struct wlr_scene_tree *scene_surface;
|
||||||
struct wlr_xdg_toplevel_decoration_v1 *decoration;
|
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) */
|
/* COLD — wl_listeners (set up once, rarely touched after) */
|
||||||
struct wl_listener commit;
|
struct wl_listener commit;
|
||||||
struct wl_listener map;
|
struct wl_listener map;
|
||||||
|
|||||||
Reference in New Issue
Block a user