From bab921dea2af323be97cf4bcc8b6d844d01bc460 Mon Sep 17 00:00:00 2001 From: nova Date: Wed, 14 May 2025 02:19:35 +0200 Subject: [PATCH] improvenments to the ui --- backend.c | 13 +++++++++---- main.c | 16 ++++++++-------- 2 files changed, 17 insertions(+), 12 deletions(-) diff --git a/backend.c b/backend.c index 629f7ab..b7aea08 100644 --- a/backend.c +++ b/backend.c @@ -115,15 +115,20 @@ void get_dir_content(char *path, unsigned long *dir_file_count, file *dir_conten void print_dir(WINDOW *win, unsigned long *dir_file_count, file *dir_content){ unsigned long i = 0; + unsigned int offset = 2; + if (*dir_file_count > 9) { + offset = (snprintf(NULL, 0, "%ld", *dir_file_count)) + 1; + } for (i = 0; i < *dir_file_count; i++) { wattron(win, COLOR_PAIR(dir_content[i].color_pair)); if (dir_content[i].status & FILE_STATUS_HOVER) { wattron(win, A_REVERSE); - } - mvwprintw(win, i, 0, "%d", dir_content[i].color_pair); - mvwaddstr(win, i, 3,dir_content[i].file_name); - if (dir_content[i].status & FILE_STATUS_HOVER) { + mvwprintw(win, i, 0, "%ld", i); + mvwaddstr(win, i, offset, dir_content[i].file_name); wattroff(win, A_REVERSE); + } else { + mvwprintw(win, i, 0, "%ld", i); + mvwaddstr(win, i, offset, dir_content[i].file_name); } wattroff(win, COLOR_PAIR(dir_content[i].color_pair)); } diff --git a/main.c b/main.c index ec065ba..25c7e98 100644 --- a/main.c +++ b/main.c @@ -30,9 +30,9 @@ int main() { getmaxyx(stdscr, terminal_height, terminal_width); WINDOW *win_t = newwin(1, terminal_width, 0, 0); WINDOW *win_b = newwin(1, terminal_width, terminal_height-1, 0); - WINDOW *win_l = newwin(terminal_height-2, terminal_width/3, 1, 0); - WINDOW *win_m = newwin(terminal_height-2, terminal_width/3, 1, (terminal_width/3)); - WINDOW *win_r = newwin(terminal_height-2, terminal_width/3, 1, ((terminal_width/3)*2)); + WINDOW *win_l = newwin(terminal_height-2, terminal_width/8, 1, 0); + WINDOW *win_m = newwin(terminal_height-2, terminal_width/3, 1, (terminal_width/8)); + WINDOW *win_r = newwin(terminal_height-2, terminal_width/3, 1, ((terminal_width/2))); pthread_t thread_b; pthread_t thread_t; @@ -108,15 +108,15 @@ void render_pass(WINDOW *win_t, WINDOW *win_b, WINDOW *win_l, WINDOW *win_m, WIN wresize(win_t, 1, terminal_width); wresize(win_b, terminal_height, terminal_width/3); - wresize(win_m, terminal_height-2, terminal_width/3); - wresize(win_l, terminal_height-2, terminal_width/3); - wresize(win_r, terminal_height-2, terminal_width/3); + wresize(win_l, terminal_height-2, terminal_width/8); + wresize(win_m, terminal_height-2, (terminal_width/2)-(terminal_width/8)); + wresize(win_r, terminal_height-2, terminal_width/2); mvwin(win_t, 0, 0); mvwin(win_b, terminal_height-1, 0); mvwin(win_l, 1, 0); - mvwin(win_m, 1, (terminal_width/3)); - mvwin(win_r, 1, ((terminal_width/3)*2)); + mvwin(win_m, 1, (terminal_width/8)); + mvwin(win_r, 1, ((terminal_width/2))); status |= STATUS_UPDATE_SCREEN_0;