A cross-platform terminal-based termux-oriented file manager (and component), meant to be used with a Uni-Curses project or as is. This project is mainly an attempt to get more attention to the Uni-Curses project.
⚙️ Installation
sudo pip3 install tuifimanager --upgrade
pip3 install TUIFIManager --upgrade
or just ^^^ if it works for you. (eg. on termux?)
💥 Usage
Run tuifi
in your terminal to use it as is or import it in one of your Uni-Curses project as a component like:
from TUIFIManager import *
for more details look into the __main__.py
📦 Features
• 📌 Current:
- Supports most of the common mouse events so far
- It is somewhat fully customizable?
- Can be used as a component
- Uses only ~30MB of RAM
- It is pretty snappy
- Supports Termux
- Cross Platform
- and more
• 🔮 Desired:
- Undo\Redo
- tool-tips
- Scroll bar
- Sixel support
- Multiple tabs
- Better performance
- Effect on cutted Files
- Drop files into GUI apps
⌨️ Keybindings
In vim_mode
both normal and vim shortcuts work
Normal | vim_mode | Action |
---|---|---|
SHIFT + TAB |
Moves selected file to the previous directory | |
KEY_BACKSPACE |
J |
Opens\Goes to the previous directory |
ALT + DOWN |
Opens\Closes the "right-click menu" | |
KEY_HOME |
H |
Navigates to the $HOME directory |
KEY_F5 |
Reload\Refresh current directory | |
CTRL + V |
p |
Pastes the Copied or Cuted files |
DEL |
CTRL+d |
Deletes the selected files |
CTRL + F |
i |
Find Files (if not auto_find_on_typing) |
CTRL + O |
O |
Open whole directory in editor |
CTRL + A |
Select all files in current folder | |
CTRL + C |
yy |
Copies the selected files |
CTRL + K |
Copies the selected files | |
CTRL + X |
c |
Cuts the selected files |
CTRL + R |
r |
Rename selected file |
CTRL + T |
Toggle hidden files | |
CTRL + N |
W |
Create new folder |
CTRL + W |
w |
Create new file |
ARROW KEYS |
l k j h |
Navigates files |
KEY_ENTER |
K |
Opens files |
CTRL + E |
e |
Exit with cd |
ESCAPE |
Exit |
(TIP: 🐁 use ALT + CLICK
for multiple mouse selection if SHIFT
not working)
TERMUX only Shortcuts\Keybindings
Shortcut | Action |
---|---|
CTRL + DOWN |
Goes in&out of select-mode while also automatically copies the selected file(s) |
CTRL + LEFT |
Goes out of select-mode while also cuts the seleccted file(s) |
CTRL + END |
Goes out of select-mode while also deleting the selected file(s) |
CTRL + UP |
Same as CTRL + V , Pastes the Copied or Cuted files |
END |
Deletes selected files |
👨💻 Commands
(Default & Custom Comands) - To perform a command under the normal-mode, you first have to press the space-bar and then type the command. Alternatively, use vim_mode
or enable the tuifi_auto_command_on_typing
env-variable (notice: it disables tuifi_auto_find_on_typing
). The default commands can be seen below and can be found under the ~/.config/tuifi/cmds.conf
where you can add your custom ones too:
Cmd | Type | Attributes | Label Comment |
---|---|---|---|
gt |
open | 'directory':'~/.config/tuifi' | - tuifi - |
gh |
open | 'directory':'~/' | - Home - |
owv |
open | 'directory':None,'_with':'vim' | Opened With Vim |
yat |
copy | 'pattern':'.+.txt' | |
yy |
copy | 'pattern':None |
There are also some "static" ones like the m
+character which marks the current directory into the character, so you can navigate back to it by using ` or ;
+that_character
📜 Documentation
Work in progress 🛠️🏗 ...
💭 Customization
How do I enable vim_mode?
Set
tuifi_vim_mode
enviroment variable toTrue
How do I change the default keys (besides commands)?
This is not possible right now althought you could play around with the content of
toggle_vim_mode
function under__init__.py
How do I set the default editor?
Set
tuifi_default_editor
enviroment variable tovim
or whatever you prefer
How do I disable the auto-find-mode?
You can just set
tuifi_auto_find_on_typing
enviroment variable toFalse
How do I change the scroll sensitivity?
You can set either or both
tuifi_scroll_sensitivity
,tuifi_ctrl_scroll_sensitivity
enviromental variables, to the disered number of characters per scroll action (they default to 1 and 7)
How do I change the number of visible lines of filenames that are visible?
You can set how mnay lines you want using
tuifi_visible_filename_lines
(Defaults to 4)
How do I change the default configuration path?
Set
tuifi_config_path
enviroment variable to whatever you prefer most
How do I toggle hidden files/folders?
You can either
CTRL + T
or settuifi_show_hidden
enviroment variable toTrue
How do I change the default colors?
💗 Donation
I do really need money to survive, I have no job, living in a basement, making things for free, because I love to.
- Paypal Address
- Monero Address:
897ehhSQJQpGF7tYDhQM51jiX7nnHmzuYAW4q8JGwJxu8JKXvaK6AivCzatuJxnifjZ2qy98ks2g2PhmTaYCMMta2Ga2LJx
🫶 Special thanks to
- Bryan Lunduke for this article
- Brodie Robertson for this video
- r/linux community for their comments
- r/cyberDeck community for their comments
- r/commandline community for their comments
🕳️ Help
Any Idea with this issue unicurses/unicurses#21 ?