Going back in time: How Terminaux was born

Terminaux is a console tools library that allows you to write colorful text to the console, manipulate with the terminal, and make your console applications more powerful. With awesome features that this library provides, you can create an interactive textual user interface (TUI) application using .NET as the framework, and is the first C# console library that supports mouse events!

As Terminaux is one of our most successful projects, here’s the timeline of how Terminaux was born.

  • May 15th, 2022

    ReadLine.Reboot was announced as an extension to the original ReadLine library by Toni-Solarin Sodara.

  • June 1st, 2022

    ReadLine.Reboot was released publicly to NuGet, allowing developers to try it out in their projects.

  • June 7th, 2022

    ReadLine.Reboot was compared against the original ReadLine library, alongside with Latency’s fork.

  • August 10th, 2022

    ColorSeq was released for the first time to bring 256 colors and true colors support to the console. In the same day, VT.NET was released as a library that helps you generate VT sequences for console applications, such as colors, text formatting, and more.

  • October 22nd, 2022

    ReadLine.Reboot‘s development was declared as abandoned due to the bad structure of the base library.

  • January 2nd, 2023

    TermRead was released as a replacement to the whole ReadLine suite to fix problems that those libraries suffered from.

  • March 12th, 2023

    ColorPrint was released to provide console applications with a simple “color wheel” textual user interface.

  • July 28th, 2023

    Terminaux was announced as a replacement and a fusion of all the above libraries that were released, but there was no release yet, but the first version was scheduled for April 10th, 2023. Then, the explanation of our migration plan was released in the same day.

  • August 6th, 2023

    Terminaux’s first public version was released to NuGet!

Since then, more versions of Terminaux were released to add features, fix bugs, and perform other changes to the library in a way that performance and general improvements are being put into consideration. Our applications that work in the console, such as Nitrocid, have used Terminaux to power their interactive user interface.

For more information about Terminaux’s journey from 1.0 to 6.0, along with 7.0 that was under development at the time of the post, you can read the below article:

Read article #news #ReadLine #ReadLineReboot #Tech #Technology #terminaux #termread #update

We are Live now!

Join us for this month's mug meeting.

Keeping Your Android Secure and Snappy: Exploring GrapheneOS and LineageOS

Join Roller Angel for a practical dive into alternative Android operating systems that can breathe new life into your devices and extend their longevity. Roller runs GrapheneOS on a Pixel 8 for hardened privacy and security, and LineageOS on an older Pixel 4 to keep it current and fast long after official updates ended.

Also, we’ll be doing a short presentation on a Unix/Linux topic. This month we’ll be talking about the readline library. It’s not really a command but it’s included in many of the utilities you use.

https://www.mug.org/2025/10/mug-meeting-tuesday-november-11-2025-keeping-your-android-secure-and-snappy-exploring-grapheneos-and-lineageos/

Join the conversation with the Zoom link on the page above, or watch the stream on youtube!

http://youtube.com/@MugOrgPage

#linux #discussion #localgroup #usergroup #readline #Graphineos #lineageos #android #androidalternative

MUG Meeting - Tuesday, November 11, 2025 - Keeping Your Android Secure and Snappy: Exploring GrapheneOS and LineageOS

Next Meeting – Tuesday, November 11th, 2025, 6:30pm EDT. Join the ZOOM meeting Keeping Your Android Secure and Snappy: Exploring GrapheneOS and LineageOS Join Roller Angel for a practical dive into…

Michigan!/usr/group

#Atuin update: I've come to rely on it. It's a must have for my daily shell usage. Works great everywhere ... except on #GitBashForWindows. Lots of problems there. Here's how I solved them:

* Install `ble.sh`. Use `curl` to do this. Do not get it with Git. Do not attempt to build from source.
* Install by sourcing `ble.sh` at the **end** of your `.bashrc`. That's how the instructions about getting it with `curl` tell you to do it. The Git based instructions want you to say something different in your `.bashrc`. You want the `curl` instructions.
* In my install, #Ble was too slow out-of-the-box. Missed keystrokes, etc. I copied the `blerc.template` from the GitHub repo to a local `~/.blerc`, and edited it to disable almost every kind of completion and also syntax highlighting. Speed is now acceptable. (Might be that my #Windows box is too slow. That seems unlikely.)
* I use `vi` mode; #Vim. `ble.sh` picks that up from my `.inputrc`; #Readline. I use #Starship for my prompt. I had to disable in `.blerc` the showing of my current `vi` state (insert, visual, command, etc) and also edit `.inputrc` to not add characters to the prompt to show insert vs command mode. Those changes let me have my normal `starship` prompt.

I do have one problem remaining. It's not related to `atuin`; it's related to the command line itself. In #Bash and #Zsh, it's easy for me to be on the command line and get what I've typed so far directly into my editor; #HelixEditor. Usually something like Esc-v or the like. `ble.sh` doesn't seem to have a way to do that, but maybe I just haven't found it yet.

@vwbusguy addendum: ^G is from GNU #Readline, and performs an abort in the current editing operation.

It also works the same way in
#Emacs.

I have added #Atuin to my list of "always installed extra tools". It was suggested to me by @LovesTha and I think @b0rk mentioned it but I can’t seem to find the reference. It works in all my shells and on all my platforms. It’s better than what I was doing before. Does everything I have been doing and more. Is fast. Doesn’t get in the way. Has a good, maybe great, UI. Does a job that is incredibly important, at least to me, that I do very very often. (Finding and executing a previous command)

I do still need one thing though (and I’ll figure it out or else submit a patch). I often go straight into using my favorite editor on the selected command rather than just having the insertion point on the command line. I do that with fc. Which leads me to a problem in #Zsh unrelated to atuin. In #Bash, Esc-V took me from the command line into $EDITOR ( #HelixEditor for me ). Zsh doesn’t use #Readline. I don’t know how to do that and I really want to.

Planned to add file name descriptions and #tags to my recent photos while taking a train ride.

Unfortunately, tab-completion of my Python-based #tagging tool doesn't work at the moment and I have no idea why. This makes my tagging session an unpleasant one.

So I created a bug report for it: https://github.com/novoid/filetags/issues/74

The only thing that worries me is that it's my own tool, that has this bug and I don't know how to fix it. 😔 🤦‍♂️

Could be related to #readline, terminal emulator, pyreadline version, ... 🤷

#filetags

Tab completion is not working · Issue #74 · novoid/filetags

Different issue to #34 as I've defined known tags within .filategs file. Fresh venv and I also created a poetry shell - in both environments, tab-completion isn't working: instead of completing kno...

GitHub

More tech notes to myself

A very brief introduction to the #Readline library, customizing the #Bash shell prompt with mode indicators, and the vi editing mode.

Customizing the Bash command prompt for vi editing mode
https://suburbanalities.blogspot.com/2025/04/customizing-bash-command-prompt-for-vi.html

#Shell #vi #vim #inputrc #cli

Customizing the Bash command prompt for vi editing mode

My friend and I are both #iterm2 users. We’re both #Vim users. He uses remote systems all the time and customizes as little as he possibly can because he has much less control over those remote systems. I customize way too much. We both use #bash (though locally, he uses #zsh). Therefore, we both use #readline. I prefer vim-mode on the #commandline. He uses the default, emacs-mode. We both realized we weren’t really using much of the tools those edit modes gave us so we found cheat sheets and started experimenting. For him, alt-b should go back a word, but it didn’t. It worked when I tried that mode. We tried all kinds of solutions for him including sharing our profiles. In the end the thing that succeeded was configuring his iTerm to send "Esc+” when he used the option key. So really, Esc-b went back a word, not alt-b. Mine worked because I was already configured that way.

Here’s something that puts your readline edit-mode into your prompt. I probably didn’t need to do this. I’m a #Vim user (really #NeoVim) and so I have a `.inputrc` that makes my #commandline edit-mode (because of #readline) always be #vi. This is for #bash. It may work in other shells, I don’t know. I use #starship. The actual command I wrote uses #ripgrep. At least twenty other ways you could do it. I put all the changes into a gist: https://gist.github.com/wolf/e2bd126159961e3142350f6dfe04056a

Most people never change from the default edit-mode. If they do, they probably don’t switch back and forth. Starship narrows the field further. Almost certainly this is of no use to you unless you want to learn a little about some of the pieces. Enjoy anyway.

Show your current readline edit-mode in your Starship prompt

Show your current readline edit-mode in your Starship prompt - readline-edit-mode-changes.txt

Gist

A tiny #vi #readline tip

Do you use `set -o vi` in your shell and can't remember whether you are in insert or edit/cmd mode?

Add the following to your .inputrc to put an indicator at the beginning of your prompt to remind you.

# Add mode indicators to command line
set show-mode-in-prompt on
set vi-ins-mode-string "+"
set vi-cmd-mode-string ":"

#vim #shell #bash