From 5d062947da92828b569dd74a5ab924faeedb2d4e Mon Sep 17 00:00:00 2001 From: Mitchell Hashimoto Date: Thu, 26 Oct 2023 14:40:25 -0700 Subject: [PATCH 1/2] core: check for inspector activity before recording event Fixes #732 --- src/Surface.zig | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/src/Surface.zig b/src/Surface.zig index 04bd2b4cd..2864c5781 100644 --- a/src/Surface.zig +++ b/src/Surface.zig @@ -1014,8 +1014,15 @@ pub fn keyCallback( // When we're done processing, we always want to add the event to // the inspector. - defer if (insp_ev) |ev| { - if (self.inspector.?.recordKeyEvent(ev)) { + defer if (insp_ev) |ev| ev: { + // We have to check for the inspector again because our keybinding + // might close it. + const insp = self.inspector orelse { + ev.deinit(self.alloc); + break :ev; + }; + + if (insp.recordKeyEvent(ev)) { self.queueRender() catch {}; } else |err| { log.warn("error adding key event to inspector err={}", .{err}); From 63854cbd3aafcb2a8a8bf2a6696c22dfe87d8124 Mon Sep 17 00:00:00 2001 From: Mitchell Hashimoto Date: Thu, 26 Oct 2023 14:43:09 -0700 Subject: [PATCH 2/2] config: default inspector keybind to same as chromium --- src/config/Config.zig | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/src/config/Config.zig b/src/config/Config.zig index 2ec773922..0f42ba743 100644 --- a/src/config/Config.zig +++ b/src/config/Config.zig @@ -753,6 +753,13 @@ pub fn default(alloc_gpa: Allocator) Allocator.Error!Config { .{ .key = .page_down, .mods = .{ .shift = true, .ctrl = true } }, .{ .jump_to_prompt = 1 }, ); + + // Inspector, matching Chromium + try result.keybind.set.put( + alloc, + .{ .key = .i, .mods = .{ .shift = true, .ctrl = true } }, + .{ .inspector = .toggle }, + ); } { // Cmd+N for goto tab N @@ -913,6 +920,13 @@ pub fn default(alloc_gpa: Allocator) Allocator.Error!Config { .{ .key = .right, .mods = .{ .super = true, .alt = true } }, .{ .goto_split = .right }, ); + + // Inspector, matching Chromium + try result.keybind.set.put( + alloc, + .{ .key = .i, .mods = .{ .alt = true, .super = true } }, + .{ .inspector = .toggle }, + ); } return result;