Sommige taken kunnen nog steeds het beste via een terminal worden uitgevoerd, zelfs met geavanceerde moderne desktopomgevingen boordevol beheertools, hulpprogramma's en productiviteitssoftware, allemaal met aantrekkelijke grafische gebruikersinterfaces.
Met een terminalemulator kun je de kracht van de opdrachten op de desktop gebruiken. Bovendien biedt een terminalvenster toegang tot een console (tekstuitvoer) en de bijbehorende toepassingen, zoals opdrachtregelinterfaces (CLI) en tekstgebruikersinterface-software.
Kitty is een GPU-aangedreven terminalemulator die OpenGL gebruikt voor verwerking en op meerdere platforms draait. Dit betekent dat het een GPU gebruikt voor rendering (weergeven van de uitvoer) in plaats van een CPU. Daardoor is het van nature extreem snel en efficiënt.
Maar waarom zou je een GPU-versnelde terminal nodig hebben? Kort gezegd: het draait allemaal om snelheid! Het uitbesteden van rendering aan de GPU helpt op een aantal manieren. Ten eerste helpt het om de systeembelasting te verminderen en zorgt het voor soepeler scrollen.
Kitty's grootste claim is dat het één van de snelste terminalemulators is die er zijn. Het is ontworpen voor ervaren toetsenbordgebruikers.
Kitty zit boordevol functies en ondersteunt tabbladen, splitsingen en natuurgetrouwe kleuren (True Colors). Het grootste deel van Kitty is bijna volledig in Python geschreven. De Objective C-code is erg beperkt en bestaat voornamelijk uit macro's of het aanroepen van functies in andere bibliotheken.
Bovendien is Kitty uiterst configureerbaar. Er is muisondersteuning beschikbaar, waarmee je URL's kunt openen, dubbelklikken, drievoudig klikken, rechtsklikken en andere dingen kunt doen. Bovendien is het eenvoudig te bedienen vanuit de shell-prompt, SSH en scripts.
Terminals geven niet alleen weer wat je ziet, maar ook alles wat programma's uitvoeren, wat enorme hoeveelheden kunnen zijn, waardoor niet-versnelde terminals kunnen crashen. Sommige terminals zullen minder vaak worden bijgewerkt om zichzelf te sparen, terwijl andere volledig vastlopen terwijl ze de CPU overbelasten.

Kitty is beschikbaar in de standaard softwarebronnen van Debian Trixie en installeer je in de terminal met de volgende opdracht:
dany@pindabook:~$ sudo apt install kitty
[sudo] wachtwoord voor dany:
Installeren:
kitty
Installeren van vereisten:
kitty-doc kitty-shell-integration kitty-terminfo libjs-sphinxdoc
Samenvatting:
Opwaarderen: 0, Installeren: 5, Verwijderen: 0, Niet opwaarderen: 0
Downloadgrootte: 9.768 kB
Benodigde ruimte: 38,4 MB / 84,6 GB beschikbaar
Doorgaan? [J/n]
Ophalen:1 http://deb.debian.org/debian trixie/main amd64 kitty-shell-integration all 0.41.1-2 [97,7 kB]
Ophalen:2 http://deb.debian.org/debian trixie/main amd64 kitty-terminfo all 0.41.1-2 [77,0 kB]
Ophalen:3 http://deb.debian.org/debian trixie/main amd64 kitty amd64 0.41.1-2+b1 [7.284 kB]
Ophalen:4 http://deb.debian.org/debian trixie/main amd64 libjs-sphinxdoc all 8.1.3-5 [30,5 kB]
Ophalen:5 http://deb.debian.org/debian trixie/main amd64 kitty-doc all 0.41.1-2 [2.279 kB]
9.768 kB opgehaald in 0s (26,3 MB/s)
Voorheen niet geselecteerd pakket kitty-shell-integration wordt geselecteerd.
(Database wordt ingelezen ... 206571 bestanden en mappen momenteel geïnstalleerd.)
Uitpakken van .../kitty-shell-integration_0.41.1-2_all.deb wordt voorbereid...
Bezig met uitpakken van kitty-shell-integration (0.41.1-2) ...
Voorheen niet geselecteerd pakket kitty-terminfo wordt geselecteerd.
Uitpakken van .../kitty-terminfo_0.41.1-2_all.deb wordt voorbereid...
Bezig met uitpakken van kitty-terminfo (0.41.1-2) ...
Voorheen niet geselecteerd pakket kitty wordt geselecteerd.
Uitpakken van .../kitty_0.41.1-2+b1_amd64.deb wordt voorbereid...
Bezig met uitpakken van kitty (0.41.1-2+b1) ...
Voorheen niet geselecteerd pakket libjs-sphinxdoc wordt geselecteerd.
Uitpakken van .../libjs-sphinxdoc_8.1.3-5_all.deb wordt voorbereid...
Bezig met uitpakken van libjs-sphinxdoc (8.1.3-5) ...
Voorheen niet geselecteerd pakket kitty-doc wordt geselecteerd.
Uitpakken van .../kitty-doc_0.41.1-2_all.deb wordt voorbereid...
Bezig met uitpakken van kitty-doc (0.41.1-2) ...
Instellen van libjs-sphinxdoc (8.1.3-5) ...
Instellen van kitty-doc (0.41.1-2) ...
Instellen van kitty-terminfo (0.41.1-2) ...
Instellen van kitty-shell-integration (0.41.1-2) ...
Instellen van kitty (0.41.1-2+b1) ...
Bezig met afhandelen van triggers voor mailcap (3.74) ...
Bezig met afhandelen van triggers voor desktop-file-utils (0.28-1) ...
Bezig met afhandelen van triggers voor hicolor-icon-theme (0.18-2) ...
Bezig met afhandelen van triggers voor man-db (2.13.1-1) ...
Start Kitty via de Programmastarter > Systeem > Kitty.
De Kitty terminal emulator wordt gepersonaliseerd met behulp van een configuratiebestand.
Kopieer eerst het voorbeeldconfiguratiebestand kitty.conf naar de Kitty-configuratiemap.
dany@pindabook:~$ cp /usr/share/doc/kitty/examples/kitty.conf ~/.config/kitty/
Om te beginnen met het instellen, open je het bestand kitty.conf voor bewerking met jouw favoriete teksteditor (nano in het voorbeeld).
dany@pindabook:~$ nano ~/.config/kitty/kitty.conf
De lettergrootte van Kitty is voor sommige mensen en/of schermen standaard te klein.
Laten we het dus vergroten naar 13.
Daarbij laat ik de regel met de standaard waarde staan (commentaarregel als reservekopie) en voeg ik een nieuwe configuratieregel toe met de aangepaste waarde.
Let ook op de handige hulptekst.
GNU nano 8.4 /home/dany/.config/kitty/kitty.conf *
#: You can specify different fonts for the bold/italic/bold-italic
#: variants. The easiest way to select fonts is to run the `kitten
#: choose-fonts` command which will present a nice UI for you to
#: select the fonts you want with previews and support for selecting
#: variable fonts and font features. If you want to learn to select
#: fonts manually, read the font specification syntax
#: <https://sw.kovidgoyal.net/kitty/kittens/choose-fonts/#font-spec-
#: syntax>.
# font_size 11.0
font_size 13.0
#: Font size (in pts).
^G Hulp ^O Opslaan ^F Zoeken ^K Knippen ^T Opdracht ^C Positie M-U Terugdraaien
^X Afsluiten ^R Inlezen ^\ Vervangen ^U Plakken ^J Uitvullen ^/ Naar regel M-E Herdoen
Nu we toch bezig zijn, maken we het Kitty's venster iets transparanter.
Hiervoor moeten we de optie background_opacity wijzigen van 1 naar bijvoorbeeld 0.8.
# background_opacity 1.0
background_opacity 0.8
In de teksteditor nano sla je de aanpassingen op met de sneltoets Ctrl+s en sluit je deze af met Ctrl+x. Vergeet niet dat als je Kitty hebt geopend, je het programma moet sluiten en opnieuw starten om de wijzigingen door te voeren. Laten we nu eens kijken wat het resultaat is van de aangebrachte wijzigingen.

Op dit moment denk ik dat het basisidee duidelijk is.
Zoals je kon zien, bevat kitty.conf een groot aantal configuratieopties waarmee je de weergave of het gedrag van deze terminalemulator kunt wijzigen.
Je kunt de volledige lijst bekijken op de website van Kitty.
Kitty wordt geleverd met een aantal handige functies, genaamd Kittens, die vaak van pas kunnen komen. Ze worden gebruikt om functies aan Kitty zelf toe te voegen en om handige zelfstandige programma's te maken.
De icat kitten kan bijvoorbeeld afbeeldingen weergeven in de terminal. Het gebruik ervan is heel eenvoudig:

Om de icat kitten te kunnen gebruiken, moet ImageMagic softwarepakket op het systeem geïnstalleerd zijn.
Hoewel ik er persoonlijk geen last van had, krijg je soms foutmeldingen dat de terminal onbekend is of dat het openen van de terminal mislukt wanneer je SSH gebruikt met Kitty op een externe computer. Dit gebeurt omdat de Kitty terminfo-bestanden, een groep routines binnen de curses-bibliotheek die specifieke terminalcapaciteiten afhandelt, niet beschikbaar zijn op de externe server.
Gelukkig is de oplossing eenvoudig: kopieer de terminfo. Kitty heeft een SSH Kitten om dit precies te automatiseren.
Kitty kan zijn vensters naar eigen wens naast elkaar plaatsen in elke gewenste lay-out. Een lay-out is een indeling van meerdere Kitty-vensters binnen een tabblad.
Daar op een Belgisch AZERTY toetsenbord het schakelen tussen gesplitste vensters niet werkt met de standaard sneltoetsen, moeten we dit eerst aanpassen in het configuratiebestand. Ook andere sneltoetsen kan je op deze manier aanpassen (zie de koppeling in het configuratiebestand). Om een gesplitst venster te selecteren, kan je de volgende sneltoetsen definiëren:
#: Simple shortcut mapping is done with the map directive. For full
#: details on advanced mapping including modal and per application
#: maps, see mapping <https://sw.kovidgoyal.net/kitty/mapping/>. Some
#: quick examples to illustrate common tasks::
#: # unmap a keyboard shortcut, passing it to the program running in kitty
#: map kitty_mod+space
#: # completely ignore a keyboard event
#: map ctrl+alt+f1 discard_event
#: # combine multiple actions
#: map kitty_mod+e combine : new_window : next_layout
#: # multi-key shortcuts
#: map ctrl+x>ctrl+y>z action
map ctrl+left neighboring_window left
map ctrl+right neighboring_window right
map ctrl+down neighboring_window down
map ctrl+up neighboring_window up
#: The full list of actions that can be mapped to key presses is
#: available here <https://sw.kovidgoyal.net/kitty/actions/>.
Vergeet ook deze keer niet om Kitty te herstarten om de aanpassing te activeren.
Om het venster te splitsen, gebruik je de sneltoets Ctrl+Shift+Enter.

Met de sneltoets Ctrl+pijltoets kun je schakelen tussen de verschillende vensters.
De vensters kunnen in meerdere lay-outs worden gerangschikt met de sneltoets Ctrl+Shift+l.
Kitty kan meerdere programma's uitvoeren die in tabbladen zijn georganiseerd, aangezien elk tabblad uit één of meer vensters bestaat. Om een nieuw tabblad te openen, gebruik je de sneltoets Ctrl+Shift+t.

De tabbladtitels (met mapaanduiding) verschijnen onderaan het Kitty venster. Je kunt tussen tabbladen schakelen met Ctrl+Shift+ of Ctrl+Shift+.
Hieronder volgen enkele handige sneltoetsen voor Kitty.
| Nieuwe splitsing | Ctrl+Shift+Enter |
| Venster sluiten | Ctrl+Shift+w |
| Volgende venster | Ctrl+ (AZERTY na aanpassing sneltoets) |
| Vorige venster | Ctrl+ (AZERTY na aanpassing sneltoets) |
| Venster vergroten/verkleinen | Ctrl+Shift+r |
| Nieuw tabblad | Ctrl+Shift+t |
| Tabblad sluiten | Ctrl+Shift+q |
| Volgend tabblad | Ctrl+Shift+ |
| Vorige tabblad | Ctrl+Shift+ |
| Regel omhoog | Ctrl+Shift+ |
| Regel omlaag | Ctrl+Shift+ |
| Pagina omhoog | Ctrl+Shift+Page Up |
| Pagina omlaag | Ctrl+Shift+Page Down |
| Bovenaan | Ctrl+Shift+Home |
| Onderaan | Ctrl+Shift+End |
| Kopiëren naar klembord | Ctrl+Shift+c |
| Plakken vanuit klembord | Ctrl+Shift+v |
| Plakken vanuit selectie | Ctrl+Shift+s |
| Lettergrootte vergroten | Ctrl+Shift+= |
| Lettergrootte verkleinen | Ctrl+Shift+- |
| Volledig scherm in-/uitschakelen | Ctrl+Shift+F11 |
De Kitty ontwikkelaar toont in de onderstaande video (met de oorspronkelijke videohoofdstukken) wat de mogelijkheden zijn:
Zorg dat Kitty afgesloten is.
Verwijder de geïnstalleerde softwarepakketten:
dany@pindabook:~$ sudo apt purge kitty
[sudo] wachtwoord voor dany:
De volgende pakketten zijn automatisch geïnstalleerd en zijn niet langer nodig:
kitty-doc kitty-shell-integration kitty-terminfo libjs-sphinxdoc
Gebruik 'sudo apt autoremove' om ze te verwijderen.
VERWIJDEREN:
kitty*
Samenvatting:
Opwaarderen: 0, Installeren: 0, Verwijderen: 1, Niet opwaarderen: 0
Vrijgemaakte ruimte: 23,6 MB
Doorgaan? [J/n]
(Database wordt ingelezen ... 207326 bestanden en mappen momenteel geïnstalleerd.)
kitty (0.41.1-2+b1) wordt verwijderd ...
Bezig met afhandelen van triggers voor hicolor-icon-theme (0.18-2) ...
Bezig met afhandelen van triggers voor man-db (2.13.1-1) ...
Bezig met afhandelen van triggers voor mailcap (3.74) ...
Bezig met afhandelen van triggers voor desktop-file-utils (0.28-1) ...
Om echt schijfruimte vrij te maken, verwijderen we ook de niet langer gebruikte afhankelijke pakketten met:
dany@pindabook:~$ sudo apt autoremove
VERWIJDEREN:
kitty-doc kitty-shell-integration kitty-terminfo libjs-sphinxdoc
Samenvatting:
Opwaarderen: 0, Installeren: 0, Verwijderen: 4, Niet opwaarderen: 0
Vrijgemaakte ruimte: 14,8 MB
Doorgaan? [J/n]
(Database wordt ingelezen ... 207015 bestanden en mappen momenteel geïnstalleerd.)
kitty-doc (0.41.1-2) wordt verwijderd ...
kitty-shell-integration (0.41.1-2) wordt verwijderd ...
kitty-terminfo (0.41.1-2) wordt verwijderd ...
libjs-sphinxdoc (8.1.3-5) wordt verwijderd ...
De werk- en configuratiemap van kitty verwijder je met:
dany@pindabook:~$ rm -rf .cache/kitty .config/kitty