2020-06-05 23:04:54 +01:00
|
|
|
#ifndef RCXML_H
|
|
|
|
|
#define RCXML_H
|
|
|
|
|
|
|
|
|
|
#include <stdio.h>
|
|
|
|
|
#include <stdbool.h>
|
2020-06-16 07:21:53 +01:00
|
|
|
#include <wlr/types/wlr_keyboard.h>
|
|
|
|
|
#include <wayland-server-core.h>
|
|
|
|
|
#include <xkbcommon/xkbcommon.h>
|
2020-06-05 23:04:54 +01:00
|
|
|
|
2020-06-09 21:40:46 +01:00
|
|
|
#include "buf.h"
|
|
|
|
|
|
2020-06-19 22:00:22 +01:00
|
|
|
#define BUG_ON(condition) \
|
|
|
|
|
do { \
|
|
|
|
|
if ((condition) != 0) { \
|
|
|
|
|
fprintf(stderr, "Badness in %s() at %s:%d\n", \
|
|
|
|
|
__func__, __FILE__, __LINE__); \
|
|
|
|
|
} \
|
|
|
|
|
} while (0)
|
|
|
|
|
|
2020-06-16 07:21:53 +01:00
|
|
|
struct keybind {
|
2020-06-19 22:00:22 +01:00
|
|
|
uint32_t modifiers;
|
|
|
|
|
xkb_keysym_t *keysyms;
|
|
|
|
|
size_t keysyms_len;
|
|
|
|
|
char *action;
|
|
|
|
|
char *command;
|
|
|
|
|
struct wl_list link;
|
2020-06-16 07:21:53 +01:00
|
|
|
};
|
|
|
|
|
|
2020-06-19 22:00:22 +01:00
|
|
|
struct keybind *keybind_add(const char *keybind);
|
2020-06-16 07:21:53 +01:00
|
|
|
|
2020-06-05 23:04:54 +01:00
|
|
|
struct rcxml {
|
|
|
|
|
bool client_side_decorations;
|
2020-06-16 07:21:53 +01:00
|
|
|
struct wl_list keybinds;
|
2020-06-05 23:04:54 +01:00
|
|
|
};
|
|
|
|
|
|
|
|
|
|
extern struct rcxml rc;
|
|
|
|
|
|
2020-06-09 21:40:46 +01:00
|
|
|
void rcxml_parse_xml(struct buf *b);
|
2020-06-05 23:04:54 +01:00
|
|
|
void rcxml_read(const char *filename);
|
2020-06-09 22:01:19 +01:00
|
|
|
void rcxml_get_nodenames(struct buf *b);
|
2020-06-05 23:04:54 +01:00
|
|
|
|
|
|
|
|
#endif /* RCXML_H */
|