From b78d59dd852923fe410579e17762f3ad96b89dda Mon Sep 17 00:00:00 2001 From: structix Date: Mon, 27 Nov 2017 18:06:32 +0000 Subject: [PATCH] Added window winch signal --- .gitignore | 1 + nclock.c | 13 +++++++++++++ 2 files changed, 14 insertions(+) diff --git a/.gitignore b/.gitignore index 700e993..377b3e4 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ *~ *.o nclock +/nclock diff --git a/nclock.c b/nclock.c index 21d864c..f69c695 100644 --- a/nclock.c +++ b/nclock.c @@ -6,6 +6,13 @@ #include "numbers.h" #include #include //sleep +#include + +void handle_winch(int sig) { + endwin(); + clear(); + refresh(); +} int main(int argc, char **argv) { /* enable ncurses standard screen */ @@ -16,6 +23,11 @@ int main(int argc, char **argv) { keypad(stdscr, FALSE); //Disable the F1-12 keypad curs_set(0); //Disable the cursor + //Windows resize handler + struct sigaction sa; + memset(&sa, 0, sizeof(struct sigaction)); + sa.sa_handler = handle_winch; + sigaction(SIGWINCH, &sa, NULL); state s = {0}; @@ -81,6 +93,7 @@ void draw(state *s) { while (1) { time(&timer); curTime = localtime(&timer); + initState(s); drawTime(s, curTime->tm_hour, curTime->tm_min, curTime->tm_sec); refresh(); sleep(1);