| import { useContext, useEffect } from 'react' |
| import stripAnsi from 'strip-ansi' |
| import { OSC, osc } from '../termio/osc.js' |
| import { TerminalWriteContext } from '../useTerminalNotification.js' |
|
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| export function useTerminalTitle(title: string | null): void { |
| const writeRaw = useContext(TerminalWriteContext) |
|
|
| useEffect(() => { |
| if (title === null || !writeRaw) return |
|
|
| const clean = stripAnsi(title) |
|
|
| if (process.platform === 'win32') { |
| process.title = clean |
| } else { |
| writeRaw(osc(OSC.SET_TITLE_AND_ICON, clean)) |
| } |
| }, [title, writeRaw]) |
| } |
|
|