aboutsummaryrefslogtreecommitdiff
path: root/src/server.zig
diff options
context:
space:
mode:
authorIsaac Freund <ifreund@ifreund.xyz>2020-04-02 13:44:24 +0200
committerIsaac Freund <ifreund@ifreund.xyz>2020-04-02 13:44:24 +0200
commit57f27f7cc6a232827a774c3f36035d9290f3b6ce (patch)
tree4d2fd98b9a989888c77016550c66470dd6679069 /src/server.zig
parent26a5aaca69fecbf818d247fc7d838d7482431f20 (diff)
downloadriver-57f27f7cc6a232827a774c3f36035d9290f3b6ce.tar.gz
river-57f27f7cc6a232827a774c3f36035d9290f3b6ce.tar.xz
Implement tag assignment
There are a few bugs with this, but the core logic is sound
Diffstat (limited to 'src/server.zig')
-rw-r--r--src/server.zig36
1 files changed, 36 insertions, 0 deletions
diff --git a/src/server.zig b/src/server.zig
index de202fd..3b6a9bc 100644
--- a/src/server.zig
+++ b/src/server.zig
@@ -136,6 +136,42 @@ pub const Server = struct {
const child = std.ChildProcess.init(&argv, std.heap.c_allocator) catch unreachable;
std.ChildProcess.spawn(child) catch unreachable;
},
+ c.XKB_KEY_1 => {
+ if (self.root.focused_view) |view| {
+ view.pending_tags = 1 << 0;
+ self.root.arrange();
+ }
+ },
+ c.XKB_KEY_2 => {
+ if (self.root.focused_view) |view| {
+ view.pending_tags = 1 << 1;
+ self.root.arrange();
+ }
+ },
+ c.XKB_KEY_3 => {
+ if (self.root.focused_view) |view| {
+ view.pending_tags = 1 << 2;
+ self.root.arrange();
+ }
+ },
+ c.XKB_KEY_4 => {
+ if (self.root.focused_view) |view| {
+ view.pending_tags = 1 << 3;
+ self.root.arrange();
+ }
+ },
+ c.XKB_KEY_5 => {
+ if (self.root.focused_view) |view| {
+ view.pending_tags = 1 << 4;
+ self.root.arrange();
+ }
+ },
+ c.XKB_KEY_6 => {
+ if (self.root.focused_view) |view| {
+ view.pending_tags = 1 << 5;
+ self.root.arrange();
+ }
+ },
else => return false,
}
} else {