diff options
Diffstat (limited to 'calmwm.h')
-rw-r--r-- | calmwm.h | 62 |
1 files changed, 36 insertions, 26 deletions
diff --git a/calmwm.h b/calmwm.h index 95c4e8c..b1c8b4c 100644 --- a/calmwm.h +++ b/calmwm.h @@ -205,14 +205,19 @@ TAILQ_HEAD(winmatch_q, winmatch); #define KBTOGROUP(X) ((X) - 1) +union arg { + char *c; + int i; +}; + struct keybinding { + TAILQ_ENTRY(keybinding) entry; + void (*callback)(struct client_ctx *, union arg *); + union arg argument; int modmask; int keysym; int keycode; int flags; - void (*callback)(struct client_ctx *, void *); - void *argument; - TAILQ_ENTRY(keybinding) entry; }; struct cmd { @@ -423,29 +428,34 @@ void conf_cmd_add(struct conf *, char *, char *, int); int parse_config(const char *, struct conf *); -void kbfunc_client_lower(struct client_ctx *, void *); -void kbfunc_client_raise(struct client_ctx *, void *); -void kbfunc_client_search(struct client_ctx *, void *); -void kbfunc_client_hide(struct client_ctx *, void *); -void kbfunc_client_cycle(struct client_ctx *, void *); -void kbfunc_client_rcycle(struct client_ctx *, void *); -void kbfunc_cmdexec(struct client_ctx *, void *); -void kbfunc_client_label(struct client_ctx *, void *); -void kbfunc_client_delete(struct client_ctx *, void *); -void kbfunc_client_group(struct client_ctx *, void *); -void kbfunc_client_cyclegroup(struct client_ctx *, void *); -void kbfunc_client_nogroup(struct client_ctx *, void *); -void kbfunc_client_grouptoggle(struct client_ctx *, void *); -void kbfunc_client_maximize(struct client_ctx *, void *); -void kbfunc_client_vmaximize(struct client_ctx *, void *); -void kbfunc_reload(struct client_ctx *, void *); -void kbfunc_quit_wm(struct client_ctx *, void *); -void kbfunc_moveresize(struct client_ctx *, void *); -void kbfunc_menu_search(struct client_ctx *, void *); -void kbfunc_exec(struct client_ctx *, void *); -void kbfunc_ssh(struct client_ctx *, void *); -void kbfunc_term(struct client_ctx *, void *); -void kbfunc_lock(struct client_ctx *, void *); +void kbfunc_client_lower(struct client_ctx *, union arg *); +void kbfunc_client_raise(struct client_ctx *, union arg *); +void kbfunc_client_search(struct client_ctx *, union arg *); +void kbfunc_client_hide(struct client_ctx *, union arg *); +void kbfunc_client_cycle(struct client_ctx *, union arg *); +void kbfunc_client_rcycle(struct client_ctx *, union arg *); +void kbfunc_cmdexec(struct client_ctx *, union arg *); +void kbfunc_client_label(struct client_ctx *, union arg *); +void kbfunc_client_delete(struct client_ctx *, union arg *); +void kbfunc_client_group(struct client_ctx *, union arg *); +void kbfunc_client_cyclegroup(struct client_ctx *, + union arg *); +void kbfunc_client_nogroup(struct client_ctx *, + union arg *); +void kbfunc_client_grouptoggle(struct client_ctx *, + union arg *); +void kbfunc_client_maximize(struct client_ctx *, + union arg *); +void kbfunc_client_vmaximize(struct client_ctx *, + union arg *); +void kbfunc_reload(struct client_ctx *, union arg *); +void kbfunc_quit_wm(struct client_ctx *, union arg *); +void kbfunc_moveresize(struct client_ctx *, union arg *); +void kbfunc_menu_search(struct client_ctx *, union arg *); +void kbfunc_exec(struct client_ctx *, union arg *); +void kbfunc_ssh(struct client_ctx *, union arg *); +void kbfunc_term(struct client_ctx *, union arg *); +void kbfunc_lock(struct client_ctx *, union arg *); void mousefunc_window_resize(struct client_ctx *, void *); void mousefunc_window_move(struct client_ctx *, void *); |