Nheko | Matrix Client written in Qt on openSUSE

Matrix is a secure, decentralised, real-time, communication protocol that allows you to send messages and pictures free from the encumberments of a centralized authority. You can look at Matrix as an alternative to using Telegram, WhatsApp, Discord, etc. Confusingly, Matrix is a protocol not a client. There are many clients you can choose, the most common and sort of official one called Element. The trouble with Element is that the user experience for me is a bit lacking so I have been on the search for an alternative. One alternative that I seem to like quite a lot is Nheko.

Installation

There are two ways to install it on openSUSE, Flatpak and native packaging. I will give a bit of a spoiler here and let you know that the Flatpak has better theme integration than the native packaging.

edit: As of the latest update in openSUSE Tumbleweed, Snapshot 20230301 the integration with RPM is just as good as Flatpak.

Flatpak

flatpak install flathub io.github.NhekoReborn.Nheko

Native openSUSE Packages

It should be noted that this has only been tested on Tumbleweed. It is likely a safer bet to use the Flatpak for openSUSE Leap.

sudo zypper addrepo https://download.opensuse.org/repositories/network:messaging:matrix/openSUSE_Tumbleweed/network:messaging:matrix.repo
sudo zypper ref
sudo zypper in nheko

Once installed, either installation method, you can then run it from the menu.

Logging In

The account creation aspect of nheko doesn’t quite have the same feel as you get with Element and SchildiChat. Maybe it is just my perspective but there is something that seems a bit less welcoming or friendly with this portion of it.. Perhaps it is the lack of instruction on what you have to do. or the way the interface focuses you, it just doesn’t seem to have quite as good of a user experience.

Since I already had a Matrix account, I went with the login as I didn’t need to register for an account.

I think that the interface needs a bit of tweaking when in a dark mode but overall, the appearance is what I prefer. I wasn’t aware that you could sign into a Matrix account with Github, Google, or the others listed there but I can with certainty say that I would never use these. I just don’t have a good feeling about using a third party to log into a service, especially Matrix.

Once logged in, the client asked me for my pass phrase key for my encryption.

After entering that, the client slowly started decrypting the chat messages and I was off to the races. The layout is nice an comfortable. The aggregation of the chat rooms is also just as I like it. It truly is a pleasant client that is absolutely suitable for the Plasma desktop.

I did need to do some tweaking to the interface chat as, by default, the font was just a bit small and the emojis looked far too bland. Pictured above is how I have made mine look on my 14″ 1080p laptop screen.

Along the bottom-left side of the client there are four buttons. The first is the Plus button to start a new chat. Here you can join a room, Create a new room, Start a direct chat or Create a new community.

The button to the right is a Room Directory. Pressing that will open up a directory of rooms available public rooms.

At the time of writing, I’m not sure if this will only show rooms that are on the homeserver or if it includes other matrix servers with public rooms. This part is a bit fuzzy to me.

The magnifying glass is a search tool which will help you in finding people and rooms. Start typing and select the room or person of interest to take you to where you want to go.

The last button is the Settings. In the world of Plasma apps, this is generally a wondrous place with all sorts of knobs and switches to make things just the way you fancy. Nheko does not disappoint here!

Settings

Like many Plasma / Qt applications, you are often given a whole lot more settings than you thought you needed. Some people, strangely, do not like this, I however am a fan. This does allow you to do everything from scale the interface to adjust the fonts and select the Emoji font family. How you want the avatars to display, customize the “ringtone” for calls and change how the chat is displayed. Perhaps you like bubbles around your messages instead.

The only other tweaks that I made was to add the system tray icon so that I can see when there is a message waiting for me and to use large emojis in the timeline. Outside of that, not much else. I may do some other tweaking but I’m satisfied with it right now.

Overall Look and Feel

The great thing about the nheko is that it fits nicely into the Plasma desktop environment. The fonts and emojies can be configured to whatever suits you best. The downside is, if you have a lot of fonts installed, it can take some effort to get that worked out just right.

I ended up using Noto Sans for the font family and Noto Color Emoji because the bland default emojis don’t really evoke the same delightful experience as you have likely grown to expect.

What I really think that is interesting is that the native packages don’t have the same sort of quality theme integration as the Flatpak does. This is a head-scratcher as I would not have expected this at all. The Flatpak option actually picks up the system theme, which is my own custom spin on the Breeze Dark theme. This is matching up perfectly, dare I say, “seamless”. The native package, on the other had set to the system theme has some contrast issues with the drop down menu buttons. They are nearly unreadable.

As a consequence, I will be sticking with the Flatpak for the time being. I am also starting to prefer Flatpak for more and more applications as of late, even without the proper theme integrations. There is something a bit more efficient in their usage.

Final Thoughts

The user experience with nheko has been impressive. The UI is clean and responsive while also providing a lot of options to make it to your liking. It is able to do the proper encryption so you can take advantage of the end-to-end encryption on your private messages. Although this may not be the most friendly of interfaces, especially if you are brand new to the decentralized Matrix protocol and may not be a good place to start, it is a great place to be for the more seasoned user.

I am a bit surprised that the Flatpak works so much better than the native openSUSE packages in respect to the theme integration. Maybe it is a bug in the native packages or maybe Flatpak is getting much better. Either way, I am glad Flatpak is continuing to improve.

That said, I think the user experience with nheko is tip-top. It is what I want out of a desktop chat client and although it doesn’t have all the features I like in Telegram (not the fault of the client). It has the features I want packed into a more refreshing interface.

References

Nheko project on Github
Element | Matrix Chat Client on openSUSE
SchildiChat Desktop Matrix Client
Get openSUSE

One thought on “Nheko | Matrix Client written in Qt on openSUSE

Leave a Reply