diff options
| author | srdusr <[email protected]> | 2025-10-26 22:58:00 +0200 |
|---|---|---|
| committer | srdusr <[email protected]> | 2025-10-26 22:58:00 +0200 |
| commit | 304f3a374408bb6a5a04ebb7d4652c631395f5c6 (patch) | |
| tree | 8a40628fe016bd3e31c295cc76985d65c6354561 /crates/core/src/manager | |
| parent | 9f07715b469a481849ee35ffa33d6dab34356c7d (diff) | |
| download | srdwm-304f3a374408bb6a5a04ebb7d4652c631395f5c6.tar.gz srdwm-304f3a374408bb6a5a04ebb7d4652c631395f5c6.zip | |
Live-expose monitor split, clean up leftover debug diagnostics
srd.monitor.split only ever ran at Lua config load despite being a plain
WindowManager mutation that every backend's monitors() already reads
fresh on each call. Adds srd dispatch set output split <name|id> <parts>
[rows|columns] (IPC set_monitor_split), same id-resolves-to-name pattern
set_output_enabled already uses.
Also removes eight log::warn!("XXX-DIAG ...") lines left behind from live
debugging in the multi-session shift that landed in 3c41fc4 - the same
"temporary, never removed" pattern already fixed twice earlier this
session. Several fired on genuinely constant interaction (every title
change, every workspace switch, every layer-shell surface hide), not
just a one-off leftover. Left xdg_shell.rs's own POPUP-GEOM-DIAG/
POPUP-GRAB-DIAG alone - that one is a still-open, self-documented
investigation, not litter.
Also documents (docs/TODO.md, not a code change) a live incident where
creating a second fake monitor visibly corrupted the real monitor's
position and kept drifting with no further input - not root-caused
srdwm-side, flagged to the AGS peer session since a fake monitor's real
wl_output global is indistinguishable from a real hotplug to GDK/GTK.
And documents a deliberate decision not to blind-port window decoration
rendering onto the experimental, never-live-tested GPU render path.
Diffstat (limited to 'crates/core/src/manager')
| -rw-r--r-- | crates/core/src/manager/windows.rs | 21 |
1 files changed, 0 insertions, 21 deletions
diff --git a/crates/core/src/manager/windows.rs b/crates/core/src/manager/windows.rs index b2edb6b..5468796 100644 --- a/crates/core/src/manager/windows.rs +++ b/crates/core/src/manager/windows.rs @@ -28,14 +28,6 @@ impl WindowManager { window.corner_radius = self.theme.default_corner_radius; window.decorated = self.theme.default_decorated && !likely_draws_own_titlebar(&window.app_id); let actions = self.rules.iter().find(|r| r.matcher.matches(&window)).map(|r| r.actions.clone()); - log::warn!( - "DECO-DIAG add_window id={id} app_id={:?} title={:?} rules_count={} actions_found={} decorated_before_actions={}", - window.app_id, - window.title, - self.rules.len(), - actions.is_some(), - window.decorated - ); // See `Window::rules_applied`'s doc comment: a native Wayland window // still has empty title/app_id at this point, so a real (if // inconclusive) match attempt needs to wait for `reapply_rules_if_pending`. @@ -212,21 +204,9 @@ impl WindowManager { pub fn reapply_rules_if_pending(&mut self, id: WindowId) -> bool { let Some(window) = self.windows.get(&id) else { return false }; if window.rules_applied || (window.title.is_empty() && window.app_id.is_empty()) { - log::warn!( - "DECO-DIAG reapply_rules_if_pending id={id} SKIPPED rules_applied={} app_id={:?} title={:?}", - window.rules_applied, - window.app_id, - window.title - ); return false; } let actions = self.rules.iter().find(|r| r.matcher.matches(window)).map(|r| r.actions.clone()); - log::warn!( - "DECO-DIAG reapply_rules_if_pending id={id} app_id={:?} actions_found={} actions_decorated={:?}", - window.app_id, - actions.is_some(), - actions.as_ref().and_then(|a| a.decorated) - ); let Some(window) = self.windows.get_mut(&id) else { return false }; window.rules_applied = true; // `add_window`'s matching fallback only ever sees this once @@ -246,7 +226,6 @@ impl WindowManager { if let Some(decorated) = actions.decorated { window.decorated = decorated; } - log::warn!("DECO-DIAG reapply_rules_if_pending id={id} FINAL window.decorated={}", window.decorated); if let Some(color) = actions.border_color { window.border_color = color; } |