mirror of
https://github.com/vale981/spectrwm
synced 2025-03-05 09:51:38 -05:00
Technically, it's a tree, now.
This commit is contained in:
parent
d37bb62834
commit
a10363decb
1 changed files with 8 additions and 8 deletions
16
spectrwm.c
16
spectrwm.c
|
@ -4570,7 +4570,7 @@ struct key {
|
|||
enum keyfuncid funcid;
|
||||
char *spawn_name;
|
||||
};
|
||||
RB_HEAD(key_list, key);
|
||||
RB_HEAD(key_tree, key);
|
||||
|
||||
int
|
||||
key_cmp(struct key *kp1, struct key *kp2)
|
||||
|
@ -4588,8 +4588,8 @@ key_cmp(struct key *kp1, struct key *kp2)
|
|||
return (0);
|
||||
}
|
||||
|
||||
RB_GENERATE_STATIC(key_list, key, entry, key_cmp);
|
||||
struct key_list keys;
|
||||
RB_GENERATE_STATIC(key_tree, key, entry, key_cmp);
|
||||
struct key_tree keys;
|
||||
|
||||
/* mouse */
|
||||
enum { client_click, root_click };
|
||||
|
@ -4613,7 +4613,7 @@ update_modkey(unsigned int mod)
|
|||
struct key *kp;
|
||||
|
||||
mod_key = mod;
|
||||
RB_FOREACH(kp, key_list, &keys)
|
||||
RB_FOREACH(kp, key_tree, &keys)
|
||||
if (kp->mod & ShiftMask)
|
||||
kp->mod = mod | ShiftMask;
|
||||
else
|
||||
|
@ -4981,7 +4981,7 @@ key_insert(unsigned int mod, KeySym ks, enum keyfuncid kfid, char *spawn_name)
|
|||
kp->keysym = ks;
|
||||
kp->funcid = kfid;
|
||||
kp->spawn_name = strdupsafe(spawn_name);
|
||||
RB_INSERT(key_list, &keys, kp);
|
||||
RB_INSERT(key_tree, &keys, kp);
|
||||
|
||||
DNPRINTF(SWM_D_KEY, "key_insert: leave\n");
|
||||
}
|
||||
|
@ -4994,7 +4994,7 @@ key_lookup(unsigned int mod, KeySym ks)
|
|||
kp.keysym = ks;
|
||||
kp.mod = mod;
|
||||
|
||||
return (RB_FIND(key_list, &keys, &kp));
|
||||
return (RB_FIND(key_tree, &keys, &kp));
|
||||
}
|
||||
|
||||
void
|
||||
|
@ -5002,7 +5002,7 @@ key_remove(struct key *kp)
|
|||
{
|
||||
DNPRINTF(SWM_D_KEY, "key_remove: %s\n", keyfuncs[kp->funcid].name);
|
||||
|
||||
RB_REMOVE(key_list, &keys, kp);
|
||||
RB_REMOVE(key_tree, &keys, kp);
|
||||
free(kp->spawn_name);
|
||||
free(kp);
|
||||
|
||||
|
@ -5265,7 +5265,7 @@ grabkeys(void)
|
|||
if (TAILQ_EMPTY(&screens[k].rl))
|
||||
continue;
|
||||
XUngrabKey(display, AnyKey, AnyModifier, screens[k].root);
|
||||
RB_FOREACH(kp, key_list, &keys) {
|
||||
RB_FOREACH(kp, key_tree, &keys) {
|
||||
if ((code = XKeysymToKeycode(display, kp->keysym)))
|
||||
for (j = 0; j < LENGTH(modifiers); j++)
|
||||
XGrabKey(display, code,
|
||||
|
|
Loading…
Add table
Reference in a new issue