commit - 46a9311e28a3d6f4eb8e19afc76825dd1c4236c1
commit + b0ea6f26b948dfb609cd828929844885e8ba01bf
blob - 608e9fdd6b81976ea925e6801dcb8934dd1a54a3
blob + bc1734b7f5d7f45d73b193f2c3dc6b5923c96219
--- ui.c
+++ ui.c
};
struct key {
-#define CTRLFLG 0x1
-#define METAFLG 0x2
- int flags;
+ int meta;
int key;
};
#define KEY(n) ((struct key){0, n})
#define CKEY(n) ((struct key){0, (n) & 0x1F})
-#define MKEY(n) ((struct key){METAFLG, n})
-#define CMKEY(n) ((struct key){METAFLG, (n) & 0x1F})
+#define MKEY(n) ((struct key){1, n})
+#define CMKEY(n) ((struct key){1, (n) & 0x1F})
struct binding {
struct key key;
cmd_unbound(struct key k)
{
message("%s%c is undefined",
- (k.flags & METAFLG) ? "M-" : "",
+ k.meta ? "M-" : "",
k.key);
}
struct key key;
int k, j;
- key.flags = 0;
-
k = wgetch(body);
if (k == ERR)
j = wgetch(body);
if (j != ERR) {
k = j;
- key.flags = METAFLG;
+ key.meta = 1;
}
- }
+ } else
+ key.meta = 0;
key.key = k;
for (b = bindings; b->fn != NULL; ++b) {
- if (key.flags == b->key.flags &&
+ if (key.meta == b->key.meta &&
key.key == b->key.key) {
b->fn(current_tab());
goto done;