summaryrefslogtreecommitdiff
path: root/src/defs.h
diff options
context:
space:
mode:
authoruint23 <[email protected]>2025-05-03 09:09:09 +0100
committeruint23 <[email protected]>2025-05-03 09:09:47 +0100
commit1743a7c340ee17fb8d3e41fa2a777bcadcb1a867 (patch)
treee5e282e7f72e5581b689c75fb424f00a50779420 /src/defs.h
parent01736e075e1348c539abd7066cd0a741a61710df (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.h58
1 files changed, 18 insertions, 40 deletions
diff --git a/src/defs.h b/src/defs.h
index 9257fbc..174ae27 100644
--- a/src/defs.h
+++ b/src/defs.h
@@ -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{