Download packages/cli/src/ui/hooks/useTerminalSize.ts from Jimmi42/openCLI: direct link, hf CLI and curl.
- Browser
- Download file 723 Bytes
-
https://huggingface.co/Jimmi42/openCLI/resolve/main/packages/cli/src/ui/hooks/useTerminalSize.ts
- Command line
-
hf download hf://Jimmi42/openCLI/packages/cli/src/ui/hooks/useTerminalSize.ts
-
curl -L -o useTerminalSize.ts https://huggingface.co/Jimmi42/openCLI/resolve/main/packages/cli/src/ui/hooks/useTerminalSize.ts
723 Bytes
| /** | |
| * @license | |
| * Copyright 2025 Google LLC | |
| * SPDX-License-Identifier: Apache-2.0 | |
| */ | |
| import { useEffect, useState } from 'react'; | |
| const TERMINAL_PADDING_X = 8; | |
| export function useTerminalSize(): { columns: number; rows: number } { | |
| const [size, setSize] = useState({ | |
| columns: (process.stdout.columns || 60) - TERMINAL_PADDING_X, | |
| rows: process.stdout.rows || 20, | |
| }); | |
| useEffect(() => { | |
| function updateSize() { | |
| setSize({ | |
| columns: (process.stdout.columns || 60) - TERMINAL_PADDING_X, | |
| rows: process.stdout.rows || 20, | |
| }); | |
| } | |
| process.stdout.on('resize', updateSize); | |
| return () => { | |
| process.stdout.off('resize', updateSize); | |
| }; | |
| }, []); | |
| return size; | |
| } | |