Skip to content

TUI Calendar: Enter does nothing on a highlighted event (Day/Week), though the help bar shows "enter: open" #418

Description

@albertreig

What happens

In hey tui, Calendar section, Day or Week view: highlight an event with the arrow keys and press Enter. Nothing happens.

The context help bar shown while the content row is focused advertises enter open (from the generic content-row bindings in internal/tui/tui.go updateHelpBindings, ~line 743), the same hint that opens a thread in the Mail list. In the calendar Day/Week view that hint is dead — there is no key that opens/views the highlighted event.

Expected

Enter on a highlighted event opens it (the same result as e today), consistent with the help bar and with Mail, where Enter opens the selected row.

Actual

internal/tui/calendar.go:

  • handleContentKey (~line 1058) has no "enter" case.
  • handleArrowKey (~line 1133) only handles "enter" in Year view (enterYearCell, stepping into a day cell). In viewDay / viewWeek it returns handled == false.
  • So Enter falls through to v.contentVP.Update(msg) (viewport scroll) and is a no-op.

The only way to open/inspect an event is e (opens the edit form, eventFormEdit). There is no read-only "view" mode — eventFormMode is just eventFormCreate / eventFormEdit.

Suggested fix

In handleContentKey / handleArrowKey, for viewDay and viewWeek, map enter to open the selected recording when there is one:

case "enter":
    if event, ok := v.selectedRecording(); ok {
        return v.startEventForm(eventFormEdit, event), true
    }

Year view keeps its two-stage behavior (Enter steps into a cell; once inYearCell, Enter could then open the selected event). Happy to send a PR.

Environment

  • hey-cli 1.4.3 (Linux, installed via mise)

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions