π File detail
ink/hooks/use-terminal-focus.ts
π§© .tsπ 17 linesπΎ 556 bytesπ text
β Back to All Filesπ― Use case
This file lives under βink/β, which covers Ink terminal UI (layouts, TTY IO, keyboard, renderer components). On the API surface it exposes useTerminalFocus β mainly functions, hooks, or classes. Dependencies touch React UI. It composes internal code from components (relative imports).
Generated from folder role, exports, dependency roots, and inline comments β not hand-reviewed for every path.
π§ Inline summary
import { useContext } from 'react' import TerminalFocusContext from '../components/TerminalFocusContext.js' /** * Hook to check if the terminal has focus.
π€ Exports (heuristic)
useTerminalFocus
π External import roots
Package roots from from "β¦" (relative paths omitted).
react
π₯οΈ Source preview
import { useContext } from 'react'
import TerminalFocusContext from '../components/TerminalFocusContext.js'
/**
* Hook to check if the terminal has focus.
*
* Uses DECSET 1004 focus reporting - the terminal sends escape sequences
* when it gains or loses focus. These are handled automatically
* by Ink and filtered from useInput.
*
* @returns true if the terminal is focused (or focus state is unknown)
*/
export function useTerminalFocus(): boolean {
const { isTerminalFocused } = useContext(TerminalFocusContext)
return isTerminalFocused
}