Dunst
Lightweight notification daemon
Loading...
Searching...
No Matches
wl_seat.h
Go to the documentation of this file.
1/* SPDX-License-Identifier: BSD-3-Clause */
9
10#ifndef DUNST_WL_SEAT_H
11#define DUNST_WL_SEAT_H
12
13#include <stdbool.h>
14#include <stdint.h>
15#include <wayland-client.h>
16#include <wayland-client-protocol.h>
17#include <wayland-util.h>
18
19#include "protocols/idle-client-header.h"
20
21#ifdef HAVE_WL_CURSOR_SHAPE
22#include "protocols/cursor-shape-v1-client-header.h"
23#endif
24
25#ifdef HAVE_WL_EXT_IDLE_NOTIFY
26#include "protocols/ext-idle-notify-v1-client-header.h"
27#endif
28
29#define MAX_TOUCHPOINTS 10
30
31struct dunst_seat {
32 struct wl_list link;
33 uint32_t global_name;
34 char *name;
35 struct wl_seat *wl_seat;
36 struct org_kde_kwin_idle_timeout *idle_timeout;
37#ifdef HAVE_WL_EXT_IDLE_NOTIFY
38 struct ext_idle_notification_v1 *ext_idle_notification;
39#endif
40 bool is_idle;
41
42 struct {
43 struct wl_pointer *wl_pointer;
44 int32_t x, y;
45 } pointer;
46
47 struct {
48 struct wl_touch *wl_touch;
49 struct {
50 int32_t x, y;
51 } pts[MAX_TOUCHPOINTS];
52 } touch;
53};
54
55void create_seat(struct wl_registry *registry, uint32_t global_name, uint32_t version);
56void destroy_seat(struct dunst_seat *seat);
57void add_seat_to_idle_handler(struct dunst_seat *seat);
58
59#endif