diff --git a/contour.yml b/contour.yml new file mode 100644 index 0000000..2b7d478 --- /dev/null +++ b/contour.yml @@ -0,0 +1,870 @@ +# 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: main + +# 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: CopyToSelectionClipboard + +# Determines whether the instance is reloading the configuration files whenever it is changing or not. +# +# Default: false +live_config: false + +# 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: "ion" + # 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" + + # 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: + 2026: false + + # 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 + + 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: "MonaspiceXe NF" + + # 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: 0.8 + # 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: "catppuccin_mocha" + + # Hyperlinks (via OSC-8) can be stylized and colorized on hover. + 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' + + # 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: CellForeground + # Specifies the color to be used for the characters that would + # be covered otherwise. + # + # Default: CellBackground + text: CellBackground + + # 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' + + catppuccin_mocha: + # Default colours + default: + background: "#1E1D2E" + foreground: "#D9E0EE" + + # Cursor colour + cursor: + default: "#F5E0DC" + text: "#1E1D2E" + + # Normal colors + normal: + black: "#6E6C7E" + red: "#F28FAD" + green: "#ABE9B3" + yellow: "#FAE3B0" + blue: "#96CDFB" + magenta: "#F5C2E7" + cyan: "#89DCEB" + white: "#C3BAC6" + + # Bright colors + bright: + black: "#988BA2" + red: "#F28FAD" + green: "#ABE9B3" + yellow: "#FAE3B0" + blue: "#96CDFB" + magenta: "#F5C2E7" + cyan: "#89DCEB" + white: "#D9E0EE" +# 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" } diff --git a/custom-fonts/MonaspiceXeNerdFont-Bold.otf b/custom-fonts/MonaspiceXeNerdFont-Bold.otf new file mode 100644 index 0000000..c00509f Binary files /dev/null and b/custom-fonts/MonaspiceXeNerdFont-Bold.otf differ diff --git a/custom-fonts/MonaspiceXeNerdFont-BoldItalic.otf b/custom-fonts/MonaspiceXeNerdFont-BoldItalic.otf new file mode 100644 index 0000000..26c24af Binary files /dev/null and b/custom-fonts/MonaspiceXeNerdFont-BoldItalic.otf differ diff --git a/custom-fonts/MonaspiceXeNerdFont-Italic.otf b/custom-fonts/MonaspiceXeNerdFont-Italic.otf new file mode 100644 index 0000000..68a8a9f Binary files /dev/null and b/custom-fonts/MonaspiceXeNerdFont-Italic.otf differ diff --git a/custom-fonts/MonaspiceXeNerdFont-Medium.otf b/custom-fonts/MonaspiceXeNerdFont-Medium.otf new file mode 100644 index 0000000..4fd2a50 Binary files /dev/null and b/custom-fonts/MonaspiceXeNerdFont-Medium.otf differ diff --git a/custom-fonts/MonaspiceXeNerdFont-MediumItalic.otf b/custom-fonts/MonaspiceXeNerdFont-MediumItalic.otf new file mode 100644 index 0000000..a20c910 Binary files /dev/null and b/custom-fonts/MonaspiceXeNerdFont-MediumItalic.otf differ diff --git a/custom-fonts/MonaspiceXeNerdFont-Regular.otf b/custom-fonts/MonaspiceXeNerdFont-Regular.otf new file mode 100644 index 0000000..f32d394 Binary files /dev/null and b/custom-fonts/MonaspiceXeNerdFont-Regular.otf differ diff --git a/custom-fonts/MonaspiceXeNerdFontMono-Bold.otf b/custom-fonts/MonaspiceXeNerdFontMono-Bold.otf new file mode 100644 index 0000000..307470e Binary files /dev/null and b/custom-fonts/MonaspiceXeNerdFontMono-Bold.otf differ diff --git a/custom-fonts/MonaspiceXeNerdFontMono-BoldItalic.otf b/custom-fonts/MonaspiceXeNerdFontMono-BoldItalic.otf new file mode 100644 index 0000000..681b64e Binary files /dev/null and b/custom-fonts/MonaspiceXeNerdFontMono-BoldItalic.otf differ diff --git a/custom-fonts/MonaspiceXeNerdFontMono-Italic.otf b/custom-fonts/MonaspiceXeNerdFontMono-Italic.otf new file mode 100644 index 0000000..cde097d Binary files /dev/null and b/custom-fonts/MonaspiceXeNerdFontMono-Italic.otf differ diff --git a/custom-fonts/MonaspiceXeNerdFontMono-Medium.otf b/custom-fonts/MonaspiceXeNerdFontMono-Medium.otf new file mode 100644 index 0000000..8a300cf Binary files /dev/null and b/custom-fonts/MonaspiceXeNerdFontMono-Medium.otf differ diff --git a/custom-fonts/MonaspiceXeNerdFontMono-MediumItalic.otf b/custom-fonts/MonaspiceXeNerdFontMono-MediumItalic.otf new file mode 100644 index 0000000..ede5086 Binary files /dev/null and b/custom-fonts/MonaspiceXeNerdFontMono-MediumItalic.otf differ diff --git a/custom-fonts/MonaspiceXeNerdFontMono-Regular.otf b/custom-fonts/MonaspiceXeNerdFontMono-Regular.otf new file mode 100644 index 0000000..c3c5d0c Binary files /dev/null and b/custom-fonts/MonaspiceXeNerdFontMono-Regular.otf differ diff --git a/custom-fonts/MonaspiceXeNerdFontPropo-Bold.otf b/custom-fonts/MonaspiceXeNerdFontPropo-Bold.otf new file mode 100644 index 0000000..085569b Binary files /dev/null and b/custom-fonts/MonaspiceXeNerdFontPropo-Bold.otf differ diff --git a/custom-fonts/MonaspiceXeNerdFontPropo-BoldItalic.otf b/custom-fonts/MonaspiceXeNerdFontPropo-BoldItalic.otf new file mode 100644 index 0000000..4c62f53 Binary files /dev/null and b/custom-fonts/MonaspiceXeNerdFontPropo-BoldItalic.otf differ diff --git a/custom-fonts/MonaspiceXeNerdFontPropo-Italic.otf b/custom-fonts/MonaspiceXeNerdFontPropo-Italic.otf new file mode 100644 index 0000000..36362a8 Binary files /dev/null and b/custom-fonts/MonaspiceXeNerdFontPropo-Italic.otf differ diff --git a/custom-fonts/MonaspiceXeNerdFontPropo-Medium.otf b/custom-fonts/MonaspiceXeNerdFontPropo-Medium.otf new file mode 100644 index 0000000..260717f Binary files /dev/null and b/custom-fonts/MonaspiceXeNerdFontPropo-Medium.otf differ diff --git a/custom-fonts/MonaspiceXeNerdFontPropo-MediumItalic.otf b/custom-fonts/MonaspiceXeNerdFontPropo-MediumItalic.otf new file mode 100644 index 0000000..a2f1bd0 Binary files /dev/null and b/custom-fonts/MonaspiceXeNerdFontPropo-MediumItalic.otf differ diff --git a/custom-fonts/MonaspiceXeNerdFontPropo-Regular.otf b/custom-fonts/MonaspiceXeNerdFontPropo-Regular.otf new file mode 100644 index 0000000..ffee489 Binary files /dev/null and b/custom-fonts/MonaspiceXeNerdFontPropo-Regular.otf differ diff --git a/stowfile b/stowfile index 67030c9..8af04d1 100644 --- a/stowfile +++ b/stowfile @@ -11,9 +11,9 @@ stow: - src: notmuch links: - "${HOME}/.notmuch-config" - - src: kitty + - src: contour.yml links: - - "${confhome}/kitty" + - "${confhome}/contour/contour.yml" - src: bat links: - "${confhome}/bat" diff --git a/sway/config b/sway/config index 6d9d5f4..0e9edec 100644 --- a/sway/config +++ b/sway/config @@ -16,7 +16,7 @@ set $down j set $up k set $right l # Your preferred terminal emulator -set $term kitty +set $term contour # Your preferred application launcher # Note: pass the final command to swaymsg so that the resulting window can be opened # on the original workspace that the command was run on.