Add binding to toggle focused tags

This commit is contained in:
Isaac Freund 2020-04-08 00:40:41 +02:00
parent fa65333789
commit 180c2a8faa
No known key found for this signature in database
GPG Key ID: 86DED400DDFD7A11
2 changed files with 17 additions and 0 deletions

View File

@ -71,6 +71,16 @@ pub fn focusTags(server: *Server, arg: Arg) void {
server.root.arrange();
}
/// Toggle focus of the passsed tags.
pub fn toggleTags(server: *Server, arg: Arg) void {
const tags = arg.uint;
const new_focused_tags = server.root.current_focused_tags ^ tags;
if (new_focused_tags != 0) {
server.root.pending_focused_tags = new_focused_tags;
server.root.arrange();
}
}
/// Set the tags of the focused view.
pub fn setFocusedViewTags(server: *Server, arg: Arg) void {
const tags = arg.uint;

View File

@ -58,5 +58,12 @@ pub const Config = struct {
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 } });
try self.keybinds.append(Keybind{ .keysym = c.XKB_KEY_1, .modifiers = mod | c.WLR_MODIFIER_CTRL, .command = command.toggleTags, .arg = .{ .uint = 1 << 0 } });
try self.keybinds.append(Keybind{ .keysym = c.XKB_KEY_2, .modifiers = mod | c.WLR_MODIFIER_CTRL, .command = command.toggleTags, .arg = .{ .uint = 1 << 1 } });
try self.keybinds.append(Keybind{ .keysym = c.XKB_KEY_3, .modifiers = mod | c.WLR_MODIFIER_CTRL, .command = command.toggleTags, .arg = .{ .uint = 1 << 2 } });
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 } });
}
};