feat(config): parse effects.windows.shadows from Lua config
Add CfgEffectsWindowShadows struct (12 fields) and CfgEffectsWindows.shadows member. Add wlr_scene_shadow *shadow field to Client struct for runtime shadow node tracking. Update example/config.lua with full shadow config block. The config parser handles missing shadows table gracefully (all default).
This commit is contained in:
+17
-1
@@ -59,7 +59,23 @@ monitors = {
|
|||||||
effects = {
|
effects = {
|
||||||
windows = {
|
windows = {
|
||||||
rounded = false,
|
rounded = false,
|
||||||
rounding = "none",
|
rounding = "none", -- off, light, or heavy
|
||||||
|
|
||||||
|
shadows = {
|
||||||
|
shadows = true,
|
||||||
|
shadow_radius = 24,
|
||||||
|
shadow_offset_x = 0,
|
||||||
|
shadow_offset_y = 8,
|
||||||
|
shadow_color = 0x000000ff,
|
||||||
|
shadow_opacity = 0.30,
|
||||||
|
shadow_expand = 12,
|
||||||
|
|
||||||
|
fullscreen_shadows = false,
|
||||||
|
nogaps_shadows = false,
|
||||||
|
maximized_shadows = false,
|
||||||
|
only_floating = false,
|
||||||
|
shadow_clip = true,
|
||||||
|
},
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -14,6 +14,7 @@ struct wlr_layer_surface_v1;
|
|||||||
struct wlr_xdg_surface;
|
struct wlr_xdg_surface;
|
||||||
struct wlr_xwayland_surface;
|
struct wlr_xwayland_surface;
|
||||||
struct wlr_xdg_toplevel_decoration_v1;
|
struct wlr_xdg_toplevel_decoration_v1;
|
||||||
|
struct wlr_scene_shadow;
|
||||||
|
|
||||||
/* Client types */
|
/* Client types */
|
||||||
enum { XDGShell, LayerShell, X11 };
|
enum { XDGShell, LayerShell, X11 };
|
||||||
@@ -54,6 +55,7 @@ typedef struct Client {
|
|||||||
#endif
|
#endif
|
||||||
unsigned int bw;
|
unsigned int bw;
|
||||||
int corner_radius;
|
int corner_radius;
|
||||||
|
struct wlr_scene_shadow *shadow;
|
||||||
uint32_t tags;
|
uint32_t tags;
|
||||||
int isfloating, isurgent, isfullscreen, isscratchpad;
|
int isfloating, isurgent, isfullscreen, isscratchpad;
|
||||||
uint32_t resize; /* configure serial of a pending resize */
|
uint32_t resize; /* configure serial of a pending resize */
|
||||||
|
|||||||
Reference in New Issue
Block a user