Caution
This project is in its very early stages. Feedback is appreciated, but this cannot be daily-driven yet.
- What:
- It is a file manager made using the Textual framework.
- Why:
- Because I can :3
- I'm using this as a learning opportunity to learn more about Textual, and designing a neat little app for myself.
uvx --from git+https://github.com/NSPC911/rovr.git -q rovr --python 3.13# uv (my fav)
uv tool install -i https://test.pypi.org/simple/ rovr
# or pipx
pipx install -i https://test.pypi.org/simple rovr
# or plain old pip
pip install -i https://test.pypi.org/simple/ rovr- There isn't X theme/Why isn't Y theme available?
- Textual's currently available themes are limited. However, extra themes can be added via the config file in the format below
- You can take a look at what each color represents in https://textual.textualize.io/guide/design/#base-colors
Inheriting themes will not be added.
[[custom_theme]]
name = "<str>"
primary = "<hex>"
secondary = "<hex>"
success = "<hex>"
warning = "<hex>"
error = "<hex>"
accent = "<hex>"
foreground = "<hex>"
background = "<hex>"
surface = "<hex>"
panel = "<hex>"
is_dark = "<bool>"- Why is it considered post-modern?
- Parody to my current editor, helix
- If NeoVim is considered modern, then Helix is post-modern
- If superfile is considered modern, then rovr is post-modern
- Parody to my current editor, helix
- Why did you say it cannot be daily driven?
- Refer to the road map. There is many features yet to be completed. Pull Requests are appreciated
- What can I contribute?
- Themes, and features can be contributed.
- Refactors will be frowned on, and may take a longer time before merging
- I want to add a feature/theme/etc! How do I do so?
- You need uv at minimum. pre-commit and ruff are recommended to be installed.
- Clone the repo, and inside it, run
uv syncandpre-commit install - Make your changes, ensure that your changes are properly formatted (via the pre-commit hook), before pushing to a custom branch on your fork
- How do I make a feature suggestion?
- Open an issue using the
feature-requesttag. Issue templates will come soon.
- Open an issue using the
- Why is it on test.pypi.org and not pypi.org
- I need somewhere to act as a mini sadbox to learn more about pypi before I make any permenant mistakes in the actual app to be listed on the main pypi repository
- Why not ratatui or bubbletea??? angry noises
- I like python.
- When will it be completed?
- When it is completed.
This is a list of features that I plan to add before releasing the appropriate version and where they are inspired from.
Status: 19/29
- Directory Auto-completion (explorer)
- Button Navigation (explorer)
- Keyboard Navigation
- Directory Navigation (explorer)
- Others (superfile)
- Double Click to enter into directories (explorer)
- Configuration (superfile)
- Base
- Schema
- Extending custom themes via configuration
- zoxide support (ranger)
There is no command line for rovr, which means it will use keybinds to launch either a modified current folder bar or a panel - Previewing image files using textual-image (superfile)
Explorer kinda supports image viewing, but this is a TUI, so inspiration is from superfile - Previewing directories (superfile)
- Pinned folder sidebar (superfile)
Explorer also supports a pinned sidebar, but it also includes the massive file tree, which I won't add. - Search Bar (superfile)
- Metadata
- Clipboard (superfile)
- Copy files and folders
- Cut files and folders
- Paste files and folders
- Warn when overwriting same named files
- Multiple File Lists
- Tabs
- Vertical and Horizontal Splits
- Active and Completed processes (superfile)
- Actions bar (explorer)
- Change sort order of files
- Copy files
- Cut files
- Paste files
- Create new files/folders
- Delete files/folders
- Rename a file/folder
- bat as previewer
- Plugins using pytest-dev/pluggy or a custom way (I wish not)
- Cross process clipboard sync (two rovr instances should have synced clipboards)
- Recycle Bin of 1-day when files get overwritten (Currently handled with
sendtotrashbut it doesn't work at times, so not a reliable solution)



