Documentation for <wlr/types/wlr_session_lock_v1.h>

Back to index

Table of contents

struct wlr_session_lock_manager_v1

struct wlr_session_lock_manager_v1 {
	struct wl_global *global;
	
	struct {
		struct wl_signal new_lock; // struct wlr_session_lock_v1
		struct wl_signal destroy;
	} events;
	
	void *data;
	
	// private state
	
	struct wl_listener display_destroy;
};

wlr_session_lock_manager_v1_create()

struct wlr_session_lock_manager_v1 *wlr_session_lock_manager_v1_create(​struct wl_display *display);

struct wlr_session_lock_surface_v1

struct wlr_session_lock_surface_v1 {
	struct wl_resource *resource;
	struct wl_list link; // wlr_session_lock_v1.surfaces
	
	struct wlr_output *output;
	struct wlr_surface *surface;
	
	bool configured;
	
	struct wl_list configure_list; // wlr_session_lock_surface_v1_configure.link
	
	struct wlr_session_lock_surface_v1_state current;
	struct wlr_session_lock_surface_v1_state pending;
	
	struct {
		struct wl_signal destroy;
	} events;
	
	void *data;
	
	// private state
	
	struct wlr_surface_synced synced;
	
	struct wl_listener output_destroy;
};

struct wlr_session_lock_surface_v1_configure

struct wlr_session_lock_surface_v1_configure {
	struct wl_list link; // wlr_session_lock_surface_v1.configure_list
	uint32_t serial;
	
	uint32_t width, height;
};

wlr_session_lock_surface_v1_configure()

uint32_t wlr_session_lock_surface_v1_configure(​struct wlr_session_lock_surface_v1 *lock_surface, uint32_t width, uint32_t height);

struct wlr_session_lock_surface_v1_state

struct wlr_session_lock_surface_v1_state {
	uint32_t width, height;
	uint32_t configure_serial;
};

wlr_session_lock_surface_v1_try_from_wlr_surface()

struct wlr_session_lock_surface_v1 *wlr_session_lock_surface_v1_try_from_wlr_surface(​struct wlr_surface *surface);

Get a struct wlr_session_lock_surface_v1 from a struct wlr_surface.

Returns NULL if the surface has a different role or if the lock surface has been destroyed.

struct wlr_session_lock_v1

struct wlr_session_lock_v1 {
	struct wl_resource *resource;
	
	struct wl_list surfaces; // struct wlr_session_lock_surface_v1.link
	
	struct {
		struct wl_signal new_surface; // struct wlr_session_lock_surface_v1
		struct wl_signal unlock;
		struct wl_signal destroy;
	} events;
	
	void *data;
	
	// private state
	
	bool locked_sent;
};

wlr_session_lock_v1_destroy()

void wlr_session_lock_v1_destroy(​struct wlr_session_lock_v1 *lock);

wlr_session_lock_v1_send_locked()

void wlr_session_lock_v1_send_locked(​struct wlr_session_lock_v1 *lock);