diff --git a/src/net/collections/CMakeLists.txt b/src/net/collections/CMakeLists.txt old mode 100644 new mode 100755 diff --git a/src/net/collections/list.c b/src/net/collections/list.c old mode 100644 new mode 100755 diff --git a/src/net/include/list.h b/src/net/include/list.h old mode 100644 new mode 100755 diff --git a/src/server/srv_ui.c b/src/server/srv_ui.c index 88afa7b..5510241 100755 --- a/src/server/srv_ui.c +++ b/src/server/srv_ui.c @@ -1,5 +1,6 @@ #include "netex.h" #include "server.h" +#include WINDOW *info_win, *log_win, *log_win_content; SCR_SIZE info_win_size, log_win_size; @@ -8,6 +9,7 @@ bool setup_info_window(void); bool write_info(const char* conn, int port, const char* ipv); bool setup_log_window(void); void calculate_window_sizes(void); +void sig_resize(int in); bool setup_srv_curses(void) { @@ -23,9 +25,28 @@ bool setup_srv_curses(void) wrefresh(info_win); wrefresh(log_win); wrefresh(log_win_content); + signal(SIGWINCH, sig_resize); return true; } +void sig_resize(int in) +{ + calculate_window_sizes(); + int info_resize_result = wresize(info_win, info_win_size.y, info_win_size.x); + if (info_resize_result == ERR) + { + ERROR("Failed to resize info window!"); + } + clear(); + box(info_win, 0, 0); + mvwprintw(info_win, 0, 1, " Info "); + write_info("0.0.0.0", 6950, "IPv4"); + refresh(); + wrefresh(info_win); + wrefresh(log_win); + wrefresh(log_win_content); +} + bool setup_info_window(void) { info_win = subwin(stdscr, info_win_size.y, info_win_size.x, 1, 0);