diff options
| author | BossCode45 <human.cyborg42@gmail.com> | 2022-08-28 18:22:59 +1200 |
|---|---|---|
| committer | BossCode45 <human.cyborg42@gmail.com> | 2022-08-28 18:22:59 +1200 |
| commit | 01a34fabc8cd6b5a7cb5ab1dd0e58f27094ec4d5 (patch) | |
| tree | 2fa857402e8e4e95d4e71aa8831f6d61433c4a4b /config.h | |
| parent | 1566509dc6c3a7b6b579c0088f627786b73ee6a6 (diff) | |
| download | YATwm-01a34fabc8cd6b5a7cb5ab1dd0e58f27094ec4d5.tar.gz YATwm-01a34fabc8cd6b5a7cb5ab1dd0e58f27094ec4d5.zip | |
Very basic window and focus moving
Diffstat (limited to 'config.h')
| -rw-r--r-- | config.h | 48 |
1 files changed, 36 insertions, 12 deletions
@@ -15,10 +15,19 @@ int numWS = 5; //Keys //The types and perhaps functions likely to be moved to seperate header file later +enum MoveDir +{ + Up, + Right, + Down, + Left +}; + typedef union { const char** str; const int num; + const MoveDir dir; } KeyArg; struct Key @@ -30,12 +39,16 @@ struct Key }; //Keybind commands -void exit(const KeyArg arg); -void spawn(const KeyArg arg); -void toggle(const KeyArg arg); -void kill(const KeyArg arg); -void changeWS(const KeyArg arg); -void wToWS(const KeyArg arg); +#define KEYCOM(X) \ + void X (const KeyArg arg) +KEYCOM(exit); +KEYCOM(spawn); +KEYCOM(toggle); +KEYCOM(kill); +KEYCOM(changeWS); +KEYCOM(wToWS); +KEYCOM(focChange); +KEYCOM(wMove); const char* alacritty[] = {"alacritty", NULL}; const char* rofi[] = {"rofi", "-i", "-show", "drun", NULL}; @@ -45,19 +58,30 @@ const char* rofi[] = {"rofi", "-i", "-show", "drun", NULL}; #define WSKEY(K, X) \ {K, MOD, changeWS, {.num = X}}, \ - {K, MOD|SHIFT, wToWS, {.num = X}}, - + {K, MOD|SHIFT, wToWS, {.num = X}} static struct Key keyBinds[] = { //Key //Modifiers //Func //Args + //General {XK_e, MOD, exit, {NULL}}, {XK_Return, MOD, spawn, {.str = alacritty}}, {XK_d, MOD, spawn, {.str = rofi}}, {XK_t, MOD, toggle, {NULL}}, {XK_q, MOD, kill, {NULL}}, - WSKEY(XK_1, 1) - WSKEY(XK_2, 2) - WSKEY(XK_3, 3) - WSKEY(XK_4, 4) + //Focus + {XK_h, MOD, focChange, {.dir = Left}}, + {XK_j, MOD, focChange, {.dir = Down}}, + {XK_k, MOD, focChange, {.dir = Up}}, + {XK_l, MOD, focChange, {.dir = Right}}, + //Window moving + {XK_h, MOD|SHIFT, wMove, {.dir = Left}}, + {XK_j, MOD|SHIFT, wMove, {.dir = Down}}, + {XK_k, MOD|SHIFT, wMove, {.dir = Up}}, + {XK_l, MOD|SHIFT, wMove, {.dir = Right}}, + //Workspaces + WSKEY(XK_1, 1), + WSKEY(XK_2, 2), + WSKEY(XK_3, 3), + WSKEY(XK_4, 4), WSKEY(XK_5, 5) }; |
