Hi!

> Basically just that, if you change the size the console window fp is in, 
> the application sizes itself to fit the window.  it's a skill I'd like 
> to duplicate, as the app will be a console app with an interface, and 
> the fvision demo didn't do the neat trick.

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;[EMAIL PROTECTED]:~\7\33[44;1;31m"..., 97) = 97
sigreturn()                             = ? (mask now [])
read(0, 

Bye
  Hansi


_______________________________________________
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-pascal

Reply via email to