Gomuks is the Best CLI Matrix Client

Written By: Jake Bauer | Posted: 2020-09-24 | Last Updated: 2020-09-24

I’ve been using Element (formerly Riot.im) on both desktop and mobile as my Matrix messaging client since I started using Matrix but there’s not doubt that it’s quite slow, bloated, and resource-hungry since it is written using Electron. For that reason, I’m always on the lookout for better, faster, slimmer clients. I previously tried weechat-matrix but found it to be too clunky and unpolished for me to continue using it over Element but this new client, gomuks, seems like it’s what I’ve been looking for.

According to the matrix.org page for this client, its maturity level is Beta (on the scale of Alpha, Beta, Released) which matches my experience with it so far; implements the major features that a matrix client should have for me to deem it functional. As of writing this post, its latest release is version 0.2.0 from a couple of weeks ago so it is still in active development.

Right now, the client supports all of features a Matrix client should have including encrypted chats, easy interaction with files, room management, message redaction, replying, and editing, setting different nicknames for different rooms, and desktop notifications. One of the biggest advantages this client has over weechat-matrix is it’s intuitive, easy-to-use file support.

Interacting with files is incredibly easy with gomuks. You type /upload <filepath> to upload a file to a chatroom, /download <filepath> to download a file from a chatroom (you can select the file to download with the arrow keys), and /open to open a file using xdg-open (which is very useful for looking at images without needing to download them). Furthermore, there is an option to render images in text right in the chat which can give you an idea of what the image is before opening it.

Matrix-specific customizations are available through the /toggle command when you are connected to a Matrix server and these seem pretty comprehensive. The client itself, however, is missing several important customization options. There is currently a lack of customization for both theming/colours and keybindings which isn’t that big of a deal for me, but is something I would like to see for the full-release of the client.

The last issue I’ve noticed with the client at the moment is that text editing is also a little bit odd. For example, the keybinding Alt+Enter was chosen instead of Shift+Enter for entering in a newline, the Delete, Home and End keys do not work to move around the text entry field, and Shift+Backspace deletes the previous word instead of the more common Ctrl+Backspace. These problems could all be fixed when keybinding customizations are added though and I’ve gotten used to the way it works so it doesn’t bother me much.

Overall, the client is in a really good position right now. It’s usable, has nearly all the features expected of a matrix client, and is much faster, smoother, and less resource hungry than Element. Once these issues around customization and the awkward keybindings get fixed, this client looks like it might be the perfect matrix client.

This is my ninety-ninth post for the #100DaysToOffload challenge. You can learn more about this challenge over at https://100daystooffload.com.