st (Čeština)

From ArchWiki

Stav překladu: Tento článek je přeložená obdoba "St". Naposledy přeloženo: 2022-10-13. Můžete pomoci sladit překlad, byl-li původní článek upraven.

st je nenáročný terminál pro Xorg vytvořen suckless. Byl stvořený jako nenáročná náhrada pro xterm a urxvt. Podporuje 256 barev, "true colors", většinu VT10X escape znaků, UTF-8, X11 schránku, antialiasované fonty, fallback fonty, měnění velikosti, zkratky a vykreslování řádek.

Instalace

Nainstalujte balíček stAUR nebo vývojou verzi st-gitAUR.

  • Na Waylandu st používá Xwayland; pokud chcete podobný terminál a vyvarovat se Xwaylandu (jelikož zabírá paměť), zvažte terminál wterm-gitAUR.

Nastavení

st se nastavuje přes svůj config.h soubor, jenž se překopíruje při kompilování. Výchozí nastavení je uloženo v souboru config.def.h, jenž se poskytuje se zdrojovým kódem. Zvažte údržbu vlastního config.h a PKGBUILD.

Shell

Pokud chcete změnit výchozí shell pro st, upravte řádku:

static char *shell = "/bin/sh";

Nebo zapněte st s daným shellem jako poslední argument:

$ st options fish

Term

Ke změně terminálového druhu upravte tuto řádku:

static char *termname = "st-256color";

st nastaví TERM proměnnou s hodnotou termname.

Font

Upravte následující řádku podle potřeby:

static char *font = "Liberation Mono:pixelsize=12:antialias=false:autohint=false";

Můžete také dosadit proměnnou fontu přes příkazovou řádku:

$ st -f "Liberation Mono:size=12"
$ st -f 'Liberation Mono-12'

Názvy fontů mohou být nalezeny pomocí fc-list.

Kurzor

Ve výchozím stavu ukazatel myši je XC_xterm;, jejž může být těžké vidět. Ke změně vzhledu kurzoru upravte následující:

static unsigned int mouseshape = XC_left_ptr;

Barvy

Upravte následující řádky k nastavení barev popředí, pozadí a kurzoru:

unsigned int defaultfg = 7;
unsigned int defaultbg = 0;
static unsigned int defaultcs = 256;

Hodnoty odkazují na *colorname[] pole v konfiguračním souboru. Můžete použít výchozí barvy nebo si přidat vlastní v #rrggbb:

static const char *colorname[] = {
   	/* 8 normálních barev */
       "black",
       "red3",
       "green3",
       "yellow3",
       "blue2",
       "magenta3",
       "cyan3",
       "gray90",
 
       /* 8 světlých barev */
       "gray50",
       "red",
       "green",
       "yellow",
       "#5c5cff",
       "magenta",
       "cyan",
       "white",
 
       [255] = 0,
 
       /* více barev může být přidáno po 255 pro DefaultXX */
       "#cccccc",
       "#eeeeee",
       "#111111",
 };
 
/*
 * Výchozí barvy (colorname index)
 * popředí, pozadí a kurzor
 */
unsigned int defaultfg = 257;
unsigned int defaultbg = 258;
static unsigned int defaultcs = 256;

Lze použít nástroje pro tvorbu barevných palet. Například terminal.sexy poskytuje sadu přednastavení a exportuje volby přímo do st formátu (vizte komentář ohledně potíži 22).

Je k mání dodatek pro Solarized paletu barev. Vizte https://st.suckless.org/patches/solarized/, chcete-li si jej nainstalovat.

Patche

Je dostupných mnoho patchů na stránkách suckless. Pokud chcete uplatnit patch, stáhněte diff a uplatněte jej pomocí patch -i patch.diff. To upraví výchozí konfigurační soubor config.def.h; pokud spravujete svůj vlastní config.h, zkopírujte své konfigy z config.h do kopie config.def.h a pozměňte jeho název confi.h, potom make clean install.

Plochové záznamy

K zjednodušení spouštění st s vhodným fontem (e.g. adobe-source-code-pro-fonts) v plochovém prostředí můžete též vytvořit plochové záznamy:

~/.local/share/applications/st.desktop
[Desktop Entry]
Name=Simple Terminal
GenericName=Terminal
Comment=Suckless terminal emulator for X
Exec=st -t "Simple Terminal" -f "Source Code Pro:style=Semibold:size=12"
Terminal=false
Type=Application
Encoding=UTF-8
Icon=utilities-terminal
Categories=System;TerminalEmulator;
Keywords=shell;prompt;command;commandline;cmd;

Položka v menu se zobrazí jako Simple Terminal v System Tools aplikační liště.

Řešení potíží

Klávesnice

Doplňte následující text k ~/.inputrc nebo /etc/inputrc, pokud Delete se chová podivně v některých aplikacích:

set enable-keypad on

Pokud to v některých aplikacích nepomohlo (jako IPython s bash), místo toho vypněte enable-keypad a přidejte následující text do ~/.bashrc, jak je zmíněno v st FAQ:

printf '\033[?1h\033=' >/dev/tty

Vim

Barva pozadí textu ve vimu nevyplní nic, co není znak

Zkuste nastavit hodnotu termname ve Vašem config.h na st-256color a následně rekompilujte. Nenastavujte TERM proměnnou ve Vašem shellu, alespoň ne na hodnotu st-256color, neboť právě toto nejspíš způsobuje potíže.

Jiné řešení, možná lepší, je doplnit následující řádky do Vašeho .vimrc souboru:

if &term =~ '256color'
    " vypni Background Color Erase (BCE) aby se palety barev
    " renderovaly správně v 256barevném tmuxu a GNU screenu.
    " Vizte také https://sunaku.github.io/vim-256color-bce.html
    set t_ut=
endif

Chybějící podpora pro 256color a truecolor v tmuxu nebo jinde

Prvně se ujistěte, že jste si nenastavili a neoxportovali hodnotu TERM ve Vašem ~/.bashrc, jak je zmíněno v této diskuzi

Poznámka: Nenastavujte explicitně TERM. Místo toho nastavte default-terminal ve svém tmux.conf

Dále se ujistěte, že verze vimu je >7.4.1799; verze, kdy byly přidány termguicolors.

A pak přidejte následující řádky do ~/.vimrc:

set t_8f=^[[38;2;%lu;%lu;%lum        " nastaví barvu popředí
set t_8b=^[[48;2;%lu;%lu;%lum        " nastaví barvu pozadí
colorscheme Tomorrow-Night-Eighties
set t_Co=256                         " Povol 256 barev
set termguicolors                    " Povol GUI barvy
Poznámka: ^[ je escape Esc symbol který prefixuje každou hodnotu pro t_8f a t_8b. Je to jeden symbol, jejž můžete reprodukovat ve vimu. V INSERT režimu, zmáčkněte Ctrl+v a pak Esc. Stále budete v INSERT režimu; zmáčkněte Esc znovu k navrácení do NORMAL režimu.
Tip: Je doporučeno si nastavit hodnoty t_8f a t_8b ještě před nastavením colorscheme, t_Co a termguicolors.

Pro více podrobností vizte :help ve vimu pro: xterm-true-color, t_8f, t_8b

Vizte též