Jump to content

# st (Português)

4 languages

- Čeština
- English
- 日本語
- 中文（简体）

From ArchWiki

Status de tradução: Esse artigo é uma tradução de st. Data da última tradução: 2020-06-17. Você pode ajudar a sincronizar a tradução, se houver alterações na versão em inglês.

O st é uma implementação simples de terminal para Xorg do suckless. Destina-se a servir como um substituto leve para O xterm ou urxvt. Atualmente, ele suporta 256 cores, cores verdadeiras, a maioria das seqüências de escape do VT10X, copiar/colar UTF-8, X11, fontes sem serrilhado (usando fontconfig), fontes de fallback, redimensionamento, atalhos via config.h e desenho de linha.

## Instalação

Instale o pacote stAUR ou st-gitAUR para a versão de desenvolvimento.

- No Wayland o st usa Xwayland, se você quiser um terminal semelhante, evitando a verificação da pegada de memória Xwayland wterm-gitAUR

## Configuração

O st é configurado através do arquivo `config.h` que é copiado no momento da compilação. Os padrões são armazenados em `config.def.h` que está incluído na fonte. Considere manter seu próprio `config.h` e PKGBUILD.

### Shell

Para alterar o shell padrão para o st, edite esta linha:

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

Ou iniciar o st com o shell desejado como último argumento:

    $ st options fish

### Terminal

Para alterar o tipo de terminal, edite esta linha:

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

O st irá definir a variável `TERM` com o valor de `termname`.

### Fonte

Edite a seguinte linha como preferir:

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

Você também pode passar o valor da fonte na linha de comando:

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

Os nomes das fontes podem ser encontrados com `fc-list`.

### Cursor

Por padrão, o ponteiro do mouse é `XC_xterm;` o que geralmente pode ser difícil de encontrar. Para alterá-lo para o tema normal do seu cursor, edite o seguinte:

    static unsigned int mouseshape = XC_left_ptr;

### Cores

Edite as seguintes linhas para definir as cores de primeiro plano, plano de fundo e cursor:

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

Os valores referem-se ao `*colorname[]` no arquivo de configuração. Você pode usar as cores padrão ou adicionar as suas `#rrggbb`:

    static const char *colorname[] = {
       	/* 8 normal colors */
           "black",
           "red3",
           "green3",
           "yellow3",
           "blue2",
           "magenta3",
           "cyan3",
           "gray90",

           /* 8 bright colors */
           "gray50",
           "red",
           "green",
           "yellow",
           "#5c5cff",
           "magenta",
           "cyan",
           "white",

           [255] = 0,

           /* more colors can be added after 255 to use with DefaultXX */
           "#cccccc",
           "#eeeeee",
           "#111111",
     };

    /*
     * Default colors (colorname index)
     * foreground, background, cursor
     */
    unsigned int defaultfg = 257;
    unsigned int defaultbg = 258;
    static unsigned int defaultcs = 256;

Existem ferramentas para facilitar a criação de paletas de cores. Por exemplo terminal sexy possui um conjunto de cores pré-fabricadas e exporta diretamente para o formato do st (veja [1]).

Existe um patch para o esquema de cores Solarized. Veja https://st.suckless.org/patches/solarized/ para instalá-lo.

### Modificações

Existem muitos patches disponíveis no site da suckless (EN). Para aplicar um patch, faça o download do diff e aplique-o com `patch -i patch.diff`. Isso altera o arquivo de configuração padrão `config.def.h`; se você estiver mantendo seu próprio `config.h`, copie suas configurações da `config.h` em uma cópia da `config.def.h` e renomeie `config.h`, e então `make clean install`.

### Entrada na área de trabalho

Para simplificar o lançamento st with a decent font (por exemplo o pacote adobe-source-code-pro-fonts) em um desktop environment, você também pode criar um desktop entries:

    ~/.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;

A entrada do menu aparecerá como um Terminal Simples na lista de aplicativos e na Ferramentas do sistema.

## Solução de problemas

### Teclado

Adicione o seguinte ao `~/.inputrc` ou `/etc/inputrc` e se o `Delete` não estiver funcionando corretamente em alguns aplicativos:

    set enable-keypad on

Se o acima não funcionar com algumas aplicações, como IPython usando bash, em vez disso, desligue `enable-keypad` e adicione o seguinte ao seu `~/.bashrc`, como mencionado no st FAQ:

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

### Vim

#### A cor de fundo do texto em vim não preencherá nada que não seja um caracter

Tente definir o valor de `termname` no seu `config.h` para `st-256color` e recompile. E não defina a variável `TERM` no seu shell, pelo menos para não `st-256color` pois isso parece causar um problema.

Outra solução, talvez a melhor, é ter as seguintes linhas no seu arquivo `.vimrc`:

    if &term =~ '256color'
        " disable Background Color Erase (BCE) so that color schemes
        " render properly when inside 256-color tmux and GNU screen.
        " see also https://sunaku.github.io/vim-256color-bce.html
        set t_ut=
    endif

#### O suporte 256color e truecolor não funciona no tmux

Primeiro, verifique se você não está definindo e exportando o valor da variável `TERM` no seu `~/.bashrc` como mencionado neste tópico (EN)

Nota: Por favor, não defina explicitamente a variável `TERM`. Faça o certo, definindo a configurado `default-terminal` no seu `tmux.conf`

Segundo, verifique se a versão do `vim` você tem que está usando a versão `>=7.4.1799`, que é quando o `termguicolors` foi adicionado.

Por fim, adicione o seguinte ao `~/.vimrc`:

    set t_8f=^[[38;2;%lu;%lu;%lum        " set foreground color
    set t_8b=^[[48;2;%lu;%lu;%lum        " set background color
    colorscheme Tomorrow-Night-Eighties
    set t_Co=256                         " Enable 256 colors
    set termguicolors                    " Enable GUI colors for the terminal to get truecolor

Nota: `^[` é um escape literale (`Esc`) caractere que prefixa cada um dos valores para `t_8f` e `t_8b`. É um caractere único, que pode ser reproduzido em `vim`. O modo INSERT, pressiona `Ctrl+v` e então aperte `Esc`. Você ainda estará no modo INSERT; pressione `Esc` novamente para retornar ao modo NORMAL.
Dica: Recomenda-se definir os valores para `t_8f` e `t_8b` antes da configuração `colorscheme`, `t_Co` e `termguicolors`.

Para mais informações, consulte o `:help` no `vim` para: `xterm-true-color`, `t_8f`, `t_8b`

## Veja também

- Página inicial (EN)
- Perguntas frequentes (EN)
- Repositório oficial do GitHub

Categories:

- Terminal emulators (Português)
- Suckless (Português)