[fpc-pascal] XTerm window resize [was: Re: hmm, freevision]
David Mears
david.mears at suddenlink.net
Fri Aug 31 02:34:41 CEST 2007
> Probably this is of interrest for you: The terminal sends a SIGWINCH to
> the running process when it is resized. The process then requests its
> current size by an ioctl() TIOCGWINSZ to the stdout handle (0).
>
> You can test this in a simple shell window. Start two xterms (or which
> terminal you like, now called "A" and "B") and then do an "strace -p
> <pid>" in terminal A of the shell in terminal B (get its PID using "echo
> $$"). Then resize terminal B with the mouse. I get the following output
> of strace every time the size changes:
>
> read(0, 0xbffe5d3f, 1) = ? ERESTARTSYS (To be restarted)
> --- SIGWINCH (Window changed) @ 0 (0) ---
> ioctl(0, TIOCGWINSZ, {ws_row=24, ws_col=80, ws_xpixel=480, ws_ypixel=312}) = 0
> write(2, "\r\33[K\33]0;hansi at hansi:~\7\33[44;1;31m"..., 97) = 97
> sigreturn() = ? (mask now [])
> read(0,
>
> Bye
> Hansi
>
Very useful. Will check into and implement.
More information about the fpc-pascal
mailing list