mirror of
https://github.com/labwc/labwc.git
synced 2025-10-29 05:40:24 -04:00
Currently, if the output layout changes while the session is locked, the lock surfaces may end up wrongly positioned, which looks bad and may reveal some of the user's workspace underneath. To prevent this, re-align the scene trees and reconfigure the lock surfaces when the output layout changes.
26 lines
631 B
C
26 lines
631 B
C
/* SPDX-License-Identifier: GPL-2.0-only */
|
|
#ifndef LABWC_SESSION_LOCK_H
|
|
#define LABWC_SESSION_LOCK_H
|
|
|
|
#include <wlr/types/wlr_session_lock_v1.h>
|
|
|
|
struct output;
|
|
struct server;
|
|
|
|
struct session_lock {
|
|
struct wlr_session_lock_v1 *lock;
|
|
struct wlr_surface *focused;
|
|
bool abandoned;
|
|
|
|
struct wl_list session_lock_outputs;
|
|
|
|
struct wl_listener new_surface;
|
|
struct wl_listener unlock;
|
|
struct wl_listener destroy;
|
|
};
|
|
|
|
void session_lock_init(struct server *server);
|
|
void session_lock_output_create(struct session_lock *lock, struct output *output);
|
|
void session_lock_update_for_layout_change(void);
|
|
|
|
#endif /* LABWC_SESSION_LOCK_H */
|