improvenments to the ui

This commit is contained in:
nova
2025-05-14 02:19:35 +02:00
parent 7f0e65eaf3
commit bab921dea2
2 changed files with 17 additions and 12 deletions

View File

@ -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));
}

16
main.c
View File

@ -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;