aboutsummaryrefslogtreecommitdiffstats
path: root/include/sway/server.h
diff options
context:
space:
mode:
authorLibravatar Alexander Orzechowski <alex@ozal.ski>2024-01-18 10:04:26 -0500
committerLibravatar Kirill Primak <vyivel@eclair.cafe>2024-01-18 18:36:54 +0300
commit9a579666068d62b9354a39941e1ac8c1f4a58093 (patch)
tree79d5d36f27b43f1d68969242211a0e01395c6bfc /include/sway/server.h
parentscene_graph: Port seatop_move_tiling indicators (diff)
downloadsway-9a579666068d62b9354a39941e1ac8c1f4a58093.tar.gz
sway-9a579666068d62b9354a39941e1ac8c1f4a58093.tar.zst
sway-9a579666068d62b9354a39941e1ac8c1f4a58093.zip
scene_graph: Port ext_session_v1
Diffstat (limited to 'include/sway/server.h')
-rw-r--r--include/sway/server.h25
1 files changed, 18 insertions, 7 deletions
diff --git a/include/sway/server.h b/include/sway/server.h
index f3d25980..33ffbf09 100644
--- a/include/sway/server.h
+++ b/include/sway/server.h
@@ -28,6 +28,19 @@
28 28
29struct sway_transaction; 29struct sway_transaction;
30 30
31struct sway_session_lock {
32 struct wlr_session_lock_v1 *lock;
33 struct wlr_surface *focused;
34 bool abandoned;
35
36 struct wl_list outputs; // struct sway_session_lock_output
37
38 // invalid if the session is abandoned
39 struct wl_listener new_surface;
40 struct wl_listener unlock;
41 struct wl_listener destroy;
42};
43
31struct sway_server { 44struct sway_server {
32 struct wl_display *wl_display; 45 struct wl_display *wl_display;
33 struct wl_event_loop *wl_event_loop; 46 struct wl_event_loop *wl_event_loop;
@@ -92,15 +105,9 @@ struct sway_server {
92 struct wl_listener gamma_control_set_gamma; 105 struct wl_listener gamma_control_set_gamma;
93 106
94 struct { 107 struct {
95 bool locked; 108 struct sway_session_lock *lock;
96 struct wlr_session_lock_manager_v1 *manager; 109 struct wlr_session_lock_manager_v1 *manager;
97 110
98 struct wlr_session_lock_v1 *lock;
99 struct wlr_surface *focused;
100 struct wl_listener lock_new_surface;
101 struct wl_listener lock_unlock;
102 struct wl_listener lock_destroy;
103
104 struct wl_listener new_lock; 111 struct wl_listener new_lock;
105 struct wl_listener manager_destroy; 112 struct wl_listener manager_destroy;
106 } session_lock; 113 } session_lock;
@@ -174,6 +181,10 @@ void handle_new_output(struct wl_listener *listener, void *data);
174void handle_idle_inhibitor_v1(struct wl_listener *listener, void *data); 181void handle_idle_inhibitor_v1(struct wl_listener *listener, void *data);
175void handle_layer_shell_surface(struct wl_listener *listener, void *data); 182void handle_layer_shell_surface(struct wl_listener *listener, void *data);
176void sway_session_lock_init(void); 183void sway_session_lock_init(void);
184void sway_session_lock_add_output(struct sway_session_lock *lock,
185 struct sway_output *output);
186bool sway_session_lock_has_surface(struct sway_session_lock *lock,
187 struct wlr_surface *surface);
177void handle_xdg_shell_toplevel(struct wl_listener *listener, void *data); 188void handle_xdg_shell_toplevel(struct wl_listener *listener, void *data);
178#if HAVE_XWAYLAND 189#if HAVE_XWAYLAND
179void handle_xwayland_surface(struct wl_listener *listener, void *data); 190void handle_xwayland_surface(struct wl_listener *listener, void *data);