aboutsummaryrefslogtreecommitdiffstats
path: root/src/display.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/display.h')
-rw-r--r--src/display.h59
1 files changed, 59 insertions, 0 deletions
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 <ncurses.h>
+#include <stdlib.h>
+
+#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 */