From ArchWiki
Revision as of 17:59, 18 November 2015 by Airblader (talk | contribs) (Fix i3 remark and provide solution)
Jump to navigation Jump to search

Termite is a minimal terminal emulator designed for use with tiling window managers. It is a modal application, similar to Vim, with an insert mode and command mode where keybindings have different functions. Termite is based on the VTE library.

The configuration file allows to change colors and set some 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.


Install the termite package, or termite-gitAUR for the development version.


Termite starts in insert mode by default. Text may be selected using the mouse, or by using command-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 command-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.


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 is in ini format, with three sections: options, colors, and hints.


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).

font = Monospace 9
font = Terminus (TTF) 8
font = Droid Sans Mono 8


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, and colorN (where N is an integer from zero through 254; used to assign a 24-bit color value to terminal colorN).

foreground = #dcdccc
background  = #3f3f3f


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

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 compton use
opacity-rule = [


Colored ls output

Tango-edit-cut.pngThis section is being considered for removal.Tango-edit-cut.png

Reason: This bug should have been fixed on 2015-10-02, and be available with the next coreutils release. (Discuss in Talk:Termite#Colored ls output)

For colored ls output it is necessary to use a custom LS_COLORS environment variable, which can be set with a dircolors file. Generate one with:

$ dircolors -p > ~/.dircolors

Then edit ~/.dircolors file, and append

TERM xterm-termite

to the end of the list of terminals, and save the file.

For Bash in ~/.bashrc and Zsh in ~/.zshrc, add:

eval $(dircolors ~/.dircolors)

and restart the terminal. For fish, add

eval (dircolors -c ~/.dircolors | sed 's/>&\/dev\/null$//')

to ~/.config/fish/config.fish and relogin or reload the config via:

. ~/.config/fish/config.fish

Ctrl-T not working

Ctrl-T should open a new tab, but it sometimes fails with certain shells. If the termite window outputs no directory uri set when this happens, the solution is to add

 . /etc/profile.d/vte.sh

to your ~/.zshrc.

See this stackexchange question for more details.

See also