terminator/doc/terminator_config.adoc

916 lines
25 KiB
Plaintext
Raw Normal View History

= Terminator_config(5)
:doctype: manpage
:manmanual: Manual for Terminator
:mansource: Terminator
:revdate: 2023-04-21
:docdate: {revdate}
== NAME
terminator_config - the config file for Terminator terminal emulator
== DESCRIPTION
This file contains the configuration for *terminator*(1).
Terminator manages its configuration file via the ConfigObj library to
combine flexibility with clear, human editable files. +
Terminator offers a full GUI preferences editor which automatically
saves its config file so you don't need to write a config file by hand.
== FILE LOCATION
Normally the config file will be *~/.config/terminator/config*, but it
may be overridden with *$XDG_CONFIG_HOME* (in which case it will be
*$XDG_CONFIG_HOME/terminator/config*).
== FILE FORMAT
This is what a Terminator config file should look like:
----
# This is a comment
[global_config]
focus = system
[keybindings]
full_screen = <Ctrl><Shift>F11
[profiles]
[[default]]
font = Fixed 10
background_color = "#000000" # A comment
foreground_color = "#FFFFFF" # Note that hex colour values must be quoted
scrollback_lines = '500' #More comment. Single quotes are valid too
cursor_blink = True
custom_command = "echo \"foo#bar\"" #Final comment - this will work as expected.
[layouts]
[[default]]
[[[window0]]]
type = Window
parent = ""
[[[child1]]]
type = Terminal
parent = window0
[plugins]
----
2023-04-07 13:44:30 +00:00
// ================================================================== \\
== global_config
These are the options Terminator currently supports in the
*global_config* section.
=== Window Behavior & Appearance
// --- Window behavior ---
*window_state* = _string_::
Control how the Terminator window opens.
'normal' means it opens normally.
'maximise' means it opens in a maximised state.
'fullscreen' means it opens in a fullscreen state.
'hidden' means it stays hidden. +
Default value: *normal*
*always_on_top* = _boolean_::
If set to True, the window will always stay on top of other windows. +
Default value: *False*
*sticky* = _boolean_::
If set to True, the window will be visible on all workspaces. +
Default value: *False*
*hide_on_lose_focus* = _boolean_::
If set to True, the window will be hidden when focus is lost. +
Default value: *False*
*hide_from_taskbar* = _boolean_::
If set to True, the window will be hidden from the taskbar. +
Default value: *False*
*geometry_hinting* = _boolean_::
If set to True, the window will resize in step with font sizes. +
Default value: *False*
*suppress_multiple_term_dialog* = _boolean_::
If set to True, Terminator will ask for confirmation when closing
multiple terminals. +
Default value: *False*
// --- Window appearance ---
*borderless* = _boolean_::
If set to True, the window will be started without window borders. +
Default value: *False*
=== Tab Behavior & Appearance
*tab_position* = _string_::
Specify where tabs are placed.
Can be any of: 'top', 'left', 'right', 'bottom', 'hidden'.
If set to 'hidden', the tab bar will not be shown. Hiding the tab is not
recommended, as it can be very confusing. +
Default value: *top*
*close_button_on_tab* = _boolean_::
If set to True, tabs will have a close button on them. +
Default value: *True*
// what is this???
*scroll_tabbar* = _boolean_::
If set to True, the tab bar will not fill the width of the window.
The titlebars of the tabs will only take as much space as is necessary
for the text they contain. Except, that is, if the tabs no longer fit
the width of the window - in that case scroll buttons will appear to
move through the tabs. +
Default value: *False*
=== Terminal Behavior & Appearance
// --- Terminal behavior ---
*focus* = _string_::
Specify how focus is given to terminals.
'click' means the focus only moves to a terminal after you click in it.
'sloppy' means the focus will follow the mouse pointer.
'system' means the focus will match that used by a GNOME window manager. +
Default value: *click*
*always_split_with_profile* = _boolean_::
Specify whether splits/tabs will continue to use the profile of their
peer terminal. If set to False, they will always use the default profile. +
Default value: *False*
*link_single_click* = _boolean_::
If set to True, clicking a link will open it even if *Ctrl* is not
pressed. +
Default value: *False*
// --- Copy & Paste behavior ---
*putty_paste_style* = _boolean_::
If set to True, right-click will paste text, while middle-click will
popup the context menu. The source for the pasted text depends on the
value of *putty_paste_style_source_clipboard*. +
Default value: *False*
*putty_paste_style_source_clipboard* = _boolean_::
If set to True, the Clipboard will be used as source for pasting in
PuTTY style. Otherwise, the Primary Selection will be used. +
This option is ignored unless *putty_paste_style* is set to True. +
Default value: *False*
*disable_mouse_paste* = _boolean_::
If set to True, mouse pasting will be disabled. +
Default value: *False*
*smart_copy* = _boolean_::
If set to True, and there is no selection, the shortcut is allowed to
pass through. This is useful for overloading Ctrl-C to copy a selection,
or send the SIGINT to the current process if there is no selection.
If False, the shortcut does not pass through at all, and the SIGINT does
not get sent. +
Default value: *True*
*clear_select_on_copy* = _boolean_::
TODO +
Default value: *False*
// --- Terminal appearance ---
*handle_size* = _integer_::
Specify the width of the separator between terminals.
Anything outside the range 0-20 (inclusive) will be ignored and use your
default theme value. +
Default value: *1*
*inactive_color_offset* = _float_::
Specify how much to reduce the color values of fonts in terminals that
do not have focus. +
Default value: *0.8*
*inactive_bg_color_offset* = _float_::
Specify how much to reduce the color values of the background in
terminals that do not have focus. +
Default value: *1.0*
*cell_width* = _float_::
Specify the horizontal scale of character cells in the terminal. +
Default value: *1.0*
*cell_height* = _float_::
Specify the vertical scale of character cells in the terminal. +
Default value: *1.0*
*title_at_bottom* = _boolean_::
If set to True, the terminal's titlebar will be drawn at the bottom
instead of the top. +
Default value: *False*
=== Miscellaneous
*dbus* = _boolean_::
Specify whether Terminator will load its DBus server.
When this server is loaded, running Terminator multiple times will cause
the first Terminator process to open additional windows.
If this configuration item is set to False, or the python dbus module is
unavailable, running Terminator multiple times will run a separate
Terminator process for each invocation. +
Default value: *True*
*extra_styling* = _boolean_::
TODO +
Default value: *True*
*broadcast_default* = _string_::
Specify the default broadcast behavior.
Can be any of: 'all', 'group', 'off'. +
Default value: *group*
*use_custom_url_handler* = _boolean_::
If set to True, URL handling will be given over entirely to the program
specified by 'custom_url_handler'. +
Default value: *False*
*custom_url_handler* = _string_::
Specify the path to a program which accepts a URI as an argument and
does something relevant with it.
This option is ignored unless *use_custom_url_handler* is set to True.
*case_sensitive* = _boolean_::
If set to True, uppercase and lowercase characters will be considered
different when searching text in the terminal. +
Default value: *True*
*invert_search* = _boolean_::
If set to True, the search direction will be inverted (bottom to top)
when searching text in the terminal. +
Default value: *False*
*enabled_plugins* = _list of strings_::
Specify which plugins will be loaded by default. All other plugin
classes will be ignored. +
Default value: *['LaunchpadBugURLHandler', 'LaunchpadCodeURLHandler', 'APTURLHandler']*
2023-04-07 13:44:30 +00:00
// ================================================================== \\
== keybindings
These are the options Terminator currently supports in the *keybindings*
section.
2023-04-07 13:44:30 +00:00
=== Creation & Destruction
*split_horiz*::
Split the current terminal horizontally. +
Default value: *<Ctrl><Shift>O*
*split_vert*::
Split the current terminal vertically. +
Default value: *<Ctrl><Shift>E*
*split_auto*::
Split the current terminal automatically, along the longer side. +
Default value: *<Ctrl><Shift>A*
*new_tab*::
Open a new tab. +
Default value: *<Ctrl><Shift>T*
*new_window*::
Open a new window as part of the existing process. +
Default value: *<Ctrl><Shift>I*
*new_terminator*::
Spawn a new Terminator process. +
Default value: *<Super>I*
*layout_launcher*::
Open the layout launcher. +
Default value: *<Alt>L*
*close_term*::
Close the current terminal. +
Default value: *<Ctrl><Shift>W*
*close_window*::
Close the current window. +
Default value: *<Ctrl><Shift>Q*
=== Navigation
*cycle_next*::
Focus the next terminal. This is an alias for *go_next*. +
Default value: *<Ctrl>Tab*
*cycle_prev*::
Focus the previous terminal. This is an alias for *go_prev*. +
Default value: *<Ctrl><Shift>Tab*
*go_next*::
Focus the next terminal. +
Default value: *<Ctrl><Shift>N*
*go_prev*::
Focus the previous terminal. +
Default value: *<Ctrl><Shift>P*
*go_up*::
Focus the terminal above the current one. +
Default value: *<Alt>Up*
*go_down*::
Focus the terminal below the current one. +
Default value: *<Alt>Down*
*go_left*::
Focus the terminal to the left of the current one. +
Default value: *<Alt>Left*
*go_right*::
Focus the terminal to the right of the current one. +
Default value: *<Alt>Right*
// --- Scroll ---
*page_up*::
Scroll the terminal up one page.
*page_down*::
Scroll the terminal down one page.
*page_up_half*::
Scroll the terminal up half a page.
*page_down_half*::
Scroll the terminal down half a page.
*line_up*::
Scroll the terminal up one line.
*line_down*::
Scroll the terminal down one line.
// --- Tab ---
*next_tab*::
Move to the next tab. +
Default value: *<Ctrl>Page_Down*
*prev_tab*::
Move to the previous tab. +
Default value: *<Ctrl>Page_Up*
*switch_to_tab_1*, *switch_to_tab_2*, ... *switch_to_tab_10*::
Move to the **N**th tab.
Note that *<Alt><Shift>1* may be provided as *<Alt>!* or similar,
depending on the keyboard layout.
2023-04-07 13:44:30 +00:00
=== Organisation
*resize_up*::
Move the parent dragbar up. +
Default value: *<Ctrl><Shift>Up*
*resize_down*::
Move the parent dragbar down. +
Default value: *<Ctrl><Shift>Down*
*resize_left*::
Move the parent dragbar left. +
Default value: *<Ctrl><Shift>Left*
*resize_right*::
Move the parent dragbar right. +
Default value: *<Ctrl><Shift>Right*
*rotate_cw*::
Rotate terminals clockwise. +
Default value: *<Super>R*
*rotate_ccw*::
Rotate terminals counter+clockwise. +
Default value: *<Super><Shift>R*
*move_tab_right*::
Move the current tab to the right by swapping position with the next
tab. +
Default value: *<Ctrl><Shift>Page_Down*
*move_tab_left*::
Move the current tab to the left by swapping position with the previous
tab. +
Default value: *<Ctrl><Shift>Page_Up*
=== Focus
*full_screen*::
Toggle window to fullscreen. +
Default value: *F11*
*toggle_zoom*::
Toggle maximisation of the current terminal. +
Default value: *<Ctrl><Shift>X*
*scaled_zoom*::
Toggle maximisation of the current terminal and scale the font when
maximised. +
Default value: *<Ctrl><Shift>Z*
*hide_window*::
Hide/Show all Terminator windows. +
2023-04-07 13:44:30 +00:00
Default value: *<Ctrl><Shift><Alt>A*
=== Grouping & Broadcasting
*create_group*::
Create a new group.
// --- Grouping: All ---
*group_all*::
Group all terminals together. +
Default value: *<Super>G*
*ungroup_all*::
Ungroup all terminals.
*group_all_toggle*::
Toggle grouping of all terminals.
// --- Grouping: Window ---
*group_win*::
Group all terminals in the current window together.
*ungroup_win*::
Ungroup all terminals in the current window. +
Default value: *<Super><Shift>W*
*group_win_toggle*::
Toggle grouping of all terminals in the current window.
// --- Grouping: Tab ---
*group_tab*::
Group all terminals in the current tab together. +
Default value: *<Super>T*
*ungroup_tab*::
Ungroup all terminals in the current tab. +
Default value: *<Super><Shift>T*
*group_tab_toggle*::
Toggle grouping of all terminals in the current tab.
// Broadcasting
*broadcast_off*::
Turn broadcasting off.
*broadcast_group*::
Broadcast to all terminals in the same group as the current terminal.
*broadcast_all*::
Broadcast to all terminals.
=== Miscellaneous
*help*::
Open the full HTML manual in the browser. +
Default value: *F1*
*preferences*::
Open the Preferences window.
*preferences_keybindings*::
Open the Preferences window and show the Keybindings tab. +
Default value: *<Ctrl><Shift>K*
*copy*::
Copy the selected text to the clipboard. +
Default value: *<Ctrl><Shift>C*
*paste*::
Paste the current contents of the clipboard. +
Default value: *<Ctrl><Shift>V*
*paste_selection*::
TODO
2023-04-07 13:44:30 +00:00
*toggle_scrollbar*::
Toggle the scrollbar. +
Default value: *<Ctrl><Shift>S*
*search*::
Search for text in the terminal scrollback history. +
Default value: *<Ctrl><Shift>F*
*reset*::
Reset the terminal state. +
Default value: *<Ctrl><Shift>R*
*reset_clear*::
Reset the terminal state and clear the terminal window. +
Default value: *<Ctrl><Shift>G*
*zoom_in*::
Increase the font size by one unit. +
Default value: *<Ctrl>plus*
*zoom_out*::
Decrease the font size by one unit. +
Default value: *<Ctrl>minus*
*zoom_normal*::
Restore the original font size. +
Default value: *<Ctrl>0*
*zoom_in_all*::
Increase the font size by one unit for all terminals.
*zoom_out_all*::
Decrease the font size by one unit for all terminals.
*zoom_normal_all*::
Restore the original font size for all terminals.
*edit_window_title*::
Rename the current window. +
Default value: *<Ctrl><Alt>W*
*edit_tab_title*::
Rename the current tab. +
Default value: *<Ctrl><Alt>A*
*edit_terminal_title*::
Rename the current terminal. +
Default value: *<Ctrl><Alt>X*
*insert_number*::
Insert the current terminal's number, i.e. 1 to 12. +
Default value: *<Super>1*
*insert_padded*::
Insert the current terminal's number, but zero padded, i.e. 01 to 12. +
Default value: *<Super>0*
*next_profile*::
Switch to the next profile.
*previous_profile*::
Switch to the previous profile.
// ================================================================== \\
== profiles
These are the options Terminator currently supports in the *profiles*
section. Each profile should be its own subsection with a header in the
format *\[[name]]*.
=== General
*allow_bold* = _boolean_::
If set to True, text in the terminal can displayed in bold. +
Default value: *True*
*copy_on_selection* = _boolean_::
TODO +
Default value: *False*
*disable_mousewheel_zoom* = _boolean_::
If set to True, Ctrl+mouse_wheel will not zoom or unzoom the terminal. +
Default value: *False*
*word_chars* = _string_::
TODO +
Default value: **-,./?%&#:_**
*mouse_autohide* = _boolean_::
If set to True, the mouse pointer will be hidden when typing. +
Default value: *True*
*term* = _string_::
Specify the value Terminator will assign to the 'TERM' environment
variable. +
Default value: *xterm-256color*
*colorterm* = _string_::
Specify the value Terminator will assign to the 'COLORTERM' environment
variable. +
Default value: *truecolor*
*split_to_group* = _boolean_::
If set to True, the terminal created by splitting will be inserted in
the current terminal's group. +
Default value: *False*
*autoclean_groups* = _boolean_::
If set to True, empty groups will be removed. +
Default value: *True*
// --- Font ---
*use_system_font* = _boolean_::
If set to True, the system default font will be used for text in the
terminal. Otherwise, the value of *font* will be used. +
Default value: *True*
*font* = _string_::
Specify which font to use for text in the terminal.
This option is ignored unless *use_system_font* is set to False. +
Default value: *Mono 10*
// --- Cursor ---
*cursor_blink* = _boolean_::
If set to True, the cursor will blink when not typing. +
Default value: *True*
*cursor_shape* = _string_::
Specify the shape of the cursor.
Can be any of: 'block', 'underline', 'ibeam'. +
Default value: *block*
*cursor_color_default* = _boolean_::
TODO +
Default value: *True*
*cursor_fg_color* = _color string_::
Specify the foreground color to use for the cursor.
This option is ignored unless *cursor_color_default* is set to False.
*cursor_bg_color* = _color string_::
Specify the background color to use for the cursor.
This option is ignored unless *cursor_color_default* is set to False.
// --- Bell ---
*audible_bell* = _boolean_::
If set to True, a sound will be played when an application writes the
escape sequence for the terminal bell. +
Default value: *False*
*visible_bell* = _boolean_::
If set to True, the terminal will flash when an application writes the
escape sequence for the terminal bell. +
Default value: *False*
*urgent_bell* = _boolean_::
If set to True, the window's urgency hint will be set when an
application writes the escape sequence for the terminal bell. +
Default value: *False*
*icon_bell* = _boolean_::
If set to True, a small icon will be shown on the terminal titlebar when
an application writes the escape sequence for the terminal bell. +
Default value: *True*
*force_no_bell* = _boolean_::
If set to True, the terminal bell will be completely disabled. +
Default value: *False*
=== Command
*login_shell* = _boolean_::
TODO +
Default value: *False*
*use_custom_command* = _boolean_::
If set to True, the value of *custom_command* will be used instead of
the default shell. +
Default value: *False*
*custom_command* = _string_::
Specify the command to execute instead of the default shell.
This option is ignored unless *use_custom_command* is set to True.
*exit_action* = _string_::
Specify the action to perform when the terminal is closed.
'close' means the terminal will be removed.
'restart' means the shell (or the command specified in *custom_command*)
will be restarted.
'hold' means the terminal will be kept open, even if the process in it
has terminated. +
Default value: *close*
=== Colors
*use_theme_colors* = _boolean_::
If set to True, the theme's foreground and background colors will be
used for the terminal. Otherwise, the values of *foreground_color* and
*background_color* will be used. +
Default value: *False*
*foreground_color* = _color string_::
Specify the foreground color to use for the terminal.
This option is ignored unless *use_theme_colors* is set to False. +
Default value: *#AAAAAA*
*background_color* = _color string_::
Specify the background color to use for the terminal.
This option is ignored unless *use_theme_colors* is set to False. +
Default value: *#000000*
*palette* = _string list of colors_::
Specify the 16-color palette to use for the terminal.
The value must be a string containing a colon-separated list of colors
in hex format. +
For example, "#000000:#cd0000:#00cd00: ... ".
*bold_is_bright* = _boolean_::
If set to True, bold text will have brighter colors. +
Default value: *False*
=== Background
*background_darkness* = _float_::
Specify the transparency of the background color.
The value must be between 0.0 and 1.0.
This option is ignored unless *background_type* is set to 'transparent'
or 'image'. +
Default value: *0.5*
// TODO background_type needs improvements
*background_type* = _string_::
Specify what type of background the terminal will have.
'solid' means the background will be a solid (opaque) color.
'transparent' means the background will be a transparent color, with its
transparency being the value of *background_darkness*.
'image' means the background will be an image, whose path is the value
of *background_image*; the background color will be drawn on top of it,
with its transparency being the value of *background_darkness*. +
Default value: *solid*
*background_image* = _path string_::
Specify the path to an image that will be used as background.
This option is ignored unless *background_type* is set to 'image'.
*background_image_mode* = _string_::
Specify how the background image will be drawn.
'stretch_and_fill' means the image will fill the terminal entirely,
without necessarily maintaining aspect ratio.
'scale_and_fit' means the image will fit inside the terminal, eventually
leaving blank bars, while maintaining aspect ratio.
'scale_and_crop' means the image will fill the terminal entirely,
eventually getting cropped, while maintaining aspect ratio.
'tiling' means the image will be repeated as to fill the terminal.
This option is ignored unless *background_type* is set to 'image'. +
Default value: *stretch_and_fill*
*background_image_align_horiz* = _string_::
Specify the horizontal alignment of the background image.
Can be any of: 'left', 'center', 'right'.
This option is ignored unless *background_type* is set to 'image'. +
Default value: *center*
*background_image_align_vert* = _string_::
Specify the vertical alignment of the background image.
Can be any of: 'top', 'middle', 'bottom'.
This option is ignored unless *background_type* is set to 'image'. +
Default value: *middle*
=== Scrolling
*scrollbar_position* = _string_::
Specify where the terminal scrollbar is put.
Can be any of: 'left', 'right', 'hidden'. +
Default value: *right*
*scroll_on_output* = _boolean_::
If set to True, the terminall will scroll to the bottom when an
application writes text to it. +
Default value: *False*
*scroll_on_keystroke* = _boolean_::
If set to True, the terminal will scroll to the bottom when typing. +
Default value: *True*
*scrollback_infinite* = _boolean_::
If set to True, the terminal will keep the entire scrollback history. +
Default value: *False*
*scrollback_lines* = _integer_::
Specify how many lines of scrollback history will be kept by the
terminal. Lines that don't fit in the scrollback history will be
discarted. Note that setting large values can slow down rewrapping and
resizing.
This option is ignored unless *scrollback_infinite* is set to False. +
Default value: *500*
=== Compatibility
*backspace_binding* = _string_::
Specify what code will be generated by the backspace key.
The value can be:
'ascii-del' for the ASCII DEL character;
'control-h' for the ASCII BS character (Ctrl+H);
'escape-sequence' for the escape sequence typically bound to backspace
or delete;
'automatic' for letting the terminal automatically decide the character
sequence to use. +
Default value: *ascii-del*
*delete_binding* = _string_::
Specify what code will be generated by the delete key.
The value can be:
'ascii-del' for the ASCII DEL character;
'control-h' for the ASCII BS character (Ctrl+H);
'escape-sequence' for the escape sequence typically bound to backspace
or delete;
'automatic' for letting the terminal automatically decide the character
sequence to use. +
Default value: *escape-sequence*
=== Titlebar
*show_titlebar* = _boolean_::
If set to True, the terminal will have a titlebar showing the current
title of that terminal. +
Default value: *True*
*title_hide_sizetext* = _boolean_::
If set to True, the size of the terminal will not be written on its
titlebar. +
Default value: *False*
*title_use_system_font* = _boolean_::
If set to True, the system default font will be used for text in the
terminal's titlebar. Otherwise, the value of *title_font* will be used. +
Default value: *True*
*title_font* = _string_::
Specify which font to use for text in the terminal's titlebar.
This option is ignored unless *title_use_system_font* is set to False. +
Default value: *Sans 9*
// --- Titlebar colors ---
*title_transmit_fg_color* = _color string_::
Specify the foreground color to use for the terminal's titlebar in case
the terminal is focused. +
Default value: *#ffffff*
*title_transmit_bg_color* = _color string_::
Specify the background color to use for the terminal's titlebar in case
the terminal is focused. +
Default value: *#c80003*
*title_inactive_fg_color* = _color string_::
Specify the foreground color to use for the terminal's titlebar in case
the terminal is unfocused. +
Default value: *#000000*
*title_inactive_bg_color* = _color string_::
Specify the background color to use for the terminal's titlebar in case
the terminal is unfocused. +
Default value: *#c0bebf*
*title_receive_fg_color* = _color string_::
Specify the foreground color to use for the terminal's titlebar in case
the terminal is in a group and is receiving input while unfocused. +
Default value: *#ffffff*
*title_receive_bg_color* = _color string_::
Specify the background color to use for the terminal's titlebar in case
the terminal is in a group and is receiving input while unfocused. +
Default value: *#0076c9*
2023-04-07 13:44:30 +00:00
// ================================================================== \\
== layouts
The *layouts* section contains all the saved layouts. Each layout should
be its own subsection with a header in the format *\[[name]]*.
Each object in a layout is a named sub-sub-section with various
properties.
*type* = _string_::
Can be any of: 'Window', 'Notebook', 'HPaned', 'VPaned', 'Terminal'.
*parent* = _string_::
Specify which object is the parent of the component being defined.
All objects, except those of type Window, must specify a parent.
This is an example of a *layouts* section containing only the layout
named "default".
----
[layouts]
[[default]]
[[[window0]]]
type = Window
parent = ""
[[[child1]]]
type = Terminal
parent = window0
----
// ================================================================== \\
== plugins
Terminator plugins can add their own configuration to the config file,
and it will appear as a subsection. Please refer to the documentation of
individual plugins for more information.
2023-04-07 13:44:30 +00:00
== SEE ALSO
*terminator*(1), http://www.voidspace.org.uk/python/configobj.html
// this link might be dead