summaryrefslogtreecommitdiff
path: root/src/defs.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/defs.h')
-rw-r--r--src/defs.h43
1 files changed, 43 insertions, 0 deletions
diff --git a/src/defs.h b/src/defs.h
new file mode 100644
index 0000000..a09ba13
--- /dev/null
+++ b/src/defs.h
@@ -0,0 +1,43 @@
+#ifndef DEFS_H
+#define DEFS_H
+
+#include <X11/Xlib.h>
+
+#define SXWM_VERSION "sxwm ver. 0.1.0"
+#define SXWM_AUTHOR "(C) Abhinav Prasai 2025"
+#define SXWM_LICINFO "See LICENSE for more info"
+
+#define ALT Mod1Mask
+#define SUPER Mod4Mask
+#define SHIFT ShiftMask
+
+#define BIND(mod, key, cmdstr) { (mod), XK_##key, { cmdstr }, 0 }
+#define CALL(mod, key, fnptr) { (mod), XK_##key, { .fn = fnptr }, 1 }
+
+#define MAXCLIENTS 64
+
+typedef void
+(*EventHandler)(XEvent *);
+
+typedef union {
+ const char **cmd;
+ void (*fn)(void);
+} Action;
+
+typedef struct {
+ unsigned int mods;
+ KeySym keysym;
+ Action action;
+ int is_func;
+} Binding;
+
+typedef struct {
+ Window id;
+ int x, y;
+ unsigned int w, h;
+ unsigned int bw;
+ Bool isfocused;
+ Bool isfloating;
+} Client;
+
+#endif