summaryrefslogtreecommitdiff
path: root/internal/switcher
diff options
context:
space:
mode:
authorBenjamin Chausse <benjamin@chausse.xyz>2024-11-25 17:03:24 -0500
committerGitHub <noreply@github.com>2024-11-25 17:03:24 -0500
commit98e089b8e5675fb6b1a91132af090947423f4503 (patch)
tree31f44c1e8eff739d1ccf2000a5e72ec0f97bbb9b /internal/switcher
parent4b54e4449052df210af33f679001727a9c12b7d4 (diff)
fix: initial color notice didn't expire (#15)
* Accept initial color using -c flag * fix: Initial color notice expiry * Inform user of detected initial color
Diffstat (limited to 'internal/switcher')
-rw-r--r--internal/switcher/switcher.go10
1 files changed, 4 insertions, 6 deletions
diff --git a/internal/switcher/switcher.go b/internal/switcher/switcher.go
index ec5c47a..860bf81 100644
--- a/internal/switcher/switcher.go
+++ b/internal/switcher/switcher.go
@@ -66,12 +66,10 @@ func (m *Model) NewNotice(msg string) tea.Cmd {
func (m Model) Init() tea.Cmd {
cmds := []tea.Cmd{}
- // Make a backup of notices received before the program starts
- // then reinitialize them with a proper expiration time.
- noticeBackup := m.notices.Notices
- m.notices = notices.New()
- for _, v := range noticeBackup {
- cmds = append(cmds, m.NewNotice(v))
+ // The NoticeExpiryMsg is never sent to bubbletea by a tea.Cmd for the initial notices
+ // That's why we need to manually reset them here. Otherwise, they would never expire.
+ for k := range m.notices.Notices {
+ cmds = append(cmds, m.notices.Reset(k))
}
for _, p := range m.pickers {