Terminal
DR-Terminal zawiera własny emulator VT100/xterm napisany od zera w Kotlinie — bez WebView. Obsługuje xterm-256color, bufor alternatywny (vim/less/nano), schowek OSC 52, zdarzenia fokusu oraz śledzenie myszy (mc, htop).
Klawiatura i skróty
| Skrót | Działanie |
|---|---|
| Ctrl+C — gdy tekst jest zaznaczony | Kopiuje zaznaczenie do schowka. Bez zaznaczenia normalny SIGINT dociera do zdalnego procesu. |
| Enter — gdy tekst jest zaznaczony | Alternatywny skrót kopiowania (przydatny na klawiaturach bez Ctrl). |
| Prawy przycisk myszy / menu Kopiuj | Menu kontekstowe po zaznaczeniu — zawsze dostępne. |
| Ctrl+V | Wklejanie. Wieloliniowa zawartość schowka otwiera okno potwierdzenia wklejania wielu linii. |
| Shift+Insert | Wklejanie — klasyczny nawyk z X11/Windows. Sam Insert nadal dociera do powłoki. |
| Shift+Delete | Kopiuje zaznaczenie i czyści je (w stylu wycinania). |
| Ctrl+F | Otwiera pasek wyszukiwania (zobacz Szukaj w wyniku). Powłoka nigdy nie widzi tego klawisza. |
| Ctrl+Shift+S | Otwiera okno wyboru snippetów (zobacz Snippety). Samo Ctrl+S nadal dociera do powłoki. |
| Pasek skrótów | esc, ctrl, tab, strzałki, popularne symbole shellowe, klawisz snip oraz przełącznik ⌨ — przydatne na urządzeniach mobilnych. Klawisze funkcyjne i nawigacyjne znajdują się na warstwie fn klawiatury DevOps oraz w opcjonalnym wierszu klawiszy F. |
| Rozmiar czcionki | Przyciski A- / A+ w menu terminala; zakres 8–32 pt. |
Na macOS Cmd działa wszędzie tam, gdzie powyżej wymieniono Ctrl: Cmd+C, Cmd+V, Cmd+F i Cmd+Shift+S zachowują się jak ich odpowiedniki z Ctrl.
Klawiatura DevOps (Android i iOS)
Klawiatury systemowe walczą z Tobą w terminalu: autokorekta psuje sudo -rf, symbole shellowe siedzą dwie warstwy głębiej, a układy niełacińskie często w ogóle nie mają ASCII. DR-Terminal ma własną, zawsze-ASCII klawiaturę DevOps, rysowaną przez aplikację i wysyłającą klawisze prosto do terminala — systemowe IME w ogóle ich nie widzi.
- Portrait — klasyczny dock na dole ekranu.
- Landscape — tryb split: dwa klastry pod kciuki przy lewej i prawej krawędzi, rysowane jako półprzezroczyste szkło nad terminalem, więc sesja pozostaje widoczna na całej szerokości.
Warstwy: małe litery, wielkie (Shift), cyfry, symbole shellowe (| ~ $ & ' " \ …`) oraz warstwa fn/nav (F1–F12, strzałki, Home/End, PgUp/PgDn). Ctrl/Alt/Shift są sticky: tap uzbraja je na następny klawisz, double-tap blokuje. Przytrzymaj ⌫, strzałki lub spację, aby powtarzać klawisz; long-press na klawiszach z małym znaczkiem w rogu daje znak alternatywny.
- Grabber (pigułka) na górze przełącza FULL ↔ MINI — MINI zostawia samo minimum (Esc, Tab, Ctrl, strzałki, ⌫, ↵) do sesji z htop/logami. Landscape pamięta własny stan i startuje w MINI.
- Przeciągnij grabber, aby przesunąć klaster splitu; przyciąga się do najbliższej krawędzi. Upuść jeden klaster na drugi, aby skleić je w jedną pływającą klawiaturę; pigułka splitu znów je rozdziela.
- Swipe w dół po klawiszach chowa klawiaturę; pływający przycisk ⌨ ją przywraca. Klawisz ⌨ przełącza na klawiaturę systemową, gdy potrzebujesz diakrytyków lub emoji.
Ustawienia → Klawiatura (mobile): Domyślna klawiatura — Auto wybiera klawiaturę DevOps, gdy systemowy język jest niełaciński (arabski, hebrajski, CJK…), w przeciwnym razie systemowe IME; Układ — Auto/QWERTY/QWERTZ/AZERTY; suwaki Nieprzezroczystość i Rozmiar klawiszy; Pokaż klawisze F — stale widoczny wiersz F1–F10 nad klawiaturą, przydatny przy pracy z mc/htop. Wszystkie preferencje klawiatury jadą w szyfrowanej kopii zapasowej konfiguracji eksportowanej z telefonu lub tabletu.
Zaznaczanie, kopiowanie, wklejanie
Komputer: zaznaczaj, przeciągając myszą. Podwójne kliknięcie zaznacza słowo, potrójne — linię. Zwolnienie przycisku kopiuje zgodnie ze skrótami powyżej; prawy przycisk otwiera menu.
Android i iOS: przytrzymaj dowolne miejsce w terminalu, aby rozpocząć zaznaczanie, następnie przeciągnij, aby je rozszerzyć, i zwolnij, aby skopiować — tekst trafia do systemowego schowka. Krótkie dotknięcie nadal przechodzi do powłoki; przesunięcie nadal przewija historię, więc zwykłe gesty wciąż działają.
- Ikona wklejania na górnym pasku terminala — jedno dotknięcie wkleja zawartość schowka w miejscu kursora. Pusty schowek wyświetla neutralny komunikat Nie ma czego wkleić.
- Zaznacz tekst w menu terminala — pole wyboru, które utrzymuje tryb zaznaczania, dopóki go nie wyłączysz, więc każde przeciągnięcie zaznacza zamiast przewijać lub przechodzić do powłoki.
- Przytrzymanie wiersza z promptem (wiersza, w którym znajduje się kursor, i tylko gdy nie jesteś przewinięty w historię) wkleja zamiast rozpoczynać zaznaczanie — naturalne, gdy chcesz po prostu wstawić zawartość schowka tam, gdzie piszesz.
OSC 52 pozwala zdalnym programom (tmux, vim, fzf) kopiować do systemowego schowka przez sekwencję sterującą — dwukierunkowo.
Wklejanie wieloliniowe: gdy schowek zawiera znaki nowej linii, zobaczysz okno podglądu wklejania wielu linii — chroni przed wklejeniem poleceń, których nie sprawdziłeś.
Historia przewijania (scrollback)
Bufor przewijania mieści do 1000 linii. Kółko lub przeciągnięcie palcem przewija; kursor poprawnie opuszcza widoczny obszar (zachowanie xterm), a zaznaczenie przewija się razem z tekstem.
Wyczyść historię znajduje się na karcie Historia paska bocznego i usuwa zapisaną historię poleceń danego połączenia — nie rusza historii przewijania na ekranie.
Przy prawej krawędzi terminala pojawia się pasek przewijania (komputer) — chwyć go myszą, aby przewijać historię; Android i iOS przewijają dotykiem. Szybkość przewijania kółkiem można skonfigurować w Ustawienia → Terminal (liczba linii na jeden ruch kółka).
Bufor alternatywny (aplikacje pełnoekranowe)
Programy takie jak vim, less, nano, htop, mc przełączają się do bufora alternatywnego — osobnego ekranu, który po wyjściu znika, nie zaśmiecając głównej historii przewijania.
Szukaj w wyniku
Naciśnij Ctrl+F (Cmd+F na macOS), aby otworzyć pasek wyszukiwania. Przeszukuje on historię przewijania na żywo, podświetlając każde dopasowanie i przechodząc między nimi. Podświetlanie to nakładka renderowana w czasie wyświetlania — nigdy nie wstrzykuje niczego do strumienia SSH.
Czcionka, motyw, podświetlanie
- Rozmiar czcionki — przyciski A-/A+ w menu terminala lub suwak w Ustawienia → Wygląd; zakres 8–32 pt. Niestandardowa czcionka na karcie Motyw paska bocznego dopuszcza dodatkowo 6–72 pt dla każdego aliasu.
- Motyw interfejsu — jasny / ciemny / systemowy (cała aplikacja, nie terminal).
- Motyw terminala — zobacz sekcję Motyw poniżej; motyw jest przypisany do aliasu.
- Reguły podświetlania — Ustawienia → Terminal → Podświetlanie wyjścia. Dodaj wyrażenie regularne + kolor, np. pomaluj
ERRORna czerwono.
Snippety
Snippety to szablony poleceń wielokrotnego użytku, które możesz wysłać do dowolnej sesji. Szablon może zawierać typowane placeholdery — ping -c {count:int=4} {host:ip} — a uruchomienie takiego snippetu otwiera małe okno z pytaniem o wartości (placeholdery int, ip, bool i enum dostają dopasowane pola i walidację). Snippet bez placeholderów uruchamia się od razu. Uruchom od razu decyduje, czy Enter zostanie wysłany za Ciebie, czy polecenie tylko wyląduje przy prompcie do edycji.
Sposoby uruchomienia:
- Ctrl+Shift+S (Cmd+Shift+S na macOS) — okno wyboru z wyszukiwaniem w trakcie pisania; Enter uruchamia pierwsze dopasowanie.
- Snippety w menu terminala — to samo okno wyboru, bez klawiatury.
- Karta Snippety w pasku bocznym terminala — ostatnio używane na górze, jedno kliknięcie uruchamia, plus skrót do edytora.
- Przypięty klawisz snip na mobilnym pasku skrótów i na klawiaturze DevOps, której tryb zadokowany oferuje też warstwę kafelków snippetów — przyjazną dla dotyku siatkę z ostatnio używanymi snippetami na wierzchu.
Każdy snippet ma zakres: widoczny dla wszystkich hostów, jednej grupy albo pojedynczego hosta. Opcjonalny filtr Systemy (Debian, RHEL, Arch, macOS…) zawęża go dalej, więc snippety apt pokazują się tylko na hostach wykrytych jako rodzina Debiana — wykrywanie pochodzi z sondy logowania (zobacz Wgląd w hosta poniżej). Pokazuj tylko, gdy dostępny dodatkowo ukrywa snippet, gdy jego polecenie jest potwierdzone jako nieobecne na hoście. Sesje bez hosta SSH (lokalne, szeregowe, Telnet) widzą tylko snippety globalne.
Snippetami zarządzasz w Ustawienia → Terminal → Snippety: dodawanie, edycja, duplikowanie i usuwanie, ustawianie zakresu, systemów i flagi natychmiastowego uruchamiania. Dołączony katalog ponad stu gotowych snippetów — per system (Debian, RHEL, Arch, Alpine, SUSE, BSD, macOS) plus zestawy Docker, sieć, dyski i narzędzia — trafia na Twoją listę przy pierwszym uruchomieniu; edytuj je i usuwaj jak własne.
Historia poleceń i autouzupełnianie
Każde zapisane połączenie zapamiętuje swoją historię poleceń (jeśli włączona jest opcja Zapisuj historię). Strzałka w górę przywołuje wcześniejsze polecenia, a pole autouzupełniania podpowiada nazwy poleceń dostępnych na serwerze — uzupełnianie powłoki na żywo, niezależne od historii tego, co wpisałeś.
Wgląd w hosta (parametry na żywo)
Po zalogowaniu w sesji SSH aplikacja po cichu sonduje hosta — nazwa systemu, model CPU i liczba rdzeni — i zaczyna odpytywać parametry na żywo: load average, pamięć, swap oraz zajętość dysków per punkt montowania, każdy z paskiem użycia, który robi się bursztynowy powyżej 75% i czerwony powyżej 90%.
- Karta Host paska bocznego terminala (skrajnie lewa, domyślna dla sesji SSH) pokazuje wszystko w jednym miejscu.
- Te same wiersze pojawiają się w oknie Informacje o połączeniu.
- Ustawienia → Terminal → Monitorowanie zasobów (CPU/RAM/dysk) włącza lub wyłącza odpytywanie globalnie i ustawia odstęp odświeżania (5–300 s). Formularz połączenia może nadpisać odstęp per host, a jego lista rozwijana Sprawdzanie systemu przy logowaniu wybiera, jak często uruchamia się pełna sonda: każde połączenie, raz dziennie, raz w tygodniu lub wyłączone.
Karty sesji
Każda sesja — SSH, SFTP, lokalna, szeregowa, Telnet — żyje w karcie. Przytrzymaj (mobile) lub kliknij prawym przyciskiem (komputer) kartę albo kafelek na liście Aktywnych sesji, aby otworzyć jej menu: Zmień nazwę, Informacje o połączeniu, Restartuj sesję i Zamknij kartę. Restartuj sesję zrywa połączenie i łączy się od nowa, zachowując kartę — przydatne po restarcie serwera. Gdy zdalna sesja padnie, w menu terminala pojawia się też pozycja Połącz ponownie, która odtwarza połączenie w miejscu (terminale lokalne jej nie oferują — otwórz po prostu nowy).
Pasek boczny (panel po prawej) — Host / Historia / Podpowiedzi / Snippety / Motyw
Po prawej stronie terminala (komputer / tablet) znajduje się zwijany panel z pięcioma kartami. Otwórz go strzałką przy prawej krawędzi; rozmiar zmienisz, przeciągając lewą krawędź. Stan jest przypisany do aliasu — każde zapisane połączenie zapamiętuje swoją kartę i szerokość.
- Host — domyślna karta dla sesji SSH: wykryty system, CPU i parametry na żywo. Zobacz Wgląd w hosta powyżej.
- Historia — ostatnio wpisane polecenia. Kliknięcie wpisuje polecenie do terminala; przełącznik obok decyduje, czy automatycznie zatwierdzić je klawiszem Enter. Tutaj też znajduje się Wyczyść historię.
- Podpowiedzi — podpowiedzi nazw poleceń na żywo z uzupełniania powłoki serwera. Można je wyciszyć dla aliasu (ikona dzwonka).
- Snippety — Twoje snippety dla tego hosta, ostatnio używane na górze. Zobacz Snippety powyżej.
- Motyw — wygląd terminala. Zobacz sekcję poniżej.
Motyw — motywy terminala (435 schematów)
Motyw jest przypisany do aliasu — każde połączenie ma własne tło, kolor pierwszego planu i 16-kolorową paletę ANSI (te same indeksy, których używa ls --color: standardowe 0–7 + jasne 8–15).
- Wbudowany katalog 435 motywów — pole Szukaj… filtruje po nazwie. Każdy wiersz pokazuje tło, pierwszy plan oraz pasek z 16 próbkami. Kliknięcie natychmiast zastosuje motyw.
- Niestandardowy (ten alias) — na komputerze pasek boczny udostępnia też ręczną edycję czcionki, tła, pierwszego planu i 16 slotów ANSI. Każdy slot ma własny reset (⟲); cała paleta ma osobny reset.
- Niebieskie katalogi w
ls --colorto ANSI 4 (BLUE) lub 12 (BRIGHT_BLUE) — aby je zmienić, wybierz inny motyw lub edytuj te dwie próbki.
Android i iOS: cały komputerowy pasek boczny zastępuje pojedyncza ikona palety na górnym pasku terminala. Dotknij jej, aby otworzyć dolny arkusz z tym samym katalogiem 435 motywów, z wyszukiwaniem i podglądem próbek na żywo. Dotknięcie wiersza zastosuje motyw i zamknie arkusz, byś od razu zobaczył efekt; przycisk Reset na górze usuwa wszelkie nadpisania, więc alias wraca do swoich ustawień domyślnych.
435 wbudowanych motywów pochodzi z otwartoźródłowej kolekcji edcet/terminal-themes (MIT).