A Terminal User Interface based File Explorer written in Ratatui. Aims to be similar to the GUI file explorers while operating from the terminal.
A Terminal User Interface based File Explorer written in Ratatui. Aims to be similar to the GUI file explorers while operating from the terminal.
I have built a TUI File Explorer in RUST using Ratatui. I wanted the UI to be the most similar to that of a GUI File explorer. Creating Quick Access bars and providing columbus the power to open files on enter (with user configuration) were really exciting and required a lot of work as configurations and data had to be stored and retrieved in/from files. Now columbus is made and is available in cargo and AUR.
Completed the basic functionality of the project. Found a unhandled error. Handled it. Created version v0.1.1. Next step is to ship the project.
Log in to leave a comment
Fixed compilation issues in Linux and rendering issues. Tried Mouse Input, but couldn’t get it in columbus. This is because of the way in which I have designed the widgets and how I have integrated them into the application. For now, I have put them in future enhancements. columbus is now ready for a stable release with most of the major features implemented atleast in MVP form.
Log in to leave a comment
Added the Help Overview Dialog to help users with Keybindings and commands.
Log in to leave a comment
Created Quick Access Mechanism. Now you can assess your most accessed directories through the quick access menu. Created Logging Mechanism after trying a lot of dialog boxes. Also wrote README.md. Still need to create a floating window for help section and make sure that there are no bugs in cross platform deployment.
Log in to leave a comment
Worked on implementing file open on enter. It is heavily dependent on user configuration in the file_options.toml file. But with the correct commands, columbus can open files for you on enter :)
Still have to work on handling executables…
Log in to leave a comment
Worked on the function of Quick Access section. Earlier it was just a configuration. You will provide your favourite files in ~/.config/columbus/qa_files.toml(in linux) or in D:\Applications\columbus\qa_files.toml(in windows). columbus will read this file and show you the same ones in the Quick Access explorer. But now, as you navigate your files, the data is stored and updated in the same file. The paths to display are decided by how much you have visited the directories. Only folders are showed in the Quick Access section. The generated data is saved once you quit that session of columbus.
Log in to leave a comment
Worked on implementing copy, paste and cut mechanisms. This can be done in the explorer area with the keybindings c, v, and x respectively. The explorer refreshes on each paste or delete during cut. Dialogs and Opening files on enter is alone remaining.
Today, I implemented a reload feature for explorers which can be triggers with r while the explorer is in focus. I also added a term command so that you can open a new terminal with the path into which you have navigated. Exiting the application can also be done with q, quit or exit commands (to cover the exiting ways like :q in vim, etc.) I tried implementing a Dialog menu with tui-dialog crate. I have to dive deep into it and make a choice.
Log in to leave a comment
I worked on rename, delete functionality. I decided that Quick Access can be a sort of favourites menu. So I made the files that will be listed in it to be user configurable. The list wont update but you will have access to your favourite projects at all times.
Log in to leave a comment
Worked on handling input keystrokes. Changed the styles for explorers to fit more content and reduce a lot of scrolling. Made the explorer to work. Now you can select directories and you can go into it. Backspace takes you to the parent directory. I created a single command today namely the new file command. Here you can create a new file in the current directory in which you are present. You can access directories by changing path in path field. You can access drives from the drive area.
Log in to leave a comment
Found a way to pass inputs to the widgets and handle them. Implemented it and wrote some code to change the UI with each change from a widget to another. Wrote a basic README.md with a sample picture of the Application. Still have to implement how to handle commands, what to do with the input and how to process further.
Log in to leave a comment
Tried to implement focus handling for the multiple widgets in the application. Tried out rat-salsa and rat-focus. But at last reverted to manual implementation of focus handling. I have set up the channels for transferring inputs. Still I need to write functions to handle them in each widget.
Log in to leave a comment
Created Drives submenu. Added tui-input for command bar. Added borders to explorers and polished the UI. Thought about how I am going to handle inputs and key strokes. I still have to find a way. Currently looking at Rat Salsa.
Log in to leave a comment
Worked on the file explorer inside the TUI. Implemented basic functionality like changing selection. Now columbus can take a path, get the files in the described path and show them with a usable interface.
Log in to leave a comment
Worked on creating the Path and Command widgets. Tried a focus changing methodology.
Log in to leave a comment