mirror of
https://github.com/swaywm/sway.git
synced 2026-04-23 06:46:27 -04:00
Implement ext-session-lock-v1
This commit is contained in:
parent
70d30ac72b
commit
519038a7e9
11 changed files with 290 additions and 7 deletions
|
|
@ -275,6 +275,25 @@ static void for_each_surface_container_iterator(struct sway_container *con,
|
|||
|
||||
static void output_for_each_surface(struct sway_output *output,
|
||||
sway_surface_iterator_func_t iterator, void *user_data) {
|
||||
if (server.session_lock.locked) {
|
||||
if (server.session_lock.lock == NULL) {
|
||||
return;
|
||||
}
|
||||
struct wlr_session_lock_surface_v1 *lock_surface;
|
||||
wl_list_for_each(lock_surface, &server.session_lock.lock->surfaces, link) {
|
||||
if (lock_surface->output != output->wlr_output) {
|
||||
continue;
|
||||
}
|
||||
if (!lock_surface->mapped) {
|
||||
continue;
|
||||
}
|
||||
|
||||
output_surface_for_each_surface(output, lock_surface->surface,
|
||||
0.0, 0.0, iterator, user_data);
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
if (output_has_opaque_overlay_layer_surface(output)) {
|
||||
goto overlay;
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue