summaryrefslogtreecommitdiff
path: root/src/x11/x11-priv.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/x11/x11-priv.h')
-rw-r--r--src/x11/x11-priv.h24
1 files changed, 14 insertions, 10 deletions
diff --git a/src/x11/x11-priv.h b/src/x11/x11-priv.h
index 9a6e8e0..480590d 100644
--- a/src/x11/x11-priv.h
+++ b/src/x11/x11-priv.h
@@ -29,16 +29,6 @@
#include "keymap.h"
#include "xkbcommon/xkbcommon-x11.h"
-/* Preparation for get_atom_name_reply() */
-void
-get_atom_name(xcb_connection_t *conn, xcb_atom_t atom,
- xcb_get_atom_name_cookie_t *cookie);
-
-/* Get a strdup'd name of an X atom. */
-bool
-get_atom_name_reply(xcb_connection_t *conn, xcb_atom_t atom,
- xcb_get_atom_name_cookie_t cookie, char **out);
-
struct x11_atom_interner {
struct xkb_context *ctx;
xcb_connection_t *conn;
@@ -56,6 +46,12 @@ struct x11_atom_interner {
xkb_atom_t *out;
} copies[128];
size_t num_copies;
+ /* These are not interned, but saved directly (after XkbEscapeMapName) */
+ struct {
+ xcb_get_atom_name_cookie_t cookie;
+ char **out;
+ } escaped[4];
+ size_t num_escaped;
};
void
@@ -79,4 +75,12 @@ x11_atom_interner_adopt_atoms(struct x11_atom_interner *interner,
const xcb_atom_t *from, xkb_atom_t *to,
size_t count);
+/*
+ * Get a strdup'd and XkbEscapeMapName'd name of an X atom. The actual write is
+ * delayed until the next call to x11_atom_interner_round_trip().
+ */
+void
+x11_atom_interner_get_escaped_atom_name(struct x11_atom_interner *interner,
+ xcb_atom_t atom, char **out);
+
#endif