Skip to main content

A cross-platform terminal-based termux-oriented file manager.

Project description

TUIFI Manager

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:

• 🔮 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 to True

How do I enable transparency?

Set tuitilities_default_background enviroment variable to True

How do I enable synthetic XDND?

set tuifi_synth_dnd enviroment variable to True. 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 to vim or whatever you prefer

How do I disable the auto-find-mode?

You can just set tuifi_auto_find_on_typing enviroment variable to False

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 set tuifi_show_hidden enviroment variable to True

How do I change the default colors?

look here for more informations

💗 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

🕳️ Outro

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

TUIFIManager-4.1.5.tar.gz (1.9 MB view details)

Uploaded Source

File details

Details for the file TUIFIManager-4.1.5.tar.gz.

File metadata

  • Download URL: TUIFIManager-4.1.5.tar.gz
  • Upload date:
  • Size: 1.9 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.1.dev0+g94f810c.d20240510 CPython/3.12.4

File hashes

Hashes for TUIFIManager-4.1.5.tar.gz
Algorithm Hash digest
SHA256 c1185c4047d7c0cb6f2f26ed6552200aaefc125ebd44c4423a79a7da7c6df712
MD5 0f647c95918c52d3767d8fc604bacff6
BLAKE2b-256 8802378bb20d0d9fe7b3bcb7105fe5848271441246718424eef76c3ac7e9c82b

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page