#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 */