From 87179f825fd1c46b59cce38aafd8b4102fca2685 Mon Sep 17 00:00:00 2001 From: uint23 Date: Sun, 20 Apr 2025 01:28:31 +0100 Subject: added workspaces whoops, forgot to commit for a whiiilllleee --- src/defs.h | 47 +++++++++++++++++++++++++++++++++++++++++++---- 1 file changed, 43 insertions(+), 4 deletions(-) (limited to 'src/defs.h') diff --git a/src/defs.h b/src/defs.h index ec4ab25..b7b2d20 100644 --- a/src/defs.h +++ b/src/defs.h @@ -15,11 +15,50 @@ #define MARGIN (gaps + BORDER_WIDTH) #define OUT_IN (2 * BORDER_WIDTH) #define LENGTH(X) (sizeof X / sizeof X[0]) -#define BIND(mod, key, cmdstr) { (mod), XK_##key, { cmdstr }, 0 } -#define CALL(mod, key, fnptr) { (mod), XK_##key, { .fn = fnptr }, 1 } -#define CMD(name, ...) \ +#define BIND(mod, key, cmdstr) { (mod), XK_##key, { cmdstr }, False } +#define CALL(mod, key, fnptr) { (mod), XK_##key, { .fn = fnptr }, True } +#define CMD(name, ...) \ static const char *name[] = { __VA_ARGS__, NULL } +static void change_ws1(void); +static void moveto_ws1(void); +static void change_ws2(void); +static void moveto_ws2(void); +static void change_ws3(void); +static void moveto_ws3(void); +static void change_ws4(void); +static void moveto_ws4(void); +static void change_ws5(void); +static void moveto_ws5(void); +static void change_ws6(void); +static void moveto_ws6(void); +static void change_ws7(void); +static void moveto_ws7(void); +static void change_ws8(void); +static void moveto_ws8(void); +static void change_ws9(void); +static void moveto_ws9(void); + +#define INIT_WORKSPACE \ +static void change_ws1(void) { change_workspace(0); } \ +static void moveto_ws1(void) { move_to_workspace(0); } \ +static void change_ws2(void) { change_workspace(1); } \ +static void moveto_ws2(void) { move_to_workspace(1); } \ +static void change_ws3(void) { change_workspace(2); } \ +static void moveto_ws3(void) { move_to_workspace(2); } \ +static void change_ws4(void) { change_workspace(3); } \ +static void moveto_ws4(void) { move_to_workspace(3); } \ +static void change_ws5(void) { change_workspace(4); } \ +static void moveto_ws5(void) { move_to_workspace(4); } \ +static void moveto_ws6(void) { move_to_workspace(5); } \ +static void change_ws6(void) { change_workspace(5); } \ +static void moveto_ws7(void) { move_to_workspace(6); } \ +static void change_ws7(void) { change_workspace(6); } \ +static void moveto_ws8(void) { move_to_workspace(7); } \ +static void change_ws8(void) { change_workspace(7); } \ +static void moveto_ws9(void) { move_to_workspace(8); } \ +static void change_ws9(void) { change_workspace(8); } \ + #define UDIST(a,b) abs((int)(a) - (int)(b)) #define MAXCLIENTS 99 #define MAXGAPS 100 @@ -36,7 +75,7 @@ typedef struct { unsigned int mods; KeySym keysym; Action action; - int is_func; + Bool is_func; } Binding; typedef struct Client{ -- cgit v1.2.3