commit 4ea5638
hovercats
·
2026-01-20 23:44:49 +0000 UTC
parent 56c9c7f
hevel: add
8 files changed,
+176,
-0
+4,
-0
1@@ -334,3 +334,7 @@
2 [submodule "pkg/iomenu/src"]
3 path = pkg/iomenu/src
4 url = git://bitreich.org/iomenu
5+[submodule "pkg/hevel/src"]
6+ path = pkg/hevel/src
7+ url = https://git.sr.ht/~dlm/hevel
8+ ignore = all
+1,
-0
1@@ -26,6 +26,7 @@ subgen 'freetype'
2 subgen 'fspec-sync'
3 subgen 'fuse'
4 subgen 'git'
5+subgen 'hevel'
6 subgen 'hotplugd'
7 subgen 'ii'
8 subgen 'iomenu'
+1,
-0
1@@ -0,0 +1 @@
2+/tools.ninja
+30,
-0
1@@ -0,0 +1,30 @@
2+#define USE_IMAGE true
3+#ifdef USE_IMAGE
4+ static char* imgpath = "/home/wololo/usr/img/wallhaven-yx357x.png";
5+#endif
6+static const uint32_t background_color = 0xff787878;
7+static const uint32_t outer_border_color_inactive = 0xffffffea;
8+static const uint32_t inner_border_color_inactive = 0xffddbd8c;
9+static const uint32_t outer_border_color_active = 0xffffffea;
10+static const uint32_t inner_border_color_active = 0xffc99043;
11+static const uint32_t outer_border_width = 4;
12+static const uint32_t inner_border_width = 4;
13+static const uint32_t select_box_color = 0xffffffff;
14+static const uint32_t select_box_border = 2;
15+static const char *const cursor_theme = "nein";
16+static const char *const select_term_app_id = "st-256color";
17+static const char *const term = "st";
18+static const char *const term_flag = "-w";
19+static const bool enable_terminal_spawning = true;
20+static const char *const terminal_app_ids[] = {
21+ "st",
22+ NULL
23+};
24+static const int chord_click_timeout_ms = 250;
25+static const int32_t move_scroll_edge_threshold = 80;
26+static const int32_t move_scroll_speed = 16;
27+static const float move_ease_factor = 0.30f;
28+static const bool scroll_drag_mode = false;
29+static const bool focus_center = true;
30+static const bool enable_zoom = false;
31+#define STICKY
+120,
-0
1@@ -0,0 +1,120 @@
2+cflags{
3+ '-std=c11',
4+ '-D _GNU_SOURCE',
5+ '-I $dir',
6+ '-I $outdir',
7+ '-I $outdir/protocol',
8+ '-I $outdir/include',
9+ '-I $srcdir/swc',
10+ '-I $srcdir/swc/libswc',
11+ '-isystem $builddir/pkg/fontconfig/include',
12+ '-isystem $builddir/pkg/libinput/include',
13+ '-isystem $builddir/pkg/libxkbcommon/include',
14+ '-isystem $builddir/pkg/libdrm/include',
15+ '-isystem $builddir/pkg/linux-headers/include',
16+ '-isystem $builddir/pkg/pixman/include',
17+ '-isystem $builddir/pkg/wayland-protocols/include',
18+ '-isystem $builddir/pkg/wayland/include',
19+ '-isystem $builddir/pkg/wld/include',
20+}
21+
22+waylandproto('swc/protocol/swc.xml', {
23+ client='include/swc-client-protocol.h',
24+ server='include/swc-server-protocol.h',
25+ code='swc-protocol.c',
26+})
27+
28+waylandproto('swc/protocol/server-decoration.xml', {
29+ server='include/server-decoration-server-protocol.h',
30+ code='server-decoration-protocol.c',
31+})
32+
33+waylandproto('swc/protocol/swc_snap.xml', {
34+ server='protocol/swc_snap-server-protocol.h',
35+ code='swc_snap-protocol.c',
36+})
37+
38+waylandproto('protocol/hevel.xml', {
39+ server='protocol/hevel-server-protocol.h',
40+ code='hevel-server.c',
41+})
42+
43+pkg.hdrs = {
44+ '$outdir/protocol/hevel-server-protocol.h',
45+ '$outdir/protocol/swc_snap-server-protocol.h',
46+ '$outdir/include/server-decoration-server-protocol.h',
47+ '$outdir/include/swc-client-protocol.h',
48+ '$outdir/include/swc-server-protocol.h',
49+}
50+
51+copy('$outdir/include', '$builddir/pkg/wld/protocol', {'wayland-drm-server-protocol.h'})
52+
53+sub('tools.ninja', function()
54+ toolchain(config.host)
55+ cflags{'-std=c99', '-D _POSIX_C_SOURCE=200809L'}
56+ exe('convert_font', {'swc/cursor/convert_font.c'})
57+end)
58+
59+rule('convert_font', '$outdir/convert_font $in $out 2>/dev/null')
60+build('convert_font', '$outdir/cursor/cursor_data.h', {'$srcdir/swc/cursor/cursor.pcf', '|', '$outdir/convert_font'})
61+
62+pkg.deps = {
63+ '$gendir/headers',
64+ '$outdir/cursor/cursor_data.h',
65+ '$outdir/protocol/hevel-server-protocol.h',
66+ '$outdir/protocol/swc_snap-server-protocol.h',
67+ 'pkg/fontconfig/headers',
68+ 'pkg/libdrm/headers',
69+ 'pkg/libinput/headers',
70+ 'pkg/libxkbcommon/headers',
71+ 'pkg/linux-headers/headers',
72+ 'pkg/pixman/headers',
73+ 'pkg/wayland/headers',
74+ 'pkg/wayland-protocols/headers',
75+ 'pkg/wld/headers',
76+}
77+
78+lib('libswc.a', [[
79+ swc/libswc/(
80+ bindings.c compositor.c data.c
81+ data_device.c data_device_manager.c
82+ dmabuf.c drm.c input.c kde_decoration.c
83+ keyboard.c launch.c mode.c output.c
84+ panel.c panel_manager.c plane.c pointer.c
85+ primary_plane.c region.c screen.c shell.c
86+ shell_surface.c shm.c snap.c subcompositor.c
87+ subsurface.c surface.c swc.c util.c view.c
88+ wallpaper.c wayland_buffer.c window.c
89+ xdg_decoration.c xdg_shell.c seat.c
90+ )
91+ swc/launch/protocol.c
92+ server-decoration-protocol.c.o
93+ swc-protocol.c.o
94+ swc_snap-protocol.c.o
95+ $builddir/(
96+ pkg/libinput/libinput.a.d
97+ pkg/libxkbcommon/libxkbcommon.a
98+ pkg/wayland-protocols/xdg-decoration-unstable-v1-protocol.c.o
99+ pkg/wayland-protocols/xdg-shell-protocol.c.o
100+ pkg/wayland-protocols/linux-dmabuf-unstable-v1-protocol.c.o
101+ pkg/wayland/libwayland-server.a.d
102+ pkg/wld/libwld.a.d
103+ )
104+]])
105+
106+exe('hevel', {
107+ 'hevel.c',
108+ 'hevel-server.c.o',
109+ 'libswc.a',
110+ '$builddir/pkg/wld/libwld.a',
111+ '$builddir/pkg/wayland/libwayland-server.a.d',
112+ '$builddir/pkg/libinput/libinput.a.d',
113+ '$builddir/pkg/pixman/libpixman.a',
114+ '$builddir/pkg/libxkbcommon/libxkbcommon.a',
115+ '$builddir/pkg/libdrm/libdrm.a',
116+ '$builddir/pkg/fontconfig/libfontconfig.a.d',
117+})
118+
119+file('bin/hevel', '755', '$outdir/hevel')
120+
121+fetch 'git'
1@@ -0,0 +1,18 @@
2+From 7656f4df62a5763fb098d508977312889b052ea0 Mon Sep 17 00:00:00 2001
3+From: hovercats <hovercatswithlasereyes@protonmail.com>
4+Date: Wed, 21 Jan 2026 04:39:25 +0100
5+Subject: [PATCH] rename config.h to config.def.h to avoid conflicts with user
6+ configs
7+
8+---
9+ config.h => config.def.h | 0
10+ 1 file changed, 0 insertions(+), 0 deletions(-)
11+ rename config.h => config.def.h (100%)
12+
13+diff --git a/config.h b/config.def.h
14+similarity index 100%
15+rename from config.h
16+rename to config.def.h
17+--
18+2.49.0
19+
+1,
-0
1@@ -0,0 +1 @@
2+Subproject commit e37732f4bebf60a3f481da7220ab690a0973f0dd
+1,
-0
1@@ -0,0 +1 @@
2+e37732f r2