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 = {
|
||||
windows = {
|
||||
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_xwayland_surface;
|
||||
struct wlr_xdg_toplevel_decoration_v1;
|
||||
struct wlr_scene_shadow;
|
||||
|
||||
/* Client types */
|
||||
enum { XDGShell, LayerShell, X11 };
|
||||
@@ -54,6 +55,7 @@ typedef struct Client {
|
||||
#endif
|
||||
unsigned int bw;
|
||||
int corner_radius;
|
||||
struct wlr_scene_shadow *shadow;
|
||||
uint32_t tags;
|
||||
int isfloating, isurgent, isfullscreen, isscratchpad;
|
||||
uint32_t resize; /* configure serial of a pending resize */
|
||||
|
||||
Reference in New Issue
Block a user