mirror of
https://github.com/QwenLM/qwen-code.git
synced 2025-12-19 09:33:53 +00:00
33 lines
723 B
TypeScript
33 lines
723 B
TypeScript
/**
|
|
* @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;
|
|
}
|