atagen

monolith

public
Star0
Watch0

Commit 2a8a1002a4a2

tarball

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

1 file changed+3-2
frame: leave the drag icon out while the session is locked

compose drew the DnD icon in front of the lock surfaces, showing what was being dragged over the lock screen.
Modified file: crates/monolith/src/frame.rs+3 additions−2 deletions
@@ -46,6 +46,7 @@ pub fn compose(
4646 ) -> Vec<Draw> {
4747 let mut elements = Vec::new();
4848 let scale = output.current_scale().fractional_scale();
49+ let locked = crate::lock::elements(ctx.lock, ctx.renderer, output);
4950 if let Some(area) = ctx.wm.layout.output(o).map(|out| out.area) {
5051 let pos = ctx.input.pointer_pos;
5152 if area.contains(pos.x, pos.y) {
@@ -59,12 +60,12 @@ pub fn compose(
5960 .elements(ctx.renderer, status, local, scale),
6061 );
6162 }
62- if let Some(icon) = &ctx.input.dnd_icon {
63+ if let Some(icon) = ctx.input.dnd_icon.as_ref().filter(|_| locked.is_none()) {
6364 elements.extend(icon.elements(ctx.renderer, local, scale));
6465 }
6566 }
6667 }
67- match crate::lock::elements(ctx.lock, ctx.renderer, output) {
68+ match locked {
6869 Some(locked) => elements.extend(locked),
6970 None => elements.extend(crate::scene::build(
7071 ctx.wm,