@@ -96,8 +96,13 @@ func (m *messageListCmp) Init() tea.Cmd {
9696func (m *messageListCmp) Update(msg tea.Msg) (tea.Model, tea.Cmd) {
9797 switch msg := msg.(type) {
9898 case tea.KeyPressMsg:
99− if key.Matches(msg, messages.CopyKey) && m.listCmp.HasSelection() {
100− return m, m.CopySelectedText(true)
99+ if m.listCmp.IsFocused() && m.listCmp.HasSelection() {
100+ switch {
101+ case key.Matches(msg, messages.CopyKey):
102+ return m, m.CopySelectedText(true)
103+ case key.Matches(msg, messages.ClearSelectionKey):
104+ return m, m.SelectionClear()
105+ }
101106 }
102107 case tea.MouseClickMsg:
103108 x := msg.X - 1 // Adjust for padding