diff options
| author | elbachir-one <bachiralfa@gmail.com> | 2025-06-26 15:57:35 +0100 |
|---|---|---|
| committer | elbachir-one <bachiralfa@gmail.com> | 2025-06-26 15:57:44 +0100 |
| commit | aeee7bd1187ff1654bf271011efd8e42e2bbe527 (patch) | |
| tree | bbe7ce11c595e2b67cebb25c86aee57fe2149039 /src/defs.h | |
| parent | 9b7a160dfdbf54f18fd478794cb24152ed1b040d (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.h | 7 |
1 files changed, 7 insertions, 0 deletions
@@ -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); |
