atagen

monolith

public
Star0
Watch0

Commit 96d58f0bbcbf

tarball

atagen <boss@atagen.co>2026-10-19 10:50 UTC

1 file changed+6-1
rules: stop redrawing on title changes that move no effect

Once a window has drawn only opacity, idle_inhibit, vrr and tearing follow its rules, but rematch still rebuilt the inhibit state and scheduled a redraw on every title change, which terminals send constantly.
Modified file: crates/monolith/src/rules.rs+6 additions−1 deletions
@@ -99,7 +99,12 @@ impl State {
9999 s.placed_by_rule = new.tag.is_some() || new.output.is_some();
100100 self.replace_placement(id, &old, &new);
101101 } else {
102- follow_effects(&mut s.rule, &new);
102+ let mut followed = s.rule.clone();
103+ follow_effects(&mut followed, &new);
104+ if followed == s.rule {
105+ return;
106+ }
107+ s.rule = followed;
103108 }
104109 self.update_inhibit();
105110 self.dirty.redraw = true;