aboutsummaryrefslogtreecommitdiff
path: root/src/config.zig
diff options
context:
space:
mode:
authorIsaac Freund <ifreund@ifreund.xyz>2020-04-07 21:48:56 +0200
committerIsaac Freund <ifreund@ifreund.xyz>2020-04-07 21:48:56 +0200
commitfa653337897b327a62b25840bea1713c262f45a6 (patch)
treee7e54b0d861cf9eaa504ea9c266f88ed24cc1de9 /src/config.zig
parent15f97314a9a72685a3468dcb72bac4e534b05b35 (diff)
downloadriver-fa653337897b327a62b25840bea1713c262f45a6.tar.gz
river-fa653337897b327a62b25840bea1713c262f45a6.tar.xz
Refactor keybindings to be runtime defined.
Diffstat (limited to 'src/config.zig')
-rw-r--r--src/config.zig62
1 files changed, 62 insertions, 0 deletions
diff --git a/src/config.zig b/src/config.zig
new file mode 100644
index 0000000..ac67071
--- /dev/null
+++ b/src/config.zig
@@ -0,0 +1,62 @@
+const std = @import("std");
+const c = @import("c.zig");
+const command = @import("command.zig");
+
+const Server = @import("server.zig");
+
+pub const Config = struct {
+ const Self = @This();
+
+ /// Width of borders in pixels
+ border_width: u32 = 2,
+
+ /// Amount of view padding in pixels
+ view_padding: u32 = 10,
+
+ const Keybind = struct {
+ keysym: c.xkb_keysym_t,
+ modifiers: u32,
+ command: command.Command,
+ arg: command.Arg,
+ };
+
+ /// All user-defined keybindings
+ keybinds: std.ArrayList(Keybind),
+
+ pub fn init(self: *Self, allocator: *std.mem.Allocator) !void {
+ self.border_width = 2;
+ self.view_padding = 10;
+
+ self.keybinds = std.ArrayList(Keybind).init(allocator);
+
+ const mod = c.WLR_MODIFIER_LOGO;
+ try self.keybinds.append(Keybind{ .keysym = c.XKB_KEY_e, .modifiers = mod, .command = command.exitCompositor, .arg = .{ .none = {} } });
+
+ try self.keybinds.append(Keybind{ .keysym = c.XKB_KEY_j, .modifiers = mod, .command = command.focusNextView, .arg = .{ .none = {} } });
+ try self.keybinds.append(Keybind{ .keysym = c.XKB_KEY_k, .modifiers = mod, .command = command.focusPrevView, .arg = .{ .none = {} } });
+
+ try self.keybinds.append(Keybind{ .keysym = c.XKB_KEY_h, .modifiers = mod, .command = command.modifyMasterFactor, .arg = .{ .float = 0.05 } });
+ try self.keybinds.append(Keybind{ .keysym = c.XKB_KEY_l, .modifiers = mod, .command = command.modifyMasterFactor, .arg = .{ .float = -0.05 } });
+
+ try self.keybinds.append(Keybind{ .keysym = c.XKB_KEY_Return, .modifiers = mod, .command = command.zoom, .arg = .{ .none = {} } });
+
+ try self.keybinds.append(Keybind{ .keysym = c.XKB_KEY_1, .modifiers = mod, .command = command.focusTags, .arg = .{ .uint = 1 << 0 } });
+ try self.keybinds.append(Keybind{ .keysym = c.XKB_KEY_2, .modifiers = mod, .command = command.focusTags, .arg = .{ .uint = 1 << 1 } });
+ try self.keybinds.append(Keybind{ .keysym = c.XKB_KEY_3, .modifiers = mod, .command = command.focusTags, .arg = .{ .uint = 1 << 2 } });
+ try self.keybinds.append(Keybind{ .keysym = c.XKB_KEY_4, .modifiers = mod, .command = command.focusTags, .arg = .{ .uint = 1 << 3 } });
+ try self.keybinds.append(Keybind{ .keysym = c.XKB_KEY_5, .modifiers = mod, .command = command.focusTags, .arg = .{ .uint = 1 << 4 } });
+ try self.keybinds.append(Keybind{ .keysym = c.XKB_KEY_6, .modifiers = mod, .command = command.focusTags, .arg = .{ .uint = 1 << 5 } });
+
+ try self.keybinds.append(Keybind{ .keysym = c.XKB_KEY_h, .modifiers = mod | c.WLR_MODIFIER_SHIFT, .command = command.modifyMasterCount, .arg = .{ .int = 1 } });
+ try self.keybinds.append(Keybind{ .keysym = c.XKB_KEY_l, .modifiers = mod | c.WLR_MODIFIER_SHIFT, .command = command.modifyMasterCount, .arg = .{ .int = -1 } });
+
+ try self.keybinds.append(Keybind{ .keysym = c.XKB_KEY_Return, .modifiers = mod | c.WLR_MODIFIER_SHIFT, .command = command.spawn, .arg = .{ .none = {} } });
+
+ try self.keybinds.append(Keybind{ .keysym = c.XKB_KEY_1, .modifiers = mod | c.WLR_MODIFIER_SHIFT, .command = command.setFocusedViewTags, .arg = .{ .uint = 1 << 0 } });
+ try self.keybinds.append(Keybind{ .keysym = c.XKB_KEY_2, .modifiers = mod | c.WLR_MODIFIER_SHIFT, .command = command.setFocusedViewTags, .arg = .{ .uint = 1 << 1 } });
+ try self.keybinds.append(Keybind{ .keysym = c.XKB_KEY_3, .modifiers = mod | c.WLR_MODIFIER_SHIFT, .command = command.setFocusedViewTags, .arg = .{ .uint = 1 << 2 } });
+ try self.keybinds.append(Keybind{ .keysym = c.XKB_KEY_4, .modifiers = mod | c.WLR_MODIFIER_SHIFT, .command = command.setFocusedViewTags, .arg = .{ .uint = 1 << 3 } });
+ try self.keybinds.append(Keybind{ .keysym = c.XKB_KEY_5, .modifiers = mod | c.WLR_MODIFIER_SHIFT, .command = command.setFocusedViewTags, .arg = .{ .uint = 1 << 4 } });
+ try self.keybinds.append(Keybind{ .keysym = c.XKB_KEY_6, .modifiers = mod | c.WLR_MODIFIER_SHIFT, .command = command.setFocusedViewTags, .arg = .{ .uint = 1 << 5 } });
+ }
+};