diff options
| author | Isaac Freund <ifreund@ifreund.xyz> | 2020-04-08 12:44:41 +0200 |
|---|---|---|
| committer | Isaac Freund <ifreund@ifreund.xyz> | 2020-04-08 12:44:41 +0200 |
| commit | 57b371d567d2d4f4f81ad6f3a242f231ecad91e6 (patch) | |
| tree | 3c1d9f940e444f76fcb6713fc58a72c900121bdb | |
| parent | 180c2a8faab3438f30abda91eab109e84a029c6e (diff) | |
| download | river-57b371d567d2d4f4f81ad6f3a242f231ecad91e6.tar.gz river-57b371d567d2d4f4f81ad6f3a242f231ecad91e6.tar.xz | |
Add binding to toggle tag of focused view
| -rw-r--r-- | src/command.zig | 12 | ||||
| -rw-r--r-- | src/config.zig | 7 |
2 files changed, 19 insertions, 0 deletions
diff --git a/src/command.zig b/src/command.zig index 075e21f..add31ea 100644 --- a/src/command.zig +++ b/src/command.zig @@ -92,6 +92,18 @@ pub fn setFocusedViewTags(server: *Server, arg: Arg) void { } } +/// Toggle the passed tags of the focused view +pub fn toggleFocusedViewTags(server: *Server, arg: Arg) void { + const tags = arg.uint; + if (server.root.focused_view) |view| { + const new_tags = view.current_tags ^ tags; + if (new_tags != 0) { + view.pending_tags = new_tags; + server.root.arrange(); + } + } +} + /// Spawn a program. /// TODO: make this take a program as a paramter and spawn that pub fn spawn(server: *Server, arg: Arg) void { diff --git a/src/config.zig b/src/config.zig index 75c7f99..50ee7eb 100644 --- a/src/config.zig +++ b/src/config.zig @@ -65,5 +65,12 @@ pub const Config = struct { try self.keybinds.append(Keybind{ .keysym = c.XKB_KEY_4, .modifiers = mod | c.WLR_MODIFIER_CTRL, .command = command.toggleTags, .arg = .{ .uint = 1 << 3 } }); try self.keybinds.append(Keybind{ .keysym = c.XKB_KEY_5, .modifiers = mod | c.WLR_MODIFIER_CTRL, .command = command.toggleTags, .arg = .{ .uint = 1 << 4 } }); try self.keybinds.append(Keybind{ .keysym = c.XKB_KEY_6, .modifiers = mod | c.WLR_MODIFIER_CTRL, .command = command.toggleTags, .arg = .{ .uint = 1 << 5 } }); + + try self.keybinds.append(Keybind{ .keysym = c.XKB_KEY_1, .modifiers = mod | c.WLR_MODIFIER_CTRL | c.WLR_MODIFIER_SHIFT, .command = command.toggleFocusedViewTags, .arg = .{ .uint = 1 << 0 } }); + try self.keybinds.append(Keybind{ .keysym = c.XKB_KEY_2, .modifiers = mod | c.WLR_MODIFIER_CTRL | c.WLR_MODIFIER_SHIFT, .command = command.toggleFocusedViewTags, .arg = .{ .uint = 1 << 1 } }); + try self.keybinds.append(Keybind{ .keysym = c.XKB_KEY_3, .modifiers = mod | c.WLR_MODIFIER_CTRL | c.WLR_MODIFIER_SHIFT, .command = command.toggleFocusedViewTags, .arg = .{ .uint = 1 << 2 } }); + try self.keybinds.append(Keybind{ .keysym = c.XKB_KEY_4, .modifiers = mod | c.WLR_MODIFIER_CTRL | c.WLR_MODIFIER_SHIFT, .command = command.toggleFocusedViewTags, .arg = .{ .uint = 1 << 3 } }); + try self.keybinds.append(Keybind{ .keysym = c.XKB_KEY_5, .modifiers = mod | c.WLR_MODIFIER_CTRL | c.WLR_MODIFIER_SHIFT, .command = command.toggleFocusedViewTags, .arg = .{ .uint = 1 << 4 } }); + try self.keybinds.append(Keybind{ .keysym = c.XKB_KEY_6, .modifiers = mod | c.WLR_MODIFIER_CTRL | c.WLR_MODIFIER_SHIFT, .command = command.toggleFocusedViewTags, .arg = .{ .uint = 1 << 5 } }); } }; |
