From e7ecfd41143806bc34887153ad730618b7f2ef9c Mon Sep 17 00:00:00 2001 From: speedie Date: Mon, 15 May 2023 09:53:34 +0200 Subject: [PATCH] add hkeys array which allows us to press ctrl+alt+shift+delete to exit out of spmenu even if we unbind our quit keybind --- libs/key.c | 3 +++ libs/key.h | 1 + 2 files changed, 4 insertions(+) diff --git a/libs/key.c b/libs/key.c index 401eba2..e43615f 100644 --- a/libs/key.c +++ b/libs/key.c @@ -30,6 +30,9 @@ void keypress(XEvent *e) { keysym = XkbKeycodeToKeysym(dpy, (KeyCode)ev->keycode, 0, 0); + // this makes sure we always have a way to exit if we unbind our quit key + if (keysym == hkeys[0].keysym && CLEANMASK(hkeys[0].mod) == CLEANMASK(ev->state) && hkeys[0].func) hkeys[0].func(&(hkeys[0].arg)); + for (i = 0; i < LENGTH(keys); i++) { if (ignoreglobalkeys) break; if (keysym == keys[i].keysym && CLEANMASK(keys[i].mod) == CLEANMASK(ev->state) && keys[i].func) { diff --git a/libs/key.h b/libs/key.h index 6880e75..4929374 100644 --- a/libs/key.h +++ b/libs/key.h @@ -23,3 +23,4 @@ static void getcapsstate(void); static Key ckeys[256]; static char capstext[16]; +static Key hkeys[1] = { { -1, Ctrl|Alt|Shift, XK_Delete, quit, {0} } };