Documentation for <wlr/types/wlr_idle.h>

Back to index

Table of contents

struct wlr_idle

struct wlr_idle {
	struct wl_global *global;
	struct wl_list idle_timers; //
	struct wl_event_loop *event_loop;
	bool enabled;
	struct wl_listener display_destroy;
	struct {
		struct wl_signal activity_notify;
		struct wl_signal destroy;
	} events;
	void *data;


struct wlr_idle *wlr_idle_create(​struct wl_display *display);


void wlr_idle_notify_activity(​struct wlr_idle *idle, struct wlr_seat *seat);

Send notification to restart all timers for the given seat. Called by compositor when there is an user activity event on that seat.


void wlr_idle_set_enabled(​struct wlr_idle *idle, struct wlr_seat *seat, bool enabled);

Enable or disable timers for a given idle resource by seat. Passing a NULL seat means update timers for all seats.

struct wlr_idle_timeout

struct wlr_idle_timeout {
	struct wl_resource *resource;
	struct wl_list link;
	struct wlr_seat *seat;
	struct wl_event_source *idle_source;
	bool idle_state;
	bool enabled;
	uint32_t timeout; // milliseconds
	struct {
		struct wl_signal idle;
		struct wl_signal resume;
		struct wl_signal destroy;
	} events;
	struct wl_listener input_listener;
	struct wl_listener seat_destroy;
	void *data;


struct wlr_idle_timeout *wlr_idle_timeout_create(​struct wlr_idle *idle, struct wlr_seat *seat, uint32_t timeout);

Create a new timer on the given seat. The idle event will be called after the given amount of milliseconds of inactivity, and the resumed event will be sent at the first user activity after the fired event.


void wlr_idle_timeout_destroy(​struct wlr_idle_timeout *timeout);