Home

Awesome

<div align="center"> <h1>TUIFI Manager</h1> <p> <a href="https://github.com/GiorgosXou/TUIFIManager/pulse"> <img src="https://img.shields.io/github/last-commit/GiorgosXou/TUIFIManager?color=%4dc71f&label=Last%20Commit&logo=github&style=flat-square"/> </a> <a href="https://github.com/GiorgosXou/TUIFIManager/blob/master/LICENSE"> <img src="https://img.shields.io/github/license/GiorgosXou/TUIFIManager?label=License&logo=GNU&style=flat-square"/> </a> </p> </div>

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.

<div align="center"> <p> <img src="./Peek.gif"> </p> <p> <sub>FONT: Cartograph CF</sub> </p> </div>

⚙️ 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:

⌨️ Keybindings

In vim_mode both normal and vim shortcuts work

Normalvim_modeAction
SHIFT + TABMoves selected file to the previous directory
KEY_BACKSPACEJOpens\Goes to the previous directory
ALT + DOWNOpens\Closes the "right-click menu"
KEY_HOMEHNavigates to the $HOME directory
KEY_F5Reload\Refresh current directory
KEY_F3o(descending) order-type switch
KEY_F1O(ascending) order-type switch
CTRL + VpPastes the Copied or Cuted files
DELCTRL+dDeletes the selected files
CTRL + FiFind Files (if not auto_find_on_typing)
CTRL + OOpen whole directory in editor
CTRL + ASelect all files in current folder
CTRL + CyyCopies the selected files
CTRL + KCopies the selected files
CTRL + XcCuts the selected files
CTRL + RrRename selected file
CTRL + TToggle hidden files
CTRL + NWCreate new folder
CTRL + PShow properties
CTRL + WwCreate new file
ARROW KEYSl k j hNavigates files
KEY_ENTERKOpens files
CTRL + EeExit with cd
ESCAPEExit

(TIP: 🐁 use ALT + CLICK for multiple mouse selection if SHIFT not working. You can also use s i m a c to copy individual properties when you have them opened)

TERMUX only Shortcuts\Keybindings

ShortcutAction
CTRL + DOWNGoes in&out of select-mode while also automatically copies the selected file(s)
CTRL + LEFTGoes out of select-mode while also cuts the seleccted file(s)
CTRL + ENDGoes out of select-mode while also deleting the selected file(s)
CTRL + UPSame as CTRL + V, Pastes the Copied or Cuted files
ENDDeletes 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:

CmdTypeAttributesLabel Information
gtopen'directory':'~/.config/tuifi'- tuifi -
ghopen'directory':'~/'- Home -
owvopen'directory':None,'_with':'vim'Opened With Vim
yatcopy'pattern':'.+\\.txt'
yycopy'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 hardcoded 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. yp and yd to copy either the file-path or directory-path to clipboard.

📜 Documentation

<sub>Work in progress 🛠️🏗 ...</sub>

💭 Customization

<details> <summary><i>How do I change theme?</i></summary>

You either download one or make your own based on this how-to. <!-- [.](https://github.com/GiorgosXou/TUIFIManager/issues/38) -->

</details> <details> <summary><i>How do I enable vim_mode?</i></summary>

Set tuifi_vim_mode enviroment variable to True

</details> <details> <summary><i>How do I enable transparency?</i></summary>

Set tuitilities_default_background enviroment variable to True

</details> <details> <summary><i>How do I enable synthetic XDND?</i></summary>

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

</details> <details> <summary><i>How do I set the default editor?</i></summary>

Set tuifi_default_editor enviroment variable to vim or whatever you prefer

</details> <details> <summary><i>How do I disable the auto-find-mode?</i></summary>

You can just set tuifi_auto_find_on_typing enviroment variable to False

</details> <details> <summary><i>How do I change the scroll sensitivity?</i></summary>

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)

</details> <details> <summary><i>How do I change the default keys (besides commands)?</i></summary>

This is not possible right now althought you could play around with the content of toggle_vim_mode function under __init__.py

</details> <details> <summary><i>How do I change the number of visible lines of filenames that are visible?</i></summary>

You can set how mnay lines you want using tuifi_visible_filename_lines (Defaults to 4)

</details> <details> <summary><i>How do I change the default configuration path?</i></summary>

Set tuifi_config_path enviroment variable to whatever you prefer most

</details> <details> <summary><i>How do I toggle hidden files/folders?</i></summary>

You can either CTRL + T or set tuifi_show_hidden enviroment variable to True

</details>

💗 Donation

I do really need money to survive, I have no job, living in a basement, making things for free, because I love to.

<div align="center"> <img src='./TUIFI.png'> </div>

🫶 Special thanks to

🕳️ Outro