diff options
| author | Paul Buetow <paul@buetow.org> | 2026-03-06 08:22:17 +0200 |
|---|---|---|
| committer | Paul Buetow <paul@buetow.org> | 2026-03-06 08:22:17 +0200 |
| commit | 07dc1db3180d86b5b6fc61563c0a5004098e26cc (patch) | |
| tree | 6f452534388bd901c7f91d9959126d73cc4ee636 | |
| parent | 4445eefb69a50d178d4c6bd02fd534312d774542 (diff) | |
Start flame ticks on dashboard entry and use purple selection
| -rw-r--r-- | internal/tui/dashboard/model.go | 18 | ||||
| -rw-r--r-- | internal/tui/flamegraph/renderer.go | 6 |
2 files changed, 20 insertions, 4 deletions
diff --git a/internal/tui/dashboard/model.go b/internal/tui/dashboard/model.go index 4cf7c15..ebd0c03 100644 --- a/internal/tui/dashboard/model.go +++ b/internal/tui/dashboard/model.go @@ -85,7 +85,17 @@ func NewModelWithConfig(engine SnapshotSource, streamSource *eventstream.RingBuf // Init starts periodic refresh ticks. func (m Model) Init() tea.Cmd { - return tickCmd(m.refreshEvery) + cmds := []tea.Cmd{tickCmd(m.refreshEvery)} + switch m.activeTab { + case TabStream: + cmds = append(cmds, streamTickCmd()) + case TabFlame: + cmds = append(cmds, flameTickCmd()) + } + if len(cmds) == 1 { + return cmds[0] + } + return tea.Batch(cmds...) } // Update handles ticks, snapshots, tab changes, and resize events. @@ -108,12 +118,18 @@ func (m Model) Update(msg tea.Msg) (tea.Model, tea.Cmd) { func() tea.Msg { return messages.StatsTickMsg{Snap: snap} }, ) case streamTickMsg: + if !m.focused { + return m, nil + } if m.activeTab != TabStream { return m, nil } m.streamModel.Refresh() return m, streamTickCmd() case flameTickMsg: + if !m.focused { + return m, nil + } if m.activeTab != TabFlame { return m, nil } diff --git a/internal/tui/flamegraph/renderer.go b/internal/tui/flamegraph/renderer.go index 4f376a5..142f78c 100644 --- a/internal/tui/flamegraph/renderer.go +++ b/internal/tui/flamegraph/renderer.go @@ -319,10 +319,10 @@ func styleForFrame(idx int, frame tuiFrame, selectedPath string, subtreeSet, mat } if isSelected { - selectedBg := lipgloss.Color("226") - selectedFg := lipgloss.Color("16") + selectedBg := lipgloss.Color("99") + selectedFg := lipgloss.Color("15") if !isDark { - selectedBg = lipgloss.Color("160") + selectedBg = lipgloss.Color("93") selectedFg = lipgloss.Color("15") } return base.Background(selectedBg).Foreground(selectedFg).Bold(true).Underline(true) |
