From 3396d26d8b40a1ccbde404137d1c04e0f5959c32 Mon Sep 17 00:00:00 2001 From: hunchulchoi Date: Thu, 4 Jun 2026 18:13:18 +0900 Subject: [PATCH] feat: add keybinding 'l' to main logs view for launching external pager directly --- pkg/gui/container_logs.go | 10 ++++++++++ pkg/gui/keybindings.go | 7 +++++++ 2 files changed, 17 insertions(+) diff --git a/pkg/gui/container_logs.go b/pkg/gui/container_logs.go index d676db22..84ff6fb5 100644 --- a/pkg/gui/container_logs.go +++ b/pkg/gui/container_logs.go @@ -221,6 +221,16 @@ func (gui *Gui) handleContainerViewLogsExternal(g *gocui.Gui, v *gocui.View) err return gui.handleViewLogsExternal(ctr) } +func (gui *Gui) handleMainViewLogsExternal(g *gocui.Gui, v *gocui.View) error { + currentSideViewName := gui.currentSideViewName() + if currentSideViewName == "containers" { + return gui.handleContainerViewLogsExternal(g, v) + } else if currentSideViewName == "services" { + return gui.handleServiceViewLogsExternal(g, v) + } + return nil +} + func (gui *Gui) handleViewLogsExternal(container *commands.Container) error { pager := gui.Config.UserConfig.Logs.Pager if pager == "" { diff --git a/pkg/gui/keybindings.go b/pkg/gui/keybindings.go index 79d0fad6..8e106ad5 100644 --- a/pkg/gui/keybindings.go +++ b/pkg/gui/keybindings.go @@ -452,6 +452,13 @@ func (gui *Gui) GetInitialKeybindings() []*Binding { Handler: gui.handleExitMain, Description: gui.Tr.Return, }, + { + ViewName: "main", + Key: 'l', + Modifier: gocui.ModNone, + Handler: gui.handleMainViewLogsExternal, + Description: "View logs with external pager", + }, { ViewName: "main", Key: gocui.KeyArrowLeft,