commit
12d4685ff2
@ -0,0 +1,665 @@ |
||||
# Configuration for Alacritty, the GPU enhanced terminal emulator. |
||||
|
||||
# to import file: |
||||
# import: |
||||
# - /path/to/alacritty.yml |
||||
|
||||
# Any items in the `env` entry below will be added as |
||||
# environment variables. Some entries may override variables. |
||||
env: |
||||
# TERM variable |
||||
# |
||||
# This value is used to set the `$TERM` environment variable for |
||||
# each instance of Alacritty. |
||||
# If it is not present, alacritty will check the local |
||||
# terminfo database and use `alacritty` if it is |
||||
# available, otherwise `xterm-256color` is used. |
||||
TERM: alacritty |
||||
|
||||
# Font configuration |
||||
font: |
||||
normal: |
||||
family: Source Code Pro |
||||
style: Medium |
||||
|
||||
# Bold font face |
||||
bold: |
||||
# Font family |
||||
family: Source Code Pro |
||||
style: SemiBold |
||||
|
||||
# Italic font face |
||||
italic: |
||||
family: Source Code Pro |
||||
style: Medium Italic |
||||
|
||||
bold_italic: |
||||
family: Source Code Pro |
||||
style: Semibold Italic |
||||
|
||||
# Point size |
||||
size: 14.0 |
||||
|
||||
# Offset is the extra space around each character. `offset.y` can be thought |
||||
# of as modifying the line spacing, and `offset.x` as modifying the letter |
||||
# spacing. |
||||
offset: |
||||
x: 0 |
||||
y: 0 |
||||
|
||||
# Glyph offset determines the locations of the glyphs within their cells with |
||||
# the default being at the bottom. Increasing `x` moves the glyph to the |
||||
# right, increasing `y` moves the glyph upward. |
||||
glyph_offset: |
||||
x: 0 |
||||
y: 0 |
||||
|
||||
# Thin stroke font rendering (macOS only) |
||||
# |
||||
# Thin strokes are suitable for retina displays, but for non-retina screens |
||||
# it is recommended to set `use_thin_strokes` to `false`. |
||||
use_thin_strokes: false |
||||
|
||||
# If `true`, bold text is drawn using the bright color variants. |
||||
draw_bold_text_with_bright_colors: false |
||||
|
||||
# Color schemes |
||||
schemes: |
||||
default: &default |
||||
# Default colors |
||||
primary: |
||||
background: '#1d1f21' |
||||
foreground: '#c5c8c6' |
||||
|
||||
night_owlish_light: &night_owlish_light |
||||
bright: |
||||
black: '#7a8181' |
||||
blue: '#5ca7e4' |
||||
cyan: '#00c990' |
||||
green: '#49d0c5' |
||||
magenta: '#697098' |
||||
red: '#f76e6e' |
||||
white: '#989fb1' |
||||
yellow: '#dac26b' |
||||
cursor: |
||||
cursor: '#403f53' |
||||
text: '#fbfbfb' |
||||
normal: |
||||
black: '#011627' |
||||
blue: '#4876d6' |
||||
cyan: '#08916a' |
||||
green: '#2aa298' |
||||
magenta: '#403f53' |
||||
red: '#d3423e' |
||||
white: '#7a8181' |
||||
yellow: '#daaa01' |
||||
primary: |
||||
background: '#ffffff' |
||||
foreground: '#403f53' |
||||
selection: |
||||
background: '#f2f2f2' |
||||
text: '#403f53' |
||||
|
||||
thelovelace: &thelovelace |
||||
primary: |
||||
background: '0x1D1F28' |
||||
foreground: '0xFDFDFD' |
||||
normal: |
||||
black: '0x282A36' |
||||
red: '0xF37F97' |
||||
green: '0x5ADECD' |
||||
yellow: '0xF2A272' |
||||
blue: '0x8897F4' |
||||
magenta: '0xC574DD' |
||||
cyan: '0x79E6F3' |
||||
white: '0xFDFDFD' |
||||
bright: |
||||
black: '0x414458' |
||||
red: '0xFF4971' |
||||
green: '0x18E3C8' |
||||
yellow: '0xEBCB8B' |
||||
blue: '0xFF8037' |
||||
magenta: '0x556FFF' |
||||
cyan: '0x3FDCEE' |
||||
white: '0xBEBEC1' |
||||
|
||||
# Colors (Pencil Dark) |
||||
colors: *night_owlish_light |
||||
|
||||
# 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 |
||||
|
||||
# Background opacity |
||||
# |
||||
# Window opacity as a floating point number from `0.0` to `1.0`. |
||||
# The value `0.0` is completely transparent and `1.0` is opaque. |
||||
# background_opacity: 1.0 |
||||
|
||||
#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 |
||||
|
||||
# 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: |
||||
# - (macOS) /bin/bash --login |
||||
# - (Linux/BSD) user login shell |
||||
# - (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 |
||||
|
||||
#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 |
||||
|
||||
# Regex hints |
||||
# |
||||
# Terminal hints can be used to find text 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 a `regex` and either an `action` or a `command` field. |
||||
# The fields `mouse`, `binding` and `post_processing` are optional. |
||||
# |
||||
# 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. |
||||
# |
||||
# 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{-}\\^⟨⟩`]+" |
||||
# 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) |
||||
# |
||||
# And optionally: |
||||
# |
||||
# - `mods` (see key bindings) |
||||
#mouse_bindings: |
||||
# - { mouse: Middle, 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. |
||||
# - 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`. |
||||
# |
||||
# - 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: 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 |
@ -0,0 +1,201 @@ |
||||
|
||||
# This file has been auto-generated by i3-config-wizard(1). |
||||
# It will not be overwritten, so edit it as you like. |
||||
# |
||||
# Should you change your keyboard layout some time, delete |
||||
# this file and re-run i3-config-wizard(1). |
||||
# |
||||
# i3 config file (v4) |
||||
# |
||||
# Please see https://i3wm.org/docs/userguide.html for a complete reference! |
||||
|
||||
set $mod Mod4 |
||||
|
||||
# Font for window titles. Will also be used by the bar unless a different font |
||||
# is used in the bar {} block below. |
||||
# font pango:monospace 8 |
||||
|
||||
# This font is widely installed, provides lots of unicode glyphs, right-to-left |
||||
# text rendering and scalability on retina/hidpi displays (thanks to pango). |
||||
# font pango: 3270Narrow Nerd Font Mono 20 |
||||
font pango:DejaVu Sans Mono 20 |
||||
|
||||
|
||||
# The combination of xss-lock, nm-applet and pactl is a popular choice, so |
||||
# they are included here as an example. Modify as you see fit. |
||||
|
||||
# xss-lock grabs a logind suspend inhibit lock and will use i3lock to lock the |
||||
# screen before suspend. Use loginctl lock-session to lock your screen. |
||||
exec --no-startup-id xss-lock --transfer-sleep-lock -- i3lock --nofork |
||||
|
||||
# NetworkManager is the most popular way to manage wireless networks on Linux, |
||||
# and nm-applet is a desktop environment-independent system tray GUI for it. |
||||
exec --no-startup-id nm-applet |
||||
|
||||
# Use pactl to adjust volume in PulseAudio. |
||||
set $refresh_i3status killall -SIGUSR1 i3status |
||||
bindsym XF86AudioRaiseVolume exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ +5% && $refresh_i3status |
||||
bindsym XF86AudioLowerVolume exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ -5% && $refresh_i3status |
||||
bindsym XF86AudioMute exec --no-startup-id pactl set-sink-mute @DEFAULT_SINK@ toggle && $refresh_i3status |
||||
bindsym XF86AudioMicMute exec --no-startup-id pactl set-source-mute @DEFAULT_SOURCE@ toggle && $refresh_i3status |
||||
|
||||
# Use Mouse+$mod to drag floating windows to their wanted position |
||||
floating_modifier $mod |
||||
|
||||
# start a terminal |
||||
bindsym $mod+Return exec alacritty |
||||
|
||||
# kill focused window |
||||
bindsym $mod+Shift+q kill |
||||
|
||||
# start dmenu (a program launcher) |
||||
bindsym $mod+d exec --no-startup-id dmenu_run -fn 'DejaVu Sans Mono-20' |
||||
# A more modern dmenu replacement is rofi: |
||||
# bindcode $mod+40 exec "rofi -modi drun,run -show drun" |
||||
# There also is i3-dmenu-desktop which only displays applications shipping a |
||||
# .desktop file. It is a wrapper around dmenu, so you need that installed. |
||||
# bindcode $mod+40 exec --no-startup-id i3-dmenu-desktop |
||||
|
||||
# change focus |
||||
bindsym $mod+h focus left |
||||
bindsym $mod+j focus down |
||||
bindsym $mod+k focus up |
||||
bindsym $mod+l focus right |
||||
|
||||
# alternatively, you can use the cursor keys: |
||||
bindsym $mod+Left focus left |
||||
bindsym $mod+Down focus down |
||||
bindsym $mod+Up focus up |
||||
bindsym $mod+Right focus right |
||||
|
||||
# move focused window |
||||
bindsym $mod+Shift+h move left |
||||
bindsym $mod+Shift+j move down |
||||
bindsym $mod+Shift+k move up |
||||
bindsym $mod+Shift+l move right |
||||
|
||||
# alternatively, you can use the cursor keys: |
||||
bindsym $mod+Shift+Left move left |
||||
bindsym $mod+Shift+Down move down |
||||
bindsym $mod+Shift+Up move up |
||||
bindsym $mod+Shift+Right move right |
||||
|
||||
# split in horizontal orientation |
||||
bindsym $mod+Ctrl+h split h |
||||
|
||||
# split in vertical orientation |
||||
bindsym $mod+Ctrl+v split v |
||||
|
||||
# enter fullscreen mode for the focused container |
||||
bindsym $mod+f fullscreen toggle |
||||
|
||||
# change container layout (stacked, tabbed, toggle split) |
||||
bindsym $mod+s layout stacking |
||||
bindsym $mod+w layout tabbed |
||||
bindsym $mod+e layout toggle split |
||||
|
||||
# toggle tiling / floating |
||||
bindsym $mod+Shift+space floating toggle |
||||
|
||||
# change focus between tiling / floating windows |
||||
bindsym $mod+space focus mode_toggle |
||||
|
||||
# focus the parent container |
||||
bindsym $mod+a focus parent |
||||
|
||||
# focus the child container |
||||
#bindsym $mod+d focus child |
||||
|
||||
# Define names for default workspaces for which we configure key bindings later on. |
||||
# We use variables to avoid repeating the names in multiple places. |
||||
set $ws1 "1" |
||||
set $ws2 "2" |
||||
set $ws3 "3" |
||||
set $ws4 "4" |
||||
set $ws5 "5" |
||||
set $ws6 "6" |
||||
set $ws7 "7" |
||||
set $ws8 "8" |
||||
set $ws9 "9" |
||||
set $ws10 "10" |
||||
|
||||
# switch to workspace |
||||
bindsym $mod+1 workspace number $ws1 |
||||
bindsym $mod+2 workspace number $ws2 |
||||
bindsym $mod+3 workspace number $ws3 |
||||
bindsym $mod+4 workspace number $ws4 |
||||
bindsym $mod+5 workspace number $ws5 |
||||
bindsym $mod+6 workspace number $ws6 |
||||
bindsym $mod+7 workspace number $ws7 |
||||
bindsym $mod+8 workspace number $ws8 |
||||
bindsym $mod+9 workspace number $ws9 |
||||
bindsym $mod+0 workspace number $ws10 |
||||
|
||||
# move focused container to workspace |
||||
bindsym $mod+Shift+1 move container to workspace number $ws1 |
||||
bindsym $mod+Shift+2 move container to workspace number $ws2 |
||||
bindsym $mod+Shift+3 move container to workspace number $ws3 |
||||
bindsym $mod+Shift+4 move container to workspace number $ws4 |
||||
bindsym $mod+Shift+5 move container to workspace number $ws5 |
||||
bindsym $mod+Shift+6 move container to workspace number $ws6 |
||||
bindsym $mod+Shift+7 move container to workspace number $ws7 |
||||
bindsym $mod+Shift+8 move container to workspace number $ws8 |
||||
bindsym $mod+Shift+9 move container to workspace number $ws9 |
||||
bindsym $mod+Shift+0 move container to workspace number $ws10 |
||||
|
||||
# reload the configuration file |
||||
bindsym $mod+Shift+c reload |
||||
# restart i3 inplace (preserves your layout/session, can be used to upgrade i3) |
||||
bindsym $mod+Shift+r restart |
||||
# exit i3 (logs you out of your X session) |
||||
bindsym $mod+Shift+e exec "i3-nagbar -t warning -m 'You pressed the exit shortcut. Do you really want to exit i3? This will end your X session.' -B 'Yes, exit i3' 'i3-msg exit'" |
||||
|
||||
# resize window (you can also use the mouse for that) |
||||
mode "resize" { |
||||
# These bindings trigger as soon as you enter the resize mode |
||||
|
||||
# Pressing left will shrink the window’s width. |
||||
# Pressing right will grow the window’s width. |
||||
# Pressing up will shrink the window’s height. |
||||
# Pressing down will grow the window’s height. |
||||
bindsym j resize shrink width 10 px or 10 ppt |
||||
bindsym k resize grow height 10 px or 10 ppt |
||||
bindsym l resize shrink height 10 px or 10 ppt |
||||
bindsym semicolon resize grow width 10 px or 10 ppt |
||||
|
||||
# same bindings, but for the arrow keys |
||||
bindsym Left resize shrink width 10 px or 10 ppt |
||||
bindsym Down resize grow height 10 px or 10 ppt |
||||
bindsym Up resize shrink height 10 px or 10 ppt |
||||
bindsym Right resize grow width 10 px or 10 ppt |
||||
|
||||
# back to normal: Enter or Escape or $mod+r |
||||
bindsym Return mode "default" |
||||
bindsym Escape mode "default" |
||||
bindsym $mod+r mode "default" |
||||
} |
||||
|
||||
bindsym $mod+r mode "resize" |
||||
|
||||
## Brightness via btightnessctl |
||||
bindsym XF86MonBrightnessUp exec brightnessctl -d intel_backlight s +5% |
||||
bindsym XF86MonBrightnessDown exec brightnessctl -d intel_backlight s 5-% |
||||
|
||||
## Screenshots |
||||
bindsym Print exec --no-startup-id maim "/home/$USER/Pictures/$(date)" |
||||
bindsym $mod+Print exec --no-startup-id maim --window $(xdotool getactivewindow) "/home/$USER/Pictures/$(date)" |
||||
bindsym Shift+Print exec --no-startup-id maim --select "/home/$USER/Pictures/$(date)" |
||||
|
||||
## Clipboard Screenshots |
||||
bindsym Ctrl+Print exec --no-startup-id maim | xclip -selection clipboard -t image/png |
||||
bindsym Ctrl+$mod+Print exec --no-startup-id maim --window $(xdotool getactivewindow) | xclip -selection clipboard -t image/png |
||||
bindsym Ctrl+Shift+Print exec --no-startup-id maim --select | xclip -selection clipboard -t image/png |
||||
|
||||
## Picom |
||||
exec_always --no-startup-id picom & |
||||
|
||||
# Start i3bar to display a workspace bar (plus the system information i3status |
||||
# finds out, if available) |
||||
bar { |
||||
status_command i3status |
||||
} |
@ -0,0 +1,67 @@ |
||||
# i3status configuration file. |
||||
# see "man i3status" for documentation. |
||||
|
||||
# It is important that this file is edited as UTF-8. |
||||
# The following line should contain a sharp s: |
||||
# Ăź |
||||
# If the above line is not correctly displayed, fix your editor first! |
||||
|
||||
general { |
||||
colors = true |
||||
interval = 6 |
||||
} |
||||
|
||||
# order += "ipv6" |
||||
order += "wireless _first_" |
||||
order += "ethernet _first_" |
||||
order += "disk /" |
||||
# order += "load" |
||||
order += "memory" |
||||
order += "tztime local" |
||||
order += "battery all" |
||||
order += "volume master" |
||||
|
||||
|
||||
|
||||
wireless _first_ { |
||||
format_up = "W: (%quality at %essid)" |
||||
format_down = "W: down" |
||||
} |
||||
|
||||
ethernet _first_ { |
||||
format_up = "E: %ip (%speed)" |
||||
format_down = "E: down" |
||||
} |
||||
|
||||
volume master { |
||||
format = "♪: %volume" |
||||
format_muted = "♪: muted (%volume)" |
||||
device = "default" |
||||
mixer = "Master" |
||||
mixer_idx = 0 |
||||
} |
||||
|
||||
battery all { |
||||
threshold_type = percentage |
||||
low_threshold = 30 |
||||
format = "%status %percentage - %remaining" |
||||
} |
||||
|
||||
disk "/" { |
||||
format = "%avail" |
||||
} |
||||
|
||||
|
||||
load { |
||||
format = "%1min" |
||||
} |
||||
|
||||
memory { |
||||
format = "%used" # "%used | %available" |
||||
threshold_degraded = "1G" |
||||
format_degraded = "MEMORY < %available" |
||||
} |
||||
|
||||
tztime local { |
||||
format = "%Y-%m-%d %H:%M:%S" |
||||
} |
@ -0,0 +1,198 @@ |
||||
""" |
||||
Configuration example for ``ptpython``. |
||||
|
||||
Copy this file to $XDG_CONFIG_HOME/ptpython/config.py |
||||
On Linux, this is: ~/.config/ptpython/config.py |
||||
""" |
||||
from prompt_toolkit.filters import ViInsertMode |
||||
from prompt_toolkit.key_binding.key_processor import KeyPress |
||||
from prompt_toolkit.keys import Keys |
||||
from prompt_toolkit.styles import Style |
||||
|
||||
from ptpython.layout import CompletionVisualisation |
||||
|
||||
__all__ = ["configure"] |
||||
|
||||
|
||||
def configure(repl): |
||||
""" |
||||
Configuration method. This is called during the start-up of ptpython. |
||||
|
||||
:param repl: `PythonRepl` instance. |
||||
""" |
||||
# Show function signature (bool). |
||||
repl.show_signature = True |
||||
|
||||
# Show docstring (bool). |
||||
repl.show_docstring = True |
||||
|
||||
# Show the "[Meta+Enter] Execute" message when pressing [Enter] only |
||||
# inserts a newline instead of executing the code. |
||||
repl.show_meta_enter_message = True |
||||
|
||||
# Show completions. (NONE, POP_UP, MULTI_COLUMN or TOOLBAR) |
||||
repl.completion_visualisation = CompletionVisualisation.POP_UP |
||||
|
||||
# When CompletionVisualisation.POP_UP has been chosen, use this |
||||
# scroll_offset in the completion menu. |
||||
repl.completion_menu_scroll_offset = 0 |
||||
|
||||
# Show line numbers (when the input contains multiple lines.) |
||||
repl.show_line_numbers = True |
||||
|
||||
# Show status bar. |
||||
repl.show_status_bar = False |
||||
|
||||
# When the sidebar is visible, also show the help text. |
||||
repl.show_sidebar_help = True |
||||
|
||||
# Swap light/dark colors on or off |
||||
repl.swap_light_and_dark = False |
||||
|
||||
# Highlight matching parethesis. |
||||
repl.highlight_matching_parenthesis = True |
||||
|
||||
# Line wrapping. (Instead of horizontal scrolling.) |
||||
repl.wrap_lines = True |
||||
|
||||
# Mouse support. |
||||
repl.enable_mouse_support = True |
||||
|
||||
# Complete while typing. (Don't require tab before the |
||||
# completion menu is shown.) |
||||
repl.complete_while_typing = True |
||||
|
||||
# Fuzzy and dictionary completion. |
||||
repl.enable_fuzzy_completion = False |
||||
repl.enable_dictionary_completion = False |
||||
|
||||
# Vi mode. |
||||
repl.vi_mode = True |
||||
|
||||
# Paste mode. (When True, don't insert whitespace after new line.) |
||||
repl.paste_mode = False |
||||
|
||||
# Use the classic prompt. (Display '>>>' instead of 'In [1]'.) |
||||
repl.prompt_style = "classic" # 'classic' or 'ipython' |
||||
|
||||
# Don't insert a blank line after the output. |
||||
repl.insert_blank_line_after_output = False |
||||
|
||||
# History Search. |
||||
# When True, going back in history will filter the history on the records |
||||
# starting with the current input. (Like readline.) |
||||
# Note: When enable, please disable the `complete_while_typing` option. |
||||
# otherwise, when there is a completion available, the arrows will |
||||
# browse through the available completions instead of the history. |
||||
repl.enable_history_search = False |
||||
|
||||
# Enable auto suggestions. (Pressing right arrow will complete the input, |
||||
# based on the history.) |
||||
repl.enable_auto_suggest = False |
||||
|
||||
# Enable open-in-editor. Pressing C-x C-e in emacs mode or 'v' in |
||||
# Vi navigation mode will open the input in the current editor. |
||||
repl.enable_open_in_editor = True |
||||
|
||||
# Enable system prompt. Pressing meta-! will display the system prompt. |
||||
# Also enables Control-Z suspend. |
||||
repl.enable_system_bindings = True |
||||
|
||||
# Ask for confirmation on exit. |
||||
repl.confirm_exit = True |
||||
|
||||
# Enable input validation. (Don't try to execute when the input contains |
||||
# syntax errors.) |
||||
repl.enable_input_validation = True |
||||
|
||||
# Use this colorscheme for the code. |
||||
repl.use_code_colorscheme("default") |
||||
# repl.use_code_colorscheme("pastie") |
||||
|
||||
# Set color depth (keep in mind that not all terminals support true color). |
||||
|
||||
# repl.color_depth = "DEPTH_1_BIT" # Monochrome. |
||||
# repl.color_depth = "DEPTH_4_BIT" # ANSI colors only. |
||||
repl.color_depth = "DEPTH_8_BIT" # The default, 256 colors. |
||||
# repl.color_depth = "DEPTH_24_BIT" # True color. |
||||
|
||||
# Min/max brightness |
||||
repl.min_brightness = 0.0 # Increase for dark terminal backgrounds. |
||||
repl.max_brightness = 1.0 # Decrease for light terminal backgrounds. |
||||
|
||||
# Syntax. |
||||
repl.nable_syntax_highlighting = True |
||||
|
||||
# Get into Vi navigation mode at startup |
||||
repl.vi_start_in_navigation_mode = False |
||||
|
||||
# Preserve last used Vi input mode between main loop iterations |
||||
repl.vi_keep_last_used_mode = False |
||||
|
||||
# Install custom colorscheme named 'my-colorscheme' and use it. |
||||
""" |
||||
repl.install_ui_colorscheme("my-colorscheme", Style.from_dict(_custom_ui_colorscheme)) |
||||
repl.use_ui_colorscheme("my-colorscheme") |
||||
""" |
||||
|
||||
# Add custom key binding for PDB. |
||||
""" |
||||
@repl.add_key_binding("c-b") |
||||
def _(event): |
||||
" Pressing Control-B will insert "pdb.set_trace()" " |
||||
event.cli.current_buffer.insert_text("\nimport pdb; pdb.set_trace()\n") |
||||
""" |
||||
|
||||
# Typing ControlE twice should also execute the current command. |
||||
# (Alternative for Meta-Enter.) |
||||
""" |
||||
@repl.add_key_binding("c-e", "c-e") |
||||
def _(event): |
||||
event.current_buffer.validate_and_handle() |
||||
""" |
||||
|
||||
# Typing 'jj' in Vi Insert mode, should send escape. (Go back to navigation |
||||
# mode.) |
||||
""" |
||||
@repl.add_key_binding("j", "j", filter=ViInsertMode()) |
||||
def _(event): |
||||
" Map 'jj' to Escape. " |
||||
event.cli.key_processor.feed(KeyPress(Keys("escape"))) |
||||
""" |
||||
|
||||
# Custom key binding for some simple autocorrection while typing. |
||||
""" |
||||
corrections = { |
||||
"impotr": "import", |
||||
"pritn": "print", |
||||
} |
||||
|
||||
@repl.add_key_binding(" ") |
||||
def _(event): |
||||
" When a space is pressed. Check & correct word before cursor. " |
||||
b = event.cli.current_buffer |
||||
w = b.document.get_word_before_cursor() |
||||
|
||||
if w is not None: |
||||
if w in corrections: |
||||
b.delete_before_cursor(count=len(w)) |
||||
b.insert_text(corrections[w]) |
||||
|
||||
b.insert_text(" ") |
||||
""" |
||||
|
||||
# Add a custom title to the status bar. This is useful when ptpython is |
||||
# embedded in other applications. |
||||
""" |
||||
repl.title = "My custom prompt." |
||||
""" |
||||
|
||||
|
||||
# Custom colorscheme for the UI. See `ptpython/layout.py` and |
||||
# `ptpython/style.py` for all possible tokens. |
||||
_custom_ui_colorscheme = { |
||||
# Blue prompt. |
||||
"prompt": "bg:#eeeeff #000000 bold", |
||||
# Make the status toolbar red. |
||||
"status-toolbar": "bg:#ff0000 #000000", |
||||
} |
Loading…
Reference in new issue