commit 907f12f
hovercats
·
2026-03-10 12:55:28 +0000 UTC
parent fa3ac60
wsxwm: add
6 files changed,
+130,
-0
+1,
-0
1@@ -120,6 +120,7 @@ subgen 'wayland-protocols'
2 subgen 'webdump'
3 subgen 'wld'
4 subgen 'wpa_supplicant'
5+subgen 'wsxwm'
6 subgen 'xkeyboard-config'
7 subgen 'xxhash'
8 subgen 'xz'
+58,
-0
1@@ -0,0 +1,58 @@
2+#ifndef CONFIG_H
3+#define CONFIG_H
4+#include <xkbcommon/xkbcommon-keysyms.h>
5+#include "types.h"
6+#include "wsxwm.h"
7+static const struct config cfg = {
8+ .motion_throttle_hz = 85,
9+ .border_col_active = 0xdeadca7,
10+ .border_col_normal = 0xff444444,
11+ .border_width = 3,
12+ .master_width = 60, /* % of screen */
13+ .gaps = 30,
14+};
15+
16+static const char* termcmd[] = { "st", NULL };
17+static const char* menucmd[] = { "dmenu_run", NULL };
18+static struct bind binds[] = {
19+ /* keyboard */
20+ { SWC_BINDING_KEY, MOD1, XKB_KEY_Return, { .v = termcmd }, spawn },
21+ { SWC_BINDING_KEY, MOD1, XKB_KEY_p, { .v = menucmd }, spawn },
22+ { SWC_BINDING_KEY, MOD1|SHFT, XKB_KEY_e, { .v = NULL }, quit },
23+ { SWC_BINDING_KEY, MOD1, XKB_KEY_k, { .v = NULL }, focus_next },
24+ { SWC_BINDING_KEY, MOD1, XKB_KEY_j, { .v = NULL }, focus_prev },
25+ { SWC_BINDING_KEY, MOD1|SHFT, XKB_KEY_q, { .v = NULL }, kill_sel },
26+ { SWC_BINDING_KEY, MOD1, XKB_KEY_space, { .v = NULL }, toggle_float },
27+ { SWC_BINDING_KEY, MOD1|SHFT, XKB_KEY_space, { .v = NULL }, toggle_float_global },
28+ { SWC_BINDING_KEY, MOD1, XKB_KEY_l, { .i = 50 }, master_resize },
29+ { SWC_BINDING_KEY, MOD1, XKB_KEY_h, { .i = -50 }, master_resize },
30+ { SWC_BINDING_KEY, MOD1|SHFT, XKB_KEY_k, { .v = NULL }, master_next },
31+ { SWC_BINDING_KEY, MOD1|SHFT, XKB_KEY_j, { .v = NULL }, master_prev },
32+
33+ /* mouse */
34+ { SWC_BINDING_BUTTON, MOD1, BTN_LEFT, { .v = NULL }, mouse_move },
35+ { SWC_BINDING_BUTTON, MOD1, BTN_RIGHT, { .v = NULL }, mouse_resize },
36+
37+ /* workspace */
38+ { SWC_BINDING_KEY, MOD1, XKB_KEY_1, { .u = 1 }, workspace_goto },
39+ { SWC_BINDING_KEY, MOD1, XKB_KEY_2, { .u = 2 }, workspace_goto },
40+ { SWC_BINDING_KEY, MOD1, XKB_KEY_3, { .u = 3 }, workspace_goto },
41+ { SWC_BINDING_KEY, MOD1, XKB_KEY_4, { .u = 4 }, workspace_goto },
42+ { SWC_BINDING_KEY, MOD1, XKB_KEY_5, { .u = 5 }, workspace_goto },
43+ { SWC_BINDING_KEY, MOD1, XKB_KEY_6, { .u = 6 }, workspace_goto },
44+ { SWC_BINDING_KEY, MOD1, XKB_KEY_7, { .u = 7 }, workspace_goto },
45+ { SWC_BINDING_KEY, MOD1, XKB_KEY_8, { .u = 8 }, workspace_goto },
46+ { SWC_BINDING_KEY, MOD1, XKB_KEY_9, { .u = 9 }, workspace_goto },
47+ { SWC_BINDING_KEY, MOD1|SHFT, XKB_KEY_1, { .u = 1 }, workspace_moveto },
48+ { SWC_BINDING_KEY, MOD1|SHFT, XKB_KEY_2, { .u = 2 }, workspace_moveto },
49+ { SWC_BINDING_KEY, MOD1|SHFT, XKB_KEY_3, { .u = 3 }, workspace_moveto },
50+ { SWC_BINDING_KEY, MOD1|SHFT, XKB_KEY_4, { .u = 4 }, workspace_moveto },
51+ { SWC_BINDING_KEY, MOD1|SHFT, XKB_KEY_5, { .u = 5 }, workspace_moveto },
52+ { SWC_BINDING_KEY, MOD1|SHFT, XKB_KEY_6, { .u = 6 }, workspace_moveto },
53+ { SWC_BINDING_KEY, MOD1|SHFT, XKB_KEY_7, { .u = 7 }, workspace_moveto },
54+ { SWC_BINDING_KEY, MOD1|SHFT, XKB_KEY_8, { .u = 8 }, workspace_moveto },
55+ { SWC_BINDING_KEY, MOD1|SHFT, XKB_KEY_9, { .u = 9 }, workspace_moveto },
56+};
57+
58+#endif /* CONFIG_H */
59+
+44,
-0
1@@ -0,0 +1,44 @@
2+cflags{
3+ '-std=c99',
4+ '-D _POSIX_C_SOURCE=200809L',
5+ '-I $dir',
6+ '-I $srcdir/source/include',
7+ '-isystem $builddir/pkg/fontconfig/include',
8+ '-isystem $builddir/pkg/libdrm/include',
9+ '-isystem $builddir/pkg/libinput/include',
10+ '-isystem $builddir/pkg/libxkbcommon/include',
11+ '-isystem $builddir/pkg/swc/include',
12+ '-isystem $builddir/pkg/wld/include',
13+ '-isystem $builddir/pkg/pixman/include',
14+ '-isystem $builddir/pkg/wayland-protocols/include',
15+ '-isystem $builddir/pkg/wayland/include',
16+}
17+
18+pkg.deps = {
19+ 'pkg/fontconfig/headers',
20+ 'pkg/libdrm/headers',
21+ 'pkg/libinput/headers',
22+ 'pkg/libxkbcommon/headers',
23+ 'pkg/swc/headers',
24+ 'pkg/wld/headers',
25+ 'pkg/pixman/headers',
26+ 'pkg/wayland/headers',
27+ 'pkg/wayland-protocols/headers',
28+}
29+
30+exe('wsxwm', {
31+ 'source/wsxwm.c',
32+ 'source/util.c',
33+ '$builddir/pkg/swc/libswc.a',
34+ '$builddir/pkg/wld/libwld.a',
35+ '$builddir/pkg/pixman/libpixman.a',
36+ '$builddir/pkg/libinput/libinput.a.d',
37+ '$builddir/pkg/libxkbcommon/libxkbcommon.a',
38+ '$builddir/pkg/libdrm/libdrm.a',
39+ '$builddir/pkg/wayland/libwayland-server.a.d',
40+ '$builddir/pkg/fontconfig/libfontconfig.a.d',
41+})
42+
43+file('bin/wsxwm', '755', '$outdir/wsxwm')
44+
45+fetch 'git'
1@@ -0,0 +1,25 @@
2+From ed2c429674082e2b6a28cf6f675383c937fd1228 Mon Sep 17 00:00:00 2001
3+From: hovercats <hovercatswithlasereyes@protonmail.com>
4+Date: Tue, 10 Mar 2026 13:50:04 +0100
5+Subject: [PATCH] use anglebrackets so we can override config.h
6+
7+---
8+ source/wsxwm.c | 2 +-
9+ 1 file changed, 1 insertion(+), 1 deletion(-)
10+
11+diff --git a/source/wsxwm.c b/source/wsxwm.c
12+index 60f45c2..4fac116 100644
13+--- a/source/wsxwm.c
14++++ b/source/wsxwm.c
15+@@ -8,7 +8,7 @@
16+ #include <wayland-util.h>
17+ #include <xkbcommon/xkbcommon-keysyms.h>
18+
19+-#include "config.h"
20++#include <config.h>
21+ #include "types.h"
22+ #include "util.h"
23+ #include "wsxwm.h"
24+--
25+2.49.0
26+
+1,
-0
1@@ -0,0 +1 @@
2+Subproject commit f5f3c1f53b77d41ab0b0aefabb64e86881b5705d
+1,
-0
1@@ -0,0 +1 @@
2+f5f3c1f r1