# `ExRatatui.Event.FocusGained`
[🔗](https://github.com/mcass19/ex_ratatui/blob/v0.10.1/lib/ex_ratatui/event/focus_gained.ex#L1)

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 enabled automatically by `ExRatatui.run/1` via
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

# `t`

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

---

*Consult [api-reference.md](api-reference.md) for complete listing*
