From 55bf49775c5c1461da8e8ac2ea67425d6c0782c7 Mon Sep 17 00:00:00 2001 From: felipe ospina Date: Mon, 20 Apr 2026 16:00:50 -0500 Subject: [PATCH 1/2] refactor: remove ToggleFullscreen from global keys The 'f' keybinding for toggling fullscreen is no longer intercepted globally by the shell. Consumer apps will handle the 'f' key in their right panel components and emit ToggleFullscreenMsg. The shell still processes that message to toggle the layout. --- keys.go | 21 ++++++++------------- shell/update.go | 6 ------ 2 files changed, 8 insertions(+), 19 deletions(-) diff --git a/keys.go b/keys.go index ec2f1bd..a0acedf 100644 --- a/keys.go +++ b/keys.go @@ -7,19 +7,18 @@ import ( // GlobalKeyMap defines the keybindings available in all panels. type GlobalKeyMap struct { - Help key.Binding - Quit key.Binding - ThrowError key.Binding - MockFetch key.Binding - ToggleLeftPanel key.Binding - OpenModal key.Binding - CloseRightPanel key.Binding - ToggleFullscreen key.Binding + Help key.Binding + Quit key.Binding + ThrowError key.Binding + MockFetch key.Binding + ToggleLeftPanel key.Binding + OpenModal key.Binding + CloseRightPanel key.Binding } // CommonKeys are the keybindings shown in every panel's help. var CommonKeys = []key.Binding{ - GlobalKeys(false).ToggleLeftPanel, GlobalKeys(false).OpenModal, GlobalKeys(false).CloseRightPanel, GlobalKeys(false).ToggleFullscreen, GlobalKeys(false).Help, GlobalKeys(false).Quit, + GlobalKeys(false).ToggleLeftPanel, GlobalKeys(false).OpenModal, GlobalKeys(false).CloseRightPanel, GlobalKeys(false).Help, GlobalKeys(false).Quit, } // DevKeys are additional keybindings shown in dev mode. @@ -66,10 +65,6 @@ func GlobalKeys(devMode bool) GlobalKeyMap { key.WithKeys("esc"), key.WithHelp("esc", "close panel"), ), - ToggleFullscreen: key.NewBinding( - key.WithKeys("f"), - key.WithHelp("f", "fullscreen"), - ), } if devMode { diff --git a/shell/update.go b/shell/update.go index 62170ef..8609035 100644 --- a/shell/update.go +++ b/shell/update.go @@ -211,12 +211,6 @@ func (m Model) handleGlobalKeys(msg tea.KeyPressMsg) (Model, tea.Cmd, bool) { cmds := m.pushSizeToPanels() return m, tea.Batch(cmds...), true - case m.isRightOpen && match(gk.ToggleFullscreen): - m.isRightFullscreen = !m.isRightFullscreen - m.recomputeLayout() - cmds := m.pushSizeToPanels() - return m, tea.Batch(cmds...), true - case match(gk.ToggleLeftPanel): m.isLeftOpen = !m.isLeftOpen if m.isRightOpen { From 1d30e51ed437b0a7c75d223676bd260573193c6d Mon Sep 17 00:00:00 2001 From: felipe ospina Date: Mon, 20 Apr 2026 16:13:16 -0500 Subject: [PATCH 2/2] fix: remove f from table PageDown keybinding The 'f' key conflicted with the fullscreen toggle now handled by the right panel. Table page-down still works via pgdown and space. --- table/table.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/table/table.go b/table/table.go index d796b06..fabfc7e 100644 --- a/table/table.go +++ b/table/table.go @@ -89,8 +89,8 @@ func DefaultKeyMap() KeyMap { key.WithHelp("b/pgup", "page up"), ), PageDown: key.NewBinding( - key.WithKeys("f", "pgdown", spacebar), - key.WithHelp("f/pgdn", "page down"), + key.WithKeys("pgdown", spacebar), + key.WithHelp("pgdn", "page down"), ), HalfPageUp: key.NewBinding( key.WithKeys("u", "ctrl+u"),