From 9bffcafa9ae0c38103a8c64b3482bb099e792869 Mon Sep 17 00:00:00 2001 From: verdant Date: Tue, 28 Jul 2026 18:30:16 +0800 Subject: Move source files to src/ --- src/display.h | 59 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 59 insertions(+) create mode 100644 src/display.h (limited to 'src/display.h') diff --git a/src/display.h b/src/display.h new file mode 100644 index 0000000..ac405e7 --- /dev/null +++ b/src/display.h @@ -0,0 +1,59 @@ +#ifndef SF_DISPLAY_H +#define SF_DISPLAY_H + +#include +#include + +#include "dir.h" +#include "log.h" +#include "mem.h" + +#define COLOR_PAIR_FM_HL 1 +#define COLOR_PAIR_FM_DIR 2 +#define COLOR_PAIR_FM_STATUS_BAR 3 + +#define STAT_INFO_WIDTH 15 +#define BAR_LABEL_WIDTH 7 +#define STAT_BAR_HEIGHT 1 + +#define FM_PANE_LEFT 0 +#define FM_PANE_RIGHT 1 + +#include "wm.h" + +typedef struct { + size_t top; + size_t bottom; + size_t height; + size_t widght; + size_t margin; + bool need_redraw; + window *left; + window *right; +} view_stat; + +void color_pair_init(void); +terminal *ncurses_init(void); + +static inline WINDOW * +get_root_win(const terminal *t) +{ + if (!t) { + log_write(LOG_ERR, "get_root_win: terminal is NULL"); + return NULL; + } + if (t->w_count <= 0 || !t->windows[0]) { + log_write(LOG_ERR, "get_root_win: windows[0] is not allocated"); + return NULL; + } + return t->windows[0]->win; +} + +#define ROOT_WIN get_root_win(t) + +void draw_stat_bar(terminal *t, const char *sys_version); +void wprintw_colorful(WINDOW *w, int attr, const char *format, ...); +void handle_resize(void); +void redraw(void); + +#endif /* SF_DISPLAY_H */ -- cgit v1.2.3