# Default Contour Configuration File. # Overrides the auto-detected platform plugin to be loaded. # # Possible (incomplete list of) values are: # - auto The platform will be auto-detected. # - xcb Uses XCB plugin (for X11 environment). # - cocoa Used to be run on Mac OS/X. # - direct2d Windows platform plugin using Direct2D. # - winrt Windows platform plugin using WinRT. # # Default: auto platform_plugin: auto # VT Renderer configuration. # ADVANCED! Do not touch unless you know what you are doing. renderer: # Backend to use for rendering the terminal onto the screen # # Possible values are: # - default Uses the default rendering option as decided by the terminal. # - software Uses software-based rendering. # - OpenGL Use (possibly) hardware accelerated OpenGL backend: OpenGL # Number of hashtable slots to map to the texture tiles. # Larger values may increase performance, but too large may also decrease. # This value is rounded up to a value equal to the power of two. # # Default: 4096 tile_hashtable_slots: 4096 # Number of tiles that must fit at lest into the texture atlas. # # This does not include direct mapped tiles (US-ASCII glyphs, # cursor shapes and decorations), if tile_direct_mapping is set to true). # # Value must be at least as large as grid cells available in the terminal view. # This value is automatically adjusted if too small. # # Default: 4000 tile_cache_count: 4000 # Enables/disables the use of direct-mapped texture atlas tiles for # the most often used ones (US-ASCII, cursor shapes, underline styles) # You most likely do not want to touch this. # # Default: true tile_direct_mapping: true # Word delimiters when selecting word-wise. word_delimiters: " /\\()\"'-.,:;<>~!@#$%^&*+=[]{}~?|│" # Default PTY read buffer size. # # This is an advance option. Use with care! # Default: 16384 read_buffer_size: 16384 # Size in bytes per PTY Buffer Object. # # This is an advanced option of an internal storage. Only change with care! pty_buffer_size: 1048576 default_profile: my_profile # Flag to determine whether to spawn new process or not when creating new terminal # Default: false spawn_new_process: false # Whether or not to reflow the lines on terminal resize events. # Default: true reflow_on_resize: true # Section of experimental features. # All experimental features are disabled by default and must be explicitly enabled here. # NOTE: Contour currently has no experimental features behind this configuration wall. # experimental: # # Enables experimental support for feature X/Y/Z # feature_xyz: true # This keyboard modifier can be used to bypass the terminal's mouse protocol, # which can be used to select screen content even if the an application # mouse protocol has been activated (Default: Shift). # # The same modifier values apply as with input modifiers (see below). bypass_mouse_protocol_modifier: Shift # Modifier to be pressed in order to initiate block-selection # using the left mouse button. # # This is usually the Control modifier, but on OS/X that is not possible, # so Alt or Meta would be recommended instead. # # Supported modifiers: # - Alt # - Control # - Shift # - Meta # # Default: Control mouse_block_selection_modifier: Control # Selects an action to perform when a text selection has been made. # # Possible values are: # # - None Does nothing # - CopyToClipboard Copies the selection to the primary clipboard. # - CopyToSelectionClipboard Copies the selection to the selection clipboard. # This is not supported on all platforms. # # Default: CopyToSelectionClipboard on_mouse_select: None # Determines whether the instance is reloading the configuration files whenever it is changing or not. # # Default: false live_config: true # Inline image related default configuration and limits # ----------------------------------------------------- images: # Enable or disable sixel scrolling (SM/RM ?80 default) sixel_scrolling: true # Configures the maximum number of color registers available when rendering Sixel graphics. sixel_register_count: 4096 # maximum width in pixels of an image to be accepted (0 defaults to system screen pixel width) max_width: 0 # maximum height in pixels of an image to be accepted (0 defaults to system screen pixel height) max_height: 0 # Terminal Profiles # ----------------- # # Dominates how your terminal visually looks like. You will need at least one terminal profile. profiles: main: # You can override the process to be started inside the terminal. # If nothing is specified, the users' default login shell will be used. # But you may as well log in to a remote host. # shell: "ssh ubuntu-vm" # shell: "/bin/bash" # arguments: ["some", "optional", "arguments", "for", "the", "shell"] # Builtin SSH-client configuration. # Use this to directly connect to an SSH server. # This will bypass the local PTY creation # ssh: # # Target host name to connect to via SSH. This may be a DNS name or IPv4 or IPv6 address. # # This value MUST be provided when attempting to directly establish a connection via SSH. # # # # Note, that based on this hostname, the ~/.ssh/config will be looked up and # # be used as default values when connecting to this host. # host: example.com # # # TCP/IP port to use to talk to the remote SSH server. This value defaults to 22. # port: 22 # # # Remote user name to use for logging into the the SSH server. # # If not specified, the current local user name will be used as remote SSH login username. # user: somebody # # # When attempting to authenticate with an SSH key, at least the private key must be provided. # # This usually is something similar to "~/.ssh/id_rsa", but can vary. # private_key: "" # # # The public key (e.g. "~/.ssh/your_key.pub") is usually not required, but some backends (not OpenSSL) may require it. # # Defaults to an empty string (not specified). # public_key: "" # # # This mandates where to look up for known hosts to guard against MITM attacks. # # This file is compatible to OpenSSH and thus defaults # # to the location of OpenSSH's known_hosts, "~/.ssh/known_hosts". # known_hosts: "~/.ssh/known_hosts" # # # Mandates whether or not to enable SSH agent forwarding. # # Default value currently is `false` (agent forwarding disabled), # # and is for security reasons also the recommended way. # forward_agent: false # If this terminal is being executed from within Flatpak, enforces sandboxing # then this boolean indicates whether or not that sandbox should be escaped or not. # # Default value is true. # # It only makes sense to set this value to false if you really know what you are doing. escape_sandbox: true # Advanced value that is useful when CopyPreviousMarkRange is used # with multiline-prompts. This offset value is being added to the # current cursor's line number minus 1 (i.e. the line above the current cursor). # # Default value is 0. copy_last_mark_range_offset: 0 # Sets initial working directory when spawning a new terminal. # A leading ~ is expanded to the user's home directory. # Default value is the user's home directory. initial_working_directory: "~" # When this profile is *activated*, this flag decides # whether or not the title bar will be shown show_title_bar: true # When this profile is *activated*, this flag decides # whether or not the size indicator on resize will be shown. size_indicator_on_resize: true # When this profile is being *activated*, this flag decides # whether or not to put the terminal's screen into fullscreen mode. # # It is activated during startup as well as when switching from another profile to this one. fullscreen: false # When this profile is *activated*, this flag decides # whether or not to put the window into maximized mode. maximized: false bell: # There is no sound for BEL character if set to "off". # If set to "default" BEL character sound will be default sound. # If set to path to a file then BEL sound will use that file. Example # sound: "/home/user/Music/bell.wav" sound: "default" # Bell volume, a normalized value between 0.0 (silent) and 1.0 (loudest). # Default: 1.0 volume: 1.0 # If this boolean is true, a window alert will be raised with each bell alert: true # Defines the class part of the WM_CLASS property of the window. wm_class: "contour" # Tells Contour how to handle Option-Key events on MacOS. # This value is ignored on other platforms. # # Default: false option_as_alt: false # Environment variables to be passed to the shell. # environment: # TERM: contour # COLORTERM: truecolor # Determines the terminal type that is being advertised. # Possible values are: # - VT100 # - VT220 # - VT240 # - VT330 # - VT340 # - VT320 # - VT420 # - VT510 # - VT520 # - VT525 # Default: VT525 terminal_id: VT525 # Defines a list of DEC modes to explicitly and permanently disable/enable support for. # # This is a developer-users-only option that may possibly help investigating problems. # This option may also be used by regular users if they're asked to in order to disable # a broken functionality. This is something we hardly try to avoid, of course. # # This can be an object with each key being the DEC mode number and its value a boolean, # indicating whether this DEC mode is permanently set (enabled) or unset (disabled). # # Example: # # frozen_dec_modes: # 2026: false # 2027: true # # Default: (empty object) #frozen_dec_modes: # Defines the number of milliseconds to wait before # actually executing the LF (linefeed) control code # in case DEC mode `DECSCLM` is enabled. # # Default: 100 slow_scrolling_time: 100 # Determines the initial terminal size in characters. terminal_size: columns: 80 lines: 25 # Window margins # # The margin values are applied on both sides and are given in pixels # with DPI yet to be applied to these values. margins: # Horizontal (left/right) margins. horizontal: 5 # Vertical (top/bottom) margins. vertical: 5 history: # Number of lines to preserve (-1 for infinite). limit: 1000 # Boolean indicating whether or not to scroll down to the bottom on screen updates. auto_scroll_on_update: true # Number of lines to scroll on ScrollUp & ScrollDown events. # Default: 3 scroll_multiplier: 3 # visual scrollbar support scrollbar: # scroll bar position: Left, Right, Hidden (ignore-case) position: Hidden # whether or not to hide the scrollbar when in alt-screen. hide_in_alt_screen: true # mouse setting mouse: # whether or not to hide mouse when typing # # Default value: true hide_while_typing: true # Some VT sequences should need access permissions. # # These can be to: # - allow Allows the given functionality # - deny Denies the given functionality # - ask Asks the user interactively via popup dialog for permission of the given action. # # Default for all of these entries should be: "ask". permissions: # Allows changing the font via `OSC 50 ; Pt ST`. change_font: ask # Allows capturing the screen buffer via `CSI > Pm ; Ps ; Pc ST`. # The response can be read from stdin as sequence `OSC 314 ; ST` capture_buffer: ask # Allows displaying the "Host Writable Statusline" programmatically using `DECSSDT 2`. display_host_writable_statusline: ask # If enabled, and you double-click on a word in the primary screen, # all other words matching this word will be highlighted as well. # So the double-clicked word will be selected as well as highlighted, along with # all other words being simply highlighted. # # This is currently implemented by initiating a search on the double-clicked word. # Therefore one can even use FocusNextSearchMatch and FocusPreviousSearchMatch to # jump to the next/previous same word, also outside of the current viewport. # # Default: true highlight_word_and_matches_on_double_click: true # Font related configuration (font face, styles, size, rendering mode). font: # Initial font size in pixels. size: 12 # Font Locator API # Selects an engine to use for locating font files on the system. # This is implicitly also responsible for font fallback # Possible values are: # - native : automatically choose the best available on the current platform # - fontconfig : uses fontconfig to select fonts # - CoreText : uses OS/X CoreText to select fonts. # - DirectWrite : selects DirectWrite engine (Windows only) locator: native # Text shaping related settings text_shaping: # Selects which text shaping and font rendering engine to use. # Supported values are: # - native : automatically choose the best available on the current platform. # - DirectWrite : selects DirectWrite engine (Windows only) # - CoreText : selects CoreText engine (Mac OS/X only) (currently not implemented) # - OpenShaper : selects OpenShaper (harfbuzz/freetype/fontconfig, available on all # platforms) engine: native # Uses builtin textures for pixel-perfect box drawing. # If disabled, the font's provided box drawing characters # will be used (Default: true). builtin_box_drawing: true # Font render modes tell the font rasterizer engine what rendering technique to use. # # Modes available are: # - lcd Uses a subpixel rendering technique optimized for LCD displays. # - light Uses a subpixel rendering technique in gray-scale. # - gray Uses standard gray-scaled anti-aliasing. # - monochrome Uses pixel-perfect bitmap rendering. render_mode: gray # Indicates whether or not to include *only* monospace fonts in the font and # font-fallback list (Default: true). strict_spacing: true # Font family to use for displaying text. # # A font can be either described in detail as below or as a # simple string value (e.g. "monospace" with the appropriate # weight/slant applied automatically). regular: # Font family defines the font family name, such as: # Fira Code", "Courier New", or "monospace" (default). family: "monospace" # Font weight can be one of: # thin, extra_light, light, demilight, book, normal, # medium, demibold, bold, extra_bold, black, extra_black. weight: regular # Font slant can be one of: normal, italic, oblique. slant: normal # Set of optional font features to be enabled. This # is usually a 4-letter code, such as ss01 or ss02 etc. # # Please see your font's documentation to find out what it # supports. # # Default: [] features: [] # If bold/italic/bold_italic are not explicitly specified, the regular font with # the respective weight and slant will be used. #bold: "Hack" #italic: "Hack" #bold_italic: "Hack" # This is a special font to be used for displaying unicode symbols # that are to be rendered in emoji presentation. # Defaults to "emoji". emoji: "emoji" # Indicates whether or not bold text should be rendered in bright colors, # for indexed colors. # # If disabled, normal color will be used instead. # # Default: false draw_bold_text_with_bright_colors: false # Terminal cursor display configuration cursor: # Supported shapes are: # # - block a filled rectangle # - rectangle just the outline of a block # - underscore a line under the text # - bar: the well known i-Beam shape: "bar" # Determines whether or not the cursor will be blinking over time. blinking: false # Blinking interval (in milliseconds) to use when cursor is blinking. blinking_interval: 500 # vi-like normal-mode specific settings. # Note, currently only the cursor can be customized. normal_mode: cursor: shape: block blinking: false blinking_interval: 500 # vi-like visual/visual-line/visual-block mode specific settings. # Note, currently only the cursor can be customized. visual_mode: cursor: shape: block blinking: false blinking_interval: 500 # Time duration in milliseconds for which yank highlight is shown. vi_mode_highlight_timeout: 300 # Configures a `scrolloff` for cursor movements in normal and visual (block) modes. # # Default: 8 vi_mode_scrolloff: 8 status_line: # Either none or indicator. # This only reflects the initial state of the status line, as it can # be changed at any time during runtime by the user or by an application. display: none # Position to place the status line to, if it is to be shown. # This can be either value `top` or value `bottom`. # Default: bottom position: bottom # Synchronize the window title with the Host Writable status_line if # and only if the host writable status line was denied to be shown. # Default: false sync_to_window_title: false # Background configuration background: # Background opacity to use. A value of 1.0 means fully opaque whereas 0.0 means fully # transparent. Only values between 0.0 and 1.0 are allowed. opacity: 1.0 # Some platforms can blur the transparent background (currently only Windows 10 is supported). blur: false # Specifies a colorscheme to use (alternatively the colors can be inlined). # # This can be either the name to a single colorscheme to always use, # or a map with two keys (dark and light) to determine the color scheme to use for each. # # The dark color scheme is used when the system is configured to prefer dark mode and light theme otherwise. # # Default: "default" colors: light: default dark: default # Hyperlinks (via OSC-8) can be stylized and colorized on hover. # Possible values: underline, dotted-underline, double-underline, curly-underline, # dashed-underline, overline, crossed-out, framed, encircle (if implemented) hyperlink_decoration: normal: dotted hover: underline my_profile: shell: "zsh" escape_sandbox: true # Advanced value that is useful when CopyPreviousMarkRange is used # with multiline-prompts. This offset value is being added to the # current cursor's line number minus 1 (i.e. the line above the current cursor). # # Default value is 0. copy_last_mark_range_offset: 0 # Sets initial working directory when spawning a new terminal. # A leading ~ is expanded to the user's home directory. # Default value is the user's home directory. initial_working_directory: "~" # When this profile is *activated*, this flag decides # whether or not the title bar will be shown show_title_bar: false # When this profile is *activated*, this flag decides # whether or not the size indicator on resize will be shown. size_indicator_on_resize: true # When this profile is being *activated*, this flag decides # whether or not to put the terminal's screen into fullscreen mode. # # It is activated during startup as well as when switching from another profile to this one. fullscreen: false # When this profile is *activated*, this flag decides # whether or not to put the window into maximized mode. maximized: false bell: sound: "default" volume: 0.0 alert: true # Defines the class part of the WM_CLASS property of the window. wm_class: "contour" option_as_alt: false # Environment variables to be passed to the shell. # environment: # TERM: contour # COLORTERM: truecolor # Determines the terminal type that is being advertised. # Possible values are: # - VT100 # - VT220 # - VT240 # - VT330 # - VT340 # - VT320 # - VT420 # - VT510 # - VT520 # - VT525 # Default: VT525 terminal_id: VT525 # Defines the number of milliseconds to wait before # actually executing the LF (linefeed) control code # in case DEC mode `DECSCLM` is enabled. # # Default: 100 slow_scrolling_time: 100 # Determines the initial terminal size in characters. terminal_size: columns: 80 lines: 25 margins: horizontal: 0 vertical: 0 history: # Number of lines to preserve (-1 for infinite). limit: 10000 # Boolean indicating whether or not to scroll down to the bottom on screen updates. auto_scroll_on_update: false # Number of lines to scroll on ScrollUp & ScrollDown events. # Default: 3 scroll_multiplier: 3 # visual scrollbar support scrollbar: # scroll bar position: Left, Right, Hidden (ignore-case) position: Hidden # whether or not to hide the scrollbar when in alt-screen. hide_in_alt_screen: true mouse: hide_while_typing: true # Some VT sequences should need access permissions. # # These can be to: # - allow Allows the given functionality # - deny Denies the given functionality # - ask Asks the user interactively via popup dialog for permission of the given action. # # Default for all of these entries should be: "ask". permissions: # Allows changing the font via `OSC 50 ; Pt ST`. change_font: ask # Allows capturing the screen buffer via `CSI > Pm ; Ps ; Pc ST`. # The response can be read from stdin as sequence `OSC 314 ; ST` capture_buffer: ask # Allows displaying the "Host Writable Statusline" programmatically using `DECSSDT 2`. display_host_writable_statusline: ask highlight_word_and_matches_on_double_click: true # Font related configuration (font face, styles, size, rendering mode). font: # Initial font size in pixels. size: 9 # Font Locator API # Selects an engine to use for locating font files on the system. # This is implicitly also responsible for font fallback # Possible values are: # - native : automatically choose the best available on the current platform # - fontconfig : uses fontconfig to select fonts # - CoreText : uses OS/X CoreText to select fonts. # - DirectWrite : selects DirectWrite engine (Windows only) locator: native # Text shaping related settings text_shaping: # Selects which text shaping and font rendering engine to use. # Supported values are: # - native : automatically choose the best available on the current platform. # - DirectWrite : selects DirectWrite engine (Windows only) # - CoreText : selects CoreText engine (Mac OS/X only) (currently not implemented) # - OpenShaper : selects OpenShaper (harfbuzz/freetype/fontconfig, available on all # platforms) engine: native # Uses builtin textures for pixel-perfect box drawing. # If disabled, the font's provided box drawing characters # will be used (Default: true). builtin_box_drawing: false # Font render modes tell the font rasterizer engine what rendering technique to use. # # Modes available are: # - lcd Uses a subpixel rendering technique optimized for LCD displays. # - light Uses a subpixel rendering technique in gray-scale. # - gray Uses standard gray-scaled anti-aliasing. # - monochrome Uses pixel-perfect bitmap rendering. render_mode: gray # Indicates whether or not to include *only* monospace fonts in the font and # font-fallback list (Default: true). strict_spacing: true # Font family to use for displaying text. # # A font can be either described in detail as below or as a # simple string value (e.g. "monospace" with the appropriate # weight/slant applied automatically). regular: # Font family defines the font family name, such as: # Fira Code", "Courier New", or "monospace" (default). family: "BerkeleyMono Nerd Font" # Font weight can be one of: # thin, extra_light, light, demilight, book, normal, # medium, demibold, bold, extra_bold, black, extra_black. weight: regular # Font slant can be one of: normal, italic, oblique. slant: normal # Set of optional font features to be enabled. This # is usually a 4-letter code, such as ss01 or ss02 etc. # # Please see your font's documentation to find out what it # supports. # # Default: [] features: [] #bold: "Hack" #italic: "Hack" #bold_italic: "Hack" # This is a special font to be used for displaying unicode symbols # that are to be rendered in emoji presentation. # Defaults to "emoji". emoji: "BerkeleyMono Nerd Font" draw_bold_text_with_bright_colors: true # Terminal cursor display configuration cursor: # Supported shapes are: # # - block a filled rectangle # - rectangle just the outline of a block # - underscore a line under the text # - bar: the well known i-Beam shape: "bar" blinking: false blinking_interval: 500 # vi-like normal-mode specific settings. # Note, currently only the cursor can be customized. normal_mode: cursor: shape: block blinking: false blinking_interval: 500 # vi-like visual/visual-line/visual-block mode specific settings. # Note, currently only the cursor can be customized. visual_mode: cursor: shape: block blinking: false blinking_interval: 500 # Time duration in milliseconds for which yank highlight is shown. vi_mode_highlight_timeout: 300 # Configures a `scrolloff` for cursor movements in normal and visual (block) modes. # # Default: 8 vi_mode_scrolloff: 8 status_line: # Either none or indicator. # This only reflects the initial state of the status line, as it can # be changed at any time during runtime by the user or by an application. display: indicator # Position to place the status line to, if it is to be shown. # This can be either value `top` or value `bottom`. # Default: bottom position: bottom # Synchronize the window title with the Host Writable status_line if # and only if the host writable status line was denied to be shown. # Default: false sync_to_window_title: true # Background configuration background: opacity: 1.0 blur: false colors: light: default dark: default # Hyperlinks (via OSC-8) can be stylized and colorized on hover. # Possible values: underline, dotted-underline, double-underline, curly-underline, # dashed-underline, overline, crossed-out, framed, encircle (if implemented) hyperlink_decoration: normal: dotted hover: underline # Color Profiles # -------------- # # Here you can configure your color profiles, whereas a color can be expressed in standard web format, # with a leading # followed by red/green/blue values, 7 characters in total. # You may alternatively use 0x as prefix instead of #. # For example 0x102030 is equal to '#102030'. color_schemes: default: # Default colors default: # Default background color (this can be made transparent, see above). background: '#1a1716' # Default foreground text color. foreground: '#d0d0d0' # Default foreground text color when bold(/bright) mode is on. bright_foreground: '#FFFFFF' # Default foreground text color when dim mode is on. dimmed_foreground: '#808080' # Background image support. background_image: # Full path to the image to use as background. # # Default: empty string (disabled) # path: '/Users/trapni/Pictures/bg.png' # Image opacity to be applied to make the image not look to intense # and not get too distracted by the background image. # Default: 0.5 opacity: 0.5 # Optionally blurs background image to make it less distracting # and keep the focus on the actual terminal contents. # # Default: false blur: false # Mandates the color of the cursor and potentially overridden text. # # The color can be specified in RGB as usual, plus # - CellForeground: Selects the cell's foreground color. # - CellBackground: Selects the cell's background color. cursor: # Specifies the color to be used for the actual cursor shape. # # Default: CellForeground default: '#A7E6FF' # Specifies the color to be used for the characters that would # be covered otherwise. # # Default: CellBackground text: '#000000' # color to pick for hyperlinks decoration, when hovering hyperlink_decoration: normal: '#f0f000' hover: '#ff0000' # Color to pick for vi_mode highlights. # The value format is equivalent to how selection colors and alpha contribution is defined. vi_mode_highlight: foreground: CellForeground foreground_alpha: 1.0 background: '#ffa500' background_alpha: 0.5 # Color override for the current cursor's line when in vi_mode: # The value format is equivalent to how selection colors and alpha contribution is defined. # To disable cursorline in vi_mode, set foreground to CellForeground and background to CellBackground. vi_mode_cursorline: foreground: '#ffffff' foreground_alpha: 0.2 background: '#808080' background_alpha: 0.4 # The text selection color can be customized here. # Leaving a value empty will default to the inverse of the content's color values. # # The color can be specified in RGB as usual, plus # - CellForeground: Selects the cell's foreground color. # - CellBackground: Selects the cell's background color. selection: # Specifies the color to be used for the selected text. # # Default: CellBackground foreground: CellForeground # Specifies the alpha value (between 0.0 and 1.0) the configured foreground color # will contribute to the original color. # # A value of 1.0 will paint over, whereas a value of 0.5 will give # a look of a half-transparently painted grid cell. foreground_alpha: 1.0 # Specifies the color to be used for the selected background. # # Default: CellForeground background: '#4040f0' # Specifies the alpha value (between 0.0 and 1.0) the configured background color # will contribute to the original color. # # A value of 1.0 will paint over, whereas a value of 0.5 will give # a look of a half-transparently painted grid cell. background_alpha: 0.5 # Search match highlighting. Similar to selection highlighting. search_highlight: foreground: CellBackground background: CellForeground foreground_alpha: 1.0 background_alpha: 1.0 # Search match highlighting (focused term). Similar to selection highlighting. search_highlight_focused: foreground: CellBackground background: CellForeground foreground_alpha: 1.0 background_alpha: 1.0 # Coloring for the word that is highlighted due to double-clicking it. # # The format is similar to selection highlighting. word_highlight_current: foreground: CellForeground background: '#909090' foreground_alpha: 1.0 background_alpha: 0.5 # Coloring for the word that is highlighted due to double-clicking # another word that matches this word. # # The format is similar to selection highlighting. word_highlight_other: foreground: CellForeground background: '#909090' foreground_alpha: 1.0 background_alpha: 0.5 # Defines the colors to be used for the Indicator status line. # Values must be in RGB form. indicator_statusline: # Default: default background foreground: '#808080' # Default: default foreground background: '#000000' # Alternate colors to be used for the indicator status line when # this terminal is currently not in focus. indicator_statusline_inactive: # Default: default background foreground: '#808080' # Default: default foreground background: '#000000' # Colors for the IME (Input Method Editor) area. input_method_editor: # Default: default #FFFFFF foreground: '#FFFFFF' # Default: default #FF0000 background: '#FF0000' # Normal colors normal: black: '#000000' red: '#c63939' green: '#00a000' yellow: '#a0a000' blue: '#4d79ff' magenta: '#ff66ff' cyan: '#00a0a0' white: '#c0c0c0' # Bright colors bright: black: '#707070' red: '#ff0000' green: '#00ff00' yellow: '#ffff00' blue: '#0000ff' magenta: '#ff00ff' cyan: '#00ffff' white: '#ffffff' # Dim (faint) colors, if not set, they're automatically computed based on normal colors. # dim: # black: '#1d1f21' # red: '#cc342b' # green: '#198844' # yellow: '#fba922' # blue: '#3971ed' # magenta: '#a36ac7' # cyan: '#3971ed' # white: '#c5c8c6' # Key Bindings # ------------ # # In this section you can customize key bindings. # Each array element in `input_mapping` represents one key binding, # whereas `mods` represents an array of keyboard modifiers that must be pressed - as well as # the `key` or `mouse` - in order to activate the corresponding action, # # Additionally one can filter input mappings based on special terminal modes using the `modes` option: # - Alt : The terminal is currently in alternate screen buffer, otherwise it is in primary screen buffer. # - AppCursor : The application key cursor mode is enabled (otherwise it's normal cursor mode). # - AppKeypad : The application keypad mode is enabled (otherwise it's the numeric keypad mode). # - Select : The terminal has currently an active grid cell selection (such as selected text). # - Insert : The Insert input mode is active, that is the default and one way to test # that the input mode is not in normal mode or any of the visual select modes. # - Search : There is a search term currently being edited or already present. # - Trace : The terminal is currently in trace-mode, i.e., each VT sequence can be interactively # single-step executed using custom actions. See TraceEnter/TraceStep/TraceLeave actions. # # You can combine these modes by concatenating them via | and negate a single one # by prefixing with ~. # # The `modes` option defaults to not filter at all (the input mappings always # match based on modifier and key press / mouse event). # # `key` represents keys on your keyboard, and `mouse` represents buttons # as well as the scroll wheel. # # Modifiers: # - Alt # - Control # - Shift # - Meta (this is the Windows key on Windows OS, and the Command key on OS/X, and Meta on anything else) # # Keys can be expressed case-insensitively symbolic: # APOSTROPHE, ADD, BACKSLASH, COMMA, DECIMAL, DIVIDE, EQUAL, LEFT_BRACKET, # MINUS, MULTIPLY, PERIOD, RIGHT_BRACKET, SEMICOLON, SLASH, SUBTRACT, SPACE # Enter, Backspace, Tab, Escape, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12, # DownArrow, LeftArrow, RightArrow, UpArrow, Insert, Delete, Home, End, PageUp, PageDown, # Numpad_Divide, Numpad_Multiply, Numpad_Subtract, Numpad_Add, Numpad_Decimal, Numpad_Enter, Numpad_Equal, # Numpad_0, Numpad_1, Numpad_2, Numpad_3, Numpad_4, # Numpad_5, Numpad_6, Numpad_7, Numpad_8, Numpad_9 # or in case of standard characters, just the character. # # Mouse buttons can be one of the following self-explanatory ones: # Left, Middle, Right, WheelUp, WheelDown # # Actions: # - CancelSelection Cancels currently active selection, if any. # - ChangeProfile Changes the profile to the given profile `name`. # - ClearHistoryAndReset Clears the history, performs a terminal hard reset and attempts to force a redraw of the currently running application. # - CopyPreviousMarkRange Copies the most recent range that is delimited by vertical line marks into clipboard. # - CopySelection Copies the current selection into the clipboard buffer. # - DecreaseFontSize Decreases the font size by 1 pixel. # - DecreaseOpacity Decreases the default-background opacity by 5%. # - FocusNextSearchMatch Focuses the next search match (if any). # - FocusPreviousSearchMatch Focuses the next previous match (if any). # - FollowHyperlink Follows the hyperlink that is exposed via OSC 8 under the current cursor position. # - IncreaseFontSize Increases the font size by 1 pixel. # - IncreaseOpacity Increases the default-background opacity by 5%. # - NewTerminal Spawns a new terminal at the current terminals current working directory. # - NoSearchHighlight Disables current search highlighting, if anything is still highlighted due to a prior search. # - OpenConfiguration Opens the configuration file. # - OpenFileManager Opens the current working directory in a system file manager. # - OpenSelection Open the current terminal selection with the default system application (eg; xdg-open) # - PasteClipboard Pastes clipboard to standard input. Pass boolean parameter 'strip' to indicate whether or not to strip repetitive whitespaces down to one and newlines to whitespaces. # - PasteSelection Pastes current selection to standard input. # - Quit Quits the application. # - ReloadConfig Forces a configuration reload. # - ResetConfig Overwrites current configuration with builtin default configuration and loads it. Attention, all your current configuration will be lost due to overwrite! # - ResetFontSize Resets font size to what is configured in the config file. # - ScreenshotVT Takes a screenshot in form of VT escape sequences. # - ScrollDown Scrolls down by the multiplier factor. # - ScrollMarkDown Scrolls one mark down (if none present, bottom of the screen) # - ScrollMarkUp Scrolls one mark up # - ScrollOneDown Scrolls down by exactly one line. # - ScrollOneUp Scrolls up by exactly one line. # - ScrollPageDown Scrolls a page down. # - ScrollPageUp Scrolls a page up. # - ScrollToBottom Scrolls to the bottom of the screen buffer. # - ScrollToTop Scrolls to the top of the screen buffer. # - ScrollUp Scrolls up by the multiplier factor. # - SearchReverse Initiates search mode (starting to search at current cursor position, moving upwards). # - SendChars Writes given characters in `chars` member to the applications input. # - ToggleAllKeyMaps Disables/enables responding to all keybinds (this keybind will be preserved when disabling all others). # - ToggleFullScreen Enables/disables full screen mode. # - ToggleInputProtection Enables/disables terminal input protection. # - ToggleStatusLine Shows/hides the VT320 compatible Indicator status line. # - ToggleTitleBar Shows/Hides titlebar # - TraceBreakAtEmptyQueue Executes any pending VT sequence from the VT sequence buffer in trace mode, then waits. # - TraceEnter Enables trace mode, suspending execution until explicitly requested to continue (See TraceLeave and TraceStep). # - TraceLeave Disables trace mode. Any pending VT sequence will be flushed out and normal execution will be resumed. # - TraceStep Executes a single VT sequence that is to be executed next. # - ViNormalMode Enters/Leaves Vi-like normal mode. The cursor can then be moved via h/j/k/l movements in normal mode and text can be selected via v, yanked via y, and clipboard pasted via p. # - WriteScreen Writes VT sequence in `chars` member to the screen (bypassing the application). input_mapping: - { mods: [Control], mouse: Left, action: FollowHyperlink } - { mods: [], mouse: Middle, action: PasteSelection } - { mods: [], mouse: WheelDown, action: ScrollDown } - { mods: [], mouse: WheelUp, action: ScrollUp } - { mods: [Alt], key: Enter, action: ToggleFullscreen } - { mods: [Alt], mouse: WheelDown, action: DecreaseOpacity } - { mods: [Alt], mouse: WheelUp, action: IncreaseOpacity } - { mods: [Control, Alt], key: S, action: ScreenshotVT } - { mods: [Control, Shift], key: Plus, action: IncreaseFontSize } - { mods: [Control], key: '0', action: ResetFontSize } - { mods: [Control, Shift], key: Minus, action: DecreaseFontSize } - { mods: [Control, Shift], key: '_', action: DecreaseFontSize } - { mods: [Control, Shift], key: N, action: NewTerminal } - { mods: [Control, Shift], key: V, action: PasteClipboard, strip: false } - { mods: [Control, Alt], key: V, action: PasteClipboard, strip: true } - { mods: [Control], key: C, action: CopySelection, mode: 'Select|Insert' } - { mods: [Control], key: C, action: CancelSelection, mode: 'Select|Insert' } - { mods: [Control], key: V, action: PasteClipboard, strip: false, mode: 'Select|Insert' } - { mods: [Control], key: V, action: CancelSelection, mode: 'Select|Insert' } - { mods: [], key: Escape, action: CancelSelection, mode: 'Select|Insert' } - { mods: [Control, Shift], key: Space, action: ViNormalMode, mode: 'Insert' } - { mods: [Control, Shift], key: Comma, action: OpenConfiguration } - { mods: [Control, Shift], key: Q, action: Quit } - { mods: [Control], mouse: WheelDown, action: DecreaseFontSize } - { mods: [Control], mouse: WheelUp, action: IncreaseFontSize } - { mods: [Shift], key: DownArrow, action: ScrollOneDown } - { mods: [Shift], key: End, action: ScrollToBottom } - { mods: [Shift], key: Home, action: ScrollToTop } - { mods: [Shift], key: PageDown, action: ScrollPageDown } - { mods: [Shift], key: PageUp, action: ScrollPageUp } - { mods: [Shift], key: UpArrow, action: ScrollOneUp } - { mods: [Control, Alt], key: K, action: ScrollMarkUp, mode: "~Alt"} - { mods: [Control, Alt], key: J, action: ScrollMarkDown, mode: "~Alt"} - { mods: [Shift], mouse: WheelDown, action: ScrollPageDown } - { mods: [Shift], mouse: WheelUp, action: ScrollPageUp } - { mods: [Control, Alt], key: O, action: OpenFileManager } - { mods: [Control, Alt], key: '.', action: ToggleStatusLine } - { mods: [Control, Shift], key: 'F', action: SearchReverse } - { mods: [Control, Shift], key: 'H', action: NoSearchHighlight } - { mods: [], key: 'F3', action: FocusNextSearchMatch } - { mods: [Shift], key: 'F3', action: FocusPreviousSearchMatch } # - { mods: [Control, Meta], key: 'E', action: TraceEnter, mode: "~Trace" } # - { mods: [Control, Meta], key: 'E', action: TraceLeave, mode: "Trace" } # - { mods: [Control, Meta], key: 'N', action: TraceStep, mode: "Trace" } # - { mods: [Control, Meta], key: 'F', action: TraceBreakAtEmptyQueue, mode: "Trace" }