summaryrefslogtreecommitdiff
path: root/src/defs.h
diff options
context:
space:
mode:
authorelbachir-one <bachiralfa@gmail.com>2025-06-26 15:57:35 +0100
committerelbachir-one <bachiralfa@gmail.com>2025-06-26 15:57:44 +0100
commitaeee7bd1187ff1654bf271011efd8e42e2bbe527 (patch)
treebbe7ce11c595e2b67cebb25c86aee57fe2149039 /src/defs.h
parent9b7a160dfdbf54f18fd478794cb24152ed1b040d (diff)
Refactor keybinding configuration and parsing logic
- Added MAX_BINDS macro to replace magic number (256) in alloc_bind - Fixed potential null dereference in strip() on empty strings - Corrected redundant KeySym assignment in parse_combo() - Improved clarity and maintainability of call_table and helper functions - Ensured safe string handling with proper bounds and terminators - Added fallback logic for unknown key symbols using parse_keysym() - Proper bounds checks on buffers and allocations
Diffstat (limited to 'src/defs.h')
-rw-r--r--src/defs.h7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/defs.h b/src/defs.h
index 5796214..fc3be0e 100644
--- a/src/defs.h
+++ b/src/defs.h
@@ -50,6 +50,8 @@
"8" "\0"\
"9" "\0"
+#define MAX_BINDS 256
+
typedef enum { DRAG_NONE, DRAG_MOVE, DRAG_RESIZE, DRAG_SWAP } DragMode;
typedef void (*EventHandler)(XEvent *);
@@ -119,6 +121,11 @@ typedef struct {
Bool enabled;
} Scratchpad;
+typedef struct {
+ const char *name;
+ void (*fn)(void);
+} CommandEntry;
+
extern void centre_window();
extern void close_focused(void);
extern void dec_gaps(void);