Home / Linux / After experimenting with st (st terminal | suckless terminal | simple terminal), here are several reasons to use urxvt — or any comparable terminal emulator –
After experimenting with st (st terminal | suckless terminal | simple terminal), here are several reasons to use urxvt — or any comparable terminal emulator –
After experimenting with st (st terminal | suckless terminal | simple terminal), here are several reasons to use urxvt — or any comparable terminal emulator –

After experimenting with st (st terminal | suckless terminal | simple terminal), here are several reasons to use urxvt — or any comparable terminal emulator –

After experimenting with st (st terminal | suckless terminal | simple terminal), here are several reasons to use urxvt — or any comparable terminal emulator –

I spent a couple of days enjoying with st (st terminal | suckless terminal | simple terminal) after hoping to refresh my workflow slightly for 2019.

My present terminal is urxvt (rxvt-unicode) and the device itself hasn’t been up to date for almost 3 years. The undertaking turns out to be close to the top its lifecycle; its maintainer has obviously misplaced pastime and hasn’t constructed a group that wishes to pick out up the momentum. I might be satisfied to accomplish that, however do not need the luxurious of tonnes of loose time in this day and age.

So I downloaded st and used to be first of all inspired by means of the claims made for “simplicity”. The codebase seems to be blank by means of comparability to urxvt and its obvious minimalism used to be interesting.

Then I attempted to in reality use it. Here are my observations.

urxvt daemon is quicker by means of design

  • st rests relatively closely on its declare to being very lean and coffee on sources. In reality, if you happen to run a gadget with many terminals open, urxvt has a daemon capability that makes it extra environment friendly than any non-daemon method might be, just by design.

(Lack of) .Xresources fortify in st terminal

  • st began out with out fortify for .Xresources, and nonetheless does not fortify it by means of default. You have to patch it in. Even with the patch st nonetheless does not fortify fundamental capability. In my case, letter spacing isn’t supported, and it isn’t a best precedence over my different paintings such that I might hassle losing time writing a brand new patch myself. Urxvt already has local .Xresources fortify, in order that’s a reason why to keep with urxvt.

Font rendering is subpar in st terminal

  • font rendering turns out to works higher the usage of st, however once more, has restricted capability. I will foresee different fundamental lacking options and time wasted getting simple issues to paintings due to the st philosophy of “simplicity”, i.e. lacking options that urxvt has already carried out.

Tabs are utterly unsupported in st terminal

  • tabs are some other function that is lacking in st. Again, there is a patch (correction: st does not fortify tabs in any respect; you’ve gotten to use some other suckless program referred to as tabbed), however it is poorly carried out. In my case, you’ll be able to use tabs, however there is not any easy approach to identify them. Tab-naming depends upon your shell, and a few shells (zsh) are more straightforward for this than others (fish).

After clearing that hurdle, it turned into transparent that the tabs are now not in a position to the usage of .Xresources to set their font. So you can have tabs the usage of one font that may handiest be set by means of changing the supply code and re-compiling, as opposed to terminals that may be set the usage of .Xresources. As sooner than, urxvt implements this capability correctly by means of drawing all of its font rendering information from .Xresources.

  • I was hoping that tab rendering could be sooner the usage of st, however it isn’t: an identical to urxvt, you’ve gotten to wager and tweak the tab-loading time the usage of sleep instructions. So that isn’t an development; may as smartly keep with urxvt if tabs are your jam.

Also referring to tabs, I have heard folks declare that st is predicated closely on tmux for its capability. “You’re probably using tmux anyway, so who cares”, is the standard concept. Well, no, I do not inevitably use tmux for each terminal, and it is a waste of sources to load it each time I would like tabs (or scrollback skill). Plus, I have discovered that tmux does not all the time play great with keyboard shortcuts and it is general simply some other trouble when all you wish to have is the fundamentals (tabs, scrollback, and many others.) that might simply be constructed into the terminal itself.

  • a minimum of on Reddit, I have discovered the st group to be surprisingly insular and unwelcoming. Apparently they are pleased with being exclusionary and “the Amish of software design”. I am not in particular involved — dealing with the urxvt group used to be lower than amusing now and then — however st is stunting its personal enlargement as a work of device by means of snubbing new folks as a substitute of welcoming them. That approach few folks use it, and few folks will give a contribution to it. So it stays trapped in a low-worth cycle the place st lacks fundamental capability, nearly nobody makes use of it and nearly nobody cares to undertake or reinforce it. That’s how tasks lose momentum and die.

  • urxvt already turns out most commonly dormant, however it is in accordance with rxvt and extends its predecessor considerably. urxvt, then, is a sturdy, powerful piece of device that may satisfy maximum customers’ wishes. Instead of requiring patches to do nearly the rest helpful, urxvt lets in for Perl extensions (tab fortify, as an example, arrives via a Perl extension). One of my peeves about urxvt is that fortify for more moderen languages like Python and/or Ruby could be extra fashionable, since folks infrequently write the rest vital in Perl anymore. But it is nonetheless higher than having to throw your mind at patching the supply code in C any time you need to upload new capability. And as discussed, efficiency is not a bonus for st over urxvt if you are the usage of the urxvt daemon.


Overall, there may be truly no receive advantages to the usage of st somewhat than a rock-cast, smartly-established terminal emulator like urxvt (rxvt-unicode). You can believe urxvt, even with the daemon. It merely does not crash, ever, and the useful resource utilization could be very low (even though it does gather through the years, so you might want to re-boot every so often, relying on how a lot reminiscence you’ve gotten).

Other choices:

  • mlterm — most certainly the most productive “second choice” choice to urxvt, if handiest as a result of it is most commonly the similar as urxvt and remains to be in energetic building/upkeep.

  • kitty — amusingly, there may be some other terminal named “kitty”, however its founder gave the center finger to jerks on Reddit for harassing him concerning the identify. 🙂 Kitty seems to be nice, however it is relatively new and has problems with dependencies (harfbuzz, in particular) that I have observed in different device. If you’ll be able to make it be just right for you, nice. Hopefully, because the device matures, it’ll develop into a really perfect choice that is a minimum of as speedy as urxvt.

Check Also

should webmasters resist googles push for amp pages - Google Criticized Over Its Handling of the End of Google+

Google Criticized Over Its Handling of the End of Google+

Google Criticized Over Its Handling of the End of Google+ Long-time Slashdot reader Lauren Weinstein …

Leave a Reply

Your email address will not be published. Required fields are marked *