diff options
| author | Ivan Molodetskikh <yalterz@gmail.com> | 2023-10-13 13:30:11 +0400 |
|---|---|---|
| committer | Ivan Molodetskikh <yalterz@gmail.com> | 2023-10-24 15:06:07 +0400 |
| commit | b20d8e7062ce1cbbffdfa64a7b32d2393237ea26 (patch) | |
| tree | bc71ba769934573d35695848ce4afb4d614e5481 /src/handlers/compositor.rs | |
| parent | 3fd421f13fb823a5dd2b75d0d8649d190f932b2d (diff) | |
| download | niri-b20d8e7062ce1cbbffdfa64a7b32d2393237ea26.tar.gz niri-b20d8e7062ce1cbbffdfa64a7b32d2393237ea26.tar.bz2 niri-b20d8e7062ce1cbbffdfa64a7b32d2393237ea26.zip | |
Implement ext-session-lock
Diffstat (limited to 'src/handlers/compositor.rs')
| -rw-r--r-- | src/handlers/compositor.rs | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/src/handlers/compositor.rs b/src/handlers/compositor.rs index d8d93d9c..034f1ca5 100644 --- a/src/handlers/compositor.rs +++ b/src/handlers/compositor.rs @@ -160,6 +160,18 @@ impl CompositorHandler for State { // FIXME: granular redraws for cursors. self.niri.queue_redraw_all(); } + + // This might be a lock surface. + if self.niri.is_locked() { + for (output, state) in &self.niri.output_state { + if let Some(lock_surface) = &state.lock_surface { + if lock_surface.wl_surface() == surface { + self.niri.queue_redraw(output.clone()); + break; + } + } + } + } } } |
