Termite

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
termite
AUR
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