A cross-platform terminal-based termux-oriented file manager.
Project description
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.
FONT: Cartograph CF
⚙️ 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 X11 Drag&Drop from terminals
- Supports most common mouse events
- Can be used as a component
- Uses about ~30MB of RAM
- Strong C TUI backend
- It is pretty snappy
- Supports Termux
- Cross Platform
- and more
• 🔮 Desired:
- Macros
- Treeview
- Undo\Redo
- Improved UI
- Multiple tabs
- Sixel support
- Effect on cutted Files
- Multithread performance
⌨️ 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 | |
KEY_F3 |
o |
(descending) order-type switch |
KEY_F1 |
O |
(ascending) order-type switch |
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 |
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 Information |
---|---|---|---|
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 |
Available Type-keywords: open
, copy
, cut
, find
important note: o
is also used for ordering in vim_mode
. In this case you can first press space-bar before proceeding with owv
or with any other already reserved starting key, or just change it.
Additionally 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 enable synthetic XDND?
set
tuifi_synth_dnd
enviroment variable toTrue
.pip install requests pynput PySide6 python-xlib
. Know it's expirimental! You'll need to adapt to it slightly, use it as: Drag&drop + click afterwords where you want the file to be dropped. See also and this issue
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 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 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
- @KORBEN for this article
- 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
🕳️ Outro
- Any Idea with this issue https://github.com/unicurses/unicurses/issues/21 ?
- Btw I use TUIFI in a daily basis. As crazy as it might sound: It's my primary file manager.
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
File details
Details for the file TUIFIManager-4.0.6.tar.gz
.
File metadata
- Download URL: TUIFIManager-4.0.6.tar.gz
- Upload date:
- Size: 1.9 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.0.0 CPython/3.12.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 39a380565c042618f70df874a61c7ff3f4913e711ac22be50f09f8a721124d00 |
|
MD5 | 01b01d402ee19563d05b44d0212a3c66 |
|
BLAKE2b-256 | 2c64aec62ce0a5791b6e69211bd59162b2e5e39532590f53608c084023cdd14c |