git.lucas.co / cce-compositor
Wayland compositor (wlroots)
git clone https://git.lucas.co/cce-compositor.git

commitc617ca9d512e893dc205c036391e3d51e3d514c6
parent9ae12fd435
authorIsaac Freund <[email protected]>
date2020-06-01 15:16
Rename bind -> map

 src/Config.zig                    | 70 +++++++++++++++++++--------------------
 src/Keyboard.zig                  | 14 ++++----
 src/{Keybind.zig => Mapping.zig}  |  0
 src/Seat.zig                      | 12 +++----
 src/command.zig                   |  4 +--
 src/command/declare_mode.zig      |  6 ++--
 src/command/{bind.zig => map.zig} | 13 ++++----
 7 files changed, 60 insertions(+), 59 deletions(-)

diff --git a/src/Config.zig b/src/Config.zig
index e887efe..20b7504 100644
--- a/src/Config.zig
+++ b/src/Config.zig
@@ -23,7 +23,7 @@ const c = @import("c.zig");
 
 const Log = @import("log.zig").Log;
 const Server = @import("Server.zig");
-const Keybind = @import("Keybind.zig");
+const Mapping = @import("Mapping.zig");
 
 /// Width of borders in pixels
 border_width: u32,
@@ -34,11 +34,11 @@ view_padding: u32,
 /// Amount of padding arount the outer edge of the layout in pixels
 outer_padding: u32,
 
-/// Map of mode name to mode id
+/// Map of keymap mode name to mode id
 mode_to_id: std.StringHashMap(usize),
 
-/// All user-defined keybinding modes, indexed by mode id
-modes: std.ArrayList(std.ArrayList(Keybind)),
+/// All user-defined keymap modes, indexed by mode id
+modes: std.ArrayList(std.ArrayList(Mapping)),
 
 /// List of app_ids which will be started floating
 float_filter: std.ArrayList([*:0]const u8),
@@ -52,9 +52,9 @@ pub fn init(self: *Self, allocator: *std.mem.Allocator) !void {
     try self.mode_to_id.putNoClobber("normal", 0);
     try self.mode_to_id.putNoClobber("passthrough", 1);
 
-    self.modes = std.ArrayList(std.ArrayList(Keybind)).init(allocator);
-    try self.modes.append(std.ArrayList(Keybind).init(allocator));
-    try self.modes.append(std.ArrayList(Keybind).init(allocator));
+    self.modes = std.ArrayList(std.ArrayList(Mapping)).init(allocator);
+    try self.modes.append(std.ArrayList(Mapping).init(allocator));
+    try self.modes.append(std.ArrayList(Mapping).init(allocator));
 
     self.float_filter = std.ArrayList([*:0]const u8).init(allocator);
 
@@ -62,7 +62,7 @@ pub fn init(self: *Self, allocator: *std.mem.Allocator) !void {
     const mod = c.WLR_MODIFIER_LOGO;
 
     // Mod+Shift+Return to start an instance of alacritty
-    try normal_keybinds.append(try Keybind.init(
+    try normal_keybinds.append(try Mapping.init(
         allocator,
         c.XKB_KEY_Return,
         mod | c.WLR_MODIFIER_SHIFT,
@@ -70,7 +70,7 @@ pub fn init(self: *Self, allocator: *std.mem.Allocator) !void {
     ));
 
     // Mod+Q to close the focused view
-    try normal_keybinds.append(try Keybind.init(
+    try normal_keybinds.append(try Mapping.init(
         allocator,
         c.XKB_KEY_q,
         mod,
@@ -78,7 +78,7 @@ pub fn init(self: *Self, allocator: *std.mem.Allocator) !void {
     ));
 
     // Mod+E to exit river
-    try normal_keybinds.append(try Keybind.init(
+    try normal_keybinds.append(try Mapping.init(
         allocator,
         c.XKB_KEY_e,
         mod,
@@ -86,13 +86,13 @@ pub fn init(self: *Self, allocator: *std.mem.Allocator) !void {
     ));
 
     // Mod+J and Mod+K to focus the next/previous view in the layout stack
-    try normal_keybinds.append(try Keybind.init(
+    try normal_keybinds.append(try Mapping.init(
         allocator,
         c.XKB_KEY_j,
         mod,
         &[_][]const u8{ "focus", "next" },
     ));
-    try normal_keybinds.append(try Keybind.init(
+    try normal_keybinds.append(try Mapping.init(
         allocator,
         c.XKB_KEY_k,
         mod,
@@ -101,7 +101,7 @@ pub fn init(self: *Self, allocator: *std.mem.Allocator) !void {
 
     // Mod+Return to bump the focused view to the top of the layout stack,
     // making it the new master
-    try normal_keybinds.append(try Keybind.init(
+    try normal_keybinds.append(try Mapping.init(
         allocator,
         c.XKB_KEY_Return,
         mod,
@@ -109,13 +109,13 @@ pub fn init(self: *Self, allocator: *std.mem.Allocator) !void {
     ));
 
     // Mod+H and Mod+L to increase/decrease the width of the master column
-    try normal_keybinds.append(try Keybind.init(
+    try normal_keybinds.append(try Mapping.init(
         allocator,
         c.XKB_KEY_h,
         mod,
         &[_][]const u8{ "mod_master_factor", "+0.05" },
     ));
-    try normal_keybinds.append(try Keybind.init(
+    try normal_keybinds.append(try Mapping.init(
         allocator,
         c.XKB_KEY_l,
         mod,
@@ -124,13 +124,13 @@ pub fn init(self: *Self, allocator: *std.mem.Allocator) !void {
 
     // Mod+Shift+H and Mod+Shift+L to increment/decrement the number of
     // master views in the layout
-    try normal_keybinds.append(try Keybind.init(
+    try normal_keybinds.append(try Mapping.init(
         allocator,
         c.XKB_KEY_h,
         mod | c.WLR_MODIFIER_SHIFT,
         &[_][]const u8{ "mod_master_count", "+1" },
     ));
-    try normal_keybinds.append(try Keybind.init(
+    try normal_keybinds.append(try Mapping.init(
         allocator,
         c.XKB_KEY_l,
         mod | c.WLR_MODIFIER_SHIFT,
@@ -141,28 +141,28 @@ pub fn init(self: *Self, allocator: *std.mem.Allocator) !void {
     inline while (i < 9) : (i += 1) {
         const str = &[_]u8{i + '0' + 1};
         // Mod+[1-9] to focus tag [1-9]
-        try normal_keybinds.append(try Keybind.init(
+        try normal_keybinds.append(try Mapping.init(
             allocator,
             c.XKB_KEY_1 + i,
             mod,
             &[_][]const u8{ "focus_tag", str },
         ));
         // Mod+Shift+[1-9] to tag focused view with tag [1-9]
-        try normal_keybinds.append(try Keybind.init(
+        try normal_keybinds.append(try Mapping.init(
             allocator,
             c.XKB_KEY_1 + i,
             mod | c.WLR_MODIFIER_SHIFT,
             &[_][]const u8{ "tag_view", str },
         ));
         // Mod+Ctrl+[1-9] to toggle focus of tag [1-9]
-        try normal_keybinds.append(try Keybind.init(
+        try normal_keybinds.append(try Mapping.init(
             allocator,
             c.XKB_KEY_1 + i,
             mod | c.WLR_MODIFIER_CTRL,
             &[_][]const u8{ "toggle_tag_focus", str },
         ));
         // Mod+Shift+Ctrl+[1-9] to toggle tag [1-9] of focused view
-        try normal_keybinds.append(try Keybind.init(
+        try normal_keybinds.append(try Mapping.init(
             allocator,
             c.XKB_KEY_1 + i,
             mod | c.WLR_MODIFIER_CTRL | c.WLR_MODIFIER_SHIFT,
@@ -171,7 +171,7 @@ pub fn init(self: *Self, allocator: *std.mem.Allocator) !void {
     }
 
     // Mod+0 to focus all tags
-    try normal_keybinds.append(try Keybind.init(
+    try normal_keybinds.append(try Mapping.init(
         allocator,
         c.XKB_KEY_0,
         mod,
@@ -179,7 +179,7 @@ pub fn init(self: *Self, allocator: *std.mem.Allocator) !void {
     ));
 
     // Mod+Shift+0 to tag focused view with all tags
-    try normal_keybinds.append(try Keybind.init(
+    try normal_keybinds.append(try Mapping.init(
         allocator,
         c.XKB_KEY_0,
         mod | c.WLR_MODIFIER_SHIFT,
@@ -187,13 +187,13 @@ pub fn init(self: *Self, allocator: *std.mem.Allocator) !void {
     ));
 
     // Mod+Period and Mod+Comma to focus the next/previous output
-    try normal_keybinds.append(try Keybind.init(
+    try normal_keybinds.append(try Mapping.init(
         allocator,
         c.XKB_KEY_period,
         mod,
         &[_][]const u8{ "focus_output", "next" },
     ));
-    try normal_keybinds.append(try Keybind.init(
+    try normal_keybinds.append(try Mapping.init(
         allocator,
         c.XKB_KEY_comma,
         mod,
@@ -202,13 +202,13 @@ pub fn init(self: *Self, allocator: *std.mem.Allocator) !void {
 
     // Mod+Shift+Period/Comma to send the focused view to the the
     // next/previous output
-    try normal_keybinds.append(try Keybind.init(
+    try normal_keybinds.append(try Mapping.init(
         allocator,
         c.XKB_KEY_period,
         mod | c.WLR_MODIFIER_SHIFT,
         &[_][]const u8{ "send_to_output", "next" },
     ));
-    try normal_keybinds.append(try Keybind.init(
+    try normal_keybinds.append(try Mapping.init(
         allocator,
         c.XKB_KEY_comma,
         mod | c.WLR_MODIFIER_SHIFT,
@@ -216,7 +216,7 @@ pub fn init(self: *Self, allocator: *std.mem.Allocator) !void {
     ));
 
     // Mod+Space to toggle float
-    try normal_keybinds.append(try Keybind.init(
+    try normal_keybinds.append(try Mapping.init(
         allocator,
         c.XKB_KEY_space,
         mod,
@@ -224,7 +224,7 @@ pub fn init(self: *Self, allocator: *std.mem.Allocator) !void {
     ));
 
     // Mod+F11 to enter passthrough mode
-    try normal_keybinds.append(try Keybind.init(
+    try normal_keybinds.append(try Mapping.init(
         allocator,
         c.XKB_KEY_F11,
         mod,
@@ -232,25 +232,25 @@ pub fn init(self: *Self, allocator: *std.mem.Allocator) !void {
     ));
 
     // Change master orientation with Mod+{Up,Right,Down,Left}
-    try normal_keybinds.append(try Keybind.init(
+    try normal_keybinds.append(try Mapping.init(
         allocator,
         c.XKB_KEY_Up,
         mod,
         &[_][]const u8{ "layout", "TopMaster" },
     ));
-    try normal_keybinds.append(try Keybind.init(
+    try normal_keybinds.append(try Mapping.init(
         allocator,
         c.XKB_KEY_Right,
         mod,
         &[_][]const u8{ "layout", "RightMaster" },
     ));
-    try normal_keybinds.append(try Keybind.init(
+    try normal_keybinds.append(try Mapping.init(
         allocator,
         c.XKB_KEY_Down,
         mod,
         &[_][]const u8{ "layout", "BottomMaster" },
     ));
-    try normal_keybinds.append(try Keybind.init(
+    try normal_keybinds.append(try Mapping.init(
         allocator,
         c.XKB_KEY_Left,
         mod,
@@ -258,7 +258,7 @@ pub fn init(self: *Self, allocator: *std.mem.Allocator) !void {
     ));
 
     // Mod+f to change to Full layout
-    try normal_keybinds.append(try Keybind.init(
+    try normal_keybinds.append(try Mapping.init(
         allocator,
         c.XKB_KEY_f,
         mod,
@@ -266,7 +266,7 @@ pub fn init(self: *Self, allocator: *std.mem.Allocator) !void {
     ));
 
     // Mod+F11 to return to normal mode
-    try self.modes.items[1].append(try Keybind.init(
+    try self.modes.items[1].append(try Mapping.init(
         allocator,
         c.XKB_KEY_F11,
         mod,
diff --git a/src/Keyboard.zig b/src/Keyboard.zig
index 8c19b84..cbfd6cd 100644
--- a/src/Keyboard.zig
+++ b/src/Keyboard.zig
@@ -91,7 +91,7 @@ fn handleKey(listener: ?*c.wl_listener, data: ?*c_void) callconv(.C) void {
     );
 
     // Get a list of keysyms ignoring modifiers (e.g. 1 instead of !)
-    // Important for bindings like Mod+Shift+1
+    // Important for mappings like Mod+Shift+1
     var raw_keysyms: ?[*]c.xkb_keysym_t = undefined;
     const layout_index = c.xkb_state_key_get_layout(wlr_keyboard.xkb_state, keycode);
     const raw_keysyms_len = c.xkb_keymap_key_get_syms_by_level(
@@ -108,10 +108,10 @@ fn handleKey(listener: ?*c.wl_listener, data: ?*c_void) callconv(.C) void {
     if (event.state == .WLR_KEY_PRESSED) {
         var i: usize = 0;
         while (i < translated_keysyms_len) : (i += 1) {
-            if (self.handleBuiltinKeybind(translated_keysyms.?[i])) {
+            if (self.handleBuiltinMapping(translated_keysyms.?[i])) {
                 handled = true;
                 break;
-            } else if (self.seat.handleKeybinding(translated_keysyms.?[i], modifiers)) {
+            } else if (self.seat.handleMapping(translated_keysyms.?[i], modifiers)) {
                 handled = true;
                 break;
             }
@@ -119,10 +119,10 @@ fn handleKey(listener: ?*c.wl_listener, data: ?*c_void) callconv(.C) void {
         if (!handled) {
             i = 0;
             while (i < raw_keysyms_len) : (i += 1) {
-                if (self.handleBuiltinKeybind(raw_keysyms.?[i])) {
+                if (self.handleBuiltinMapping(raw_keysyms.?[i])) {
                     handled = true;
                     break;
-                } else if (self.seat.handleKeybinding(raw_keysyms.?[i], modifiers)) {
+                } else if (self.seat.handleMapping(raw_keysyms.?[i], modifiers)) {
                     handled = true;
                     break;
                 }
@@ -161,9 +161,9 @@ fn handleModifiers(listener: ?*c.wl_listener, data: ?*c_void) callconv(.C) void
     );
 }
 
-/// Handle any builtin, harcoded compsitor bindings such as VT switching.
+/// Handle any builtin, harcoded compsitor mappings such as VT switching.
 /// Returns true if the keysym was handled.
-fn handleBuiltinKeybind(self: Self, keysym: c.xkb_keysym_t) bool {
+fn handleBuiltinMapping(self: Self, keysym: c.xkb_keysym_t) bool {
     if (keysym >= c.XKB_KEY_XF86Switch_VT_1 and keysym <= c.XKB_KEY_XF86Switch_VT_12) {
         Log.Debug.log("Switch VT keysym received", .{});
         const wlr_backend = self.seat.input_manager.server.wlr_backend;
diff --git a/src/Keybind.zig b/src/Mapping.zig
similarity index 100%
rename from src/Keybind.zig
rename to src/Mapping.zig
diff --git a/src/Seat.zig b/src/Seat.zig
index 22388d1..82979fc 100644
--- a/src/Seat.zig
+++ b/src/Seat.zig
@@ -45,7 +45,7 @@ cursor: Cursor,
 /// Mulitple keyboards are handled separately
 keyboards: std.TailQueue(Keyboard),
 
-/// Id of the current keybind mode
+/// ID of the current keymap mode
 mode_id: usize,
 
 /// Currently focused output, may be the noop output if no
@@ -246,16 +246,16 @@ pub fn handleViewUnmap(self: *Self, view: *View) void {
     }
 }
 
-/// Handle any user-defined keybinding for the passed keysym and modifiers
+/// Handle any user-defined mapping for the passed keysym and modifiers
 /// Returns true if the key was handled
-pub fn handleKeybinding(self: *Self, keysym: c.xkb_keysym_t, modifiers: u32) bool {
+pub fn handleMapping(self: *Self, keysym: c.xkb_keysym_t, modifiers: u32) bool {
     const modes = &self.input_manager.server.config.modes;
-    for (modes.items[self.mode_id].items) |keybind| {
-        if (modifiers == keybind.modifiers and keysym == keybind.keysym) {
+    for (modes.items[self.mode_id].items) |mapping| {
+        if (modifiers == mapping.modifiers and keysym == mapping.keysym) {
             // Execute the bound command
             const allocator = self.input_manager.server.allocator;
             var failure_message: []const u8 = undefined;
-            command.run(allocator, self, keybind.command_args, &failure_message) catch |err| {
+            command.run(allocator, self, mapping.command_args, &failure_message) catch |err| {
                 // TODO: log the error
                 if (err == command.Error.CommandFailed)
                     allocator.free(failure_message);
diff --git a/src/command.zig b/src/command.zig
index 2bd53ba..c1db559 100644
--- a/src/command.zig
+++ b/src/command.zig
@@ -27,7 +27,7 @@ const impl = struct {
     const focus = @import("command/focus.zig").focus;
     const focusAllTags = @import("command/focus_all_tags.zig").focusAllTags;
     const focusOutput = @import("command/focus_output.zig").focusOutput;
-    const bind = @import("command/bind.zig").bind;
+    const map = @import("command/map.zig").map;
     const focusTag = @import("command/focus_tag.zig").focusTag;
     const layout = @import("command/layout.zig").layout;
     const modMasterCount = @import("command/mod_master_count.zig").modMasterCount;
@@ -77,7 +77,7 @@ const str_to_impl_fn = [_]Definition{
     .{ .name = "mod_master_factor", .impl = impl.modMasterFactor },
     .{ .name = "send_to_output",    .impl = impl.sendToOutput },
     .{ .name = "spawn",             .impl = impl.spawn },
-    .{ .name = "bind",              .impl = impl.bind },
+    .{ .name = "map",               .impl = impl.map },
     .{ .name = "tag_view",          .impl = impl.tagView },
     .{ .name = "tag_view_all_tags", .impl = impl.tagViewAllTags },
     .{ .name = "toggle_float",      .impl = impl.toggleFloat },
diff --git a/src/command/declare_mode.zig b/src/command/declare_mode.zig
index 6cc1489..943ede8 100644
--- a/src/command/declare_mode.zig
+++ b/src/command/declare_mode.zig
@@ -20,10 +20,10 @@ const std = @import("std");
 const c = @import("../c.zig");
 
 const Error = @import("../command.zig").Error;
-const Keybind = @import("../Keybind.zig");
+const Mapping = @import("../Mapping.zig");
 const Seat = @import("../Seat.zig");
 
-/// Declare a new keybind mode
+/// Declare a new keymap mode
 pub fn declareMode(
     allocator: *std.mem.Allocator,
     seat: *Seat,
@@ -47,5 +47,5 @@ pub fn declareMode(
 
     try config.mode_to_id.putNoClobber(new_mode_name, config.modes.items.len);
     errdefer _ = config.mode_to_id.remove(new_mode_name);
-    try config.modes.append(std.ArrayList(Keybind).init(allocator));
+    try config.modes.append(std.ArrayList(Mapping).init(allocator));
 }
diff --git a/src/command/bind.zig b/src/command/map.zig
similarity index 92%
rename from src/command/bind.zig
rename to src/command/map.zig
index f8571bc..90c0b33 100644
--- a/src/command/bind.zig
+++ b/src/command/map.zig
@@ -20,7 +20,7 @@ const std = @import("std");
 const c = @import("../c.zig");
 
 const Error = @import("../command.zig").Error;
-const Keybind = @import("../Keybind.zig");
+const Mapping = @import("../Mapping.zig");
 const Seat = @import("../Seat.zig");
 
 const modifier_names = [_]struct {
@@ -37,10 +37,11 @@ const modifier_names = [_]struct {
     .{ .name = "Mod5", .modifier = c.WLR_MODIFIER_MOD5 },
 };
 
-/// Create a new keybind for a given mode
+/// Create a new mapping for a given mode
 ///
-/// bind normal Control|Shift|Mod4 Comma spawn alacritty
-pub fn bind(
+/// Example:
+/// map normal Mod4|Shift Return spawn alacritty
+pub fn map(
     allocator: *std.mem.Allocator,
     seat: *Seat,
     args: []const []const u8,
@@ -54,7 +55,7 @@ pub fn bind(
     const mode_id = config.mode_to_id.getValue(target_mode) orelse {
         failure_message.* = try std.fmt.allocPrint(
             allocator,
-            "cannot add keybind to non-existant mode '{}'",
+            "cannot add mapping to non-existant mode '{}p'",
             .{target_mode},
         );
         return Error.CommandFailed;
@@ -105,5 +106,5 @@ pub fn bind(
         }
     }
 
-    try mode_mappings.append(try Keybind.init(allocator, keysym, modifiers, args[4..]));
+    try mode_mappings.append(try Mapping.init(allocator, keysym, modifiers, args[4..]));
 }