From 320ee80cb1e4bcd276c07231df1decc97b780b70 Mon Sep 17 00:00:00 2001
From: max <max.holleman@hotmail.nl>
Date: Mon, 20 Jan 2025 04:08:30 +0100
Subject: [PATCH] [CHANGE] Base implementation logger

---
 src/net/collections/CMakeLists.txt |  0
 src/net/collections/list.c         |  0
 src/net/include/list.h             |  0
 src/server/srv_ui.c                | 21 +++++++++++++++++++++
 4 files changed, 21 insertions(+)
 mode change 100644 => 100755 src/net/collections/CMakeLists.txt
 mode change 100644 => 100755 src/net/collections/list.c
 mode change 100644 => 100755 src/net/include/list.h

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 <signal.h>
 
 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);