summaryrefslogtreecommitdiff
path: root/config.h
diff options
context:
space:
mode:
Diffstat (limited to 'config.h')
-rw-r--r--config.h48
1 files changed, 36 insertions, 12 deletions
diff --git a/config.h b/config.h
index 5400faf..a74f846 100644
--- a/config.h
+++ b/config.h
@@ -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)
};