Penguin
Note: You are viewing an old revision of this page. View the current version.

Signal: Window size Change

This signal is delivered to a process when it's terminal size changes. The default action is to ignore the signal. Usually a process that cares about displaying information on the screen would use the resize information to redraw the screen and update it's idea of how large the screen is.

now, the real question here, is how do you know what the new size of the screen is? the answer is the TIOCGWINSZ ioctl(2).

an example
  1. include <termios.h>
  2. include <sys/ioctl.h>
  3. include <fcntl.h>
  4. include <stdio.h>

int main(int argc,char **argv) {

struct winsize ws; int fd=open("/dev/tty",O_RDWR);

if (ioctl(fd,TIOCGWINSZ,&ws)!=0) {

perror("ioctl(/dev/tty,TIOCGWINSZ)"); return 1;

} printf("rows %i\n",ws.ws_row); printf("cols %i\n",ws.ws_col); return 0;

}