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'
+18, -0
 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