Implement configuration for keybindings

Keybinds go in a "keybinds" block and follow the format

<command> <modifiers> <keysym> <options>

But there's also a special "tag_bind" command that just takes modifiers
and one of set_output_tags, set_window_tags, toggle_output_tags, and
toggle_window_tags. It will automatically be used to loop through the
1-9 keys on tags 1<<0 to 1<<9, however, you can still implement those
commands individually if you want.
This commit is contained in:
Ben Buhse 2026-01-30 19:43:49 -06:00
commit fd8b6d0d41
No known key found for this signature in database
GPG key ID: 7916ACFCD38FD0B4
9 changed files with 350 additions and 84 deletions

View file

@ -48,6 +48,7 @@ pub fn build(b: *std.Build) void {
exe.linkLibC();
exe.linkSystemLibrary("wayland-client");
exe.linkSystemLibrary("xkbcommon");
b.installArtifact(exe);
@ -95,6 +96,7 @@ pub fn build(b: *std.Build) void {
exe_check.linkLibC();
exe_check.linkSystemLibrary("wayland-client");
exe_check.linkSystemLibrary("xkbcommon");
const check = b.step("check", "Check if beanbag compiles");
check.dependOn(&exe_check.step);