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/fm.h | 69 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 69 insertions(+) create mode 100644 src/fm.h (limited to 'src/fm.h') diff --git a/src/fm.h b/src/fm.h new file mode 100644 index 0000000..493d1f9 --- /dev/null +++ b/src/fm.h @@ -0,0 +1,69 @@ +#ifndef SF_FM_H +#define SF_FM_H + +#include +#include +#include +#include +#include + +#include "wm.h" + +#define PANE_LEFT 0 +#define PANE_RIGHT 1 + +#define MARGIN 3 + +typedef struct { + char name[256]; + int is_dir; + char permission[11]; +} file_item; + +typedef struct { + file_item *items; + size_t count; + size_t cap; +} file_list; + +typedef struct { + file_list *cur; + file_list *next; + int cursor; + window *windows[2]; + /* int got_next_dir; */ + char got_dir[PATH_MAX]; + char cwd[PATH_MAX]; + int top, bottom; +} fm_info; + +extern bool need_redraw; + +#define UTIL_VI 0 +#define UTIL_XDG_OPEN 1 + +#define ENV_SHELL 0 +#define ENV_EDITOR 1 +#define ENV_SF 2 + +static char *enveditor; + +file_list *fm_getdir(file_list *list, const char *path); +fm_info *fm_init(terminal *t); +void fm_getcwd(fm_info *info); +void fm_draw_entries(window *window, file_list *list, size_t cursor, int top, + int bottom); +void fm_entries_scroll(fm_info *info, int n); +void fm_draw_file_stream(window *w, FILE *fp); +/* void fm_draw_right_window(fm_info *i); */ + +void fm_cd_up(fm_info *i); +void fm_cd_down(fm_info *i); +bool fm_preview_file(window *w, const char *path); +int open_with_editor(char **argv); +void magic_init(void); +void magic_cleanup(void); +void create_status_bar_win(terminal *t); +void draw_status_bar(window *bar_win, const char *cwd, char permission[11]); + +#endif /* SF_FM_H */ -- cgit v1.2.3