ExRatatui.Event.FocusGained (ExRatatui v0.10.2)

Copy Markdown View Source

Emitted when the terminal window gains focus.

Carries no payload — pattern-match the struct itself. Apps use this to resume animations, refresh stale data, or restore a polished idle state when the user returns to the terminal.

Focus reporting is opt-in: ExRatatui.run(fun, focus_events: true) enables crossterm's EnableFocusChange. Terminals that don't support focus reporting silently ignore the request and no Focus events arrive — apps don't need a conditional path.

Companion: ExRatatui.Event.FocusLost.

Example

case ExRatatui.poll_event(timeout) do
  %ExRatatui.Event.FocusGained{} ->
    %{state | spinner_active: true}

  %ExRatatui.Event.FocusLost{} ->
    %{state | spinner_active: false}

  _ ->
    state
end

Summary

Types

t()

@type t() :: %ExRatatui.Event.FocusGained{}