Terminal
DR-Terminal heeft zijn eigen VT100/xterm-emulator, helemaal opnieuw in Kotlin geschreven — geen WebView. Hij ondersteunt xterm-256color, de alt-buffer (vim/less/nano), OSC 52-klembord, focusgebeurtenissen en muistracking (mc, htop).
Toetsenbord en sneltoetsen
| Sneltoets | Actie |
|---|---|
| Ctrl+C — wanneer tekst is geselecteerd | Kopieer selectie naar klembord. Zonder selectie bereikt de normale SIGINT het externe proces. |
| Enter — wanneer tekst is geselecteerd | Alternatieve kopieersneltoets (handig op toetsenborden zonder Ctrl). |
| Rechtermuisklik / Kopieermenu | Contextmenu na selectie — altijd beschikbaar. |
| Ctrl+V | Plakken. Klembordinhoud met meerdere regels opent een bevestigingsdialoog voor plakken van meerdere regels. |
| Shift+Insert | Plakken — klassiek X11/Windows-spiergeheugen. Een kale Insert bereikt nog steeds de shell. |
| Shift+Delete | Kopieer de selectie en wis die (knip-stijl). |
| Ctrl+F | Open de zoekbalk (zie Zoeken in uitvoer). De shell ziet de toetsaanslag nooit. |
| Ctrl+Shift+S | Open de snippetkiezer (zie Snippets). Een kale Ctrl+S bereikt nog steeds de shell. |
| Sneltoetsbalk | esc, ctrl, tab, pijltjes, gangbare shell-symbolen, de snip-toets en de ⌨-schakelaar — handig op mobiel. Functie- en navigatietoetsen zitten op de fn-laag van het DevOps-toetsenbord en de optionele F-toetsenrij. |
| Lettergrootte | A- / A+-stapper in het terminalmenu; bereik 8–32 pt. |
Op macOS werkt Cmd overal waar hierboven Ctrl staat: Cmd+C, Cmd+V, Cmd+F en Cmd+Shift+S gedragen zich als hun Ctrl-tegenhangers.
DevOps-toetsenbord (Android & iOS)
Systeemtoetsenborden werken je tegen in een terminal: autocorrectie verhaspelt sudo -rf, shell-symbolen zitten twee lagen diep en niet-Latijnse indelingen hebben vaak helemaal geen ASCII. DR-Terminal levert zijn eigen altijd-ASCII DevOps-toetsenbord, getekend door de app en met toetsen die rechtstreeks naar de terminal gaan — de systeem-IME ziet ze nooit.
- Staand — een klassiek dock onderaan het scherm.
- Liggend — split-modus: twee duimgrote clusters aan de linker- en rechterrand, getekend als doorschijnend glas over de terminal, zodat de volle breedte je sessie blijft tonen.
Lagen: kleine letters, hoofdletters (Shift), cijfers, shell-symbolen (| ~ $ & ' " \ …`) en een fn/nav-laag (F1–F12, pijlen, Home/End, PgUp/PgDn). Ctrl/Alt/Shift zijn sticky: één tik zet ze klaar voor de volgende toets, dubbel tikken vergrendelt. Houd ⌫, pijlen of spatie vast voor herhaling; lang indrukken op toetsen met een klein hoekteken geeft het alternatieve teken.
- De greep (pil) bovenaan schakelt FULL ↔ MINI — MINI houdt alleen de essentie (Esc, Tab, Ctrl, pijlen, ⌫, ↵) voor htop-/logsessies. Liggend onthoudt zijn eigen stand en start in MINI.
- Sleep de greep om een split-cluster te verplaatsen; hij klikt vast aan de dichtstbijzijnde rand. Laat het ene cluster op het andere vallen om ze te versmelten tot één zwevend toetsenbord; de split-pil haalt ze weer uit elkaar.
- Veeg omlaag over de toetsen om het toetsenbord te verbergen; een zwevende ⌨-knop haalt het terug. De toets ⌨ schakelt naar het systeemtoetsenbord wanneer je diakritische tekens of emoji nodig hebt.
Instellingen → Toetsenbord (mobiel): Standaardtoetsenbord — Auto kiest het DevOps-toetsenbord wanneer de systeemtaal niet-Latijns is (Arabisch, Hebreeuws, CJK…), anders de systeem-IME; Indeling — Auto/QWERTY/QWERTZ/AZERTY; schuifregelaars voor Dekking en Toetsgrootte; F-toetsen tonen — een altijd zichtbare F1–F10-rij boven het toetsenbord, handig voor mc-/htop-workflows. Alle toetsenbordvoorkeuren reizen mee in de versleutelde configuratieback-up die vanaf een telefoon of tablet wordt geëxporteerd.
Selecteren, kopiëren, plakken
Desktop: sleep met de muis om te selecteren. Dubbelklik selecteert een woord, drievoudige klik een regel. Loslaten kopieert via de bovenstaande sneltoetsen; rechtermuisklik opent een menu.
Android & iOS: lang ingedrukt houden ergens in de terminal start een selectie, daarna slepen om uit te breiden en loslaten om te kopiëren — de tekst belandt in het systeemklembord. Een korte aanraking tikt nog steeds door naar de shell; een veegbeweging scrolt nog steeds door de geschiedenis, dus de gebruikelijke gebaren blijven werken.
- Plakpictogram in de bovenbalk van de terminal — één tik plakt het klembord bij de cursor. Niets in het klembord toont een neutrale snackbar Niets om te plakken.
- Tekst selecteren in het terminalmenu — een selectievakje dat de selectiemodus aan houdt totdat je hem weer uitschakelt, zodat elke sleepbeweging selecteert in plaats van te scrollen of door te tikken.
- Lang ingedrukt houden op de promptregel (de regel waar de cursor staat, en alleen wanneer je niet in de geschiedenis hebt gescrold) plakt in plaats van een selectie te starten — natuurlijk wanneer je het klembord gewoon wilt neerzetten waar je aan het typen bent.
OSC 52 laat externe programma's (tmux, vim, fzf) via een escape-reeks naar je systeemklembord kopiëren — bidirectioneel.
Plakken van meerdere regels: wanneer je klembord nieuwe regels bevat, zie je een voorbeelddialoog voor plakken van meerdere regels — die beschermt tegen het plakken van opdrachten die je niet hebt bekeken.
Scrollback en geschiedenis
De scrollback-buffer bevat tot 1000 regels. Wiel of aanraakslepen scrolt; de cursor verlaat het zichtvenster correct (xterm-gedrag) en een selectie scrolt mee met de tekst.
Geschiedenis wissen zit in het tabblad Geschiedenis van de zijbalk en wist de opgeslagen opdracht-geschiedenis voor die verbinding — de scrollback op het scherm blijft onaangetast.
Een schuifbalk verschijnt aan de rechterrand van de terminal (Desktop) — pak hem met de muis vast om door de geschiedenis te scrollen; Android en iOS scrollen via aanraking. De wielscrollsnelheid is instelbaar bij Instellingen → Terminal (regels per enkele wieltik).
Alt-buffer (volledig-schermtoepassingen)
Programma's als vim, less, nano, htop, mc schakelen over naar de alt-buffer — een apart scherm dat bij het afsluiten verdwijnt zonder de hoofd-scrollback te vervuilen.
Zoeken in uitvoer
Druk op Ctrl+F (Cmd+F op macOS) om de zoekbalk te openen. Die doorzoekt de scrollback live, markeert elke overeenkomst en stapt ertussen door. Het markeren is een overlay op renderniveau — er wordt nooit iets in de SSH-stream geïnjecteerd.
Lettertype, thema, markering
- Lettergrootte — de A-/A+-stapper in het terminalmenu of de schuifregelaar bij Instellingen → Weergave; bereik 8–32 pt. Het lettertype bij Aangepast in het tabblad Thema van de zijbalk staat bovendien 6–72 pt per alias toe.
- UI-thema — licht / donker / systeem (de hele app, niet de terminal).
- Terminalthema — zie de sectie Thema hieronder; het thema is per alias.
- Markeringsregels — Instellingen → Terminal → Uitvoermarkering. Voeg regex + kleur toe, kleur bijv.
ERRORrood.
Snippets
Snippets zijn herbruikbare opdrachtsjablonen die je in elke sessie kunt afvuren. Een sjabloon kan getypeerde placeholders bevatten — ping -c {count:int=4} {host:ip} — en zo'n snippet uitvoeren opent een klein dialoogvenster dat om de waarden vraagt (placeholders van het type int, ip, bool en enum krijgen passende invoervelden en validatie). Een snippet zonder placeholders wordt direct uitgevoerd. Direct uitvoeren bepaalt of Enter voor je wordt verstuurd of dat de opdracht alleen op de prompt belandt om te bewerken.
Manieren om er een uit te voeren:
- Ctrl+Shift+S (Cmd+Shift+S op macOS) — een kiezer die zoekt terwijl je typt; Enter voert de eerste overeenkomst uit.
- Snippets in het terminalmenu — dezelfde kiezer zonder toetsenbord.
- Het tabblad Snippets in de terminalzijbalk — recent gebruikt eerst, één klik om uit te voeren, plus een snelkoppeling naar de editor.
- De vastgezette snip-toets op de mobiele sneltoetsbalk en op het DevOps-toetsenbord, waarvan de gedockte modus ook een snippet-tegellaag biedt — een tikvriendelijk raster met je recente snippets bovenaan.
Elke snippet heeft een bereik: zichtbaar voor Alle hosts, één Groep of één enkele Host. Een optioneel filter Systemen (Debian, RHEL, Arch, macOS…) perkt dat verder in, zodat apt-snippets alleen verschijnen op hosts die als Debian-familie zijn gedetecteerd — de detectie komt van de aanmeldcontrole (zie Host-inzicht hieronder). Alleen tonen indien beschikbaar verbergt een snippet bovendien wanneer is bevestigd dat de opdracht op de host ontbreekt. Sessies zonder SSH-host (lokaal, serieel, Telnet) zien alleen globale snippets.
Beheer snippets bij Instellingen → Terminal → Snippets: toevoegen, bewerken, dupliceren en verwijderen, en bereik, systemen en de vlag voor direct uitvoeren instellen. Een meegeleverde catalogus van ruim honderd kant-en-klare snippets — per systeem (Debian, RHEL, Arch, Alpine, SUSE, BSD, macOS) plus sets voor Docker, netwerk, opslag en tools — wordt bij de eerste start klaargezet; bewerk of verwijder ze zoals je eigen snippets.
Opdrachtgeschiedenis en automatisch aanvullen
Elke opgeslagen verbinding onthoudt haar opdrachtgeschiedenis (als Geschiedenis bewaren aan staat). Pijl-omhoog haalt eerdere opdrachten terug, en het automatisch-aanvulveld stelt opdrachtnamen voor die op de server beschikbaar zijn — live shell-aanvulling, los van de geschiedenis van wat je zelf hebt getypt.
Host-inzicht (live statistieken)
Na het aanmelden op een SSH-sessie peilt de app de host stilletjes — OS-naam, CPU-model en aantal kernen — en begint hij live statistieken op te vragen: load average, geheugen, swap en schijfgebruik per koppelpunt, elk getekend met een gebruiksbalk die amberkleurig wordt boven 75% en rood boven 90%.
- Het tabblad Host van de terminalzijbalk (het meest linkse tabblad, en de standaard voor SSH-sessies) toont alles in één oogopslag.
- Dezelfde rijen verschijnen in het dialoogvenster Verbindingsinfo.
- Instellingen → Terminal → Resourcemonitoring (CPU/RAM/schijf) zet het opvragen globaal aan of uit en stelt het verversingsinterval in (5–300 s). Het verbindingsformulier kan het interval per host overschrijven, en zijn keuzelijst Systeemcontrole bij aanmelden bepaalt hoe vaak de volledige controle draait: elke verbinding, één keer per dag, één keer per week of uitgeschakeld.
Sessietabbladen
Elke sessie — SSH, SFTP, lokaal, serieel, Telnet — leeft in een tabblad. Houd een tabblad lang ingedrukt (mobiel) of klik er met de rechtermuisknop op (desktop), of doe hetzelfde met een kaart in de lijst Actieve sessies, voor het menu: Hernoemen, Verbindingsinfo, Sessie herstarten en Tabblad sluiten. Sessie herstarten breekt de verbinding af en verbindt helemaal opnieuw met behoud van het tabblad — handig na een herstart van de server. Wanneer een externe sessie wegvalt, krijgt het terminalmenu bovendien een optie Opnieuw verbinden die de verbinding ter plekke herstelt (lokale terminals bieden die niet — open in plaats daarvan een nieuwe).
Zijbalk (rechterpaneel) — Host / Geschiedenis / Aanvullen / Snippets / Thema
Rechts van de terminal (Desktop / tablet) zit een inklapbaar paneel met vijf tabbladen. Open het met de pijl aan de rechterrand; pas de grootte aan door de linkerrand te slepen. De staat is per alias — elke opgeslagen verbinding onthoudt haar tabblad en breedte.
- Host — het standaardtabblad voor SSH-sessies: gedetecteerd systeem, CPU en live statistieken. Zie Host-inzicht hierboven.
- Geschiedenis — recent getypte opdrachten. Klikken typt de opdracht in de terminal; de schakelaar ernaast bepaalt of er automatisch met Enter wordt verzonden. Geschiedenis wissen zit hier ook.
- Aanvullen — live suggesties voor opdrachtnamen uit de shell-aanvulling van de server. Kan per alias worden gedempt (belpictogram).
- Snippets — je snippets voor deze host, recent gebruikt eerst. Zie Snippets hierboven.
- Thema — uiterlijk van de terminal. Zie de sectie hieronder.
Thema — terminalthema's (435 schema's)
Het thema is per alias — elke verbinding heeft een eigen achtergrond, voorgrond en 16-kleurige ANSI-palet (dezelfde indexen die ls --color gebruikt: standaard 0–7 + helder 8–15).
- Ingebouwde catalogus van 435 thema's — het veld Zoeken… filtert op naam. Elke rij toont achtergrond, voorgrond en een strook van 16 stalen. Klikken past het thema direct toe.
- Aangepast (deze alias) — op desktop biedt de zijbalk ook handmatige bewerking van lettertype, achtergrond, voorgrond en de 16 ANSI-slots. Elke slot heeft een eigen reset (⟲); het hele palet heeft een aparte reset.
- Blauwe mappen in
ls --colorzijn ANSI 4 (BLUE) of 12 (BRIGHT_BLUE) — om ze te wijzigen, kies een ander thema of bewerk die twee stalen.
Android & iOS: de hele desktopzijbalk wordt vervangen door één paletpictogram in de bovenbalk van de terminal. Tik erop voor een bottom sheet met dezelfde catalogus van 435 thema's, doorzoekbaar en met live staalvoorbeelden. Een rij aantikken past het thema toe en sluit de sheet zodat je het resultaat direct ziet; de knop Reset bovenaan verwijdert alle overschrijvingen, zodat de alias terugvalt op zijn standaardinstellingen.
De 435 ingebouwde thema's komen uit de opensource-collectie edcet/terminal-themes (MIT).