4040
4141static volatile sig_atomic_t signal_exit = 0 ;
4242static volatile sig_atomic_t signal_resize_win = 0 ;
43+ static volatile sig_atomic_t signal_cont_received = 0 ;
4344
4445static void exit_handler (int signum ) {
4546 (void )signum ;
@@ -51,6 +52,11 @@ static void resize_handler(int signum) {
5152 signal_resize_win = 1 ;
5253}
5354
55+ static void cont_handler (int signum ) {
56+ (void )signum ;
57+ signal_cont_received = 1 ;
58+ }
59+
5460static const char helpstring [] = "Available options:\n"
5561 " -d --delay : Select the refresh rate (1 == 0.1s)\n"
5662 " -v --version : Print the version and exit\n"
@@ -204,6 +210,11 @@ int main(int argc, char **argv) {
204210 perror ("Impossible to set signal handler for SIGWINCH: " );
205211 exit (EXIT_FAILURE );
206212 }
213+ siga .sa_handler = cont_handler ;
214+ if (sigaction (SIGCONT , & siga , NULL ) != 0 ) {
215+ perror ("Impossible to set signal handler for SIGCONT: " );
216+ exit (EXIT_FAILURE );
217+ }
207218
208219 unsigned allDevCount = 0 ;
209220 LIST_HEAD (monitoredGpus );
@@ -286,6 +297,10 @@ int main(int argc, char **argv) {
286297 signal_resize_win = 0 ;
287298 update_window_size_to_terminal_size (interface );
288299 }
300+ if (signal_cont_received ) {
301+ signal_cont_received = 0 ;
302+ update_window_size_to_terminal_size (interface );
303+ }
289304 interface_check_monitored_gpu_change (& interface , allDevCount , & numMonitoredGpus , & monitoredGpus , & nonMonitoredGpus );
290305 if (time_slept >= interface_update_interval (interface )) {
291306 gpuinfo_refresh_dynamic_info (& monitoredGpus );
@@ -328,12 +343,17 @@ int main(int argc, char **argv) {
328343 case 'q' :
329344 signal_exit = 1 ;
330345 break ;
346+ case KEY_RESIZE :
347+ update_window_size_to_terminal_size (interface );
348+ break ;
331349 case KEY_F (2 ):
350+ case KEY_F (5 ):
332351 case KEY_F (9 ):
333352 case KEY_F (6 ):
334353 case KEY_F (12 ):
335354 case '+' :
336355 case '-' :
356+ case 12 : // Ctrl+L
337357 interface_key (input_char , interface );
338358 break ;
339359 case 'k' :
0 commit comments