termite/README.rst

216 lines
12 KiB
ReStructuredText
Raw Normal View History

2013-01-02 07:53:49 +01:00
A keyboard-centric VTE-based terminal, aimed at use within a window manager
with tiling and/or tabbing support.
2012-05-22 09:33:36 +02:00
2013-01-07 01:11:19 +01:00
Termite looks for the configuration file in the following order:
``$XDG_CONFIG_HOME/termite/config``, ``~/.config/termite/config``,
``$XDG_CONFIG_DIRS/termite/config``, ``/etc/xdg/termite/config``.
2012-05-23 11:34:02 +02:00
2012-12-13 05:16:09 +01:00
Termite's exit status is 1 on a failure, including a termination of the child
process from an uncaught signal. Otherwise the exit status is that of the child
process.
2012-05-23 10:31:25 +02:00
DEPENDENCIES
============
2015-06-21 16:57:42 +02:00
The `vte-ng <https://github.com/thestinger/vte-ng>`_ project is required until
VTE exposes the necessary functions for keyboard text selection and URL hints
(if ever). A simple patch `has been submitted upstream
<https://bugzilla.gnome.org/show_bug.cgi?id=679658#c10>`_ but they're unwilling
to expose functionality that's not required by GNOME Terminal even if there's
no extra maintenance (it already exists internally) and no additional backwards
compatibility hazards.
2012-05-23 10:31:25 +02:00
If no browser is configured and $BROWSER is unset, xdg-open from xdg-utils is
used as a fallback.
BUILDING
========
2013-06-02 18:20:26 +02:00
::
2013-06-02 18:20:26 +02:00
git clone --recursive https://github.com/thestinger/termite.git
cd termite && make
2012-05-22 10:59:57 +02:00
KEYBINDINGS
===========
2012-09-29 13:44:07 +02:00
INSERT MODE
-----------
2012-11-16 20:55:56 +01:00
+----------------------+---------------------------------------------+
| ``ctrl-shift-x`` | activate url hints mode |
2012-11-16 20:31:31 +01:00
+----------------------+---------------------------------------------+
| ``ctrl-shift-r`` | reload configuration file |
+----------------------+---------------------------------------------+
| ``ctrl-shift-c`` | copy to CLIPBOARD |
+----------------------+---------------------------------------------+
| ``ctrl-shift-v`` | paste from CLIPBOARD |
+----------------------+---------------------------------------------+
| ``ctrl-shift-u`` | unicode input (standard GTK binding) |
+----------------------+---------------------------------------------+
| ``ctrl-shift-e`` | emoji (standard GTK binding) |
+----------------------+---------------------------------------------+
2012-11-16 20:31:31 +01:00
| ``ctrl-tab`` | start scrollback completion |
+----------------------+---------------------------------------------+
2014-07-09 17:53:21 +02:00
| ``ctrl-shift-space`` | start selection mode |
2012-11-16 20:31:31 +01:00
+----------------------+---------------------------------------------+
| ``ctrl-shift-t`` | open terminal in the current directory [1]_ |
+----------------------+---------------------------------------------+
| ``ctrl-shift-up`` | scroll up a line |
+----------------------+---------------------------------------------+
| ``ctrl-shift-down`` | scroll down a line |
+----------------------+---------------------------------------------+
| ``shift-pageup`` | scroll up a page |
+----------------------+---------------------------------------------+
| ``shift-pagedown`` | scroll down a page |
+----------------------+---------------------------------------------+
2017-08-12 05:30:16 +02:00
| ``ctrl-shift-l`` | reset and clear |
+----------------------+---------------------------------------------+
| ``ctrl-+`` | increase font size |
+----------------------+---------------------------------------------+
| ``ctrl--`` | decrease font size |
+----------------------+---------------------------------------------+
| ``ctrl-=`` | reset font size to default |
+----------------------+---------------------------------------------+
.. [1] The directory can be set by a process running in the terminal. For
example, with zsh:
.. code:: sh
if [[ $TERM == xterm-termite ]]; then
. /etc/profile.d/vte.sh
__vte_osc7
fi
::
For example, with bash:
.. code:: sh
if [[ $TERM == xterm-termite ]]; then
. /etc/profile.d/vte.sh
__vte_prompt_command
fi
2014-07-09 17:53:21 +02:00
SELECTION MODE
--------------
2015-05-25 00:06:56 +02:00
+-----------------------------------+-----------------------------------------------------------+
| ``q`` or ``escape`` or ``ctrl-[`` | enter insert mode |
+-----------------------------------+-----------------------------------------------------------+
| ``x`` | activate url hints mode |
+-----------------------------------+-----------------------------------------------------------+
| ``v`` | visual mode |
+-----------------------------------+-----------------------------------------------------------+
| ``V`` | visual line mode |
+-----------------------------------+-----------------------------------------------------------+
| ``ctrl-v`` | visual block mode |
+-----------------------------------+-----------------------------------------------------------+
| ``hjkl`` or arrow keys | move cursor left/down/up/right |
+-----------------------------------+-----------------------------------------------------------+
| ``w`` or ``shift-right`` | forward word |
+-----------------------------------+-----------------------------------------------------------+
| ``e`` | forward to end of word |
+-----------------------------------+-----------------------------------------------------------+
2015-05-25 00:06:56 +02:00
| ``b`` or ``shift-left`` | backward word |
+-----------------------------------+-----------------------------------------------------------+
| ``W`` or ``ctrl-right`` | forward WORD (non-whitespace) |
+-----------------------------------+-----------------------------------------------------------+
| ``E`` | forward to end of WORD (non-whitespace) |
+-----------------------------------+-----------------------------------------------------------+
2015-05-25 00:06:56 +02:00
| ``B`` or ``ctrl-left`` | backward WORD (non-whitespace) |
+-----------------------------------+-----------------------------------------------------------+
| ``H`` | jump to the top of the screen |
+-----------------------------------+-----------------------------------------------------------+
| ``M`` | jump to the middle of the screen |
+-----------------------------------+-----------------------------------------------------------+
| ``L`` | jump to the bottom of the screen |
+-----------------------------------+-----------------------------------------------------------+
| ``0`` or ``home`` | move cursor to the first column in the row |
2015-05-25 00:06:56 +02:00
+-----------------------------------+-----------------------------------------------------------+
| ``^`` | beginning-of-line (first non-blank character) |
+-----------------------------------+-----------------------------------------------------------+
| ``$`` or ``end`` | end-of-line |
2015-05-25 00:06:56 +02:00
+-----------------------------------+-----------------------------------------------------------+
| ``g`` | jump to start of first row |
+-----------------------------------+-----------------------------------------------------------+
| ``G`` | jump to start of last row |
+-----------------------------------+-----------------------------------------------------------+
| ``ctrl-u`` | move cursor a half screen up |
+-----------------------------------+-----------------------------------------------------------+
| ``ctrl-d`` | move cursor a half screen down |
+-----------------------------------+-----------------------------------------------------------+
| ``ctrl-b`` | move cursor a full screen up (back) |
+-----------------------------------+-----------------------------------------------------------+
| ``ctrl-f`` | move cursor a full screen down (forward) |
+-----------------------------------+-----------------------------------------------------------+
| ``y`` | copy to CLIPBOARD |
+-----------------------------------+-----------------------------------------------------------+
| ``/`` | forward search |
+-----------------------------------+-----------------------------------------------------------+
| ``?`` | reverse search |
+-----------------------------------+-----------------------------------------------------------+
| ``u`` | forward url search |
+-----------------------------------+-----------------------------------------------------------+
| ``U`` | reverse url search |
+-----------------------------------+-----------------------------------------------------------+
| ``o`` | open the current selection as a url |
+-----------------------------------+-----------------------------------------------------------+
| ``Return`` | open the current selection as a url and enter insert mode |
+-----------------------------------+-----------------------------------------------------------+
| ``n`` | next search match |
+-----------------------------------+-----------------------------------------------------------+
| ``N`` | previous search match |
+-----------------------------------+-----------------------------------------------------------+
2012-07-11 09:46:27 +02:00
During scrollback search, the current selection is changed to the search match
and copied to the PRIMARY clipboard buffer.
2012-09-29 13:48:21 +02:00
With the text input widget focused, up/down (or tab/shift-tab) cycle through
completions, escape closes the widget and enter accepts the input.
2012-09-29 13:44:07 +02:00
In hints mode, the input will be accepted as soon as termite considers it a
unique match.
PADDING
=======
2017-08-12 10:50:12 +02:00
Internal padding can be added by using CSS to style Termite. Adding
the following snippet to ``$XDG_CONFIG_HOME/gtk-3.0/gtk.css`` (or
``~/.config/gtk-3.0/gtk.css``) will add uniform 2px padding around the edges:
.. code:: css
2017-08-12 10:50:12 +02:00
.termite {
padding: 2px;
}
This can also be used to add varying amounts of padding to each side via
standard usage of the CSS padding property.
TERMINFO
========
When working on a remote system with termite's terminfo missing, an error might
occur:
::
Error opening terminal: xterm-termite
To solve this issue, install the termite terminfo on your remote system.
On Arch Linux:
::
pacman -S termite-terminfo
On other systems:
::
wget https://raw.githubusercontent.com/thestinger/termite/master/termite.terminfo
tic -x termite.terminfo