diff --git a/common/alacritty/alacritty.fish b/common/alacritty/alacritty.fish deleted file mode 100644 index fdc24ab..0000000 --- a/common/alacritty/alacritty.fish +++ /dev/null @@ -1,31 +0,0 @@ -complete -c alacritty -n "__fish_use_subcommand" -l embed -d 'X11 window ID to embed Alacritty within (decimal or hexadecimal with "0x" prefix)' -r -complete -c alacritty -n "__fish_use_subcommand" -l config-file -d 'Specify alternative configuration file [default: $XDG_CONFIG_HOME/alacritty/alacritty.yml]' -r -F -complete -c alacritty -n "__fish_use_subcommand" -l socket -d 'Path for IPC socket creation' -r -F -complete -c alacritty -n "__fish_use_subcommand" -s o -l option -d 'Override configuration file options [example: cursor.style=Beam]' -r -complete -c alacritty -n "__fish_use_subcommand" -l working-directory -d 'Start the shell in the specified working directory' -r -F -complete -c alacritty -n "__fish_use_subcommand" -s e -l command -d 'Command and args to execute (must be last argument)' -r -complete -c alacritty -n "__fish_use_subcommand" -s t -l title -d 'Defines the window title [default: Alacritty]' -r -complete -c alacritty -n "__fish_use_subcommand" -l class -d 'Defines window class/app_id on X11/Wayland [default: Alacritty]' -r -complete -c alacritty -n "__fish_use_subcommand" -s h -l help -d 'Print help information' -complete -c alacritty -n "__fish_use_subcommand" -s V -l version -d 'Print version information' -complete -c alacritty -n "__fish_use_subcommand" -l print-events -d 'Print all events to stdout' -complete -c alacritty -n "__fish_use_subcommand" -l ref-test -d 'Generates ref test' -complete -c alacritty -n "__fish_use_subcommand" -s q -d 'Reduces the level of verbosity (the min level is -qq)' -complete -c alacritty -n "__fish_use_subcommand" -s v -d 'Increases the level of verbosity (the max level is -vvv)' -complete -c alacritty -n "__fish_use_subcommand" -l hold -d 'Remain open after child process exit' -complete -c alacritty -n "__fish_use_subcommand" -f -a "msg" -d 'Send a message to the Alacritty socket' -complete -c alacritty -n "__fish_use_subcommand" -f -a "help" -d 'Print this message or the help of the given subcommand(s)' -complete -c alacritty -n "__fish_seen_subcommand_from msg; and not __fish_seen_subcommand_from create-window; and not __fish_seen_subcommand_from config; and not __fish_seen_subcommand_from help" -s s -l socket -d 'IPC socket connection path override' -r -F -complete -c alacritty -n "__fish_seen_subcommand_from msg; and not __fish_seen_subcommand_from create-window; and not __fish_seen_subcommand_from config; and not __fish_seen_subcommand_from help" -s h -l help -d 'Print help information' -complete -c alacritty -n "__fish_seen_subcommand_from msg; and not __fish_seen_subcommand_from create-window; and not __fish_seen_subcommand_from config; and not __fish_seen_subcommand_from help" -f -a "create-window" -d 'Create a new window in the same Alacritty process' -complete -c alacritty -n "__fish_seen_subcommand_from msg; and not __fish_seen_subcommand_from create-window; and not __fish_seen_subcommand_from config; and not __fish_seen_subcommand_from help" -f -a "config" -d 'Update the Alacritty configuration' -complete -c alacritty -n "__fish_seen_subcommand_from msg; and not __fish_seen_subcommand_from create-window; and not __fish_seen_subcommand_from config; and not __fish_seen_subcommand_from help" -f -a "help" -d 'Print this message or the help of the given subcommand(s)' -complete -c alacritty -n "__fish_seen_subcommand_from msg; and __fish_seen_subcommand_from create-window" -l working-directory -d 'Start the shell in the specified working directory' -r -F -complete -c alacritty -n "__fish_seen_subcommand_from msg; and __fish_seen_subcommand_from create-window" -s e -l command -d 'Command and args to execute (must be last argument)' -r -complete -c alacritty -n "__fish_seen_subcommand_from msg; and __fish_seen_subcommand_from create-window" -s t -l title -d 'Defines the window title [default: Alacritty]' -r -complete -c alacritty -n "__fish_seen_subcommand_from msg; and __fish_seen_subcommand_from create-window" -l class -d 'Defines window class/app_id on X11/Wayland [default: Alacritty]' -r -complete -c alacritty -n "__fish_seen_subcommand_from msg; and __fish_seen_subcommand_from create-window" -l hold -d 'Remain open after child process exit' -complete -c alacritty -n "__fish_seen_subcommand_from msg; and __fish_seen_subcommand_from create-window" -s h -l help -d 'Print help information' -complete -c alacritty -n "__fish_seen_subcommand_from msg; and __fish_seen_subcommand_from config" -s w -l window-id -d 'Window ID for the new config' -r -complete -c alacritty -n "__fish_seen_subcommand_from msg; and __fish_seen_subcommand_from config" -s r -l reset -d 'Clear all runtime configuration changes' -complete -c alacritty -n "__fish_seen_subcommand_from msg; and __fish_seen_subcommand_from config" -s h -l help -d 'Print help information' diff --git a/common/alacritty/alacritty.yml b/common/alacritty/alacritty.yml deleted file mode 100644 index 7038ef2..0000000 --- a/common/alacritty/alacritty.yml +++ /dev/null @@ -1,747 +0,0 @@ -import: - - ~/.alacritty-colorscheme/themes/thelovelace.yaml -env: {} -window: - dynamic_padding: false - padding: - x: 10 - y: 10 - - class: - instance: Alacritty - general: Alacritty - -scrolling: - history: 1000 - -font: - normal: - family: IosevkaLyteTerm Nerd Font - style: Regular - bold: - family: IosevkaLyteTerm Nerd Font - style: Heavy - italic: - family: IosevkaLyteTerm Nerd Font - style: Italic - bold_italic: - family: IosevkaLyteTerm Nerd Font - style: Bold Italic - size: 12.5 - offset: - x: 0 - y: 0 - glyph_offset: - x: 0 - y: 0 - builtin_box_drawing: false -draw_bold_text_with_bright_colors: false - -#colors: - # Default colors - #primary: - # background: '#1d1f21' - # foreground: '#c5c8c6' - - # Bright and dim foreground colors - # - # The dimmed foreground color is calculated automatically if it is not - # present. If the bright foreground color is not set, or - # `draw_bold_text_with_bright_colors` is `false`, the normal foreground - # color will be used. - #dim_foreground: '#828482' - #bright_foreground: '#eaeaea' - - # Cursor colors - # - # Colors which should be used to draw the terminal cursor. - # - # Allowed values are CellForeground/CellBackground, which reference the - # affected cell, or hexadecimal colors like #ff00ff. - #cursor: - # text: CellBackground - # cursor: CellForeground - - # Vi mode cursor colors - # - # Colors for the cursor when the vi mode is active. - # - # Allowed values are CellForeground/CellBackground, which reference the - # affected cell, or hexadecimal colors like #ff00ff. - #vi_mode_cursor: - # text: CellBackground - # cursor: CellForeground - - # Search colors - # - # Colors used for the search bar and match highlighting. - #search: - # Allowed values are CellForeground/CellBackground, which reference the - # affected cell, or hexadecimal colors like #ff00ff. - #matches: - # foreground: '#000000' - # background: '#ffffff' - #focused_match: - # foreground: '#ffffff' - # background: '#000000' - - # Keyboard hints - #hints: - # First character in the hint label - # - # Allowed values are CellForeground/CellBackground, which reference the - # affected cell, or hexadecimal colors like #ff00ff. - #start: - # foreground: '#1d1f21' - # background: '#e9ff5e' - - # All characters after the first one in the hint label - # - # Allowed values are CellForeground/CellBackground, which reference the - # affected cell, or hexadecimal colors like #ff00ff. - #end: - # foreground: '#e9ff5e' - # background: '#1d1f21' - - # Line indicator - # - # Color used for the indicator displaying the position in history during - # search and vi mode. - # - # By default, these will use the opposing primary color. - #line_indicator: - # foreground: None - # background: None - - # Footer bar - # - # Color used for the footer bar on the bottom, used by search regex input, - # hyperlink URI preview, etc. - # - #footer_bar: - # background: '#c5c8c6' - # foreground: '#1d1f21' - - # Selection colors - # - # Colors which should be used to draw the selection area. - # - # Allowed values are CellForeground/CellBackground, which reference the - # affected cell, or hexadecimal colors like #ff00ff. - #selection: - # text: CellBackground - # background: CellForeground - - # Normal colors - #normal: - # black: '#1d1f21' - # red: '#cc6666' - # green: '#b5bd68' - # yellow: '#f0c674' - # blue: '#81a2be' - # magenta: '#b294bb' - # cyan: '#8abeb7' - # white: '#c5c8c6' - - # Bright colors - #bright: - # black: '#666666' - # red: '#d54e53' - # green: '#b9ca4a' - # yellow: '#e7c547' - # blue: '#7aa6da' - # magenta: '#c397d8' - # cyan: '#70c0b1' - # white: '#eaeaea' - - # Dim colors - # - # If the dim colors are not set, they will be calculated automatically based - # on the `normal` colors. - #dim: - # black: '#131415' - # red: '#864343' - # green: '#777c44' - # yellow: '#9e824c' - # blue: '#556a7d' - # magenta: '#75617b' - # cyan: '#5b7d78' - # white: '#828482' - - # Indexed Colors - # - # The indexed colors include all colors from 16 to 256. - # When these are not set, they're filled with sensible defaults. - # - # Example: - # `- { index: 16, color: '#ff00ff' }` - # - #indexed_colors: [] - - # Transparent cell backgrounds - # - # Whether or not `window.opacity` applies to all cell backgrounds or only to - # the default background. When set to `true` all cells will be transparent - # regardless of their background color. - #transparent_background_colors: false - -# Bell -# -# The bell is rung every time the BEL control character is received. -#bell: - # Visual Bell Animation - # - # Animation effect for flashing the screen when the visual bell is rung. - # - # Values for `animation`: - # - Ease - # - EaseOut - # - EaseOutSine - # - EaseOutQuad - # - EaseOutCubic - # - EaseOutQuart - # - EaseOutQuint - # - EaseOutExpo - # - EaseOutCirc - # - Linear - #animation: EaseOutExpo - - # Duration of the visual bell flash in milliseconds. A `duration` of `0` will - # disable the visual bell animation. - #duration: 0 - - # Visual bell animation color. - #color: '#ffffff' - - # Bell Command - # - # This program is executed whenever the bell is rung. - # - # When set to `command: None`, no command will be executed. - # - # Example: - # command: - # program: notify-send - # args: ["Hello, World!"] - # - #command: None - -#selection: - # This string contains all characters that are used as separators for - # "semantic words" in Alacritty. - #semantic_escape_chars: ",│`|:\"' ()[]{}<>\t" - - # When set to `true`, selected text will be copied to the primary clipboard. - #save_to_clipboard: false - -#cursor: - # Cursor style - #style: - # Cursor shape - # - # Values for `shape`: - # - ▇ Block - # - _ Underline - # - | Beam - #shape: Block - - # Cursor blinking state - # - # Values for `blinking`: - # - Never: Prevent the cursor from ever blinking - # - Off: Disable blinking by default - # - On: Enable blinking by default - # - Always: Force the cursor to always blink - #blinking: Off - - # Vi mode cursor style - # - # If the vi mode cursor style is `None` or not specified, it will fall back to - # the style of the active value of the normal cursor. - # - # See `cursor.style` for available options. - #vi_mode_style: None - - # Cursor blinking interval in milliseconds. - #blink_interval: 750 - - # Time after which cursor stops blinking, in seconds. - # - # Specifying '0' will disable timeout for blinking. - #blink_timeout: 5 - - # If this is `true`, the cursor will be rendered as a hollow box when the - # window is not focused. - #unfocused_hollow: true - - # Thickness of the cursor relative to the cell width as floating point number - # from `0.0` to `1.0`. - #thickness: 0.15 - -# Live config reload (changes require restart) -#live_config_reload: true - -# Shell -# -# You can set `shell.program` to the path of your favorite shell, e.g. -# `/bin/fish`. Entries in `shell.args` are passed unmodified as arguments to the -# shell. -# -# Default: -# - (Linux/BSD/macOS) `$SHELL` or the user's login shell, if `$SHELL` is unset -# - (Windows) powershell -#shell: -# program: /bin/bash -# args: -# - --login - -# Startup directory -# -# Directory the shell is started in. If this is unset, or `None`, the working -# directory of the parent process will be used. -#working_directory: None - -# Send ESC (\x1b) before characters when alt is pressed. -#alt_send_esc: true - -# Offer IPC using `alacritty msg` (unix only) -#ipc_socket: true - -#mouse: - # Click settings - # - # The `double_click` and `triple_click` settings control the time - # alacritty should wait for accepting multiple clicks as one double - # or triple click. - #double_click: { threshold: 300 } - #triple_click: { threshold: 300 } - - # If this is `true`, the cursor is temporarily hidden when typing. - #hide_when_typing: false - -# Hints -# -# Terminal hints can be used to find text or hyperlink in the visible part of -# the terminal and pipe it to other applications. -#hints: - # Keys used for the hint labels. - #alphabet: "jfkdls;ahgurieowpq" - - # List with all available hints - # - # Each hint must have any of `regex` or `hyperlinks` field and either an - # `action` or a `command` field. The fields `mouse`, `binding` and - # `post_processing` are optional. - # - # The `hyperlinks` option will cause OSC 8 escape sequence hyperlinks to be - # highlighted. - # - # The fields `command`, `binding.key`, `binding.mods`, `binding.mode` and - # `mouse.mods` accept the same values as they do in the `key_bindings` section. - # - # The `mouse.enabled` field controls if the hint should be underlined while - # the mouse with all `mouse.mods` keys held or the vi mode cursor is above it. - # - # If the `post_processing` field is set to `true`, heuristics will be used to - # shorten the match if there are characters likely not to be part of the hint - # (e.g. a trailing `.`). This is most useful for URIs and applies only to - # `regex` matches. - # - # Values for `action`: - # - Copy - # Copy the hint's text to the clipboard. - # - Paste - # Paste the hint's text to the terminal or search. - # - Select - # Select the hint's text. - # - MoveViModeCursor - # Move the vi mode cursor to the beginning of the hint. - #enabled: - # - regex: "(ipfs:|ipns:|magnet:|mailto:|gemini:|gopher:|https:|http:|news:|file:|git:|ssh:|ftp:)\ - # [^\u0000-\u001F\u007F-\u009F<>\"\\s{-}\\^⟨⟩`]+" - # hyperlinks: true - # command: xdg-open - # post_processing: true - # mouse: - # enabled: true - # mods: None - # binding: - # key: U - # mods: Control|Shift - -# Mouse bindings -# -# Mouse bindings are specified as a list of objects, much like the key -# bindings further below. -# -# To trigger mouse bindings when an application running within Alacritty -# captures the mouse, the `Shift` modifier is automatically added as a -# requirement. -# -# Each mouse binding will specify a: -# -# - `mouse`: -# -# - Middle -# - Left -# - Right -# - Numeric identifier such as `5` -# -# - `action` (see key bindings for actions not exclusive to mouse mode) -# -# - Mouse exclusive actions: -# -# - ExpandSelection -# Expand the selection to the current mouse cursor location. -# -# And optionally: -# -# - `mods` (see key bindings) -#mouse_bindings: -# - { mouse: Right, action: ExpandSelection } -# - { mouse: Right, mods: Control, action: ExpandSelection } -# - { mouse: Middle, mode: ~Vi, action: PasteSelection } - -# Key bindings -# -# Key bindings are specified as a list of objects. For example, this is the -# default paste binding: -# -# `- { key: V, mods: Control|Shift, action: Paste }` -# -# Each key binding will specify a: -# -# - `key`: Identifier of the key pressed -# -# - A-Z -# - F1-F24 -# - Key0-Key9 -# -# A full list with available key codes can be found here: -# https://docs.rs/glutin/*/glutin/event/enum.VirtualKeyCode.html#variants -# -# Instead of using the name of the keys, the `key` field also supports using -# the scancode of the desired key. Scancodes have to be specified as a -# decimal number. This command will allow you to display the hex scancodes -# for certain keys: -# -# `showkey --scancodes`. -# -# Then exactly one of: -# -# - `chars`: Send a byte sequence to the running application -# -# The `chars` field writes the specified string to the terminal. This makes -# it possible to pass escape sequences. To find escape codes for bindings -# like `PageUp` (`"\x1b[5~"`), you can run the command `showkey -a` outside -# of tmux. Note that applications use terminfo to map escape sequences back -# to keys. It is therefore required to update the terminfo when changing an -# escape sequence. -# -# - `action`: Execute a predefined action -# -# - ToggleViMode -# - SearchForward -# Start searching toward the right of the search origin. -# - SearchBackward -# Start searching toward the left of the search origin. -# - Copy -# - Paste -# - IncreaseFontSize -# - DecreaseFontSize -# - ResetFontSize -# - ScrollPageUp -# - ScrollPageDown -# - ScrollHalfPageUp -# - ScrollHalfPageDown -# - ScrollLineUp -# - ScrollLineDown -# - ScrollToTop -# - ScrollToBottom -# - ClearHistory -# Remove the terminal's scrollback history. -# - Hide -# Hide the Alacritty window. -# - Minimize -# Minimize the Alacritty window. -# - Quit -# Quit Alacritty. -# - ToggleFullscreen -# - SpawnNewInstance -# Spawn a new instance of Alacritty. -# - CreateNewWindow -# Create a new Alacritty window from the current process. -# - ClearLogNotice -# Clear Alacritty's UI warning and error notice. -# - ClearSelection -# Remove the active selection. -# - ReceiveChar -# - None -# -# - Vi mode exclusive actions: -# -# - Open -# Perform the action of the first matching hint under the vi mode cursor -# with `mouse.enabled` set to `true`. -# - ToggleNormalSelection -# - ToggleLineSelection -# - ToggleBlockSelection -# - ToggleSemanticSelection -# Toggle semantic selection based on `selection.semantic_escape_chars`. -# - CenterAroundViCursor -# Center view around vi mode cursor -# -# - Vi mode exclusive cursor motion actions: -# -# - Up -# One line up. -# - Down -# One line down. -# - Left -# One character left. -# - Right -# One character right. -# - First -# First column, or beginning of the line when already at the first column. -# - Last -# Last column, or beginning of the line when already at the last column. -# - FirstOccupied -# First non-empty cell in this terminal row, or first non-empty cell of -# the line when already at the first cell of the row. -# - High -# Top of the screen. -# - Middle -# Center of the screen. -# - Low -# Bottom of the screen. -# - SemanticLeft -# Start of the previous semantically separated word. -# - SemanticRight -# Start of the next semantically separated word. -# - SemanticLeftEnd -# End of the previous semantically separated word. -# - SemanticRightEnd -# End of the next semantically separated word. -# - WordLeft -# Start of the previous whitespace separated word. -# - WordRight -# Start of the next whitespace separated word. -# - WordLeftEnd -# End of the previous whitespace separated word. -# - WordRightEnd -# End of the next whitespace separated word. -# - Bracket -# Character matching the bracket at the cursor's location. -# - SearchNext -# Beginning of the next match. -# - SearchPrevious -# Beginning of the previous match. -# - SearchStart -# Start of the match to the left of the vi mode cursor. -# - SearchEnd -# End of the match to the right of the vi mode cursor. -# -# - Search mode exclusive actions: -# - SearchFocusNext -# Move the focus to the next search match. -# - SearchFocusPrevious -# Move the focus to the previous search match. -# - SearchConfirm -# - SearchCancel -# - SearchClear -# Reset the search regex. -# - SearchDeleteWord -# Delete the last word in the search regex. -# - SearchHistoryPrevious -# Go to the previous regex in the search history. -# - SearchHistoryNext -# Go to the next regex in the search history. -# -# - macOS exclusive actions: -# - ToggleSimpleFullscreen -# Enter fullscreen without occupying another space. -# -# - Linux/BSD exclusive actions: -# -# - CopySelection -# Copy from the selection buffer. -# - PasteSelection -# Paste from the selection buffer. -# -# - `command`: Fork and execute a specified command plus arguments -# -# The `command` field must be a map containing a `program` string and an -# `args` array of command line parameter strings. For example: -# `{ program: "alacritty", args: ["-e", "vttest"] }` -# -# And optionally: -# -# - `mods`: Key modifiers to filter binding actions -# -# - Command -# - Control -# - Option -# - Super -# - Shift -# - Alt -# -# Multiple `mods` can be combined using `|` like this: -# `mods: Control|Shift`. -# Whitespace and capitalization are relevant and must match the example. -# -# - `mode`: Indicate a binding for only specific terminal reported modes -# -# This is mainly used to send applications the correct escape sequences -# when in different modes. -# -# - AppCursor -# - AppKeypad -# - Search -# - Alt -# - Vi -# -# A `~` operator can be used before a mode to apply the binding whenever -# the mode is *not* active, e.g. `~Alt`. -# -# Bindings are always filled by default, but will be replaced when a new -# binding with the same triggers is defined. To unset a default binding, it can -# be mapped to the `ReceiveChar` action. Alternatively, you can use `None` for -# a no-op if you do not wish to receive input characters for that binding. -# -# If the same trigger is assigned to multiple actions, all of them are executed -# in the order they were defined in. -#key_bindings: - #- { key: Paste, action: Paste } - #- { key: Copy, action: Copy } - #- { key: L, mods: Control, action: ClearLogNotice } - #- { key: L, mods: Control, mode: ~Vi|~Search, chars: "\x0c" } - #- { key: PageUp, mods: Shift, mode: ~Alt, action: ScrollPageUp } - #- { key: PageDown, mods: Shift, mode: ~Alt, action: ScrollPageDown } - #- { key: Home, mods: Shift, mode: ~Alt, action: ScrollToTop } - #- { key: End, mods: Shift, mode: ~Alt, action: ScrollToBottom } - - # Vi Mode - #- { key: Space, mods: Shift|Control, mode: ~Search, action: ToggleViMode } - #- { key: Space, mods: Shift|Control, mode: Vi|~Search, action: ScrollToBottom } - #- { key: Escape, mode: Vi|~Search, action: ClearSelection } - #- { key: I, mode: Vi|~Search, action: ToggleViMode } - #- { key: I, mode: Vi|~Search, action: ScrollToBottom } - #- { key: C, mods: Control, mode: Vi|~Search, action: ToggleViMode } - #- { key: Y, mods: Control, mode: Vi|~Search, action: ScrollLineUp } - #- { key: E, mods: Control, mode: Vi|~Search, action: ScrollLineDown } - #- { key: G, mode: Vi|~Search, action: ScrollToTop } - #- { key: G, mods: Shift, mode: Vi|~Search, action: ScrollToBottom } - #- { key: B, mods: Control, mode: Vi|~Search, action: ScrollPageUp } - #- { key: F, mods: Control, mode: Vi|~Search, action: ScrollPageDown } - #- { key: U, mods: Control, mode: Vi|~Search, action: ScrollHalfPageUp } - #- { key: D, mods: Control, mode: Vi|~Search, action: ScrollHalfPageDown } - #- { key: Y, mode: Vi|~Search, action: Copy } - #- { key: Y, mode: Vi|~Search, action: ClearSelection } - #- { key: Copy, mode: Vi|~Search, action: ClearSelection } - #- { key: V, mode: Vi|~Search, action: ToggleNormalSelection } - #- { key: V, mods: Shift, mode: Vi|~Search, action: ToggleLineSelection } - #- { key: V, mods: Control, mode: Vi|~Search, action: ToggleBlockSelection } - #- { key: V, mods: Alt, mode: Vi|~Search, action: ToggleSemanticSelection } - #- { key: Return, mode: Vi|~Search, action: Open } - #- { key: Z, mode: Vi|~Search, action: CenterAroundViCursor } - #- { key: K, mode: Vi|~Search, action: Up } - #- { key: J, mode: Vi|~Search, action: Down } - #- { key: H, mode: Vi|~Search, action: Left } - #- { key: L, mode: Vi|~Search, action: Right } - #- { key: Up, mode: Vi|~Search, action: Up } - #- { key: Down, mode: Vi|~Search, action: Down } - #- { key: Left, mode: Vi|~Search, action: Left } - #- { key: Right, mode: Vi|~Search, action: Right } - #- { key: Key0, mode: Vi|~Search, action: First } - #- { key: Key4, mods: Shift, mode: Vi|~Search, action: Last } - #- { key: Key6, mods: Shift, mode: Vi|~Search, action: FirstOccupied } - #- { key: H, mods: Shift, mode: Vi|~Search, action: High } - #- { key: M, mods: Shift, mode: Vi|~Search, action: Middle } - #- { key: L, mods: Shift, mode: Vi|~Search, action: Low } - #- { key: B, mode: Vi|~Search, action: SemanticLeft } - #- { key: W, mode: Vi|~Search, action: SemanticRight } - #- { key: E, mode: Vi|~Search, action: SemanticRightEnd } - #- { key: B, mods: Shift, mode: Vi|~Search, action: WordLeft } - #- { key: W, mods: Shift, mode: Vi|~Search, action: WordRight } - #- { key: E, mods: Shift, mode: Vi|~Search, action: WordRightEnd } - #- { key: Key5, mods: Shift, mode: Vi|~Search, action: Bracket } - #- { key: Slash, mode: Vi|~Search, action: SearchForward } - #- { key: Slash, mods: Shift, mode: Vi|~Search, action: SearchBackward } - #- { key: N, mode: Vi|~Search, action: SearchNext } - #- { key: N, mods: Shift, mode: Vi|~Search, action: SearchPrevious } - - # Search Mode - #- { key: Return, mode: Search|Vi, action: SearchConfirm } - #- { key: Escape, mode: Search, action: SearchCancel } - #- { key: C, mods: Control, mode: Search, action: SearchCancel } - #- { key: U, mods: Control, mode: Search, action: SearchClear } - #- { key: W, mods: Control, mode: Search, action: SearchDeleteWord } - #- { key: P, mods: Control, mode: Search, action: SearchHistoryPrevious } - #- { key: N, mods: Control, mode: Search, action: SearchHistoryNext } - #- { key: Up, mode: Search, action: SearchHistoryPrevious } - #- { key: Down, mode: Search, action: SearchHistoryNext } - #- { key: Return, mode: Search|~Vi, action: SearchFocusNext } - #- { key: Return, mods: Shift, mode: Search|~Vi, action: SearchFocusPrevious } - - # (Windows, Linux, and BSD only) - #- { key: V, mods: Control|Shift, mode: ~Vi, action: Paste } - #- { key: C, mods: Control|Shift, action: Copy } - #- { key: F, mods: Control|Shift, mode: ~Search, action: SearchForward } - #- { key: B, mods: Control|Shift, mode: ~Search, action: SearchBackward } - #- { key: C, mods: Control|Shift, mode: Vi|~Search, action: ClearSelection } - #- { key: Insert, mods: Shift, action: PasteSelection } - #- { key: Key0, mods: Control, action: ResetFontSize } - #- { key: Equals, mods: Control, action: IncreaseFontSize } - #- { key: Plus, mods: Control, action: IncreaseFontSize } - #- { key: NumpadAdd, mods: Control, action: IncreaseFontSize } - #- { key: Minus, mods: Control, action: DecreaseFontSize } - #- { key: NumpadSubtract, mods: Control, action: DecreaseFontSize } - - # (Windows only) - #- { key: Return, mods: Alt, action: ToggleFullscreen } - - # (macOS only) - #- { key: K, mods: Command, mode: ~Vi|~Search, chars: "\x0c" } - #- { key: K, mods: Command, mode: ~Vi|~Search, action: ClearHistory } - #- { key: Key0, mods: Command, action: ResetFontSize } - #- { key: Equals, mods: Command, action: IncreaseFontSize } - #- { key: Plus, mods: Command, action: IncreaseFontSize } - #- { key: NumpadAdd, mods: Command, action: IncreaseFontSize } - #- { key: Minus, mods: Command, action: DecreaseFontSize } - #- { key: NumpadSubtract, mods: Command, action: DecreaseFontSize } - #- { key: V, mods: Command, action: Paste } - #- { key: C, mods: Command, action: Copy } - #- { key: C, mods: Command, mode: Vi|~Search, action: ClearSelection } - #- { key: H, mods: Command, action: Hide } - #- { key: H, mods: Command|Alt, action: HideOtherApplications } - #- { key: M, mods: Command, action: Minimize } - #- { key: Q, mods: Command, action: Quit } - #- { key: W, mods: Command, action: Quit } - #- { key: N, mods: Command, action: SpawnNewInstance } - #- { key: F, mods: Command|Control, action: ToggleFullscreen } - #- { key: F, mods: Command, mode: ~Search, action: SearchForward } - #- { key: B, mods: Command, mode: ~Search, action: SearchBackward } - -#debug: - # Display the time it takes to redraw each frame. - #render_timer: false - - # Keep the log file after quitting Alacritty. - #persistent_logging: false - - # Log level - # - # Values for `log_level`: - # - Off - # - Error - # - Warn - # - Info - # - Debug - # - Trace - #log_level: Warn - - # Print all received window events. - #print_events: false - - # Highlight window damage information. - #highlight_damage: false diff --git a/common/emacs/.gitignore b/common/emacs/.gitignore deleted file mode 100644 index 6efb982..0000000 --- a/common/emacs/.gitignore +++ /dev/null @@ -1,6 +0,0 @@ -/auto-save-list -/elpa -/backup - -# This is quite silly. Setup a -*~ diff --git a/common/emacs/config.org b/common/emacs/config.org deleted file mode 100644 index cfe867e..0000000 --- a/common/emacs/config.org +++ /dev/null @@ -1,181 +0,0 @@ -#+TITLE: emacs config -#+AUTHOR: Daniel "lytedev" Flanagan -#+EMAIL: daniel@lyte.dev - -I have very little idea what I'm doing. Here goes! - -* Meta - -User information. - -#+begin_src -(setq user-full-name "Daniel Flanagan" - user-mail-address "daniel@lyte.dev" - calendar-location-name "Kansas City, MO") -#+end_src - -* Package Setup - -Make sure packages in use are installed. - -#+begin_src emacs-lisp -(require 'use-package-ensure) -(setq use-package-always-ensure t) -#+end_src - -... and that we compile them. - -#+begin_src emacs-lisp -(use-package auto-compile :config (auto-compile-on-load-mode)) -(setq load-prefer-newer t) -#+end_src - -* Setup a text editor - -Get vimmy with it. - -#+begin_src emacs-lisp -(setq evil-want-abbrev-expand-on-insert-exit nil) -(setq evil-want-keybinding nil) - -(use-package evil - :config - (evil-mode 1)) - -(use-package evil-collection - :after evil) - -(use-package evil-surround - :config - (global-evil-surround-mode 1)) - -(use-package evil-org - :after org - :config - (add-hook 'org-mode-hook 'evil-org-mode) - (add-hook 'evil-org-mode-hook - (lambda () (evil-org-set-key-theme))) - (require 'evil-org-agenda) - (evil-org-agenda-set-keys)) -#+end_src - -Map the `jk` chord to escape. - -#+begin_src emacs-lisp -(use-package key-chord :after evil) -(key-chord-mode 1) -(key-chord-define evil-insert-state-map "jk" 'evil-normal-state) -#+end_src - -And so that I can iterate quickly while writing this, setup the chord `r` to reload my config. - -#+begin_src emacs-lisp -(defun lytedev/reload-config () - (interactive) - (load-file "~/.emacs.d/init.el")) -(global-set-key (kbd "C-x M-r") 'lytedev/reload-config) -#+end_src - -Kill GUI elements unnecessary for my usage. - -#+begin_src emacs-lisp -(tool-bar-mode 0) -(menu-bar-mode 1) ;; Keep the menu while I'm a newb. -(scroll-bar-mode -1) -#+end_src - -Kill minibuffer scroll bars. - -#+begin_src emacs-lisp -(set-window-scroll-bars (minibuffer-window) nil nil) -#+end_src - -** Editor - -Setup a decent theme. - -#+begin_src emacs-lisp -(use-package monokai-theme) -(let ((line (face-attribute 'mode-line :underline))) - (set-face-attribute 'mode-line nil :overline line) - (set-face-attribute 'mode-line-inactive nil :overline line) - (set-face-attribute 'mode-line-inactive nil :underline nil) - (set-face-attribute 'mode-line nil :box nil) - (set-face-attribute 'mode-line-inactive nil :box nil) - (set-face-attribute 'mode-line-inactive nil :background "#f9f2d9")) - -(defun lytedev/apply-theme () - (interactive) - (load-theme 'monokai t)) -#+end_src - -... and make it work in daemon mode. - -#+begin_src emacs-lisp -;; (if (daemonp) -;; (add-hook 'after-make-frame-functions (lambda (frame) (with-selected-frame frame -#+end_src - -Setup a pretty modeline. - -#+begin_src emacs-lisp -(use-package moody - :config - (setq x-underline-at-descent-line t) - (moody-replace-mode-line-buffer-identification) - (moody-replace-vc-mode)) -#+end_src - -Setup the best font and bindings to adjust its size on the fly. - -#+begin_src emacs-lisp -(setq lytedev/default-font "Iosevka Type") -(setq lytedev/default-font-size 10) -(setq lytedev/min-font-size 4) -(setq lytedev/current-font-size lytedev/default-font-size) - -(setq lytedev/font-change-increment 1.1) - -(defun lytedev/font-code () - (concat lytedev/default-font "-" (number-to-string lytedev/current-font-size))) - -(defun lytedev/set-font-size () - (let ((font-code (lytedev/font-code))) - (if (assoc 'font default-frame-alist) - (setcdr (assoc 'font default-frame-alist) font-code) - (add-to-list 'default-frame-alist (cons 'font font-code))) - (set-frame-font font-code))) - -(defun lytedev/reset-font-size () - (interactive) - (setq lytedev/current-font-size lytedev/default-font-size) - (lytedev/set-font-size)) - -(defun lytedev/increase-font-size () - (interactive) - (setq lytedev/current-font-size (ceiling (* lytedev/current-font-size lytedev/font-change-increment))) - (lytedev/set-font-size)) - -(defun lytedev/decrease-font-size () - (interactive) - (setq lytedev/current-font-size (max lytedev/min-font-size (floor (/ lytedev/current-font-size lytedev/font-change-increment)))) - (lytedev/set-font-size)) - -(define-key global-map (kbd "C-+") 'lytedev/increase-font-size) -(define-key global-map (kbd "C--") 'lytedev/decrease-font-size) -(define-key global-map (kbd "C-0") 'lytedev/reset-font-size) -#+end_src - -** Misc - -NOTE: What exactly does this get me? - -#+begin_src emacs-lisp -;; NOTE: I have no clue what this does... yet. -(global-prettify-symbols-mode t) -#+end_src - -* To Do - -1. Setup theme -2. Setup an editor diff --git a/common/emacs/init.el b/common/emacs/init.el deleted file mode 100644 index 1fda508..0000000 --- a/common/emacs/init.el +++ /dev/null @@ -1,14 +0,0 @@ -;; Setup package archives. -(require 'package) -(add-to-list 'package-archives '("gnu" . "https://elpa.gnu.org/packages/") t) -(add-to-list 'package-archives '("melpa" . "https://melpa.org/packages/") t) -(add-to-list 'package-archives '("org" . "https://orgmode.org/elpa/") t) -(package-initialize) - -;; Setup `use-package`. -(when (not (package-installed-p 'use-package)) - (package-refresh-contents) - (package-install 'use-package)) - -;; Load the bulk of our configuration from a fancy org file. -(org-babel-load-file "~/.emacs.d/config.org") diff --git a/common/fish/config.fish b/common/fish/config.fish index 2d4ce7e..0d6cc64 100755 --- a/common/fish/config.fish +++ b/common/fish/config.fish @@ -60,5 +60,6 @@ end # end if status is-interactive; and not set -q TMUX; and not string match '/dev/tty*' (tty) - tmux att -t default || tmux new -s default + true + # tmux att -t default || tmux new -s default end \ No newline at end of file diff --git a/common/helix/config.toml b/common/helix/config.toml index 045f365..27df4f8 100644 --- a/common/helix/config.toml +++ b/common/helix/config.toml @@ -1,4 +1,4 @@ -theme = "donokai" +theme = "catppuccin_mocha" [editor] auto-pairs = false diff --git a/common/helix/oldlang b/common/helix/oldlang deleted file mode 100644 index f08cf9c..0000000 --- a/common/helix/oldlang +++ /dev/null @@ -1,10 +0,0 @@ -[[language]] -name = "typescript" -scope = "source.ts" -injection-regex = "^(ts|typescript)$" -file-types = ["ts"] -shebangs = [] -roots = [] -# TODO: highlights-params -language-server = { command = "deno", args = ["lsp"], language-id = "typescript"} -indent = { tab-width = 2, unit = " " } \ No newline at end of file diff --git a/common/helix/themes/donokai.toml b/common/helix/themes/donokai.toml deleted file mode 100644 index 6972c3b..0000000 --- a/common/helix/themes/donokai.toml +++ /dev/null @@ -1,88 +0,0 @@ -"namespace" = { fg = "yellow" } -"module" = { fg = "yellow" } - -"type" = { fg = "cyan" } -"type.builtin" = { fg = "cyan" } -"type.enum.variant" = { fg = "white" } -"constructor" = { fg = "white" } -"variable.other.member" = { fg = "white" } - -"keyword" = { fg = "blue" } -"keyword.directive" = { fg = "blue" } -"keyword.control" = { fg = "blue" } -"label" = { fg = "blue" } - -"special" = { fg = "blue" } -"operator" = { fg = "magenta" } - -"punctuation" = { fg = "white" } -"punctuation.delimiter" = { fg = "white" } - -"variable" = { fg = "white" } -"variable.parameter" = { fg = "white" } -"variable.builtin" = { fg = "blue" } -"constant" = { fg = "red" } -"constant.builtin" = { fg = "red" } - -"function" = { fg = "green" } -"function.builtin" = { fg = "green" } -"function.macro" = { fg = "green" } -"attribute" = { fg = "green" } - -"comment" = { fg = "gray" } -"ui.virtual" = "gray" -# "ui.virtual.ruler" = { bg = "#333333" } - -"string" = { fg = "yellow" } -"constant.character" = { fg = "yellow" } -"string.regexp" = { fg = "yellow" } -"constant.numeric" = { fg = "blue" } -"constant.character.escape" = { fg = "blue" } - -"markup.heading" = "Cyan" -"markup.list" = "red" -"markup.bold" = { fg = "yellow", modifiers = ["bold"] } -"markup.italic" = { fg = "magenta", modifiers = ["italic"] } -"markup.link.url" = { fg = "yellow", modifiers = ["underlined"] } -"markup.link.text" = "blue" -"markup.quote" = "yellow" -"markup.raw" = "green" - -"diff.plus" = { fg = "green" } -"diff.delta" = { fg = "blue" } -"diff.minus" = { fg = "red" } - -"ui.background" = { fg = "fg", bg = "bg" } - -"ui.window" = { bg = "bg" } -"ui.popup" = { bg = "bg", fg = "white" } -"ui.help" = { bg = "bg" } -"ui.menu" = { bg = "bg" } -"ui.menu.selected" = { bg = "blue", fg = "bg" } - -"ui.cursor" = { bg = "white", modifiers = ["reversed"] } -"ui.cursor.primary" = { fg = "white", modifiers = ["reversed"] } -"ui.cursor.match" = { fg = "gray", bg = "white", modifiers = ["reversed"] } - -"ui.selection" = { bg = "black" } -"ui.selection.primary" = { bg = "black" } - -"ui.linenr" = { fg = "gray" } -"ui.linenr.selected" = { fg = "white" } - -"ui.statusline" = { fg = "gray", bg = "bg" } -"ui.statusline.inactive" = { fg = "bg", bg = "gray" } - -"ui.text" = { fg = "gray", bg = "bg" } -"ui.text.focus" = { fg = "white" } - -"warning" = { fg = "yellow" } -"error" = { fg = "red" } -"info" = { fg = "blue" } -"hint" = { fg = "green" } - -diagnostic = { underline = { style = "curl" } } -"diagnostic.error" = { underline = { style = "curl", color = "red" } } - -"ui.bufferline" = { fg = "gray", bg = "bg" } -"ui.bufferline.active" = { fg = "blue" } diff --git a/common/kak/.gitignore b/common/kak/.gitignore deleted file mode 100644 index 5a02d10..0000000 --- a/common/kak/.gitignore +++ /dev/null @@ -1 +0,0 @@ -plugins diff --git a/common/kak/colors/selenized-black.kak b/common/kak/colors/selenized-black.kak deleted file mode 100644 index c5c3c09..0000000 --- a/common/kak/colors/selenized-black.kak +++ /dev/null @@ -1,83 +0,0 @@ -#################### -# SELENIZED BLACK # -#################### -# theme by Jan Warchoł -# ported by TeddyDD - -evaluate-commands %sh{ - -bg="rgb:181818" -black="rgb:252525" -br_black="rgb:3b3b3b" -white="rgb:777777" -fg="rgb:b9b9b9" -br_white="rgb:dedede" - -red="rgb:ed4a46" -green="rgb:70b433" -yellow="rgb:dbb32d" -blue="rgb:368aeb" -magenta="rgb:eb6eb7" -cyan="rgb:3fc5b7" -orange="rgb:e67f43" -violet="rgb:a580e2" - -br_red="rgb:ff5e56" -br_green="rgb:83c746" -br_yellow="rgb:efc541" -br_blue="rgb:4f9cfe" -br_magenta="rgb:ff81ca" -br_cyan="rgb:56d8c9" -br_orange="rgb:fa9153" -br_violet="rgb:b891f5" - -## code -echo " -set-face global value ${orange}+b -set-face global type ${br_orange} -set-face global variable ${magenta} -set-face global module ${blue} -set-face global function ${br_cyan} -set-face global string ${br_green} -set-face global keyword ${violet}+b -set-face global operator ${br_cyan} -set-face global attribute ${orange} -set-face global comment ${white} -set-face global meta ${br_orange} -set-face global builtin ${fg}+b - -set-face global title ${blue}+u -set-face global header ${br_cyan}+u -set-face global bold ${br_white}+b -set-face global italic ${br_white}+i -set-face global mono ${br_green} -set-face global block ${orange} -set-face global link $blue -set-face global bullet ${br_magenta} -set-face global list ${magenta} - -set-face global Default ${fg},${bg} -set-face global PrimarySelection $black,$white -set-face global SecondarySelection ${fg},$br_black+i -set-face global PrimaryCursor $bg,$red+b -set-face global SecondaryCursor $black,$br_cyan+i -set-face global MatchingChar $black,$blue -set-face global Search $br_white,$green -set-face global CurrentWord $white,$blue - -set-face global MenuForeground $cyan,$br_black+b -set-face global MenuBackground $fg,$black - -set-face global Information $br_yellow,$black -set-face global Error $black,$br_red - -set-face global BufferPadding $black,$black -set-face global Whitespace $white -set-face global StatusLine $fg,$black -set-face global StatusLineInfo $yellow,$black - -set-face global LineNumbers default -set-face global LineNumberCursor default,default+r -" - -} diff --git a/common/kak/colors/selenized-dark.kak b/common/kak/colors/selenized-dark.kak deleted file mode 100644 index fc2f6e1..0000000 --- a/common/kak/colors/selenized-dark.kak +++ /dev/null @@ -1,83 +0,0 @@ -################## -# SELENIZED DARK # -################## -# theme by Jan Warchoł -# ported by Delapouite - -evaluate-commands %sh{ - -bg="rgb:103c48" -black="rgb:184956" -br_black="rgb:2d5b69" -white="rgb:72898f" -fg="rgb:adbcbc" -br_white="rgb:cad8d9" - -red="rgb:fa5750" -green="rgb:75b938" -yellow="rgb:dbb32d" -blue="rgb:4695f7" -magenta="rgb:f275be" -cyan="rgb:41c7b9" -orange="rgb:ed8649" -violet="rgb:af88eb" - -br_red="rgb:ff665c" -br_green="rgb:84c747" -br_yellow="rgb:ebc13d" -br_blue="rgb:58a3ff" -br_magenta="rgb:ff84cd" -br_cyan="rgb:53d6c7" -br_orange="rgb:fd9456" -br_violet="rgb:bd96fa" - -## code -echo " -set-face global value ${orange}+b -set-face global type ${br_orange} -set-face global variable ${magenta} -set-face global module ${blue} -set-face global function ${br_cyan} -set-face global string ${br_green} -set-face global keyword ${violet}+b -set-face global operator ${br_cyan} -set-face global attribute ${orange} -set-face global comment ${white} -set-face global meta ${br_orange} -set-face global builtin ${fg}+b - -set-face global title ${blue}+u -set-face global header ${br_cyan}+u -set-face global bold ${br_white}+b -set-face global italic ${br_white}+i -set-face global mono ${br_green} -set-face global block ${orange} -set-face global link $blue -set-face global bullet ${br_magenta} -set-face global list ${magenta} - -set-face global Default ${fg},${bg} -set-face global PrimarySelection $black,$white -set-face global SecondarySelection ${fg},$br_black+i -set-face global PrimaryCursor $bg,$red+b -set-face global SecondaryCursor $black,$br_cyan+i -set-face global MatchingChar $black,$blue -set-face global Search $br_white,$green -set-face global CurrentWord $white,$blue - -set-face global MenuForeground $cyan,$br_black+b -set-face global MenuBackground $fg,$black - -set-face global Information $br_yellow,$black -set-face global Error $black,$br_red - -set-face global BufferPadding $black,$black -set-face global Whitespace $white -set-face global StatusLine $fg,$black -set-face global StatusLineInfo $yellow,$black - -set-face global LineNumbers default -set-face global LineNumberCursor default,default+r -" - -} diff --git a/common/kak/colors/selenized-light.kak b/common/kak/colors/selenized-light.kak deleted file mode 100644 index 96ae169..0000000 --- a/common/kak/colors/selenized-light.kak +++ /dev/null @@ -1,90 +0,0 @@ -#################### -# SELENIZED LIGHT # -#################### -# theme by Jan Warchoł -# ported by TeddyDD - -evaluate-commands %sh{ - -bg='rgb:fbf3db' -black='rgb:ece3cc' -br_black='rgb:d5cdb6' -white='rgb:909995' -fg='rgb:53676d' -br_white='rgb:3a4d53' - -red='rgb:d2212d' -green='rgb:489100' -yellow='rgb:ad8900' -blue='rgb:0072d4' -magenta='rgb:ca4898' -cyan='rgb:009c8f' -orange='rgb:c25d1e' -violet='rgb:8762c6' - -br_red='rgb:cc1729' -br_green='rgb:428b00' -br_yellow='rgb:a78300' -br_blue='rgb:006dce' -br_magenta='rgb:c44392' -br_cyan='rgb:00978a' -br_orange='rgb:bc5819' -br_violet='rgb:825dc0' - -## code -echo " -set-face global value ${orange}+b -set-face global type ${br_orange} -set-face global variable ${magenta} -set-face global module ${green} -set-face global function ${br_cyan} -set-face global string ${green} -set-face global keyword ${violet}+b -set-face global operator ${br_cyan} -set-face global attribute ${orange} -set-face global comment ${br_black} -set-face global meta ${br_orange} -set-face global builtin ${fg}+b -" - -## markup -echo " -set-face global title ${blue}+u -set-face global header ${br_cyan} -set-face global bold ${br_orange}+b -set-face global italic ${orange}+i -set-face global mono ${green} -set-face global block ${orange} -set-face global link $blue -set-face global bullet ${br_magenta} -set-face global list ${magenta} -" - -echo " -set-face global Default ${br_white},${bg} -set-face global PrimarySelection ${fg},$br_black+i -set-face global SecondarySelection $black,$white -set-face global PrimaryCursor $black,$red+b -set-face global SecondaryCursor $bg,$br_cyan+i -set-face global MatchingChar $black,$blue -set-face global Search $br_white,$green -set-face global CurrentWord $white,$blue - -# when item focused in menu -set-face global MenuForeground $orange,$br_black+d -# default bottom menu and autocomplete -set-face global MenuBackground $fg,$black - -set-face global Information $yellow,$black -set-face global Error $black,$red - -set-face global BufferPadding $black,$black -set-face global Whitespace $br_black -set-face global StatusLine $fg,$br_black -set-face global StatusLineInfo $blue,$br_black - -set-face global LineNumbers default -set-face global LineNumberCursor default,default+r -" - -} diff --git a/common/kak/colors/selenized-white.kak b/common/kak/colors/selenized-white.kak deleted file mode 100644 index 0e8cc63..0000000 --- a/common/kak/colors/selenized-white.kak +++ /dev/null @@ -1,90 +0,0 @@ -################### -# SELENIZED WHITE # -################### -# theme by Jan Warchoł -# ported by Delapouite - -evaluate-commands %sh{ - -bg='rgb:ffffff' -black='rgb:ebebeb' -br_black='rgb:cdcdcd' -white='rgb:878787' -fg='rgb:474747' -br_white='rgb:282828' - -red='rgb:d6000c' -green='rgb:1d9700' -yellow='rgb:c49700' -blue='rgb:0064e4' -magenta='rgb:dd0f9d' -cyan='rgb:00ad9c' -orange='rgb:d04a00' -violet='rgb:7f51d6' - -br_red='rgb:bf0000' -br_green='rgb:008400' -br_yellow='rgb:af8500' -br_blue='rgb:0054cf' -br_magenta='rgb:c7008b' -br_cyan='rgb:009a8a' -br_orange='rgb:ba3700' -br_violet='rgb:6b40c3' - -## code -echo " -set-face global value ${orange}+b -set-face global type ${br_orange} -set-face global variable ${magenta} -set-face global module ${green} -set-face global function ${br_cyan} -set-face global string ${green} -set-face global keyword ${violet}+b -set-face global operator ${br_cyan} -set-face global attribute ${orange} -set-face global comment ${br_black} -set-face global meta ${br_orange} -set-face global builtin ${fg}+b -" - -## markup -echo " -set-face global title ${blue}+u -set-face global header ${br_cyan} -set-face global bold ${br_orange}+b -set-face global italic ${orange}+i -set-face global mono ${green} -set-face global block ${orange} -set-face global link $blue -set-face global bullet ${br_magenta} -set-face global list ${magenta} -" - -echo " -set-face global Default ${br_white},${bg} -set-face global PrimarySelection ${fg},$br_black+i -set-face global SecondarySelection $black,$white -set-face global PrimaryCursor $black,$red+b -set-face global SecondaryCursor $bg,$br_cyan+i -set-face global MatchingChar $black,$blue -set-face global Search $br_white,$green -set-face global CurrentWord $white,$blue - -# when item focused in menu -set-face global MenuForeground $orange,$br_black+d -# default bottom menu and autocomplete -set-face global MenuBackground $fg,$black - -set-face global Information $yellow,$black -set-face global Error $black,$red - -set-face global BufferPadding $black,$black -set-face global Whitespace $br_black -set-face global StatusLine $fg,$br_black -set-face global StatusLineInfo $blue,$br_black - -set-face global LineNumbers default -set-face global LineNumberCursor default,default+r -" - -} diff --git a/common/kak/kakrc b/common/kak/kakrc deleted file mode 100644 index f2ef56d..0000000 --- a/common/kak/kakrc +++ /dev/null @@ -1,49 +0,0 @@ -source "%val{config}/plugins/plug.kak/rc/plug.kak" - -plug "TeddyDD/kakoune-selenized" theme -plug "robertmeta/plug.kak" noload config %{ - set global plug_always_ensure true - set global plug_max_active_downloads 25 -} -plug "alexherbo2/connect.kak" -plug "kak-lsp/kak-lsp" do %{ - cargo install --locked --force --path . -} -plug 'delapouite/kakoune-buffers' %{ - # map global normal ^ q - # map global normal Q - # map global normal q b - # map global normal Q B - # map global normal - # map global normal - # map global normal b ': enter-buffers-mode' -docstring 'buffers' - # map global normal B ': enter-user-mode -lock buffers' -docstring 'buffers (lock)' -} - -# eval %sh{kak-lsp --kakoune -s $kak_session} -hook global WinSetOption filetype=(rust|python|go|javascript|typescript|c|cpp|nim) %{ - lsp-enable-window -} - -map global normal D 'd' -docstring 'delete to end of line' -map global normal Y 'y' -docstring 'yank to end of line' - -hook global InsertChar k %{ try %{ - exec -draft hH jk d - exec -}} - -map global normal '^' '' -docstring 'jump to start of line' - -# add-highlighter global/show-trailing-whitespaces regex '\h+$' 0:Error -# add-highlighter global show-matching - -set global tabstop 2 -set global indentwidth 2 - -face global Information white,black -face global MenuBackground white,black -face global MenuForeground black,blue -face global PrimarySelection black,blue -face global PrimarySelection black,white -face global MatchingChar default,bright-black diff --git a/common/kak/setup-plugins.sh b/common/kak/setup-plugins.sh deleted file mode 100755 index 92c5dd3..0000000 --- a/common/kak/setup-plugins.sh +++ /dev/null @@ -1,3 +0,0 @@ -#!/usr/bin/env sh - -git clone https://github.com/andreyorst/plug.kak.git ~/.config/kak/plugins/plug.kak diff --git a/common/kitty/.gitignore b/common/kitty/.gitignore deleted file mode 100644 index 9026134..0000000 --- a/common/kitty/.gitignore +++ /dev/null @@ -1 +0,0 @@ -kitty-themes diff --git a/common/kitty/kitty.conf b/common/kitty/kitty.conf deleted file mode 100644 index a42614e..0000000 --- a/common/kitty/kitty.conf +++ /dev/null @@ -1,118 +0,0 @@ -font_family IosevkaLyteTerm -bold_font IosevkaLyteTerm Heavy -italic_font IosevkaLyteTerm Italic -bold_italic_font IosevkaLyteTerm Heavy Italic -font_size 12.5 - -symbol_map U+23FB-U+23FE,U+2665,U+26A1,U+2B58,U+E000-U+E00A,U+E0A0-U+E0A3,U+E0B0-U+E0D4,U+E200-U+E2A9,U+E300-U+E3E3,U+E5FA-U+E6AA,U+E700-U+E7C5,U+EA60-U+EBEB,U+F000-U+F2E0,U+F300-U+F32F,U+F400-U+F4A9,U+F500-U+F8FF,U+F0001-U+F1AF0 Symbols Nerd Font Mono - -# use `kitty + list-fonts --psnames` to get the font's PostScript name -# font_features IosevkaLyte -# font_features Iosevka-Heavy +calt +dlig -# font_features Iosevka-Italic +calt +dlig -# font_features Iosevka-Heavy-Italic +calt +dlig - -allow_remote_control yes -# listen_on unix:/$TMPDIR/kitty -repaint_delay 5 -input_delay 5 -sync_to_monitor yes - -adjust_line_height 0 -window_padding_width 10.0 -window_margin_width 0.0 - -confirm_os_window_close 0 - -enabled_layouts tall:bias=50;full_size=1;mirrored=true - -map ctrl+shift+1 change_font_size all 12.5 -map ctrl+shift+2 change_font_size all 18.5 -map ctrl+shift+3 change_font_size all 26 - -map ctrl+shift+equal change_font_size all +0.5 -map ctrl+shift+minus change_font_size all -0.5 -map shift+insert paste_from_clipboard -map ctrl+shift+v paste_from_selection -map ctrl+shift+c copy_to_clipboard - -map ctrl+shift+h neighboring_window left -map ctrl+shift+l neighboring_window right -map ctrl+shift+k neighboring_window up -map ctrl+shift+j neighboring_window down -map ctrl+shift+h nth_window -1 -map ctrl+shift+p>u kitten hints --type=url --program @ - -shell_integration disabled - -enable_audio_bell yes -visual_bell_duration 0.25 -visual_bell_color #333033 - -url_style single - -strip_trailing_spaces smart - -# open_url_modifiers ctrl -background #110811 -foreground #f8f2f8 - -# black -color0 #333033 -# red -color1 #f92672 -# green -color2 #a6e22e -# yellow -color3 #f4bf75 -# blue -color4 #66d9ef -# purple -color5 #ae81ff -# cyan -color6 #a1efe4 -# white -color7 #f8f2f8 - -# TODO: where did these colors come from? donokai? -# color8 #75715e -# color9 #fd971f -# color10 #383830 -# color11 #49483e -# color12 #a59f85 -# color13 #f5f4f1 -# color14 #cc6633 -# color15 #f9f8f5 -color18 #333033 - -# # light theme -# -# background #eeeeee -# foreground #000000 -# -# color0 #eeeeee -# color1 #f92672 -# color2 #a6e22e -# color3 #f4bf75 -# color4 #66d9ef -# color5 #ae81ff -# color6 #a1efe4 -# color7 #000000 -# -# color8 #aaaaaa -# color9 #fd971f -# color10 #cccccc -# color11 #49483e -# color12 #a59f85 -# color13 #f5f4f1 -# color14 #cc6633 -# color15 #f9f8f5 -# -# color18 #cccccc - -wheel_scroll_multiplier 5.0 -touch_scroll_multiplier 5.0 - -# same as bg, used by tmux to ensure the same bg color is used in pane border -# and statusline -color19 #100814 \ No newline at end of file diff --git a/common/mpd/mpd.conf b/common/mpd/mpd.conf deleted file mode 100644 index 27e271a..0000000 --- a/common/mpd/mpd.conf +++ /dev/null @@ -1,28 +0,0 @@ -auto_update "yes" - -audio_output { - type "pulse" - name "pulse audio" -} - -db_file "~/.local/mpd/database" -log_file "syslog" -pid_file "~/.local/mpd/pid" -state_file "~/.local/mpd/pid" -sticker_file "~/.local/mpd/sticker.sql" - -playlist_directory "~/../music/mpd-playlists" -music_directory "~/../music" - -# bind_to_address "~/.local/mpd/socket" -bind_to_address "any" -port "6600" -restore_paused "yes" -log_level "verbose" - -input { - plugin "curl" - # proxy "proxy.isp.com:8080" - # proxy_user "user" - # proxy_password "password" -} diff --git a/common/qutebrowser/keys.conf b/common/qutebrowser/keys.conf deleted file mode 100644 index 0acfbe9..0000000 --- a/common/qutebrowser/keys.conf +++ /dev/null @@ -1,702 +0,0 @@ -# vim: ft=conf -# -# In this config file, qutebrowser's key bindings are configured. -# The format looks like this: -# -# [keymode] -# -# command -# keychain -# keychain2 -# ... -# -# All blank lines and lines starting with '#' are ignored. -# Inline-comments are not permitted. -# -# keymode is a comma separated list of modes in which the key binding should be -# active. If keymode starts with !, the key binding is active in all modes -# except the listed modes. -# -# For special keys (can't be part of a keychain), enclose them in `<`...`>`. -# For modifiers, you can use either `-` or `+` as delimiters, and these names: -# -# * Control: `Control`, `Ctrl` -# * Meta: `Meta`, `Windows`, `Mod4` -# * Alt: `Alt`, `Mod1` -# * Shift: `Shift` -# -# For simple keys (no `<>`-signs), a capital letter means the key is pressed -# with Shift. For special keys (with `<>`-signs), you need to explicitly add -# `Shift-` to match a key pressed with shift. -# -# Note that default keybindings are always bound, and need to be explicitly -# unbound if you wish to remove them: -# -# -# keychain -# keychain2 -# ... - -[!normal] - -leave-mode - - - -[normal] -# Keybindings for normal mode. - -clear-keychain ;; search ;; fullscreen --leave - - - -set-cmd-text -s :open - o - -set-cmd-text :open {url:pretty} - go - -set-cmd-text -s :open -t - O - -set-cmd-text :open -t -i {url:pretty} - gO - -set-cmd-text -s :open -b - xo - -set-cmd-text :open -b -i {url:pretty} - xO - -set-cmd-text -s :open -w - wo - -set-cmd-text :open -w {url:pretty} - wO - -set-cmd-text / - / - -set-cmd-text ? - ? - -set-cmd-text : - : - -open -t - ga - - -open -w - - -tab-close - d - - -tab-close -o - D - -tab-only - co - -tab-focus - T - -tab-move - gm - -tab-move - - gl - -tab-move + - gr - -tab-next - J - - -tab-prev - K - - -tab-clone - gC - -reload - r - - -reload -f - R - - -back - H - - -back -t - th - -back -w - wh - -forward - L - - -forward -t - tl - -forward -w - wl - -fullscreen - - -hint - f - -hint all tab - F - -hint all window - wf - -hint all tab-bg - ;b - -hint all tab-fg - ;f - -hint all hover - ;h - -hint images - ;i - -hint images tab - ;I - -hint links fill :open {hint-url} - ;o - -hint links fill :open -t -i {hint-url} - ;O - -hint links yank - ;y - -hint links yank-primary - ;Y - -hint --rapid links tab-bg - ;r - -hint --rapid links window - ;R - -hint links download - ;d - -hint inputs - ;t - -scroll left - h - -scroll down - j - -scroll up - k - -scroll right - l - -undo - u - - -scroll-perc 0 - gg - -scroll-perc - G - -search-next - n - -search-prev - N - -enter-mode insert - i - -enter-mode caret - v - -enter-mode set_mark - ` - -enter-mode jump_mark - ' - -yank - yy - -yank -s - yY - -yank title - yt - -yank title -s - yT - -yank domain - yd - -yank domain -s - yD - -yank pretty-url - yp - -yank pretty-url -s - yP - -open -- {clipboard} - pp - -open -- {primary} - pP - -open -t -- {clipboard} - Pp - -open -t -- {primary} - PP - -open -w -- {clipboard} - wp - -open -w -- {primary} - wP - -quickmark-save - m - -set-cmd-text -s :quickmark-load - b - -set-cmd-text -s :quickmark-load -t - B - -set-cmd-text -s :quickmark-load -w - wb - -bookmark-add - M - -set-cmd-text -s :bookmark-load - gb - -set-cmd-text -s :bookmark-load -t - gB - -set-cmd-text -s :bookmark-load -w - wB - -save - sf - -set-cmd-text -s :set - ss - -set-cmd-text -s :set -t - sl - -set-cmd-text -s :bind - sk - -zoom-out - - - -zoom-in - + - -zoom - = - -navigate prev - [[ - -navigate next - ]] - -navigate prev -t - {{ - -navigate next -t - }} - -navigate up - gu - -navigate up -t - gU - -navigate increment - - -navigate decrement - - -inspector - wi - -download - gd - -download-cancel - ad - -download-clear - cd - -view-source - gf - -set-cmd-text -s :buffer - gt - -tab-focus last - - -enter-mode passthrough - - -quit - - -scroll-page 0 1 - - -scroll-page 0 -1 - - -scroll-page 0 0.5 - - -scroll-page 0 -0.5 - - -tab-focus 1 - - -tab-focus 2 - - -tab-focus 3 - - -tab-focus 4 - - -tab-focus 5 - - -tab-focus 6 - - -tab-focus 7 - - -tab-focus 8 - - -tab-focus 9 - - -home - - -stop - - -print - - -open qute:settings - Ss - -follow-selected - - - - - - - -follow-selected -t - - - -repeat-command - . - -record-macro - q - -run-macro - @ - -wq - ZZ - -tab-focus -1 - g$ - -tab-pin - - -[insert] -# Keybindings for insert mode. -# Since normal keypresses are passed through, only special keys are -# supported in this mode. -# Useful hidden commands to map in this section: -# * `open-editor`: Open a texteditor with the focused field. -# * `paste-primary`: Paste primary selection at cursor position. - -open-editor - - -insert-text {primary} - - -[hint] -# Keybindings for hint mode. -# Since normal keypresses are passed through, only special keys are -# supported in this mode. -# Useful hidden commands to map in this section: -# * `follow-hint`: Follow the currently selected hint. - -follow-hint - - - - - - - -hint --rapid links tab-bg - - -hint links - - -hint all tab-bg - - -[command] -# Keybindings for command mode. -# Since normal keypresses are passed through, only special keys are -# supported in this mode. -# Useful hidden commands to map in this section: -# * `command-history-prev`: Switch to previous command in history. -# * `command-history-next`: Switch to next command in history. -# * `completion-item-focus`: Select another item in completion. -# * `command-accept`: Execute the command currently in the commandline. - -command-history-prev - - -command-history-next - - -completion-item-focus prev - - - -completion-item-focus next - - - -completion-item-focus next-category - - -completion-item-focus prev-category - - -completion-item-del - - -command-accept - - - - - - - -[prompt] -# Keybindings for prompts in the status line. -# You can bind normal keys in this mode, but they will be only active -# when a yes/no-prompt is asked. For other prompt modes, you can only -# bind special keys. -# Useful hidden commands to map in this section: -# * `prompt-accept`: Confirm the entered value. -# * `prompt-accept yes`: Answer yes to a yes/no question. -# * `prompt-accept no`: Answer no to a yes/no question. - -prompt-accept - - - - - - - -prompt-accept yes - y - -prompt-accept no - n - -prompt-open-download - - -prompt-item-focus prev - - - -prompt-item-focus next - - - -[command,prompt] - -rl-backward-char - - -rl-forward-char - - -rl-backward-word - - -rl-forward-word - - -rl-beginning-of-line - - -rl-end-of-line - - -rl-unix-line-discard - - -rl-kill-line - - -rl-kill-word - - -rl-unix-word-rubout - - -rl-backward-kill-word - - -rl-yank - - -rl-delete-char - - -rl-backward-delete-char - - -[caret] - -toggle-selection - v - - -drop-selection - - -enter-mode normal - c - -move-to-next-line - j - -move-to-prev-line - k - -move-to-next-char - l - -move-to-prev-char - h - -move-to-end-of-word - e - -move-to-next-word - w - -move-to-prev-word - b - -move-to-start-of-next-block - ] - -move-to-start-of-prev-block - [ - -move-to-end-of-next-block - } - -move-to-end-of-prev-block - { - -move-to-start-of-line - 0 - -move-to-end-of-line - $ - -move-to-start-of-document - gg - -move-to-end-of-document - G - -yank selection -s - Y - -yank selection - y - - - - - - - -scroll left - H - -scroll down - J - -scroll up - K - -scroll right - L - diff --git a/common/qutebrowser/qutebrowser.conf b/common/qutebrowser/qutebrowser.conf deleted file mode 100644 index df74f35..0000000 --- a/common/qutebrowser/qutebrowser.conf +++ /dev/null @@ -1,1591 +0,0 @@ -# vim: ft=dosini - -# Configfile for qutebrowser. -# -# This configfile is parsed by python's configparser in extended -# interpolation mode. The format is very INI-like, so there are -# categories like [general] with "key = value"-pairs. -# -# Note that you shouldn't add your own comments, as this file is -# regenerated every time the config is saved. -# -# Interpolation looks like ${value} or ${section:value} and will be -# replaced by the respective value. -# -# Some settings will expand environment variables. Note that, since -# interpolation is run first, you will need to escape the $ char as -# described below. -# -# This is the default config, so if you want to remove anything from -# here (as opposed to change/add), for example a key binding, set it to -# an empty value. -# -# You will need to escape the following values: -# - # at the start of the line (at the first position of the key) (\#) -# - $ in a value ($$) - - -# General/miscellaneous options. -[general] - -# ignore-case (IgnoreCase): -# Whether to find text on a page case-insensitively. -# true: Search case-insensitively -# false: Search case-sensitively -# smart: Search case-sensitively if there are capital chars -# Default: smart -ignore-case = smart - -# startpage (List of String): -# The default page(s) to open at the start, separated by commas. -# Default: https://start.duckduckgo.com -startpage = https://start.duckduckgo.com - -# yank-ignored-url-parameters (List of String): -# The URL parameters to strip with :yank url, separated by commas. -# Default: -# ref,utm_source,utm_medium,utm_campaign,utm_term,utm_content -yank-ignored-url-parameters = ref,utm_source,utm_medium,utm_campaign,utm_term,utm_content - -# default-open-dispatcher (String): -# The default program used to open downloads. Set to an empty string -# to use the default internal handler. -# Any {} in the string will be expanded to the filename, else the -# filename will be appended. -# Default: -default-open-dispatcher = - -# default-page (FuzzyUrl): -# The page to open if :open -t/-b/-w is used without URL. Use -# `about:blank` for a blank page. -# Default: ${startpage} -default-page = ${startpage} - -# auto-search (AutoSearch): -# Whether to start a search when something else than a URL is -# entered. -# naive: Use simple/naive check. -# dns: Use DNS requests (might be slow!). -# false: Never search automatically. -# Default: naive -auto-search = naive - -# auto-save-config (Bool): -# Whether to save the config automatically on quit. -# Valid values: true, false -# Default: true -auto-save-config = true - -# auto-save-interval (Int): -# How often (in milliseconds) to auto-save config/cookies/etc. -# Default: 15000 -auto-save-interval = 15000 - -# editor (ShellCommand): -# The editor (and arguments) to use for the `open-editor` command. -# The arguments get split like in a shell, so you can use `"` or `'` -# to quote them. -# `{}` gets replaced by the filename of the file to be edited. -# Default: gvim -f "{}" -editor = nvim -f "{}" - -# editor-encoding (Encoding): -# Encoding to use for editor. -# Default: utf-8 -editor-encoding = utf-8 - -# private-browsing (Bool): -# Open new windows in private browsing mode which does not record -# visited pages. -# Valid values: true, false -# Default: false -private-browsing = false - -# developer-extras (Bool): -# Enable extra tools for Web developers. -# This needs to be enabled for `:inspector` to work and also adds an -# _Inspect_ entry to the context menu. For QtWebEngine, see -# 'qutebrowser --help' instead. -# Valid values: true, false -# Default: false -developer-extras = true - -# print-element-backgrounds (Bool): -# Whether the background color and images are also drawn when the -# page is printed. -# This setting only works with Qt 5.8 or newer when using the -# QtWebEngine backend. -# Valid values: true, false -# Default: true -print-element-backgrounds = true - -# xss-auditing (Bool): -# Whether load requests should be monitored for cross-site scripting -# attempts. -# Suspicious scripts will be blocked and reported in the inspector's -# JavaScript console. Enabling this feature might have an impact on -# performance. -# Valid values: true, false -# Default: false -xss-auditing = true - -# default-encoding (String): -# Default encoding to use for websites. -# The encoding must be a string describing an encoding such as -# _utf-8_, _iso-8859-1_, etc. -# Default: iso-8859-1 -default-encoding = iso-8859-1 - -# new-instance-open-target (String): -# How to open links in an existing instance if a new one is -# launched. -# tab: Open a new tab in the existing window and activate the -# window. -# tab-bg: Open a new background tab in the existing window and -# activate the window. -# tab-silent: Open a new tab in the existing window without -# activating the window. -# tab-bg-silent: Open a new background tab in the existing -# window without activating the window. -# window: Open in a new window. -# Default: tab -new-instance-open-target = tab - -# new-instance-open-target.window (String): -# Which window to choose when opening links as new tabs. -# first-opened: Open new tabs in the first (oldest) opened -# window. -# last-opened: Open new tabs in the last (newest) opened window. -# last-focused: Open new tabs in the most recently focused -# window. -# last-visible: Open new tabs in the most recently visible -# window. -# Default: last-focused -new-instance-open-target.window = last-focused - -# log-javascript-console (String): -# How to log javascript console messages. -# none: Don't log messages. -# debug: Log messages with debug level. -# info: Log messages with info level. -# Default: debug -log-javascript-console = debug - -# save-session (Bool): -# Whether to always save the open pages. -# Valid values: true, false -# Default: false -save-session = true - -# session-default-name (SessionName): -# The name of the session to save by default, or empty for the last -# loaded session. -# Default: -session-default-name = - -# url-incdec-segments (FlagList): -# The URL segments where `:navigate increment/decrement` will search -# for a number. -# Valid values: host, path, query, anchor -# Default: path,query -url-incdec-segments = path,query - - -# General options related to the user interface. -[ui] - -# history-session-interval (Int): -# The maximum time in minutes between two history items for them to -# be considered being from the same session. Use -1 to disable -# separation. -# Default: 30 -history-session-interval = 30 - -# zoom-levels (List of Perc): -# The available zoom levels, separated by commas. -# Default: -# 25%,33%,50%,67%,75%,90%,100%,110%,125%,150%,175%,200%,250%,300%,400%,500% -zoom-levels = 25%,33%,50%,67%,75%,90%,100%,110%,125%,150%,175%,200%,250%,300%,400%,500% - -# default-zoom (Perc): -# The default zoom level. -# Default: 100% -default-zoom = 100% - -# downloads-position (VerticalPosition): -# Where to show the downloaded files. -# Valid values: top, bottom -# Default: top -downloads-position = top - -# status-position (VerticalPosition): -# The position of the status bar. -# Valid values: top, bottom -# Default: bottom -status-position = bottom - -# message-timeout (Int): -# Time (in ms) to show messages in the statusbar for. -# Set to 0 to never clear messages. -# Default: 2000 -message-timeout = 2000 - -# message-unfocused (Bool): -# Whether to show messages in unfocused windows. -# Valid values: true, false -# Default: false -message-unfocused = false - -# confirm-quit (ConfirmQuit): -# Whether to confirm quitting the application. -# always: Always show a confirmation. -# multiple-tabs: Show a confirmation if multiple tabs are -# opened. -# downloads: Show a confirmation if downloads are running -# never: Never show a confirmation. -# Default: never -confirm-quit = never - -# zoom-text-only (Bool): -# Whether the zoom factor on a frame applies only to the text or to -# all content. -# Valid values: true, false -# Default: false -zoom-text-only = false - -# frame-flattening (Bool): -# Whether to expand each subframe to its contents. -# This will flatten all the frames to become one scrollable page. -# Valid values: true, false -# Default: false -frame-flattening = false - -# user-stylesheet (File): -# User stylesheet to use (absolute filename or filename relative to -# the config directory). Will expand environment variables. -# Default: -user-stylesheet = - -# hide-scrollbar (Bool): -# Hide the main scrollbar. -# Valid values: true, false -# Default: true -hide-scrollbar = true - -# smooth-scrolling (Bool): -# Whether to enable smooth scrolling for web pages. Note smooth -# scrolling does not work with the :scroll-px command. -# Valid values: true, false -# Default: false -smooth-scrolling = true - -# remove-finished-downloads (Int): -# Number of milliseconds to wait before removing finished downloads. -# Will not be removed if value is -1. -# Default: -1 -remove-finished-downloads = -1 - -# hide-statusbar (Bool): -# Whether to hide the statusbar unless a message is shown. -# Valid values: true, false -# Default: false -hide-statusbar = true - -# statusbar-padding (Padding): -# Padding for statusbar (top, bottom, left, right). -# Default: 1,1,0,0 -statusbar-padding = 1,1,0,0 - -# window-title-format (FormatString): -# The format to use for the window title. The following placeholders -# are defined: -# * `{perc}`: The percentage as a string like `[10%]`. -# * `{perc_raw}`: The raw percentage, e.g. `10` -# * `{title}`: The title of the current web page -# * `{title_sep}`: The string ` - ` if a title is set, empty -# otherwise. -# * `{id}`: The internal window ID of this window. -# * `{scroll_pos}`: The page scroll position. -# * `{host}`: The host of the current web page. -# * `{backend}`: Either 'webkit' or 'webengine' -# * `{private}` : Indicates when private mode is enabled. -# Default: {perc}{title}{title_sep}qutebrowser -window-title-format = {perc}{title}{title_sep}qutebrowser - -# modal-js-dialog (Bool): -# Use standard JavaScript modal dialog for alert() and confirm() -# Valid values: true, false -# Default: false -modal-js-dialog = false - -# hide-wayland-decoration (Bool): -# Hide the window decoration when using wayland (requires restart) -# Valid values: true, false -# Default: false -hide-wayland-decoration = false - -# keyhint-blacklist (List of String): -# Keychains that shouldn't be shown in the keyhint dialog -# Globs are supported, so ';*' will blacklist all keychainsstarting -# with ';'. Use '*' to disable keyhints -# Default: -keyhint-blacklist = - -# keyhint-delay (Int): -# Time from pressing a key to seeing the keyhint dialog (ms) -# Default: 500 -keyhint-delay = 500 - -# prompt-radius (Int): -# The rounding radius for the edges of prompts. -# Default: 8 -prompt-radius = 8 - -# prompt-filebrowser (Bool): -# Show a filebrowser in upload/download prompts. -# Valid values: true, false -# Default: true -prompt-filebrowser = true - - -# Settings related to the network. -[network] - -# do-not-track (Bool): -# Value to send in the `DNT` header. -# Valid values: true, false -# Default: true -do-not-track = true - -# accept-language (String): -# Value to send in the `accept-language` header. -# Default: en-US,en -accept-language = en-US,en - -# referer-header (String): -# Send the Referer header -# always: Always send. -# never: Never send; this is not recommended, as some sites may -# break. -# same-domain: Only send for the same domain. This will still -# protect your privacy, but shouldn't break any sites. -# Default: same-domain -referer-header = same-domain - -# user-agent (UserAgent): -# User agent to send. Empty to send the default. -# Default: -user-agent = - -# proxy (Proxy): -# The proxy to use. -# In addition to the listed values, you can use a `socks://...` or -# `http://...` URL. -# system: Use the system wide proxy. -# none: Don't use any proxy -# Default: system -proxy = system - -# proxy-dns-requests (Bool): -# Whether to send DNS requests over the configured proxy. -# Valid values: true, false -# Default: true -proxy-dns-requests = true - -# ssl-strict (BoolAsk): -# Whether to validate SSL handshakes. -# Valid values: true, false, ask -# Default: ask -ssl-strict = ask - -# dns-prefetch (Bool): -# Whether to try to pre-fetch DNS entries to speed up browsing. -# Valid values: true, false -# Default: true -dns-prefetch = true - -# custom-headers (HeaderDict): -# Set custom headers for qutebrowser HTTP requests. -# Default: -custom-headers = - -# netrc-file (File): -# Set location of a netrc-file for HTTP authentication. If empty, -# ~/.netrc is used. -# Default: -netrc-file = - - -# Options related to completion and command history. -[completion] - -# show (String): -# When to show the autocompletion window. -# always: Whenever a completion is available. -# auto: Whenever a completion is requested. -# never: Never. -# Default: always -show = always - -# download-path-suggestion (String): -# What to display in the download filename input. -# path: Show only the download path. -# filename: Show only download filename. -# both: Show download path and filename. -# Default: path -download-path-suggestion = path - -# timestamp-format (TimestampTemplate): -# How to format timestamps (e.g. for history) -# Default: %Y-%m-%d -timestamp-format = %Y-%m-%d - -# height (PercOrInt): -# The height of the completion, in px or as percentage of the -# window. -# Default: 50% -height = 50% - -# cmd-history-max-items (Int): -# How many commands to save in the command history. -# 0: no history / -1: unlimited -# Default: 100 -cmd-history-max-items = 100 - -# web-history-max-items (Int): -# How many URLs to show in the web history. -# 0: no history / -1: unlimited -# Default: 1000 -web-history-max-items = 1000 - -# quick-complete (Bool): -# Whether to move on to the next part when there's only one possible -# completion left. -# Valid values: true, false -# Default: true -quick-complete = true - -# shrink (Bool): -# Whether to shrink the completion to be smaller than the configured -# size if there are no scrollbars. -# Valid values: true, false -# Default: false -shrink = false - -# scrollbar-width (Int): -# Width of the scrollbar in the completion window (in px). -# Default: 12 -scrollbar-width = 12 - -# scrollbar-padding (Int): -# Padding of scrollbar handle in completion window (in px). -# Default: 2 -scrollbar-padding = 2 - - -# Options related to input modes. -[input] - -# timeout (Int): -# Timeout (in milliseconds) for ambiguous key bindings. -# If the current input forms both a complete match and a partial -# match, the complete match will be executed after this time. -# Default: 500 -timeout = 500 - -# partial-timeout (Int): -# Timeout (in milliseconds) for partially typed key bindings. -# If the current input forms only partial matches, the keystring -# will be cleared after this time. -# Default: 5000 -partial-timeout = 5000 - -# insert-mode-on-plugins (Bool): -# Whether to switch to insert mode when clicking flash and other -# plugins. -# Valid values: true, false -# Default: false -insert-mode-on-plugins = false - -# auto-leave-insert-mode (Bool): -# Whether to leave insert mode if a non-editable element is clicked. -# Valid values: true, false -# Default: true -auto-leave-insert-mode = true - -# auto-insert-mode (Bool): -# Whether to automatically enter insert mode if an editable element -# is focused after page load. -# Valid values: true, false -# Default: false -auto-insert-mode = false - -# forward-unbound-keys (String): -# Whether to forward unbound keys to the webview in normal mode. -# all: Forward all unbound keys. -# auto: Forward unbound non-alphanumeric keys. -# none: Don't forward any keys. -# Default: auto -forward-unbound-keys = auto - -# spatial-navigation (Bool): -# Enables or disables the Spatial Navigation feature. -# Spatial navigation consists in the ability to navigate between -# focusable elements in a Web page, such as hyperlinks and form -# controls, by using Left, Right, Up and Down arrow keys. For -# example, if a user presses the Right key, heuristics determine -# whether there is an element he might be trying to reach towards -# the right and which element he probably wants. -# Valid values: true, false -# Default: false -spatial-navigation = false - -# links-included-in-focus-chain (Bool): -# Whether hyperlinks should be included in the keyboard focus chain. -# Valid values: true, false -# Default: true -links-included-in-focus-chain = true - -# rocker-gestures (Bool): -# Whether to enable Opera-like mouse rocker gestures. This disables -# the context menu. -# Valid values: true, false -# Default: false -rocker-gestures = false - -# mouse-zoom-divider (Int): -# How much to divide the mouse wheel movements to translate them -# into zoom increments. -# Default: 512 -mouse-zoom-divider = 512 - - -# Configuration of the tab bar. -[tabs] - -# background-tabs (Bool): -# Whether to open new tabs (middleclick/ctrl+click) in background. -# Valid values: true, false -# Default: false -background-tabs = false - -# select-on-remove (SelectOnRemove): -# Which tab to select when the focused tab is removed. -# prev: Select the tab which came before the closed one (left in -# horizontal, above in vertical). -# next: Select the tab which came after the closed one (right in -# horizontal, below in vertical). -# last-used: Select the previously selected tab. -# Default: next -select-on-remove = next - -# new-tab-position (NewTabPosition): -# How new tabs are positioned. -# prev: Before the current tab. -# next: After the current tab. -# first: At the beginning. -# last: At the end. -# Default: next -new-tab-position = next - -# new-tab-position-explicit (NewTabPosition): -# How new tabs opened explicitly are positioned. -# prev: Before the current tab. -# next: After the current tab. -# first: At the beginning. -# last: At the end. -# Default: last -new-tab-position-explicit = last - -# last-close (String): -# Behavior when the last tab is closed. -# ignore: Don't do anything. -# blank: Load a blank page. -# startpage: Load the start page. -# default-page: Load the default page. -# close: Close the window. -# Default: ignore -last-close = ignore - -# show (String): -# When to show the tab bar -# always: Always show the tab bar. -# never: Always hide the tab bar. -# multiple: Hide the tab bar if only one tab is open. -# switching: Show the tab bar when switching tabs. -# Default: always -show = switching - -# show-switching-delay (Int): -# Time to show the tab bar before hiding it when tabs->show is set -# to 'switching'. -# Default: 800 -show-switching-delay = 800 - -# wrap (Bool): -# Whether to wrap when changing tabs. -# Valid values: true, false -# Default: true -wrap = true - -# movable (Bool): -# Whether tabs should be movable. -# Valid values: true, false -# Default: true -movable = true - -# close-mouse-button (String): -# On which mouse button to close tabs. -# right: Close tabs on right-click. -# middle: Close tabs on middle-click. -# none: Don't close tabs using the mouse. -# Default: middle -close-mouse-button = middle - -# position (Position): -# The position of the tab bar. -# Valid values: top, bottom, left, right -# Default: top -position = top - -# show-favicons (Bool): -# Whether to show favicons in the tab bar. -# Valid values: true, false -# Default: true -show-favicons = true - -# favicon-scale (Float): -# Scale for favicons in the tab bar. The tab size is unchanged, so -# big favicons also require extra `tabs->padding`. -# Default: 1.0 -favicon-scale = 1.0 - -# width (PercOrInt): -# The width of the tab bar if it's vertical, in px or as percentage -# of the window. -# Default: 20% -width = 20% - -# pinned-width (Int): -# The width for pinned tabs with a horizontal tabbar, in px. -# Default: 43 -pinned-width = 43 - -# indicator-width (Int): -# Width of the progress indicator (0 to disable). -# Default: 3 -indicator-width = 3 - -# tabs-are-windows (Bool): -# Whether to open windows instead of tabs. -# Valid values: true, false -# Default: false -tabs-are-windows = false - -# title-format (FormatString): -# The format to use for the tab title. The following placeholders -# are defined: -# * `{perc}`: The percentage as a string like `[10%]`. -# * `{perc_raw}`: The raw percentage, e.g. `10` -# * `{title}`: The title of the current web page -# * `{title_sep}`: The string ` - ` if a title is set, empty -# otherwise. -# * `{index}`: The index of this tab. -# * `{id}`: The internal tab ID of this tab. -# * `{scroll_pos}`: The page scroll position. -# * `{host}`: The host of the current web page. -# * `{backend}`: Either 'webkit' or 'webengine' -# * `{private}` : Indicates when private mode is enabled. -# Default: {index}: {title} -title-format = {title} - -# title-format-pinned (FormatString): -# The format to use for the tab title for pinned tabs. The same -# placeholders like for title-format are defined. -# Default: {index} -title-format-pinned = - -# title-alignment (TextAlignment): -# Alignment of the text inside of tabs -# Valid values: left, right, center -# Default: left -title-alignment = left - -# mousewheel-tab-switching (Bool): -# Switch between tabs using the mouse wheel. -# Valid values: true, false -# Default: true -mousewheel-tab-switching = true - -# padding (Padding): -# Padding for tabs (top, bottom, left, right). -# Default: 0,0,5,5 -padding = 0,0,5,5 - -# indicator-padding (Padding): -# Padding for indicators (top, bottom, left, right). -# Default: 2,2,0,4 -indicator-padding = 2,2,0,4 - - -# Settings related to cache and storage. -[storage] - -# download-directory (Directory): -# The directory to save downloads to. An empty value selects a -# sensible os-specific default. Will expand environment variables. -# Default: -download-directory = - -# prompt-download-directory (Bool): -# Whether to prompt the user for the download location. -# If set to false, 'download-directory' will be used. -# Valid values: true, false -# Default: true -prompt-download-directory = true - -# remember-download-directory (Bool): -# Whether to remember the last used download directory. -# Valid values: true, false -# Default: true -remember-download-directory = true - -# maximum-pages-in-cache (Int): -# The maximum number of pages to hold in the global memory page -# cache. -# The Page Cache allows for a nicer user experience when navigating -# forth or back to pages in the forward/back history, by pausing and -# resuming up to _n_ pages. -# For more information about the feature, please refer to: -# http://webkit.org/blog/427/webkit-page-cache-i-the-basics/ -# Default: 0 -maximum-pages-in-cache = 0 - -# offline-web-application-cache (Bool): -# Whether support for the HTML 5 web application cache feature is -# enabled. -# An application cache acts like an HTTP cache in some sense. For -# documents that use the application cache via JavaScript, the -# loader engine will first ask the application cache for the -# contents, before hitting the network. -# The feature is described in details at: -# http://dev.w3.org/html5/spec/Overview.html#appcache -# Valid values: true, false -# Default: true -offline-web-application-cache = true - -# local-storage (Bool): -# Whether support for HTML 5 local storage and Web SQL is enabled. -# Valid values: true, false -# Default: true -local-storage = true - -# cache-size (Int): -# Size of the HTTP network cache. Empty to use the default value. -# Default: -cache-size = - - -# Loaded plugins/scripts and allowed actions. -[content] - -# allow-images (Bool): -# Whether images are automatically loaded in web pages. -# Valid values: true, false -# Default: true -allow-images = true - -# allow-javascript (Bool): -# Enables or disables the running of JavaScript programs. -# Valid values: true, false -# Default: true -allow-javascript = true - -# allow-plugins (Bool): -# Enables or disables plugins in Web pages. -# Qt plugins with a mimetype such as "application/x-qt-plugin" are -# not affected by this setting. -# Valid values: true, false -# Default: false -allow-plugins = false - -# webgl (Bool): -# Enables or disables WebGL. -# Valid values: true, false -# Default: true -webgl = true - -# hyperlink-auditing (Bool): -# Enable or disable hyperlink auditing (). -# Valid values: true, false -# Default: false -hyperlink-auditing = false - -# geolocation (BoolAsk): -# Allow websites to request geolocations. -# Valid values: true, false, ask -# Default: ask -geolocation = ask - -# notifications (BoolAsk): -# Allow websites to show notifications. -# Valid values: true, false, ask -# Default: ask -notifications = ask - -# media-capture (BoolAsk): -# Allow websites to record audio/video. -# Valid values: true, false, ask -# Default: ask -media-capture = ask - -# javascript-can-open-windows-automatically (Bool): -# Whether JavaScript programs can open new windows without user -# interaction. -# Valid values: true, false -# Default: false -javascript-can-open-windows-automatically = false - -# javascript-can-close-windows (Bool): -# Whether JavaScript programs can close windows. -# Valid values: true, false -# Default: false -javascript-can-close-windows = false - -# javascript-can-access-clipboard (Bool): -# Whether JavaScript programs can read or write to the clipboard. -# With QtWebEngine, writing the clipboard as response to a user -# interaction is always allowed. -# Valid values: true, false -# Default: false -javascript-can-access-clipboard = false - -# ignore-javascript-prompt (Bool): -# Whether all javascript prompts should be ignored. -# Valid values: true, false -# Default: false -ignore-javascript-prompt = false - -# ignore-javascript-alert (Bool): -# Whether all javascript alerts should be ignored. -# Valid values: true, false -# Default: false -ignore-javascript-alert = false - -# local-content-can-access-remote-urls (Bool): -# Whether locally loaded documents are allowed to access remote -# urls. -# Valid values: true, false -# Default: false -local-content-can-access-remote-urls = false - -# local-content-can-access-file-urls (Bool): -# Whether locally loaded documents are allowed to access other local -# urls. -# Valid values: true, false -# Default: true -local-content-can-access-file-urls = true - -# cookies-accept (String): -# Control which cookies to accept. -# all: Accept all cookies. -# no-3rdparty: Accept cookies from the same origin only. -# no-unknown-3rdparty: Accept cookies from the same origin only, -# unless a cookie is already set for the domain. -# never: Don't accept cookies at all. -# Default: no-3rdparty -cookies-accept = no-3rdparty - -# cookies-store (Bool): -# Whether to store cookies. Note this option needs a restart with -# QtWebEngine on Qt < 5.9. -# Valid values: true, false -# Default: true -cookies-store = true - -# host-block-lists (List of Url): -# List of URLs of lists which contain hosts to block. -# The file can be in one of the following formats: -# - An '/etc/hosts'-like file -# - One host per line -# - A zip-file of any of the above, with either only one file, or a -# file named 'hosts' (with any extension). -# Default: -# https://www.malwaredomainlist.com/hostslist/hosts.txt,http://someonewhocares.org/hosts/hosts,http://winhelp2002.mvps.org/hosts.zip,http://malwaredomains.lehigh.edu/files/justdomains.zip,https://pgl.yoyo.org/adservers/serverlist.php?hostformat=hosts&mimetype=plaintext -host-block-lists = https://www.malwaredomainlist.com/hostslist/hosts.txt,http://someonewhocares.org/hosts/hosts,http://winhelp2002.mvps.org/hosts.zip,http://malwaredomains.lehigh.edu/files/justdomains.zip,https://pgl.yoyo.org/adservers/serverlist.php?hostformat=hosts&mimetype=plaintext - -# host-blocking-enabled (Bool): -# Whether host blocking is enabled. -# Valid values: true, false -# Default: true -host-blocking-enabled = true - -# host-blocking-whitelist (List of String): -# List of domains that should always be loaded, despite being -# ad-blocked. -# Domains may contain * and ? wildcards and are otherwise required -# to exactly match the requested domain. -# Local domains are always exempt from hostblocking. -# Default: piwik.org -host-blocking-whitelist = piwik.org - -# enable-pdfjs (Bool): -# Enable pdf.js to view PDF files in the browser. -# Note that the files can still be downloaded by clicking the -# download button in the pdf.js viewer. -# Valid values: true, false -# Default: false -enable-pdfjs = false - - -# Hinting settings. -[hints] - -# border (String): -# CSS border value for hints. -# Default: 1px solid #E3BE23 -border = 1px solid #E3BE23 - -# mode (String): -# Mode to use for hints. -# number: Use numeric hints. (In this mode you can also type -# letters form the hinted element to filter and reduce the number of -# elements that are hinted.) -# letter: Use the chars in the hints -> chars setting. -# word: Use hints words based on the html elements and the extra -# words. -# Default: letter -mode = letter - -# chars (UniqueCharString): -# Chars used for hint strings. -# Default: asdfghjkl -chars = asdfghjkl - -# min-chars (Int): -# Minimum number of chars used for hint strings. -# Default: 1 -min-chars = 1 - -# scatter (Bool): -# Whether to scatter hint key chains (like Vimium) or not (like -# dwb). Ignored for number hints. -# Valid values: true, false -# Default: true -scatter = true - -# uppercase (Bool): -# Make chars in hint strings uppercase. -# Valid values: true, false -# Default: false -uppercase = false - -# dictionary (File): -# The dictionary file to be used by the word hints. -# Default: /usr/share/dict/words -dictionary = /usr/share/dict/words - -# auto-follow (String): -# Controls when a hint can be automatically followed without the -# user pressing Enter. -# always: Auto-follow whenever there is only a single hint on a -# page. -# unique-match: Auto-follow whenever there is a unique non-empty -# match in either the hint string (word mode) or filter (number -# mode). -# full-match: Follow the hint when the user typed the whole hint -# (letter, word or number mode) or the element's text (only in -# number mode). -# never: The user will always need to press Enter to follow a -# hint. -# Default: unique-match -auto-follow = unique-match - -# auto-follow-timeout (Int): -# A timeout (in milliseconds) to inhibit normal-mode key bindings -# after a successful auto-follow. -# Default: 0 -auto-follow-timeout = 0 - -# next-regexes (List of Regex): -# A comma-separated list of regexes to use for 'next' links. -# Default: -# \bnext\b,\bmore\b,\bnewer\b,\b[>→≫]\b,\b(>>|»)\b,\bcontinue\b -next-regexes = \bnext\b,\bmore\b,\bnewer\b,\b[>→≫]\b,\b(>>|»)\b,\bcontinue\b - -# prev-regexes (List of Regex): -# A comma-separated list of regexes to use for 'prev' links. -# Default: \bprev(ious)?\b,\bback\b,\bolder\b,\b[<←≪]\b,\b(<<|«)\b -prev-regexes = \bprev(ious)?\b,\bback\b,\bolder\b,\b[<←≪]\b,\b(<<|«)\b - -# find-implementation (String): -# Which implementation to use to find elements to hint. -# javascript: Better but slower -# python: Slightly worse but faster -# Default: python -find-implementation = python - -# hide-unmatched-rapid-hints (Bool): -# Controls hiding unmatched hints in rapid mode. -# Valid values: true, false -# Default: true -hide-unmatched-rapid-hints = true - - -# Definitions of search engines which can be used via the address bar. -# The searchengine named `DEFAULT` is used when `general -> auto-search` -# is true and something else than a URL was entered to be opened. Other -# search engines can be used by prepending the search engine name to the -# search term, e.g. `:open google qutebrowser`. The string `{}` will be -# replaced by the search term, use `{{` and `}}` for literal `{`/`}` -# signs. -[searchengines] -DEFAULT = https://duckduckgo.com/?q={} - - -# Aliases for commands. -# By default, no aliases are defined. Example which adds a new command -# `:qtb` to open qutebrowsers website: -# `qtb = open https://www.qutebrowser.org/` -[aliases] - - -# Colors used in the UI. -# A value can be in one of the following format: -# * `#RGB`/`#RRGGBB`/`#RRRGGGBBB`/`#RRRRGGGGBBBB` -# * An SVG color name as specified in http://www.w3.org/TR/SVG/types.html#ColorKeywords[the W3C specification]. -# * transparent (no color) -# * `rgb(r, g, b)` / `rgba(r, g, b, a)` (values 0-255 or percentages) -# * `hsv(h, s, v)` / `hsva(h, s, v, a)` (values 0-255, hue 0-359) -# * A gradient as explained in http://doc.qt.io/qt-5/stylesheet-reference.html#list-of-property-types[the Qt documentation] under ``Gradient''. -# A *.system value determines the color system to use for color -# interpolation between similarly-named *.start and *.stop entries, -# regardless of how they are defined in the options. Valid values are -# 'rgb', 'hsv', and 'hsl'. -# The `hints.*` values are a special case as they're real CSS colors, not Qt-CSS colors. There, for a gradient, you need to use `-webkit-gradient`, see https://www.webkit.org/blog/175/introducing-css-gradients/[the WebKit documentation]. -[colors] - -# completion.fg (QtColor): -# Text color of the completion widget. -# Default: white -completion.fg = white - -# completion.bg (QssColor): -# Background color of the completion widget. -# Default: #333333 -completion.bg = #333333 - -# completion.alternate-bg (QssColor): -# Alternating background color of the completion widget. -# Default: #444444 -completion.alternate-bg = #444444 - -# completion.category.fg (QtColor): -# Foreground color of completion widget category headers. -# Default: white -completion.category.fg = white - -# completion.category.bg (QssColor): -# Background color of the completion widget category headers. -# Default: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #888888, -# stop:1 #505050) -completion.category.bg = qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #888888, stop:1 #505050) - -# completion.category.border.top (QssColor): -# Top border color of the completion widget category headers. -# Default: black -completion.category.border.top = black - -# completion.category.border.bottom (QssColor): -# Bottom border color of the completion widget category headers. -# Default: ${completion.category.border.top} -completion.category.border.bottom = ${completion.category.border.top} - -# completion.item.selected.fg (QtColor): -# Foreground color of the selected completion item. -# Default: black -completion.item.selected.fg = black - -# completion.item.selected.bg (QssColor): -# Background color of the selected completion item. -# Default: #e8c000 -completion.item.selected.bg = #e8c000 - -# completion.item.selected.border.top (QssColor): -# Top border color of the completion widget category headers. -# Default: #bbbb00 -completion.item.selected.border.top = #bbbb00 - -# completion.item.selected.border.bottom (QssColor): -# Bottom border color of the selected completion item. -# Default: ${completion.item.selected.border.top} -completion.item.selected.border.bottom = ${completion.item.selected.border.top} - -# completion.match.fg (QssColor): -# Foreground color of the matched text in the completion. -# Default: #ff4444 -completion.match.fg = #ff4444 - -# completion.scrollbar.fg (QssColor): -# Color of the scrollbar handle in completion view. -# Default: ${completion.fg} -completion.scrollbar.fg = ${completion.fg} - -# completion.scrollbar.bg (QssColor): -# Color of the scrollbar in completion view -# Default: ${completion.bg} -completion.scrollbar.bg = ${completion.bg} - -# statusbar.fg (QssColor): -# Foreground color of the statusbar. -# Default: white -statusbar.fg = white - -# statusbar.bg (QssColor): -# Background color of the statusbar. -# Default: black -statusbar.bg = black - -# statusbar.fg.private (QssColor): -# Foreground color of the statusbar in private browsing mode. -# Default: ${statusbar.fg} -statusbar.fg.private = ${statusbar.fg} - -# statusbar.bg.private (QssColor): -# Background color of the statusbar in private browsing mode. -# Default: #666666 -statusbar.bg.private = #666666 - -# statusbar.fg.insert (QssColor): -# Foreground color of the statusbar in insert mode. -# Default: ${statusbar.fg} -statusbar.fg.insert = ${statusbar.fg} - -# statusbar.bg.insert (QssColor): -# Background color of the statusbar in insert mode. -# Default: darkgreen -statusbar.bg.insert = darkgreen - -# statusbar.fg.command (QssColor): -# Foreground color of the statusbar in command mode. -# Default: ${statusbar.fg} -statusbar.fg.command = ${statusbar.fg} - -# statusbar.bg.command (QssColor): -# Background color of the statusbar in command mode. -# Default: ${statusbar.bg} -statusbar.bg.command = ${statusbar.bg} - -# statusbar.fg.command.private (QssColor): -# Foreground color of the statusbar in private browsing + command -# mode. -# Default: ${statusbar.fg.private} -statusbar.fg.command.private = ${statusbar.fg.private} - -# statusbar.bg.command.private (QssColor): -# Background color of the statusbar in private browsing + command -# mode. -# Default: ${statusbar.bg.private} -statusbar.bg.command.private = ${statusbar.bg.private} - -# statusbar.fg.caret (QssColor): -# Foreground color of the statusbar in caret mode. -# Default: ${statusbar.fg} -statusbar.fg.caret = ${statusbar.fg} - -# statusbar.bg.caret (QssColor): -# Background color of the statusbar in caret mode. -# Default: purple -statusbar.bg.caret = purple - -# statusbar.fg.caret-selection (QssColor): -# Foreground color of the statusbar in caret mode with a selection -# Default: ${statusbar.fg} -statusbar.fg.caret-selection = ${statusbar.fg} - -# statusbar.bg.caret-selection (QssColor): -# Background color of the statusbar in caret mode with a selection -# Default: #a12dff -statusbar.bg.caret-selection = #a12dff - -# statusbar.progress.bg (QssColor): -# Background color of the progress bar. -# Default: white -statusbar.progress.bg = white - -# statusbar.url.fg (QssColor): -# Default foreground color of the URL in the statusbar. -# Default: ${statusbar.fg} -statusbar.url.fg = ${statusbar.fg} - -# statusbar.url.fg.success (QssColor): -# Foreground color of the URL in the statusbar on successful load -# (http). -# Default: white -statusbar.url.fg.success = white - -# statusbar.url.fg.success.https (QssColor): -# Foreground color of the URL in the statusbar on successful load -# (https). -# Default: lime -statusbar.url.fg.success.https = lime - -# statusbar.url.fg.error (QssColor): -# Foreground color of the URL in the statusbar on error. -# Default: orange -statusbar.url.fg.error = orange - -# statusbar.url.fg.warn (QssColor): -# Foreground color of the URL in the statusbar when there's a -# warning. -# Default: yellow -statusbar.url.fg.warn = yellow - -# statusbar.url.fg.hover (QssColor): -# Foreground color of the URL in the statusbar for hovered links. -# Default: aqua -statusbar.url.fg.hover = aqua - -# tabs.fg.odd (QtColor): -# Foreground color of unselected odd tabs. -# Default: white -tabs.fg.odd = white - -# tabs.bg.odd (QtColor): -# Background color of unselected odd tabs. -# Default: grey -tabs.bg.odd = grey - -# tabs.fg.even (QtColor): -# Foreground color of unselected even tabs. -# Default: white -tabs.fg.even = white - -# tabs.bg.even (QtColor): -# Background color of unselected even tabs. -# Default: darkgrey -tabs.bg.even = darkgrey - -# tabs.fg.selected.odd (QtColor): -# Foreground color of selected odd tabs. -# Default: white -tabs.fg.selected.odd = white - -# tabs.bg.selected.odd (QtColor): -# Background color of selected odd tabs. -# Default: black -tabs.bg.selected.odd = black - -# tabs.fg.selected.even (QtColor): -# Foreground color of selected even tabs. -# Default: ${tabs.fg.selected.odd} -tabs.fg.selected.even = ${tabs.fg.selected.odd} - -# tabs.bg.selected.even (QtColor): -# Background color of selected even tabs. -# Default: ${tabs.bg.selected.odd} -tabs.bg.selected.even = ${tabs.bg.selected.odd} - -# tabs.bg.bar (QtColor): -# Background color of the tab bar. -# Default: #555555 -tabs.bg.bar = #555555 - -# tabs.indicator.start (QtColor): -# Color gradient start for the tab indicator. -# Default: #0000aa -tabs.indicator.start = #0000aa - -# tabs.indicator.stop (QtColor): -# Color gradient end for the tab indicator. -# Default: #00aa00 -tabs.indicator.stop = #00aa00 - -# tabs.indicator.error (QtColor): -# Color for the tab indicator on errors.. -# Default: #ff0000 -tabs.indicator.error = #ff0000 - -# tabs.indicator.system (ColorSystem): -# Color gradient interpolation system for the tab indicator. -# rgb: Interpolate in the RGB color system. -# hsv: Interpolate in the HSV color system. -# hsl: Interpolate in the HSL color system. -# none: Don't show a gradient. -# Default: rgb -tabs.indicator.system = rgb - -# hints.fg (QssColor): -# Font color for hints. -# Default: black -hints.fg = black - -# hints.bg (QssColor): -# Background color for hints. Note that you can use a `rgba(...)` -# value for transparency. -# Default: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 rgba(255, -# 247, 133, 0.8), stop:1 rgba(255, 197, 66, 0.8)) -hints.bg = qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 rgba(255, 247, 133, 0.8), stop:1 rgba(255, 197, 66, 0.8)) - -# hints.fg.match (QssColor): -# Font color for the matched part of hints. -# Default: green -hints.fg.match = green - -# downloads.bg.bar (QssColor): -# Background color for the download bar. -# Default: black -downloads.bg.bar = black - -# downloads.fg.start (QtColor): -# Color gradient start for download text. -# Default: white -downloads.fg.start = white - -# downloads.bg.start (QtColor): -# Color gradient start for download backgrounds. -# Default: #0000aa -downloads.bg.start = #0000aa - -# downloads.fg.stop (QtColor): -# Color gradient end for download text. -# Default: ${downloads.fg.start} -downloads.fg.stop = ${downloads.fg.start} - -# downloads.bg.stop (QtColor): -# Color gradient stop for download backgrounds. -# Default: #00aa00 -downloads.bg.stop = #00aa00 - -# downloads.fg.system (ColorSystem): -# Color gradient interpolation system for download text. -# rgb: Interpolate in the RGB color system. -# hsv: Interpolate in the HSV color system. -# hsl: Interpolate in the HSL color system. -# none: Don't show a gradient. -# Default: rgb -downloads.fg.system = rgb - -# downloads.bg.system (ColorSystem): -# Color gradient interpolation system for download backgrounds. -# rgb: Interpolate in the RGB color system. -# hsv: Interpolate in the HSV color system. -# hsl: Interpolate in the HSL color system. -# none: Don't show a gradient. -# Default: rgb -downloads.bg.system = rgb - -# downloads.fg.error (QtColor): -# Foreground color for downloads with errors. -# Default: white -downloads.fg.error = white - -# downloads.bg.error (QtColor): -# Background color for downloads with errors. -# Default: red -downloads.bg.error = red - -# webpage.bg (QtColor): -# Background color for webpages if unset (or empty to use the -# theme's color) -# Default: white -webpage.bg = white - -# keyhint.fg (QssColor): -# Text color for the keyhint widget. -# Default: #FFFFFF -keyhint.fg = #FFFFFF - -# keyhint.fg.suffix (CssColor): -# Highlight color for keys to complete the current keychain -# Default: #FFFF00 -keyhint.fg.suffix = #FFFF00 - -# keyhint.bg (QssColor): -# Background color of the keyhint widget. -# Default: rgba(0, 0, 0, 80%) -keyhint.bg = rgba(0, 0, 0, 80%) - -# messages.fg.error (QssColor): -# Foreground color of an error message. -# Default: white -messages.fg.error = white - -# messages.bg.error (QssColor): -# Background color of an error message. -# Default: red -messages.bg.error = red - -# messages.border.error (QssColor): -# Border color of an error message. -# Default: #bb0000 -messages.border.error = #bb0000 - -# messages.fg.warning (QssColor): -# Foreground color a warning message. -# Default: white -messages.fg.warning = white - -# messages.bg.warning (QssColor): -# Background color of a warning message. -# Default: darkorange -messages.bg.warning = darkorange - -# messages.border.warning (QssColor): -# Border color of an error message. -# Default: #d47300 -messages.border.warning = #d47300 - -# messages.fg.info (QssColor): -# Foreground color an info message. -# Default: white -messages.fg.info = white - -# messages.bg.info (QssColor): -# Background color of an info message. -# Default: black -messages.bg.info = black - -# messages.border.info (QssColor): -# Border color of an info message. -# Default: #333333 -messages.border.info = #333333 - -# prompts.fg (QssColor): -# Foreground color for prompts. -# Default: white -prompts.fg = white - -# prompts.bg (QssColor): -# Background color for prompts. -# Default: darkblue -prompts.bg = darkblue - -# prompts.selected.bg (QssColor): -# Background color for the selected item in filename prompts. -# Default: #308cc6 -prompts.selected.bg = #308cc6 - - -# Fonts used for the UI, with optional style/weight/size. -# * Style: `normal`/`italic`/`oblique` -# * Weight: `normal`, `bold`, `100`..`900` -# * Size: _number_ `px`/`pt` -[fonts] - -# _monospace (Font): -# Default monospace fonts. -# Default: xos4 Terminus, Terminus, Monospace, "DejaVu Sans Mono", -# Monaco, "Bitstream Vera Sans Mono", "Andale Mono", "Courier New", -# Courier, "Liberation Mono", monospace, Fixed, Consolas, Terminal -_monospace = Iosevka, Monospace, "DejaVu Sans Mono", Monaco, "Bitstream Vera Sans Mono", "Andale Mono", "Courier New", Courier, "Liberation Mono", monospace, Fixed, Consolas, Terminal - -# completion (Font): -# Font used in the completion widget. -# Default: 8pt ${_monospace} -completion = 9pt ${_monospace} - -# completion.category (Font): -# Font used in the completion categories. -# Default: bold ${completion} -completion.category = bold ${completion} - -# tabbar (QtFont): -# Font used in the tab bar. -# Default: 8pt ${_monospace} -tabbar = 8pt ${_monospace} - -# statusbar (Font): -# Font used in the statusbar. -# Default: 8pt ${_monospace} -statusbar = 8pt ${_monospace} - -# downloads (Font): -# Font used for the downloadbar. -# Default: 8pt ${_monospace} -downloads = 8pt ${_monospace} - -# hints (Font): -# Font used for the hints. -# Default: bold 13px ${_monospace} -hints = bold 13px ${_monospace} - -# debug-console (QtFont): -# Font used for the debugging console. -# Default: 8pt ${_monospace} -debug-console = 8pt ${_monospace} - -# web-family-standard (FontFamily): -# Font family for standard fonts. -# Default: -web-family-standard = - -# web-family-fixed (FontFamily): -# Font family for fixed fonts. -# Default: -web-family-fixed = - -# web-family-serif (FontFamily): -# Font family for serif fonts. -# Default: -web-family-serif = - -# web-family-sans-serif (FontFamily): -# Font family for sans-serif fonts. -# Default: -web-family-sans-serif = - -# web-family-cursive (FontFamily): -# Font family for cursive fonts. -# Default: -web-family-cursive = - -# web-family-fantasy (FontFamily): -# Font family for fantasy fonts. -# Default: -web-family-fantasy = - -# web-size-minimum (Int): -# The hard minimum font size. -# Default: 0 -web-size-minimum = 0 - -# web-size-minimum-logical (Int): -# The minimum logical font size that is applied when zooming out. -# Default: 6 -web-size-minimum-logical = 6 - -# web-size-default (Int): -# The default font size for regular text. -# Default: 16 -web-size-default = 16 - -# web-size-default-fixed (Int): -# The default font size for fixed-pitch text. -# Default: 13 -web-size-default-fixed = 13 - -# keyhint (Font): -# Font used in the keyhint widget. -# Default: 8pt ${_monospace} -keyhint = 8pt ${_monospace} - -# messages.error (Font): -# Font used for error messages. -# Default: 8pt ${_monospace} -messages.error = 8pt ${_monospace} - -# messages.warning (Font): -# Font used for warning messages. -# Default: 8pt ${_monospace} -messages.warning = 8pt ${_monospace} - -# messages.info (Font): -# Font used for info messages. -# Default: 8pt ${_monospace} -messages.info = 8pt ${_monospace} - -# prompts (Font): -# Font used for prompts. -# Default: 8pt sans-serif -prompts = 8pt ${_monospace} diff --git a/common/tmux/conf b/common/tmux/conf deleted file mode 100644 index 9327af7..0000000 --- a/common/tmux/conf +++ /dev/null @@ -1,116 +0,0 @@ -unbind C-b -set -g prefix C-s -bind s send-prefix - -bind v split-window -h -c "#{pane_current_path}" -bind b split-window -c "#{pane_current_path}" - -bind T source-file "$HOME/.tmux.conf" \; display-message "Reloaded $HOME/.tmux.conf" - -# dump buffer contents to file -bind O display-message "#(tmux-save-buffer '#S')" -# TODO: dump buffer to file and open in EDITOR? - -bind D attach-session -t . -c '#{pane_current_path}' \; display-message "Set session path to #{pane_current_path}" - -# toggle status bar -bind H set -s status - -# pane navigation -bind -n C-l select-pane -R -bind -n C-k select-pane -U -bind -n C-j select-pane -D -bind -n C-h select-pane -L - -# tab creation -bind -n C-t new-window -bind Tab next-window - -# tab nav is the default p and n binds -# window switcher is the default w bind - -# session switcher -bind s run "tmux split-window -l 12 'tmuxswitcher'" - -set -g update-environment "WAYLAND_DISPLAY DISPLAY" - -set -g mouse on -set -g escape-time 0 - -set -g monitor-activity on -set -g visual-bell off -set -g bell-action other -set -g activity-action none - -set -g mode-keys vi -set -g history-limit 1000000 -set -g status on -set -g status-position bottom -set -g status-style "fg=colour8 bg=default" -# set -g status-bg default -# set -g status-fg colour8 -set -g status-interval 5 -set -g status-left-length 50 -set -g window-status-style "fg=colour8 bg=default" -set -g window-status-format "#W" -set -g window-status-separator " " -set -g window-status-activity-style "fg=colour7 bg=default" -set -g window-status-bell-style "fg=colour1 bg=default" -set -g window-status-current-style "fg=colour4 bg=default" -set -g window-status-current-format " #W " -set -g status-left "#h:#S " -set -g status-right "" - # set -ag status-right "#(pwd | $XDG_CONFIG_HOME/lytedev-dotfiles/common/bin/glancepath) " - set -ag status-right "#(kubeline && printf ' ')" -set -g status-left-length 1000 -# set -g status-right-length 280 - # set -ag status-right "#{pane_current_command}" - -set -g message-style "fg=colour7 bg=default" -set -g pane-active-border-style fg=blue -set -g pane-border-style fg=colour0 -set -g clock-mode-colour colour8 -set -g base-index 1 -set -g pane-base-index 1 - -set -g window-status-current-format "#W" - -# present a menu of urls to open from the visible pane -# TODO: fuzzy search this -# bind u capture-pane \;\ -# save-buffer /tmp/tmux-buffer \;\ -# split-window -l 10 "urlscan /tmp/tmux-buffer" - -bind -T copy-mode-vi "y" send-keys -X copy-pipe-no-clear 'wl-copy' \; display-message 'Copied to clipboard!' -bind -T copy-mode-vi MouseDragEnd1Pane send-keys -X copy-pipe-no-clear 'wl-copy' \; display-message 'Copied to clipboard!' - -bind K kill-pane -bind C-S-k kill-window - -# TODO: handle tmux nesting by being able to toggle the prefix (and indicate in status bar?) - -# TODO: styles after `set -u key-table` -#if -F '#{pane_in_mode}' 'send-keys -X cancel' \;\ -bind -T root F12 set -g prefix None \; set -g key-table off \; display-message "Keys OFF" \; refresh-client -S - -# TODO: styles after `set -u key-table` -bind -T off F12 \ - set -g -u prefix \;\ - set -g -u key-table \;\ - display-message "Keys ON" \;\ - refresh-client -S - -source-file "$ENV_PATH/*/tmux.d.conf" - -set -g @plugin 'tmux-plugins/tpm' -set -g @plugin 'tmux-plugins/tmux-resurrect' -set -g @plugin 'tmux-plugins/tmux-continuum' - -set -g @resurrect-capture-pane-contents 'on' -set -g @resurrect-processes 'helix hx vi vim nvim emacs man less more tail top htop btm irssi weechat mutt "git log" iex mix deno watchexec mosh-client ssh' - -bind A run-shell "#{@resurrect-save-script-path}" -bind L run-shell "#{@resurrect-restore-script-path}" - -set -g @continuum-restore 'on' -set -g @continuum-save-interval '120' diff --git a/common/wezterm/catpuccin.lua b/common/wezterm/catpuccin.lua new file mode 100644 index 0000000..cbc183f --- /dev/null +++ b/common/wezterm/catpuccin.lua @@ -0,0 +1,291 @@ +local wezterm = require("wezterm") + +local M = {} + +local colors = { + latte = { + rosewater = "#dc8a78", + flamingo = "#dd7878", + pink = "#ea76cb", + mauve = "#8839ef", + red = "#d20f39", + maroon = "#e64553", + peach = "#fe640b", + yellow = "#df8e1d", + green = "#40a02b", + teal = "#179299", + sky = "#04a5e5", + sapphire = "#209fb5", + blue = "#1e66f5", + lavender = "#7287fd", + text = "#4c4f69", + subtext1 = "#5c5f77", + subtext0 = "#6c6f85", + overlay2 = "#7c7f93", + overlay1 = "#8c8fa1", + overlay0 = "#9ca0b0", + surface2 = "#acb0be", + surface1 = "#bcc0cc", + surface0 = "#ccd0da", + crust = "#dce0e8", + mantle = "#e6e9ef", + base = "#eff1f5", + }, + frappe = { + rosewater = "#f2d5cf", + flamingo = "#eebebe", + pink = "#f4b8e4", + mauve = "#ca9ee6", + red = "#e78284", + maroon = "#ea999c", + peach = "#ef9f76", + yellow = "#e5c890", + green = "#a6d189", + teal = "#81c8be", + sky = "#99d1db", + sapphire = "#85c1dc", + blue = "#8caaee", + lavender = "#babbf1", + text = "#c6d0f5", + subtext1 = "#b5bfe2", + subtext0 = "#a5adce", + overlay2 = "#949cbb", + overlay1 = "#838ba7", + overlay0 = "#737994", + surface2 = "#626880", + surface1 = "#51576d", + surface0 = "#414559", + base = "#303446", + mantle = "#292c3c", + crust = "#232634", + }, + macchiato = { + rosewater = "#f4dbd6", + flamingo = "#f0c6c6", + pink = "#f5bde6", + mauve = "#c6a0f6", + red = "#ed8796", + maroon = "#ee99a0", + peach = "#f5a97f", + yellow = "#eed49f", + green = "#a6da95", + teal = "#8bd5ca", + sky = "#91d7e3", + sapphire = "#7dc4e4", + blue = "#8aadf4", + lavender = "#b7bdf8", + text = "#cad3f5", + subtext1 = "#b8c0e0", + subtext0 = "#a5adcb", + overlay2 = "#939ab7", + overlay1 = "#8087a2", + overlay0 = "#6e738d", + surface2 = "#5b6078", + surface1 = "#494d64", + surface0 = "#363a4f", + base = "#24273a", + mantle = "#1e2030", + crust = "#181926", + }, + mocha = { + rosewater = "#f5e0dc", + flamingo = "#f2cdcd", + pink = "#f5c2e7", + mauve = "#cba6f7", + red = "#f38ba8", + maroon = "#eba0ac", + peach = "#fab387", + yellow = "#f9e2af", + green = "#a6e3a1", + teal = "#94e2d5", + sky = "#89dceb", + sapphire = "#74c7ec", + blue = "#89b4fa", + lavender = "#b4befe", + text = "#cdd6f4", + subtext1 = "#bac2de", + subtext0 = "#a6adc8", + overlay2 = "#9399b2", + overlay1 = "#7f849c", + overlay0 = "#6c7086", + surface2 = "#585b70", + surface1 = "#45475a", + surface0 = "#313244", + base = "#1e1e2e", + mantle = "#181825", + crust = "#11111b", + }, +} + +local mappings = { + mocha = "Catppuccin Mocha", + macchiato = "Catppuccin Macchiato", + frappe = "Catppuccin Frappe", + latte = "Catppuccin Latte", +} + +function M.select(palette, flavor, accent) + local c = palette[flavor] + -- shorthand to check for the Latte flavor + local isLatte = palette == "latte" + + return { + foreground = c.text, + background = c.base, + + cursor_fg = isLatte and c.base or c.crust, + cursor_bg = c.rosewater, + cursor_border = c.rosewater, + + selection_fg = c.text, + selection_bg = c.surface2, + + scrollbar_thumb = c.surface2, + + split = c.overlay0, + + ansi = { + isLatte and c.subtext1 or c.surface1, + c.red, + c.green, + c.yellow, + c.blue, + c.pink, + c.teal, + isLatte and c.surface2 or c.subtext1, + }, + + brights = { + isLatte and c.subtext0 or c.surface2, + c.red, + c.green, + c.yellow, + c.blue, + c.pink, + c.teal, + isLatte and c.surface1 or c.subtext0, + }, + + indexed = { [16] = c.peach, [17] = c.rosewater }, + + -- nightbuild only + compose_cursor = c.flamingo, + + tab_bar = { + background = c.crust, + active_tab = { + bg_color = c[accent], + fg_color = c.crust, + }, + inactive_tab = { + bg_color = c.mantle, + fg_color = c.text, + }, + inactive_tab_hover = { + bg_color = c.base, + fg_color = c.text, + }, + new_tab = { + bg_color = c.surface0, + fg_color = c.text, + }, + new_tab_hover = { + bg_color = c.surface1, + fg_color = c.text, + }, + -- fancy tab bar + inactive_tab_edge = c.surface0, + }, + + visual_bell = c.surface0, + } +end + +local function select_for_appearance(appearance, options) + if appearance:find("Dark") then + return options.dark + else + return options.light + end +end + +local function tableMerge(t1, t2) + for k, v in pairs(t2) do + if type(v) == "table" then + if type(t1[k] or false) == "table" then + tableMerge(t1[k] or {}, t2[k] or {}) + else + t1[k] = v + end + else + t1[k] = v + end + end + return t1 +end + +function M.apply_to_config(c, opts) + if not opts then + opts = {} + end + + -- default options + local defaults = { + flavor = "mocha", + accent = "mauve", + sync = false, + sync_flavors = { light = "latte", dark = "mocha" }, + color_overrides = { mocha = {}, macchiato = {}, frappe = {}, latte = {} }, + token_overrides = { mocha = {}, macchiato = {}, frappe = {}, latte = {} }, + } + + local o = tableMerge(defaults, opts) + + -- insert all flavors + local color_schemes = {} + local palette = tableMerge(colors, o.color_overrides) + for flavor, name in pairs(mappings) do + local spec = M.select(palette, flavor, o.accent) + local overrides = o.token_overrides[flavor] + color_schemes[name] = tableMerge(spec, overrides) + end + if c.color_schemes == nil then + c.color_schemes = {} + end + c.color_schemes = tableMerge(c.color_schemes, color_schemes) + + if opts.sync then + c.color_scheme = select_for_appearance(wezterm.gui.get_appearance(), { + dark = mappings[o.sync_flavors.dark], + light = mappings[o.sync_flavors.light], + }) + c.command_palette_bg_color = select_for_appearance(wezterm.gui.get_appearance(), { + dark = colors[o.sync_flavors.dark].crust, + light = colors[o.sync_flavors.light].crust, + }) + c.command_palette_fg_color = select_for_appearance(wezterm.gui.get_appearance(), { + dark = colors[o.sync_flavors.dark].text, + light = colors[o.sync_flavors.light].text, + }) + else + c.color_scheme = mappings[o.flavor] + c.command_palette_bg_color = colors[o.flavor].crust + c.command_palette_fg_color = colors[o.flavor].text + end + + local window_frame = { + active_titlebar_bg = colors[o.flavor].crust, + active_titlebar_fg = colors[o.flavor].text, + inactive_titlebar_bg = colors[o.flavor].crust, + inactive_titlebar_fg = colors[o.flavor].text, + button_fg = colors[o.flavor].text, + button_bg = colors[o.flavor].base, + } + + if c.window_frame == nil then + c.window_frame = {} + end + c.window_frame = tableMerge(c.window_frame, window_frame) +end + +return M \ No newline at end of file diff --git a/common/wezterm/wezterm.lua b/common/wezterm/wezterm.lua new file mode 100644 index 0000000..1c5a142 --- /dev/null +++ b/common/wezterm/wezterm.lua @@ -0,0 +1,56 @@ +local wezterm = require 'wezterm' +local catpuccin = require 'catpuccin' + +local config = {} + +if wezterm.config_builder then + config = wezterm.config_builder() +end + +catpuccin.apply_to_config(config) + +config.font = wezterm.font('IosevkaLyteTerm', { weight = 'Regular', italic = false }) +config.font_size = 12.0 + +config.hide_tab_bar_if_only_one_tab = true +config.use_fancy_tab_bar = false +config.window_background_opacity = 1.0 + +config.keys = { + { + key = 'j', + mods = 'CTRL', + action = wezterm.action.ActivatePaneDirection'Down' + }, + { + key = 'h', + mods = 'CTRL', + action = wezterm.action.ActivatePaneDirection'Left' + }, + { + key = 'l', + mods = 'CTRL', + action = wezterm.action.ActivatePaneDirection'Right' + }, + { + key = 'k', + mods = 'CTRL', + action = wezterm.action.ActivatePaneDirection'Up' + }, + { + key = 'j', + mods = 'CTRL|SHIFT', + action = wezterm.action.SplitVertical{domain='CurrentPaneDomain'} + }, + { + key = 'l', + mods = 'CTRL|SHIFT', + action = wezterm.action.SplitHorizontal{domain='CurrentPaneDomain'} + }, +} + +-- 😋 +-- -> => ==> +-- -* ** :: >> |> + +return config diff --git a/common/zellij/config.kdl b/common/zellij/config.kdl deleted file mode 100644 index 3c57e6a..0000000 --- a/common/zellij/config.kdl +++ /dev/null @@ -1,302 +0,0 @@ -// If you'd like to override the default keybindings completely, be sure to change "keybinds" to "keybinds clear-defaults=true" -keybinds clear-defaults=true { - normal { - bind "Ctrl h" { MoveFocusOrTab "Left"; } - bind "Ctrl l" { MoveFocusOrTab "Right"; } - bind "Ctrl j" { MoveFocus "Down"; } - bind "Ctrl J" { MoveFocus "Down"; } - bind "Ctrl k" { MoveFocus "Up"; } - } - locked { - bind "Ctrl g" { SwitchToMode "Normal"; } - } - resize { - bind "Ctrl z" { SwitchToMode "Normal"; } - bind "h" "Left" { Resize "Increase Left"; } - bind "j" "Down" { Resize "Increase Down"; } - bind "k" "Up" { Resize "Increase Up"; } - bind "l" "Right" { Resize "Increase Right"; } - bind "H" { Resize "Decrease Left"; } - bind "J" { Resize "Decrease Down"; } - bind "K" { Resize "Decrease Up"; } - bind "L" { Resize "Decrease Right"; } - bind "=" "+" { Resize "Increase"; } - bind "-" { Resize "Decrease"; } - } - pane { - bind "Ctrl n" { SwitchToMode "Normal"; } - bind "h" "Left" { MoveFocus "Left"; } - bind "l" "Right" { MoveFocus "Right"; } - bind "j" "Down" { MoveFocus "Down"; } - bind "k" "Up" { MoveFocus "Up"; } - bind "p" { SwitchFocus; } - bind "n" { NewPane; SwitchToMode "Normal"; } - bind "d" { NewPane "Down"; SwitchToMode "Normal"; } - bind "r" { NewPane "Right"; SwitchToMode "Normal"; } - bind "x" { CloseFocus; SwitchToMode "Normal"; } - bind "f" { ToggleFocusFullscreen; SwitchToMode "Normal"; } - bind "z" { TogglePaneFrames; SwitchToMode "Normal"; } - bind "w" { ToggleFloatingPanes; SwitchToMode "Normal"; } - bind "e" { TogglePaneEmbedOrFloating; SwitchToMode "Normal"; } - bind "c" { SwitchToMode "RenamePane"; PaneNameInput 0;} - } - move { - bind "Ctrl h" { SwitchToMode "Normal"; } - bind "n" "Tab" { MovePane; } - bind "h" "Left" { MovePane "Left"; } - bind "j" "Down" { MovePane "Down"; } - bind "k" "Up" { MovePane "Up"; } - bind "l" "Right" { MovePane "Right"; } - } - tab { - bind "Ctrl t" { SwitchToMode "Normal"; } - bind "r" { SwitchToMode "RenameTab"; TabNameInput 0; } - bind "h" "Left" "Up" "k" { GoToPreviousTab; } - bind "l" "Right" "Down" "j" { GoToNextTab; } - bind "n" { NewTab; SwitchToMode "Normal"; } - bind "x" { CloseTab; SwitchToMode "Normal"; } - bind "s" { ToggleActiveSyncTab; SwitchToMode "Normal"; } - bind "1" { GoToTab 1; SwitchToMode "Normal"; } - bind "2" { GoToTab 2; SwitchToMode "Normal"; } - bind "3" { GoToTab 3; SwitchToMode "Normal"; } - bind "4" { GoToTab 4; SwitchToMode "Normal"; } - bind "5" { GoToTab 5; SwitchToMode "Normal"; } - bind "6" { GoToTab 6; SwitchToMode "Normal"; } - bind "7" { GoToTab 7; SwitchToMode "Normal"; } - bind "8" { GoToTab 8; SwitchToMode "Normal"; } - bind "9" { GoToTab 9; SwitchToMode "Normal"; } - bind "Tab" { ToggleTab; } - } - scroll { - bind "Ctrl s" { SwitchToMode "Normal"; } - bind "e" { EditScrollback; SwitchToMode "Normal"; } - bind "s" { SwitchToMode "EnterSearch"; SearchInput 0; } - bind "Ctrl c" { ScrollToBottom; SwitchToMode "Normal"; } - bind "j" "Down" { ScrollDown; } - bind "k" "Up" { ScrollUp; } - bind "Ctrl f" "PageDown" "Right" "l" { PageScrollDown; } - bind "Ctrl b" "PageUp" "Left" "h" { PageScrollUp; } - bind "d" { HalfPageScrollDown; } - bind "u" { HalfPageScrollUp; } - // uncomment this and adjust key if using copy_on_select=false - // bind "Alt c" { Copy; } - } - search { - bind "Ctrl s" { SwitchToMode "Normal"; } - bind "Ctrl c" { ScrollToBottom; SwitchToMode "Normal"; } - bind "j" "Down" { ScrollDown; } - bind "k" "Up" { ScrollUp; } - bind "Ctrl f" "PageDown" "Right" "l" { PageScrollDown; } - bind "Ctrl b" "PageUp" "Left" "h" { PageScrollUp; } - bind "d" { HalfPageScrollDown; } - bind "u" { HalfPageScrollUp; } - bind "n" { Search "down"; } - bind "p" { Search "up"; } - bind "c" { SearchToggleOption "CaseSensitivity"; } - bind "w" { SearchToggleOption "Wrap"; } - bind "o" { SearchToggleOption "WholeWord"; } - } - entersearch { - bind "Ctrl c" "Esc" { SwitchToMode "Scroll"; } - bind "Enter" { SwitchToMode "Search"; } - } - renametab { - bind "Ctrl c" { SwitchToMode "Normal"; } - bind "Esc" { UndoRenameTab; SwitchToMode "Tab"; } - } - renamepane { - bind "Ctrl c" { SwitchToMode "Normal"; } - bind "Esc" { UndoRenamePane; SwitchToMode "Pane"; } - } - session { - bind "Ctrl o" { SwitchToMode "Normal"; } - bind "Ctrl s" { SwitchToMode "Scroll"; } - bind "d" { Detach; } - } - tmux { - bind "[" { SwitchToMode "Scroll"; } - bind "Ctrl b" { Write 2; SwitchToMode "Normal"; } - bind "\"" { NewPane "Down"; SwitchToMode "Normal"; } - bind "%" { NewPane "Right"; SwitchToMode "Normal"; } - bind "z" { ToggleFocusFullscreen; SwitchToMode "Normal"; } - bind "c" { NewTab; SwitchToMode "Normal"; } - bind "," { SwitchToMode "RenameTab"; } - bind "p" { GoToPreviousTab; SwitchToMode "Normal"; } - bind "n" { GoToNextTab; SwitchToMode "Normal"; } - bind "Left" { MoveFocus "Left"; SwitchToMode "Normal"; } - bind "Right" { MoveFocus "Right"; SwitchToMode "Normal"; } - bind "Down" { MoveFocus "Down"; SwitchToMode "Normal"; } - bind "Up" { MoveFocus "Up"; SwitchToMode "Normal"; } - bind "h" { MoveFocus "Left"; SwitchToMode "Normal"; } - bind "l" { MoveFocus "Right"; SwitchToMode "Normal"; } - bind "j" { MoveFocus "Down"; SwitchToMode "Normal"; } - bind "k" { MoveFocus "Up"; SwitchToMode "Normal"; } - bind "o" { FocusNextPane; } - bind "d" { Detach; } - } - shared_except "locked" { - bind "Ctrl h" { MoveFocusOrTab "Left"; } - bind "Ctrl l" { MoveFocusOrTab "Right"; } - bind "Ctrl j" { MoveFocus "Down"; } - bind "Ctrl J" { MoveFocus "Down"; } - bind "Ctrl k" { MoveFocus "Up"; } - bind "Ctrl g" { SwitchToMode "Locked"; } - bind "Ctrl q" { Quit; } - bind "Alt n" { NewPane; } - bind "Alt h" "Alt Left" { MoveFocusOrTab "Left"; } - bind "Alt l" "Alt Right" { MoveFocusOrTab "Right"; } - bind "Alt j" "Alt Down" { MoveFocus "Down"; } - bind "Alt k" "Alt Up" { MoveFocus "Up"; } - bind "Alt =" "Alt +" { Resize "Increase"; } - bind "Alt -" { Resize "Decrease"; } - } - shared_except "normal" "locked" { - bind "Enter" "Esc" { SwitchToMode "Normal"; } - } - shared_except "pane" "locked" { - bind "Ctrl n" { SwitchToMode "Pane"; } - } - shared_except "resize" "locked" { - bind "Ctrl z" { SwitchToMode "Resize"; } - } - shared_except "scroll" "locked" { - bind "Ctrl s" { SwitchToMode "Scroll"; } - } - shared_except "session" "locked" { - bind "Ctrl o" { SwitchToMode "Session"; } - } - shared_except "tab" "locked" { - bind "Ctrl t" { SwitchToMode "Tab"; } - } - shared_except "move" "locked" { - bind "Ctrl h" { SwitchToMode "Move"; } - } - shared_except "tmux" "locked" { - bind "Ctrl b" { SwitchToMode "Tmux"; } - } -} - -plugins { - tab-bar { path "tab-bar"; } - status-bar { path "status-bar"; } - strider { path "strider"; } - compact-bar { path "compact-bar"; } -} - -// Choose what to do when zellij receives SIGTERM, SIGINT, SIGQUIT or SIGHUP -// eg. when terminal window with an active zellij session is closed -// Options: -// - detach (Default) -// - quit -// -on_force_close "detach" - -// Send a request for a simplified ui (without arrow fonts) to plugins -// Options: -// - true -// - false (Default) -// -simplified_ui true - -// Toggle between having pane frames around the panes -// Options: -// - true (default) -// - false -// -pane_frames false - -// Define color themes for Zellij -// For more examples, see: https://github.com/zellij-org/zellij/tree/main/example/themes -// Once these themes are defined, one of them should to be selected in the "theme" section of this file - -themes { - default { - fg 7 - bg 0 - black 0 - red 1 - green 2 - yellow 3 - blue 4 - magenta 5 - cyan 6 - white 7 - orange 3 - } -} - -// Choose the theme that is specified in the themes section. -// Default: default -// -// theme "default" - -// The name of the default layout to load on startup -// Default: "default" -// -// default_layout "compact" - -// Choose the mode that zellij uses when starting up. -// Default: normal -// -// default_mode "locked" - -// Toggle enabling the mouse mode. -// On certain configurations, or terminals this could -// potentially interfere with copying text. -// Options: -// - true (default) -// - false -// -mouse_mode true - -// Configure the scroll back buffer size -// This is the number of lines zellij stores for each pane in the scroll back -// buffer. Excess number of lines are discarded in a FIFO fashion. -// Valid values: positive integers -// Default value: 10000 -// -scroll_buffer_size 1000000 - -// Provide a command to execute when copying text. The text will be piped to -// the stdin of the program to perform the copy. This can be used with -// terminal emulators which do not support the OSC 52 ANSI control sequence -// that will be used by default if this option is not set. -// Examples: -// -// copy_command "xclip -selection clipboard" // x11 -copy_command "wl-copy" // wayland -// copy_command "pbcopy" // osx - -// Choose the destination for copied text -// Allows using the primary selection buffer (on x11/wayland) instead of the system clipboard. -// Does not apply when using copy_command. -// Options: -// - system (default) -// - primary -// -// copy_clipboard "primary" - -// Enable or disable automatic copy (and clear) of selection when releasing mouse -// Default: true -// -// copy_on_select false - -// Path to the default editor to use to edit pane scrollbuffer -// Default: $EDITOR or $VISUAL -// -// scrollback_editor "/usr/bin/vim" - -// When attaching to an existing session with other users, -// should the session be mirrored (true) -// or should each user have their own cursor (false) -// Default: false -// -// mirror_session true - -// The folder in which Zellij will look for layouts -// -// layout_dir "/path/to/my/layout_dir" - -// The folder in which Zellij will look for themes -// -// theme_dir "/path/to/my/theme_dir" diff --git a/os/linux/arch/provision.d/optional/ui-packages.bash b/os/linux/arch/provision.d/optional/ui-packages.bash index a13e7a4..4aca5cd 100755 --- a/os/linux/arch/provision.d/optional/ui-packages.bash +++ b/os/linux/arch/provision.d/optional/ui-packages.bash @@ -29,11 +29,13 @@ paru -Sy --needed \ hunspell-en_US `# Firefox Spell Checking` \ passff-host `# Pass integration in Firefox` \ kitty-git `# Terminal Emulator` \ + wezterm `# Terminal Emulator` \ pavucontrol pulsemixer `# Pulseaudio Controls` \ playerctl `# Media Keys Controls` \ feh `# Image Viewer and Wallpaper Manager` \ - wlroots sway swaybg `# Wayland Compositor` \ - swaylock swayidle `# Auto-Locking for Sway` \ + hyprland hyprpaper `# Wayland Compositor` \ + polkit-kde-agent `# Privilege Escalation` \ + swaylock swayidle `# Locking and Idling` \ waybar mako `# Bar and Notifications` \ slurp grim wl-clipboard `# Screenshots and Clipboard Utilities` \ pipewire pipewire-pulse wireplumber `# Audio System` \ diff --git a/os/linux/bin/wm b/os/linux/bin/wm index 60795af..3fcb28f 100755 --- a/os/linux/bin/wm +++ b/os/linux/bin/wm @@ -1,2 +1,3 @@ #!/usr/bin/env sh -exec "$(dirname "$0")/../sway/init" +# exec "$(dirname "$0")/../sway/init" +exec Hyprland diff --git a/os/linux/hypr/hyprland.conf b/os/linux/hypr/hyprland.conf index 10dd729..b37b84d 100644 --- a/os/linux/hypr/hyprland.conf +++ b/os/linux/hypr/hyprland.conf @@ -1,10 +1,13 @@ # See https://wiki.hyprland.org/Configuring/Monitors/ monitor=,preferred,auto,auto +monitor=DP-1,3840x2160@60,0x0,1.5,transform,3 +monitor=DP-2,3840x2160@60,5280x0,1.5,transform,3 +monitor=DP-3,3840x2160@120,1440x0,1,bitdepth,10 # See https://wiki.hyprland.org/Configuring/Keywords/ for more # Execute your favorite apps at launch -exec-once = kitty & firefox & wezterm +exec-once = kitty & firefox & wezterm & hyprpaper & mako & /usr/lib/polkit-kde-authentication-agent-1 & waybar # Source a file (multi-file configs) # source = ~/.config/hypr/myColors.conf @@ -22,26 +25,27 @@ input { follow_mouse = 0 - keyboard { - repeat_delay 200 - repeat_rate 60 - } + repeat_delay = 200 + repeat_rate = 60 touchpad { natural_scroll = no + tap-to-click = true + middle_button_emulation = true } - sensitivity = 0 # -1.0 - 1.0, 0 means no modification. + force_no_accel = true + sensitivity = 1 # -1.0 - 1.0, 0 means no modification. } general { # See https://wiki.hyprland.org/Configuring/Variables/ for more - gaps_in = 5 - gaps_out = 20 - border_size = 2 + gaps_in = 3 + gaps_out = 6 + border_size = 1 col.active_border = rgba(33ccffee) rgba(00ff99ee) 45deg - col.inactive_border = rgba(595959aa) + col.inactive_border = rgba(59595988) layout = dwindle } @@ -49,7 +53,7 @@ general { decoration { # See https://wiki.hyprland.org/Configuring/Variables/ for more - rounding = 10 + rounding = 3 blur = yes blur_size = 3 blur_passes = 1 @@ -59,6 +63,8 @@ decoration { shadow_range = 4 shadow_render_power = 3 col.shadow = rgba(1a1a1aee) + + dim_inactive = 0.5 } animations { @@ -67,13 +73,14 @@ animations { # Some default animations, see https://wiki.hyprland.org/Configuring/Animations/ for more bezier = myBezier, 0.05, 0.9, 0.1, 1.05 + bezier=overshot,0.05,0.9,0.1,1.1 - animation = windows, 1, 7, myBezier - animation = windowsOut, 1, 7, default, popin 80% - animation = border, 1, 10, default - animation = borderangle, 1, 8, default - animation = fade, 1, 7, default - animation = workspaces, 1, 6, default + animation = windows, 1, 2, default + animation = windowsOut, 1, 2, default, popin 80% + animation = border, 1, 2, default + animation = borderangle, 1, 2, default + animation = fade, 1, 2, default + animation = workspaces, 1, 2, default } dwindle { @@ -108,7 +115,7 @@ device:epic-mouse-v1 { $mainMod = SUPER # Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more -bind = $mainMod, Q, exec, kitty +bind = $mainMod, Q, exec, wezterm bind = $mainMod, U, exec, firefox bind = $mainMod, ret, exec, kitty bind = $mainMod, return, exec, kitty diff --git a/os/linux/mako/config b/os/linux/mako/config index 987fd1f..e90752f 100644 --- a/os/linux/mako/config +++ b/os/linux/mako/config @@ -1,15 +1,15 @@ max-visible=5 default-timeout=30000 -background-color=#111111 -border-color=#666666 -font=IosevkaLyteTerm Nerd Font Complete 11 -progress-color=source #33333388 -# format="%s +font=IosevkaLyteTerm Regular 12, Symbols Nerd Font 12 default-timeout=15000 -# history=1 -# max-history=100 -[urgency="high"] -background-color=#f92672 -text-color=#111111 -border-color=#f92672 +# theme src: https://github.com/catppuccin/mako/blob/main/src/mocha +# Colors + +background-color=#1e1e2e +text-color=#cdd6f4 +border-color=#89b4fa +progress-color=over #313244 + +[urgency=high] +border-color=#fab387 diff --git a/os/linux/waybar/config b/os/linux/waybar/config index 6bebd7f..376df48 100644 --- a/os/linux/waybar/config +++ b/os/linux/waybar/config @@ -1,7 +1,7 @@ { "layer": "top", "position": "bottom", - "output": ["eDP-1", "DP-3", "DP-1"], + "output": ["eDP-1", "DP-3"], "height": 32, "modules-left": ["clock", "sway/title"], "modules-center": ["sway/workspaces"], diff --git a/os/linux/waybar/mocha.css b/os/linux/waybar/mocha.css new file mode 100644 index 0000000..6ee7d4b --- /dev/null +++ b/os/linux/waybar/mocha.css @@ -0,0 +1,37 @@ +/* +* Catppuccin Mocha palette +* Maintainer: rubyowo +* Source: https://raw.githubusercontent.com/catppuccin/waybar/main/themes/mocha.css +*/ + +@define-color base #1e1e2e; +@define-color mantle #181825; +@define-color crust #11111b; + +@define-color text #cdd6f4; +@define-color subtext0 #a6adc8; +@define-color subtext1 #bac2de; + +@define-color surface0 #313244; +@define-color surface1 #45475a; +@define-color surface2 #585b70; + +@define-color overlay0 #6c7086; +@define-color overlay1 #7f849c; +@define-color overlay2 #9399b2; + +@define-color blue #89b4fa; +@define-color lavender #b4befe; +@define-color sapphire #74c7ec; +@define-color sky #89dceb; +@define-color teal #94e2d5; +@define-color green #a6e3a1; +@define-color yellow #f9e2af; +@define-color peach #fab387; +@define-color maroon #eba0ac; +@define-color red #f38ba8; +@define-color mauve #cba6f7; +@define-color pink #f5c2e7; +@define-color flamingo #f2cdcd; +@define-color rosewater #f5e0dc; + diff --git a/os/linux/waybar/style.css b/os/linux/waybar/style.css index 4530d43..4612365 100644 --- a/os/linux/waybar/style.css +++ b/os/linux/waybar/style.css @@ -1,3 +1,5 @@ +@import "mocha.css"; + * { border: none; border-radius: 0; @@ -7,8 +9,8 @@ } window#waybar { - background-color: #100814; - color: #9b9ebf; + background-color: @base; + color: @crust; transition: none; } @@ -33,7 +35,7 @@ window#waybar.empty { } #workspaces button.visible { - background-color: #666666; + background-color: @base; } #workspaces button.focused {