equal
deleted
inserted
replaced
61 |
61 |
62 #ifndef WAIT_ANY |
62 #ifndef WAIT_ANY |
63 # define WAIT_ANY -1 |
63 # define WAIT_ANY -1 |
64 #endif |
64 #endif |
65 |
65 |
66 static unsigned int terminate_ui; |
66 #ifdef USE_SIGWINCH |
|
67 void sigwinch_resize(void); |
|
68 static bool sigwinch; |
|
69 #endif |
|
70 |
|
71 static bool terminate_ui; |
67 GMainContext *main_context; |
72 GMainContext *main_context; |
68 |
73 |
69 static struct termios *backup_termios; |
74 static struct termios *backup_termios; |
70 |
75 |
71 char *mcabber_version(void) |
76 char *mcabber_version(void) |
121 mcabber_terminate("Killed by SIGINT"); |
126 mcabber_terminate("Killed by SIGINT"); |
122 } else if (signum == SIGHUP) { |
127 } else if (signum == SIGHUP) { |
123 mcabber_terminate("Killed by SIGHUP"); |
128 mcabber_terminate("Killed by SIGHUP"); |
124 #ifdef USE_SIGWINCH |
129 #ifdef USE_SIGWINCH |
125 } else if (signum == SIGWINCH) { |
130 } else if (signum == SIGWINCH) { |
126 if (scr_curses_status()) |
131 sigwinch = TRUE; |
127 ungetch(KEY_RESIZE); |
|
128 #endif |
132 #endif |
129 } else { |
133 } else { |
130 scr_LogPrint(LPRINT_LOGNORM, "Caught signal: %d", signum); |
134 scr_LogPrint(LPRINT_LOGNORM, "Caught signal: %d", signum); |
131 } |
135 } |
132 } |
136 } |
553 scr_LogPrint(LPRINT_DEBUG, "Entering into main loop..."); |
557 scr_LogPrint(LPRINT_DEBUG, "Entering into main loop..."); |
554 |
558 |
555 while(!terminate_ui) { |
559 while(!terminate_ui) { |
556 if (g_main_context_iteration(main_context, TRUE) == FALSE) |
560 if (g_main_context_iteration(main_context, TRUE) == FALSE) |
557 keyboard_activity(); |
561 keyboard_activity(); |
|
562 #ifdef USE_SIGWINCH |
|
563 if (sigwinch) { |
|
564 sigwinch_resize(); |
|
565 sigwinch = FALSE; |
|
566 } |
|
567 #endif |
558 if (update_roster) |
568 if (update_roster) |
559 scr_draw_roster(); |
569 scr_draw_roster(); |
560 scr_do_update(); |
570 scr_do_update(); |
561 } |
571 } |
562 |
572 |