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