diff options
author | epochqwert <epoch@53flpnlls43fcguy.onion> | 2015-01-16 23:26:48 -0600 |
---|---|---|
committer | epochqwert <epoch@53flpnlls43fcguy.onion> | 2015-01-16 23:26:48 -0600 |
commit | eaf6e1e1a941b8e0b52abadcd8b55901d5cf5301 (patch) | |
tree | 02f71576164fdcf80b21bf131f246cfca6b3ca49 | |
parent | 74406e6eee2f69e8861315071b5be38571747c11 (diff) | |
download | misc-eaf6e1e1a941b8e0b52abadcd8b55901d5cf5301.tar.gz misc-eaf6e1e1a941b8e0b52abadcd8b55901d5cf5301.zip |
added tsize. used for showing terminal's size
-rw-r--r-- | src/bin/tsize.c | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/src/bin/tsize.c b/src/bin/tsize.c new file mode 100644 index 0000000..475308d --- /dev/null +++ b/src/bin/tsize.c @@ -0,0 +1,36 @@ +#include <stdio.h> +#include <signal.h> +#include <sys/ttycom.h> + +void winhand(int sig) { + struct winsize ws; + ioctl(0,TIOCGWINSZ,&ws); + printf("%d x %d\n",ws.ws_col,ws.ws_row); +} + +#if 0 +struct winsize { + unsigned short ws_row; /* rows, in characters */ + unsigned short ws_col; /* columns, in characters */ + unsigned short ws_xpixel; /* horizontal size, pixels */ + unsigned short ws_ypixel; /* vertical size, pixels */ +}; + + + TIOCGWINSZ struct winsize *ws + Put the window size information associated with the terminal + in the winsize structure pointed to by ws. The window size + structure contains the number of rows and columns (and pixels + if appropriate) of the devices attached to the terminal. It + is set by user software and is the means by which most + full-screen oriented programs determine the screen size. The + winsize structure is defined in <sys/ioctl.h>. +#endif + +int main(int argc,char *argv[]) { + winhand(SIGWINCH); + signal(SIGWINCH,winhand); + while(1) { + sleep(100); + } +} |