Termite - ArchWiki

Jump to content
Toggle the table of contents

# Termite

3 languages

- 日本語
- Polski
- Português

From ArchWiki
Note: Termite is no longer actively developed/maintained and the developers recommend using Alacritty as a replacement. Alacritty has a keyboard text selection mode inspired by Termite and the upcoming 0.8 version has a similar hints mode. Alacritty is dramatically faster than VTE, more robust, more secure and more modern overall.

Termite is a minimal VTE-based terminal emulator. It is a modal application, similar to Vim, with an insert mode and selection mode where keybindings have different functions.

The configuration file allows changing colors and setting options. Termite supports transparency along with both the 256 color and true color (16 million colors) palettes. It has a similar look and feel to urxvt.

## Installation

Install the termiteAUR package.

## Usage

Termite starts in insert mode by default. Text may be selected using the mouse, or by using selection-mode keys. In insert mode, `Ctrl+Shift+c` is used to copy selected text to the X clipboard, `Ctrl+Shift+v` to paste. `Ctrl+Tab` starts scrollback completion, and `Ctrl+Shift+Up` / `Ctrl+Shift+Down` scroll the screen up or down.

`Ctrl+Shift+Space` enters selection-mode, similar to vim's normal-mode. Many commands are borrowed from Vim, for example `v` for visual mode, `Shift+v` for visual line mode, `Ctrl+v` for visual block mode, `y` to copy ("yank") selected text, `/` and `?` for searching, `w`, `b`, `^`, `$` for movement, and `Escape` to go back to insert mode.

## Configuration

Termite looks for configuration files in `$XDG_CONFIG_HOME/termite/config`, `~/.config/termite/config`, `$XDG_CONFIG_DIRS/termite/config` and `/etc/xdg/termite.cfg`. The configuration file is used to change options such as font, colors, window hints, etc. The configuration file syntax is inspired by XDG Desktop Entry Specification .desktop files (inspired by Microsoft Windows .ini files), with three sections: options, colors, and hints.

To start customizing termite copy the base example file to your home dir first:

    $ cp /etc/xdg/termite/config ~/.config/termite/config

### Font

Fonts are specified in the format `font=<font_name> <font_size>` under the options section. `<font_name>` is specified according to fontconfig, not Xft. Use `fc-list` to see which fonts are available on the system (see also Font configuration#Font paths).

    ~/.config/termite/config

    [options]
    font = Monospace 9
    font = xos4 Terminus 12px
    font = Droid Sans Mono 8

Tip: You can also specify a `cell_height_scale=<scale>` property to scale the height of a line (this will not scale the font - it will just add padding above and below a line). According to [1], this property only works for scale values >= 1.

### Colors

Colors consist of either a 24-bit hex value (e.g. `#4a32b1`), or an rgba vector (e.g. `rgba(16, 32, 64, 0.5)`). Valid properties for colors are `foreground`, `foreground_bold`, `foreground_dim`, `background`, `cursor`, `cursor_foreground`, and `colorN` (where N is an integer from zero through 254; used to assign a 24-bit color value to terminal colorN).

An amazing collection of termite color schemes can be found here: https://github.com/khamer/base16-termite/tree/master/themes

    ~/.config/termite/config

    [colors]
    foreground = #dcdccc
    background  = #3f3f3f

### Reload configuration without exiting

You can reload Termite's configuration file without exiting by pressing `Ctrl+Shift+r` from within Termite.

Alternatively, you can send a `USR1` signal to all Termite instances:

    $ killall -USR1 termite

## Transparency

As of version 9, Termite supports true transparency via color definitions that specify an alpha channel value [2]. This requires a compositor to be running, such as picom or xcompmgr. Most compositors do not require special configuration for Termite to use transparency.

    ~/.config/termite/config

    [colors]
    background = rgba(63, 63, 63, 0.8)

Note: In i3, in stacked/tabbed layout, this shows all windows "stacked" on top of each other, in the order they were most recently in the foreground, rather than showing the desktop (the root window) directly behind Termite. This is due to i3 reordering windows rather than hiding invisible windows in tiling mode. You can configure your compositor to make windows with `_NET_WM_STATE=_NET_WM_STATE_HIDDEN` fully transparent to solve this. For example, for picom use

    ~/.config/picom.conf

    opacity-rule = [
      "0:_NET_WM_STATE@:32a *= '_NET_WM_STATE_HIDDEN'"
    ];

## Troubleshooting

### Ctrl+Shift+t

If opening a new tab through `Ctrl+Shift+t` fails with `no directory uri set`, source `/etc/profile.d/vte.sh`. See GNOME/Tips and tricks#New terminals adopt current directory.

If it continues to fail, ensure your hostname is valid. See hostname(7).

### Remote SSH error

When Termite is using remote SSH connection sometimes the error occurs: Error opening terminal: xterm-termite. or Open terminal failed: missing or unsuitable terminal: xterm-termite.

This error can occur when trying to edit file with vim or nano. To fix this issue you should execute this command on the remote system:

    $ export TERM=xterm-color

Alternatively, follow the instructions on Termite's GitHub. This will allow you to use all of Termite's features when using SSH, whereas the above may not. [3]

### Terminal issues with SSH

When Termite is used for SSH connections to a remote system which does not have its Terminfo, various issues (such as non-working backspace and weird cursor behaviour) could happen. The solution is to send your Terminfo to the remote host.

On the local host, using Termite:

    $ infocmp > termite.terminfo  # export Termite's Terminfo
    $ scp termite.terminfo user@remote-host:~/  # or any other method to copy to the remote host

On the remote host, in the directory where you copied `termite.terminfo`:

    $ tic -x termite.terminfo  # import Terminfo for current user
    $ rm termite.terminfo  # optional: remove Terminfo file

Note: After this, you will need to start a new SSH session to have the remote shell load the new Terminfo.

## See also

- Termite readme

Category:

- Terminal emulators