Say goodbye to st and say hello to ghostty
I’ve been a suckless software user for a long time because the software was superior to a lot of other options out there.
If you have never experienced the blazing fast speed of st
opening, you are definitely missing out.
Sadly it was time for me to leave st
behind and move on to a new terminal that I think offers a lot of benefits.
Why I Liked st#
- Speed.
st
launches instantly - Config as code is cool. That combined with the patching culture really provides some fun puzzles. Who knew reading your terminal source code to fix a broken patch could be so fun.
- DWM swallow patch compatibility. If you use the swallow patch, st works flawlessly.
Why I Switched to ghostty#
- Time constraints. Two kids means no time to debug patches and code when I want modern features like ligatures.
- Modern niceties. Ligatures and images in terminal are supported out of the box. I spent way too long trying to unsuccessfully get sixel support in st.
- Cross-platform config. Same configuration file on both Linux and work Mac. Reduces burden of swapping dev environments.
- Swallowing compatibility. Unlike WezTerm and others, ghostty plays nice with DWM’s swallow patch. Since WezTerm uses existing terminals to create new terminals, the process tree for the swallow patch gets messed up. This leads to the wrong terminal windows getting swallowed which is very frustrating.
- Fast enough. Noticeably slower to start than st but faster than everything else I’ve tried.
I definitely think I’m losing cool points by swapping from my handcrafted st
build, but priorities change and the ghostty
guy is pretty cool.
Hopefully this doesn’t commence my slide down the slippery slope straight into an Apple Store shudder.
==**=*x=====================ox*=**==xo
ox==**=*x ox*=**==xo
++**+= =+**++
==== ~+%$@@@@@@@@@@@@@@$%+~ ====
===+ x%@@@@@$$$$$$$$$$$$$$$$@@@@@%x +===
===+ +@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$@@@@+ +===
++=+ %@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@% +=++
ox== %@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@% ==xx
==+x x@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@x x+==
xx== %@$$$$@@@@$$$$$$$$$$$$$$$$$$$$@@@@$$$$$$$$$$$$$$@% ==xo
++++ %@$$$@@+~o=@@@@$$$$$$$$$$$$$$@@+~o*@@@@$$$$$$$$$$$@% ++++
==+· x@$$$$$ ~*@@@@$$$$$$$$$$% o*@@@@$$$$$$$$@x ·+==
== @$$$$$$ ~*@@@$$$$$$$% o%@@@$$$$$$@ ==
== $$$$$$$@=· =$$$$$$$@@= *$$$$$$$ ==
== ·@$$$$$$$@@@@+ $$$$$$$$$@@@@x $$$$$$@· ==
== ·@$$$$$$@$x o$$$$$$$@@$x x$$$$$$@· ==
== ·@$$$$$$ x$@@$$$$$$$$ +$@@$$$$$$@· ==
== ·@$$$$@$ x%@@@@$$$$$$$$@% x$@@@@$$$$$$$$@· ==
== ·@$$$$$@$~ x%@@@@$$$$$$$$$$$$$@%· x%@@@@$$$$$$$$$$$$@· ==
== ·@$$$$$$@@@@@@$$$$$$$$$$$$$$$$$$@@@@@@$$$$$$$$$$$$$$$$@· ==
== ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· ==
== ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· ==
== ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· ==
== ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· ==
== ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· ==
== ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· ==
== ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· ==
== ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· ==
== ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ ==
== @@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ ==
==+· %@@@$$$$$$$$@@@$$$@@@@$$$$$$$$@@@@$$$@@@$$$$$$$$@@@% ·+==
x+== +$@@@@@@@$+ o%@@@@@@@@*~ =$@@@@@@@$+ ==xx
===+ +===
==== ==%%++ ++%%== ====
++**=***++==%***==++***%**++++*=%**=++==***%==++**%=**++
x+++==++++ x+++++==++xx ++++++++++
Read other posts