diff options
author | uint23 <[email protected]> | 2025-05-03 09:09:09 +0100 |
---|---|---|
committer | uint23 <[email protected]> | 2025-05-03 09:09:47 +0100 |
commit | 1743a7c340ee17fb8d3e41fa2a777bcadcb1a867 (patch) | |
tree | e5e282e7f72e5581b689c75fb424f00a50779420 /src/defs.h | |
parent | 01736e075e1348c539abd7066cd0a741a61710df (diff) |
update parser so binds will not overlap from pervious binds + parser is more simple
Diffstat (limited to 'src/defs.h')
-rw-r--r-- | src/defs.h | 58 |
1 files changed, 18 insertions, 40 deletions
@@ -1,5 +1,6 @@ /* See LICENSE for more information on use */ #pragma once +#include <X11/Xlib.h> #define SXWM_VERSION "sxwm ver. 1.4" #define SXWM_AUTHOR "(C) Abhinav Prasai 2025" #define SXWM_LICINFO "See LICENSE for more info" @@ -22,46 +23,22 @@ #define CMD(name, ...) \ const char *name[] = { __VA_ARGS__, NULL } +#define TYPE_CWKSP 0 +#define TYPE_MWKSP 1 +#define TYPE_FUNC 2 +#define TYPE_CMD 3 -#include <X11/Xlib.h> -#define INIT_WORKSPACE \ -void change_ws1(void);\ -void moveto_ws1(void);\ -void change_ws2(void);\ -void moveto_ws2(void);\ -void change_ws3(void);\ -void moveto_ws3(void);\ -void change_ws4(void);\ -void moveto_ws4(void);\ -void change_ws5(void);\ -void moveto_ws5(void);\ -void change_ws6(void);\ -void moveto_ws6(void);\ -void change_ws7(void);\ -void moveto_ws7(void);\ -void change_ws8(void);\ -void moveto_ws8(void);\ -void change_ws9(void);\ -void moveto_ws9(void);\ -void change_ws1(void) { change_workspace(0); update_net_client_list(); } \ -void moveto_ws1(void) { move_to_workspace(0); update_net_client_list(); }\ -void change_ws2(void) { change_workspace(1); update_net_client_list(); } \ -void moveto_ws2(void) { move_to_workspace(1); update_net_client_list(); }\ -void change_ws3(void) { change_workspace(2); update_net_client_list(); } \ -void moveto_ws3(void) { move_to_workspace(2); update_net_client_list(); }\ -void change_ws4(void) { change_workspace(3); update_net_client_list(); } \ -void moveto_ws4(void) { move_to_workspace(3); update_net_client_list(); }\ -void change_ws5(void) { change_workspace(4); update_net_client_list(); } \ -void moveto_ws5(void) { move_to_workspace(4); update_net_client_list(); }\ -void change_ws6(void) { change_workspace(5); update_net_client_list(); } \ -void moveto_ws6(void) { move_to_workspace(5); update_net_client_list(); }\ -void change_ws7(void) { change_workspace(6); update_net_client_list(); } \ -void moveto_ws7(void) { move_to_workspace(6); update_net_client_list(); }\ -void change_ws8(void) { change_workspace(7); update_net_client_list(); } \ -void moveto_ws8(void) { move_to_workspace(7); update_net_client_list(); }\ -void change_ws9(void) { change_workspace(8); update_net_client_list(); } \ -void moveto_ws9(void) { move_to_workspace(8); update_net_client_list(); }\ - +#define NUM_WORKSPACES 9 +#define WORKSPACE_NAMES \ + "1" "\0"\ + "2" "\0"\ + "3" "\0"\ + "4" "\0"\ + "5" "\0"\ + "6" "\0"\ + "7" "\0"\ + "8" "\0"\ + "9" "\0"\ typedef enum { DRAG_NONE, @@ -75,13 +52,14 @@ typedef void (*EventHandler)(XEvent *); typedef union { const char **cmd; void (*fn)(void); + int ws; } Action; typedef struct { int mods; KeySym keysym; Action action; - Bool is_func; + int type; } Binding; typedef struct Client{ |