Dnešný článok sa bude venovať alternatívnemu terminálu, ktorý sa orientuje na prácu s klávesnicou pomocou klávesových skratiek. Je postavený na VTE a má podporu pre prácu s dlaždicovými správcami okien (tilling a tabbing). Veľmi vhodný na používanie práve s dlaždicovými správcami okien ako je i3. Volá sa termite. Ide o OpenSource projekt, ktorý má svoju základňu na GitHub. Čo-to sa o ňom dá dozvedieť aj na Arch Wiki.
Inštalácia programu
Program sa nachádza v oficiálnych repozitároch:
sudo pacman -S termite yay -S termite-git yay -S termite-bepo yay -S termite-nocsd yay -S termite-ranger-fix-git
termite je základný balíček
termite-git je git verzia
termite-bepo je verzia optimalizovaná pre BÉPO (francúzske rozloženie klávesnice)
termite-nocsd je verzia bez GTK+ dekorácií okien vhodná pre užívateľov wayland+sway
termite-ranger-fix-git je verzia, ktorá by mala opravovať “vymazávanie” vyobrazeného obrázku v terminálovom správcovi súborov ranger za použitia w3m (w3mimgdisplay), avšak neopravuje nič
Pomoc a manuálová stránka:
man termite termite -h termite --help
Tento krok nie je povinný, no vysoko odporúčaný. Termite síce podporuje 256 farebnú schému, ale vďaka tomuto exportu sa exportujú aj iné možnosti (napríklad postranný panel v neomutt vysvetlený nižšie). Pomocou nejakého textového editoru si otvoríme konfiguračný súbor pre shell (napríklad bashrc pre bash, zshrc pre zsh):
gedit ~/.zshrc gedit ~/.bashrc
A pridáme doň tento riadok (slúži na export 256 farebnej schémy):
export TERM=xterm-256color
Konfigurácia programu
Najskôr si skopírujeme konfiguračný súbor. Môžeme to urobiť klikaním alebo cez terminál:
cp /etc/xdg/termite/config ~/.config/termite/config
Pomocou nejakého textového editoru si ho otvoríme na úpravu:
gedit ~/.config/termite/config
Možnosti nastavení a ich význam:
[options] allow_bold = true audible_bell = false clickable_url = true dynamic_title = true font = Source Code Pro for Powerline Regular 10 fullscreen = true geometry = 640x480 icon_name = terminal mouse_autohide = false scroll_on_output = false scroll_on_keystroke = true scrollback_lines = 10000 search_wrap = true urgent_on_bell = true hyperlinks = false browser = xdg-open cursor_blink = off cursor_shape = block filter_unmatched_urls = true modify_other_keys = false size_hints = false scrollbar = off
allow_bold povolí (true) alebo zakáže (false) tučné písmo. Predvolená hodnota je true.
audible_bell povolí (true) alebo zakáže (false) pípanie. Predvolená hodnota je false.
clickable_url povolí (true) alebo zakáže (false) klikacie url odkazy. Predvolená hodnota je true.
dynamic_title povolí (true) alebo zakáže (false) dynamický názov titulku. Predvolená hodnota je true.
font určí písmo a jeho veľkosť
fullscreen povolí (true) alebo zakáže (false) celo-obrazové zobrazenie. Predvolená hodnota je true.
geometry určí veľkosť okna terminálu
icon_name určí ikonu terminálu
mouse_autohide povolí (true) alebo zakáže (false) skrývanie kurzoru myši. Predvolená hodnota je false.
scroll_on_output povolí (true) alebo zakáže (false) skrolovanie pri zadávaní príkazu. Predvolená hodnota je false.
scroll_on_keystroke povolí (true) alebo zakáže (false) automatické posunutie na spodok terminálu pri zadávaní príkazu. Predvolená hodnota je true.
scrollback_lines určí, koľko riadkov sa má zoskrolovať. Predvolená hodnota je 10000. Pre zakázanie sa zvolí hodnota 0. Pre nekonečné skrolovanie sa zvolí negatívna hodnota ako je napríklad -1.
search_wrap povolí (true) alebo zakáže (false) zalomenie vyhľdávania. Predvolená hodnota je true.
urgent_on_bell povolí (true) alebo zakáže (false) urgentné pípanie. Predvolená hodnota je true.
hyperlinks povolí (true) alebo zakáže (false) prepojenia. Predvolená hodnota je false.
browser určí, akým prehliadačom sa otvorí url odkaz. Rozoznávanie xdg-open a konkrétny prehliadač. Predvolená hodnota (a zároveň záloha pri neurčení) je xdg-open.
cursor_blink určí, či má kurzor blikať. Rozoznávame on (povolenie), off (zakázanie) a system (berú sa systémové nastavenia). Predvolená hodnota je system.
cursor_shape určí vzhľad kurzoru. Rozoznávame block (kurzov v podobe bloku), underline (kurzor v podobe podčiarknutia) a ibeam (kurzor v podobe zvislej čiary známej aj ako pipe či rúra). Predvolená hodnota je block.
filter_unmatched_urls povolí (true) alebo zakáže (false) skrytie neplatných url odkazov. Predvolená hodnota je true.
modify_other_keys povolí (true) alebo zakáže (false) únikové sekvencie pre extra klávesové skratky. Predvolená hodnota je false.
size_hints povolí (true) alebo zakáže (false) nastavenie veľkosti okna pre hints. Predvolená hodnota je false.
scrollbar určí, či a kde sa má zobraziť posuvník. Rozoznávame off (zakázanie), left (naľavo) a right (napravo). Predvolená hodnota je off.
[hints] font = Monospace 12 foreground = #dcdccc background = #3f3f3f active_foreground = #e68080 active_background = #3f3f3f padding = 2 border = #3f3f3f border_width = 0.5 roundness = 2.0
font určí písmo
foreground určí farbu písma (popredia)
background určí farbu pozadia
active_foreground určí farbu písma (popredia) aktívneho okna
active_background určí farbu pozadia aktívneho okna
padding určí rozostup
border určí farbu obrysu
border_width určí šírku obrysu
roundness určí veľkosť zaoblenia hrán
Voľba písma:
Písmo sa definuje v tejto podobe:
font = <názov_písma> <veľkosť písma> font = <font_name> <font_size>
font = Source Code Pro for Powerline Regular 10
Zistenie, aké druhy písma sú v systéme dostupné pomocou terminálu:
fc-list
Voľba farieb:
[colors] background = #303D44 foreground = #ffffff foreground_bold = #ffffff cursor = #ffffff cursor_foreground = #ffffff highlight = #263036
background určí farbu pozadia
foreground určí farbu písma (popredia)
foreground_bold určí farbu tučného písma
cursor určí farbu kurzoru. Ak nie je definovaná, berie sa farba písma.
cursor_foreground urči farbu pri prekrytí textu. Ak nie je určená, berie sa farba pozadia.
highlight určí farbu zvýraznenia. Ak nie je určená, prevráti sa farba pozadia a písma.
Priehľadnosť:
Priehľadnosť sa určuje v RGBA podobe:
background = rgba(červená, zelená, modrá, priehľadnosť)
background = rgba(red, green, blue, alpha)
background = rgba(63, 63, 63, 0.8)
Definovanie farieb od 0 po 254:
color0 = #3f3f3f color1 = #705050 color2 = #60b48a color3 = #dfaf8f color4 = #506070 color5 = #dc8cc3 color6 = #8cd0d3 color7 = #dcdccc color8 = #709080 color9 = #dca3a3 color10 = #c3bf9f color11 = #f0dfaf color12 = #94bff3 color13 = #ec93d3 color14 = #93e0e3 color15 = #ffffff
Nastavenie adresára pre bežiace procesy v termináli:
Chybová hláška, ktorá sa pri absencii objavuje:
No directory URI set directly after opening termite
Úprava pre zsh:
Pomocou nejakého textového editoru si otvoríme .zshrc:
gedit ~/.zshrc
A pridáme túto sekvenciu:
if [[ $TERM == xterm-termite ]]; then . /etc/profile.d/vte.sh __vte_osc7 fi
Úprava pre bash:
Pomocou nejakého textového editoru si otvoríme .zshrc:
gedit ~/.zshrc
A pridáme túto sekvenciu:
if [[ $TERM == xterm-termite ]]; then . /etc/profile.d/vte.sh __vte_prompt_command fi
Chyba v načítaní dodatočného parametra v témach
V mojom prípade som zaznamenala iba chybné načítanie parametra dim, ktorý text stmavuje. Chyba sa vyskytuje pri spustení programu pomocou klávesových skratiek. Máme dve možnosti. Priamu zmenu (napríklad v konfiguračnom či .desktop súbore) alebo pomocou skriptu.
Parameter, ktorý túto chybu opravuje:
env TERM=xterm-256color
Pridáva sa pred príkaz na spustenie programu do exec (spustenia príkazu). Ten má dve formy:
--exec="env TERM=xterm-256color PROGRAM" -e "env TERM=xterm-256color PROGRAM"
--exec="env TERM=xterm-256color mocp" -e "env TERM=xterm-256color mocp"
Výsledný príkaz aj s príkladom:
termite --exec="env TERM=xterm-256color mocp" termite -e "env TERM=xterm-256color mocp"
Výsledný príkaz v podobe skriptu:
#!/usr/bin/bash termite --exec="env TERM=xterm-256color mocp"
#!/usr/bin/bash termite -e "env TERM=xterm-256color mocp"
Chyba pri prechádzaní v postrannom paneli v neomutt
Táto chyba sa zaznamenáva pri spustení programu priamo v termináli alebo pomocou klávesovej skratky. Na vytvorenie skratky či spúšťača máme dve možnosti. Priamu zmenu alebo pomocou skriptu.
Jedná sa chybovú hlášku, ktorá sa zobrazuje pri stlačení Ctrl+šípka:
Klávesa nie je viazaná. Stlačte '?' pre nápovedu.
Klávesové skratky v neomutt, ktoré slúžia na prechod medzi položkami v postrannom paneli:
bind index,pager <C-up> sidebar-prev bind index,pager <C-down> sidebar-next bind index,pager <C-left> sidebar-open bind index,pager <C-right> sidebar-open
Parameter, ktorý túto chybu opravuje:
env TERM=xterm-256color
Pridáva sa pred príkaz na spustenie programu do exec (spustenia príkazu). Ten má dve formy:
--exec="env TERM=xterm-256color PROGRAM" -e "env TERM=xterm-256color PROGRAM"
--exec="env TERM=xterm-256color neomutt" -e "env TERM=xterm-256color neomutt"
Výsledný príkaz aj s príkladom:
termite --exec="env TERM=xterm-256color neomutt" termite -e "env TERM=xterm-256color neomutt"
Výsledný príkaz v podobe skriptu:
#!/usr/bin/bash termite --exec="env TERM=xterm-256color mocp"
#!/usr/bin/bash termite -e "env TERM=xterm-256color mocp"
Klávesové skratky
Vkladanie (Insert mode):
ctrl-shift-x aktivuje url hints mód ctrl-shift-r znovunačíta konfiguračný súbor pri otvorenom okne terminálu ctrl-shift-c skopíruje do schránky ctrl-shift-v vypíše zo schránky ctrl-shift-u unicode vstup (štandardné GTK chovanie) ctrl-shift-e emoji (štandardné GTK chovanie) ctrl-tab start dokončenie posunu ctrl-shift-space spustenie režimu výberu ctrl-shift-t otvorí terminál v súčasnom umiestnení ctrl-shift-up skrolovanie hore ctrl-shift-down skrolovanie dole shift-pageup stránkovanie hore shift-pagedown stránkovanie dole ctrl-shift-l resetuje a vyčistí terminál ctrl-+ zväčšenie písma ctrl-- zmenšenie písma ctrl-= resetovanie veľkosti písma na predvolenú hodnotu
Vyberanie (Selection mode):
Spustenie vyberania (Selection mode):
ctrl-shift-space
Návrat do vkladania (Insert mode):
q escape ctrl-[
q alebo escape alebo ctrl-[ vstup do vkladacieho módu x aktivuje url hints mód v aktivuje vizuálny mód V aktivuje vizuálny riadkový mód e prejdenie na koniec riadku E prejdenie na koniec slova H prejdenie do hornej časti obrazovky M prejdenie do strednej časti obrazovky L prejdenie do spodnej časti obrazovky g skok na začiatok prvého riadku G skok na začiatok posledného riadku y skopírovanie do schránky / vyhľadávanie ? obrátené vyhľadávanie u url vyhľadávanie U obrátené url vyhľadávanie o otvorí vybraný url odkaz n ďalšia položka vo vyhľadávaní N predchádzajúca vo vyhľadávaní ^ začiatok riadku, čiže prvý neprázdny znak (beginning-of-line) $ alebo end koniec riadku (end-of-line) 0 alebo home presunie kurzor na prvý stĺpec v riadku w alebo shift-right predchádzajúci riadok b alebo shift-left nasledujúci riadok W alebo ctrl-right predchádzajúce slovo B alebo ctrl-left nasledujúce slovo Return otvorí aktuálny výber ako adresu URL a vstúpi do režimu vkladania ctrl-v aktivuje zvýraznenie podľa počiatočnej polohy kurzora ctrl-u presunie kurzor na hornú polovicu obrazovky ctrl-d presunie kurzor na dolnú polovicu obrazovky ctrl-b presuňte kurzor na hornú celú obrazovku ctrl-f presuňte kurzor na dolnú celú obrazovku hjkl alebo arrow keys posúva kurzor vľavo/dole/hore/vpravo
Poslední komentáře