From 78da614d67c09e197dffc1cebb1c5ce2357c7128 Mon Sep 17 00:00:00 2001 From: srdusr <99972264+srdusr@users.noreply.github.com> Date: Thu, 22 Aug 2024 16:06:00 +0200 Subject: Add per-window resize-margin override (Hyprland's extend_border_grab_area) MISSING.md had listed this as needing to touch srdwm_core::window:: hit_test's signature at every call site, including the honest-stub Windows/macOS backends - overstated on closer inspection: that shared function already takes a plain resize_margin: i32 parameter, agnostic to where the value comes from. The only real change needed was reading Window.resize_margin.unwrap_or(wm-wide default) instead of always the WM-wide value, at the single call site inside WindowManager::hit_test in core - no backend touched at all. Window.resize_margin: Option, WindowRuleActions.resize_margin to match, applied in add_window/reapply_rules_if_pending the same way opacity already is. Settable via a rule action or srd.window.set_resize_margin(n) on the focused window. --- docs/DEFAULTS.md | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'docs') diff --git a/docs/DEFAULTS.md b/docs/DEFAULTS.md index b5bf947..972e330 100644 --- a/docs/DEFAULTS.md +++ b/docs/DEFAULTS.md @@ -220,6 +220,10 @@ srd.rule(matcher, actions) - `pinned` (bool) - always-on-top - `opacity` (number, `0.0`..=`1.0`) - content opacity; srdwm's own titlebar/border/shadow always stay fully opaque regardless +- `resize_margin` (number, logical pixels) - per-window override of + `general.resize_margin` (Hyprland's per-window `extend_border_grab_area`). + Also settable live via `srd.window.set_resize_margin(n)` on the focused + window. ```lua srd.rule({ class = "pavucontrol" }, { floating = true }) -- cgit v1.2.3