41 lines
802 B
C
41 lines
802 B
C
#ifndef RIVERGUILE_SEAT_H
|
|
#define RIVERGUILE_SEAT_H
|
|
|
|
#include <stdbool.h>
|
|
#include <wayland-client.h>
|
|
#include <libguile.h>
|
|
#include "river-status-unstable-v1.h"
|
|
|
|
struct SeatStatus {
|
|
struct wl_output *focused_output;
|
|
char *focused_view_title;
|
|
char *mode;
|
|
};
|
|
|
|
struct Seat
|
|
{
|
|
struct wl_list link;
|
|
struct wl_seat *wl_seat;
|
|
struct zriver_seat_status_v1 *status_monitor;
|
|
uint32_t name;
|
|
|
|
struct wl_list idles;
|
|
struct SeatStatus status;
|
|
};
|
|
|
|
struct Idle
|
|
{
|
|
struct Seat *seat;
|
|
struct wl_list link;
|
|
struct ext_idle_notification_v1 *idle_notification;
|
|
SCM handler;
|
|
uint32_t ms;
|
|
};
|
|
|
|
struct Seat *seat_create (struct wl_seat *wl_seat, uint32_t name);
|
|
void seat_status_init(struct Seat *seat);
|
|
void seat_destroy (struct Seat *seat);
|
|
bool seat_add_idle (struct Seat *seat, SCM proc, uint32_t ms);
|
|
|
|
#endif
|