srdusr
aboutsummaryrefslogtreecommitdiffstats
path: root/crates/core/src/manager
diff options
context:
space:
mode:
authorsrdusr <[email protected]>2025-10-26 22:58:00 +0200
committersrdusr <[email protected]>2025-10-26 22:58:00 +0200
commit304f3a374408bb6a5a04ebb7d4652c631395f5c6 (patch)
tree8a40628fe016bd3e31c295cc76985d65c6354561 /crates/core/src/manager
parent9f07715b469a481849ee35ffa33d6dab34356c7d (diff)
downloadsrdwm-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.rs21
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;
}