TUIFIManager

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


Keywords
file-manager, terminal, tui, ncurses, pdcurses, uni-curses, termux, vim, vim-motions, cross-platform, filemanager, filemanager-ui, terminal-based, unicurses, vi-motion
License
NGPL
Install
pip install TUIFIManager==4.0.5

Documentation

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 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

  • Any Idea with this issue unicurses/unicurses#21 ?
  • Btw I use TUIFI in a daily basis. As crazy as it might sound: It's my primary file manager.