Activity

sivaprakashkrp

Shipped this project!

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.

sivaprakashkrp

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.

Attachment
0
sivaprakashkrp

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.

0
sivaprakashkrp

Added warning for duplicative file created when sync command is run in Linux systems. The duplicate files will be present, grouped, starting with ebod-<src|dest>-. This is the same name with which useful, needed files in source and destination with the same name are copied as. Hence the user will have to decide which files are useful and which are not.

0
sivaprakashkrp

Fixed the bug that caused errors in Linux. It seems I was trying to hide an already hidden directory. Fixed the issue by hiding the directory only on Windows. Made release v1.1.1.
Video Demo

Attachment
0
sivaprakashkrp

Shipped this project!

Hours: 7.03
Cookies: 🍪 29
Multiplier: 4.12 cookies/hr

Finally, I have created a personal portfolio. I created it like a CLI-based website displayed on old CRT monitors with the green fonts. Mostly I have tried to stick to that theme. Made sure that the website is responsive. Happy to have created my own website with a theme that I love. Do you it and let my know your experience.

Thank you!!

sivaprakashkrp

Created Thank You page. Created sitemap and robots.txt for the website. Linked FormSubmit with contact form and made sure that I get your messages. Deployed the website to the internet. Please do visit it and let me know what you think. Thank you!!

Attachment
0
sivaprakashkrp

Added the Help Overview Dialog to help users with Keybindings and commands.

Attachment
0
sivaprakashkrp

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.

Attachment
0
sivaprakashkrp

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…

Attachment
Attachment
0
sivaprakashkrp

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.

Attachment
0
sivaprakashkrp

I tried shipping the project, But it seems there was an error in the project that I didn’t find before shipping. Thank you for finding that out. Now the error is fixed and ebod is ready again. I made a new release v1.1.0. This is because ebod is no longer just a binary. Now, it is also a library that you can use in your next Rust project. The newest version has been updated in crates.io. You can try ebod by installing it with cargo with the command cargo install [email protected].

0
sivaprakashkrp

Added ebod to crates.io. Now you can install ebod with the command cargo install ebod. Added a Release in GitHub.

Attachment
0
sivaprakashkrp

Wrote Documentation for Cargo. Described what each function, structure and enum does, their inputs and return types. Now Testing and Deployment lies ahead.

Attachment
0
sivaprakashkrp

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.

Attachment
2

Comments

iris
iris about 1 month ago

woah this tui is so pretty !!

sivaprakashkrp
sivaprakashkrp about 1 month ago

Thank You 😊 @iris

sivaprakashkrp

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.

Attachment
0
sivaprakashkrp

Shipped this project!

Hours: 4.62
Cookies: 🍪 68
Multiplier: 14.68 cookies/hr

btrls

I built a tabled ls command written in Rust which has a option to get the details of a directory as JSON data. Started it as a follow along to the tutorial Code Your Own CLI With Rust - Jonkero. Then I added some of my own features like custom colour configuration, custom application flags, etc. After completion of the project, I have uploaded it to the Arch User Repository. You can install btrls in x86_64 arch linux systems by the command yay -S btrls.
Waiting for your feedback and to improve on it.
Thank You.

sivaprakashkrp

Published btrls into the Arch User Repository(AUR). Used cargo-aur for creating the build files and PKGBUILD, Uploaded it to the AUR. Now you can install btrls in Arch Linux (x86_64) systems with the command yay -S btrls.

Attachment
0
sivaprakashkrp

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.

Attachment
0
sivaprakashkrp

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.

Attachment
0
sivaprakashkrp

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.

Attachment
0
sivaprakashkrp

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.

Attachment
0
sivaprakashkrp

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.

Attachment
0
sivaprakashkrp

Completed the UI of the website and created a GitHub Repository for the website. Used AI for creating the Space shooter game, implementing key bindings and creating the cmatrix running in the background of the hero section.

Attachment
Attachment
0
sivaprakashkrp

Worked on perfecting the UI elements. Made them responsive. Completed About section, contact section. Added terminal animation before the website contents are shown.

Attachment
0
sivaprakashkrp

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.

Attachment
0
sivaprakashkrp

Worked on creating the Path and Command widgets. Tried a focus changing methodology.

Attachment
0
sivaprakashkrp

Created the syncing mechanism and covered some of the edge cases. Wrote README.md and pushed to Github.

Attachment
0
sivaprakashkrp

Created the basic implementation of Syncing mechanism. Wrote a little bit of Documentation.

Attachment
0
sivaprakashkrp

Worked on perfecting things and creating the layout of contact section. Made contact section user interactable.

Attachment
0
sivaprakashkrp

Tried techniques for optimization of binary. Tried running tests. Added feature to create and add custom configuration file.

Attachment
0
sivaprakashkrp

Completed implementing a file reading mechanism for custom configurations.

Attachment
0
sivaprakashkrp

Implemented a basic mechanism to backup files and uploaded the repo to Github.

Attachment
0
sivaprakashkrp

Created the basic implementation of the backup utility for ebod with detailed logging.

Attachment
0
sivaprakashkrp

Added Colour to cells representing directories and executable files. Searched for and added crates to find whether a file is hidden or is executable.

Attachment
0
sivaprakashkrp

Developed Code to read Files and Directories, extract metadata from them and to store them in a hidden metadata directory.

Attachment
Attachment
0
sivaprakashkrp

I’m working on my first project! This is so exciting. I can’t wait to share more updates as I build.

Attachment
0