A post-modern terminal file explorer
Project description
rovr
[!caution] This project is in its very early stages. Feedback is appreciated, but this cannot be daily-driven yet.
What and Why?
- 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.
Installation
# Test the main branch
uvx --from git+https://github.com/NSPC911/rovr.git -q rovr --python 3.13
# Install
## uv (my fav)
uv tool install rovr
## or pipx
pipx install rovr
## or plain old pip
pip install rovr
Screenshots
Startup
Create new Item
Delete selected items
Zoxide integration
FAQ
- 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>"
variables = {
"<key>" = "<value>"
}
- 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
- 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.
- Why not ratatui or bubbletea??? angry noises
- I like python.
- When will it be completed?
- When it is completed.
Road map
This is a list of features that I plan to add before releasing the appropriate version and where they are inspired from.
Version 1
Status: 26/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 files
- Image files using textual-image (superfile)
Explorer kinda supports image viewing, but this is a TUI, so inspiration is from superfile - Directories (superfile)
- Compressed Files
- Image files using textual-image (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
- 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
Version 2
- 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)
Declined Features
- Horizontal and Vertical Splits
- Transparent UI
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file rovr-0.0.4.post2.tar.gz.
File metadata
- Download URL: rovr-0.0.4.post2.tar.gz
- Upload date:
- Size: 531.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.8.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
09b92a1e671a56605251d8238b8423470b01a394dff25f3d0e836d98295f11e2
|
|
| MD5 |
cc7449808555a878f1f5da184704ccb5
|
|
| BLAKE2b-256 |
c9fa0d4760c158bbf2e79b6fc39279bf09d1cc5e68e5307d3457817a890ceb61
|
File details
Details for the file rovr-0.0.4.post2-py3-none-any.whl.
File metadata
- Download URL: rovr-0.0.4.post2-py3-none-any.whl
- Upload date:
- Size: 52.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.8.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
066e8bf5684da208567c25a4a61a8a11d444fdd4d729e65995da2a6a6b828e7f
|
|
| MD5 |
78ced7ccbceb335eff94db0990b33983
|
|
| BLAKE2b-256 |
5b76f21aac7fb4e2646d1b385db47236a190470304aeb9232842feafe2518589
|