Minimal TUI directory browser, inspired by mc, ranger, yazi or similar.
meson setup build
meson install -C build- currently only differentiates between DIRECTORIES (or symlinks) and REGULAR FILES.
- preview of DIRECTORIES and REGULAR FILES and IMAGES
- parent view
- async reads of: DIRECTORIES (magenta bar), utilizing a task queue
- async reading of: REGULAR FILES (blue bar), utilizing a task queue
- async input
- async draw
- 10k+ fps (
-O3 -march=native -flto=auto -DNDEBUGand spamming random inputs in code) - remembers the selected index when browsing the directory tree
- mouse support (parent, current and preview pane + scrolling)
- sorted directory preview (via filename)
- auto-resizable window
- edit regular files, open .mkv videos
- search and filter a directory and easily see filters in parent/child
qexit programhexit folderjfile downkfile upJpreview down (text or directory)Kpreview up (text or directory)lenter folder or file via.$EDITORtcreate tabLnext tabHprevious tab/clear search & enter search?enter searchfclear filter & enter filterFenter filter.toggle dot file visibility
For e.g. search or filter:
- Confirm with
enter - Clear + exit text with
esc
-
v0.0.6 fullscreen preview toggle
-
v0.0.6 shortcut system, which should allow for..
- ..help listing for hotkeys
- ..remapping hotkeys
-
v0.0.7 tabs with pinned ones
-
v0.0.7 grep support with preview (I have a vision of it)
-
v0.0.7 rename file(s), move file(s), delete file(s)
-
v0.0.8 use case for multi select: (it is already coded, just not visualized, it has no functionality)
- allow custom launch args for when launching with multi-select
- user defined program when opening files
-
whenever: other directory sorting methods
-
whenever: update directory/files on external change
-
(probably asap) log/errors instead of hard quitting, when e.g. no EDITOR or child failed
-
(probably asap) when long path/filename .. do not only show beginning
-
basic syntax highlighting in text?
-
multiple panels basically already in the code via. tabs, but I do want multi-panels as well
-
video preview, scrollable
-
image preview via kitty protocol, pdf preview?
-
quit and pushd/cd into directory (with helper script)
-
input handling, detectable press/release for keys?
-
think about: adding infrastructure for piping custom lists/sublists into gaki, would be cool (use case?)
- functionality through cli
- should provide a library as well