pretty much every single desktop
environment comes with some sort of
terminal and these terminals will do
what a terminal needs to do i'm not a
big fan of the gnome terminal but it's
good enough
but these terminals are by no means the
best terminals out there and if you have
a very terminal heavy workflow there are
some better ones i would suggest
actually using i can't tell you which
ones are the best but i can certainly
offer my suggestions so the first
terminal we have is kitty now the best
way to describe kitty in my eyes is sort
of like the apple of terminals and i
don't mean that as a bad thing what i
mean is there is a lot of things made
for the kitty ecosystem that only work
on kitty and this would be a bad thing
if nobody used the terminals because
there wouldn't be anything in this
ecosystem but it is a really popular
terminal so kitty has a python plug-in
or module system whatever you want to
call it called kittens and this system
is used to make various integrations to
add fun things into the application for
example here is a gpu accelerated dock
panel for your desktop if you want to
make your terminal part of your dock
here is a unicode input system and here
is a diff system now one interesting
aspect is a lot of these things you can
do in other terminals for example you
can have a diff system like this you can
have unicode input like this maybe the
dock is a little bit harder but most of
the other kittens are fairly similar in
this way
but the difference in the case of kitty
is those things are running in your
shell whereas this is a plug-in directly
for the terminal so theoretically it
should be more performant in the case of
well-written plug-in now much like
another terminal in this list this is a
gpu accelerator terminal you might be
saying why would you add that feature
into a terminal what is there in a
terminal that you want to gpu accelerate
and if you use mainly older applications
where all they display is basic text
there's no reason it has functionally no
difference
but if you are using many modern
applications that do have a lot more
rendering going on they are more
frequently updating the screen maybe in
the case of kitty they're actually
rendering images on the screen
in that case doing that on the gpu
actually can provide some benefit in
many of those applications as a global
thing for all applications it's kind of
difficult to measure the amount of
difference but what i can say is it
certainly feels snappier in cases where
it does make sense now one important
thing for many advanced terminals is
configuration and kitty is definitely
not slacking in that it has a config
file that is over 2 000 lines long
that doesn't mean there is 2 000
separate options you can probably see it
right now
there is
a lot of documentation for a lot of the
things you might want to do a lot of the
things in here are commented out don't
think that everything in here is
documentation but above every single one
of the options that is available there
is an explanation of how to use it the
values that it takes what it actually
does and all that fun stuff so you can
easily work out how to configure it
without reading some sort of external
documentation
i really like it when an application
embeds its documentation in the config
file it makes it very easy to work with
so if you've been on this channel for a
while you've probably heard me complain
about kitty that's not because i think
it's a bad terminal overall i think it
is a really great terminal it's just the
least favorite of the three we're
talking about today so if you want to
use it it's available basically in every
distro's repos and it's also available
on mac os if you want to go and use it
there and there is an apple silicon
version as well now the second terminal
we have is a terminal that when you
first download it it's absolute garbage
and it's a terminal that is not for most
people but if you want to put the effort
into it i think it is an absolutely
amazing experience that terminal is st
otherwise known as the simple or
suckless terminal out of the box it is a
terminal it loads a shell
it supports input it shows output and
that's basically it it doesn't have any
of the luxury to expect to be there with
any sort of modern shell it doesn't
support scroll back it doesn't have
tabbing if you like having like a split
view sort of thing it doesn't support
that either it is the most basic of
basic terminals and that is what makes
st so great so like most cyclists
applications it revolves around patching
the source code so by using st you're
effectively maintaining your own fork of
the application
sure there are pre-configured versions
that do exist but that sort of defeats
the whole point of using st so any
features that you don't want in st
never have to be added to the code base
you're not just disabling them and then
still having the code sitting around so
from my experience
if you want st to be usable it requires
anywhere from like three to four patches
in my case i'm using bold is not bright
to make it so bold text actually gets
rendered i'm using the scroll back
patches both the regular version with
the keyboard and the mouse version the
box draw patch to make it so if you're
using the unicode uh line symbols
actually connect together and also font
two to address a bug where st will crash
if you see an emoji but once again like
with kitty because the application is so
popular a lot of the things you may want
to add already have been developed all
you need to do is go and download the
patch and then apply the patch and then
you're pretty much good to go now the
patches are designed around not having
any patches enabled so once you start
adding patches you may not be able to
automatically add them you may need to
go and modify them just a slight bit to
make them fit with the source code so
this is the other reason why st is not
for most people if you are not
comfortable at least modifying c code to
some extent you should not be using st
because like with most of the cyclists
applications out there
documentation is very limited
by limited i mean there's no
documentation in the source code
whatsoever and you're basically on your
own as much as i would like there to be
good documentation i think the lack of
documentation is part of the appeal
this the terminal the out of the box is
nothing and the code base is an absolute
nightmare to work with but you can go
and modify this terminal as much as you
want to make it be the terminal that you
want it to be it is nobody else's
terminal it is just your terminal it is
basically the ultimate hackers terminal
also it has a very slow development
cycle because it doesn't really have a
ton that needs to be added so you're not
really worried about keeping up with the
main branch also i never would have
suggested you put up with this if st was
not also a lightning fast terminal which
it definitely is also st unlike the
other two is only available on linux and
the final terminal we have is obviously
one that i couldn't make this video
without talking about that terminal is
alacrity and alacrity is the terminal
that i mainly use in many ways alacrity
is a lot like kitty minus the kittens so
like with kitty this also has a really
big config file where every single
option is really well explained it
doesn't have anywhere near as many
options as kitty has though and i don't
think that's really a bad thing because
i've been through the kitty config file
and there's a lot of things in that
application that i don't see anybody
ever actually changing sure it's great
if those options actually are there
but i'm never going to touch them so i
don't really care if those options are
exposed or not now because this is
available on operating systems besides
linux there are some options in here
that are available only on linux and
some that are available only on windows
and anything that is like that is going
to be marked as such one issue with the
config file is it makes use of yaml and
yaml is really lightweight for the user
but is fairly touchy to incorrect
indentation like a language such as
python but one way that alacrity combats
this is by having live config update so
if i go and move this right here and
then save the file
instantly it tells me there is a problem
but if i don't care i can just go and
hide that and it's going to let me keep
using the application perfectly fine but
every time i go and reopen the
application it's going to say hey there
is this warning here you probably should
go and fix it there are so many
applications i've seen out there where
if you have a broken config file it just
won't let you load the application sure
it'll core dump if you open it from a
separate terminal but in this case it's
just saying yeah
check this out there is a problem here
go and fix it and i mentioned there is a
second gpu accelerator terminal on this
list and that terminal is alacrity now
the kitty devs and the alacrity devs
like to have this weird argument back
and forth about which terminal is faster
they'll both show different numbers that
indicates that their terminal is the
fastest terminal
and it really doesn't matter
earlier on i felt like kitty was
noticeably slower but nowadays sure
alacrity feels a touch quicker but
they're basically the same back to that
live update and warning box for a moment
it's actually really handy every couple
of months when some random option in
alacrity gets refactored and the name
gets changed or gets moved to a separate
section now you can see hey this thing
has been deprecated and this is what it
needs to be it's just a really visual
indication or when something isn't
working exactly the way it should be i
briefly mentioned this earlier this is
supported on both windows and linux and
for those fanatics out there it is
written in rust i do know that because
it is written in rust there are issues
running alacrity on older hardware in
which case for those people kitty might
be a better option if you are completely
undecided on what to use out of this
list i would say pick alacrity or kitty
and if you can't pick one or the other
find a coin and then flip the coin
because at the end of the day they are
both
really really good terminals and once
you get used to them you get used to the
way they're configured and some of the
weird quirks about them they're both
going to do exactly what you need and
they're going to be better than what
ships with gnome or xfc or anything like
that and this shouldn't need to be said
but everything i've talked about today
is my opinion so if you don't agree with
my opinion that's fine go and use
whatever you want also all the terminals
we covered today are covered from an xor
perspective if you're a weyland user i
am aware there are some really good
terminals under wayland as well and i
will probably do a follow-up video when
i eventually get around to using sway so
let me know your thoughts down below
what terminal is your favorite what
terminal do you run on a daily basis or
maybe you never use a terminal and you
try to do everything through a gui i
would love to know so if you like this
video i'm going to go and like the video
and if you really liked the video and
you want to become one of these amazing
people over here go check out my patreon
subscribe channel bear pay link in the
description down below i've got a
podcast called tech over t available
basically anywhere i've got a gaming
channel called brody robson plays
and that's gonna be it for me so
i'm out
[Applause]
[Music]
you