This commit is contained in:
cheesus_crust 2023-02-14 20:25:15 +03:00
commit 55c06610dd
17 changed files with 8824 additions and 0 deletions

View file

@ -0,0 +1,879 @@
# Configuration for Alacritty, the GPU enhanced terminal emulator.
# Import additional configuration files
#
# Imports are loaded in order, skipping all missing files, with the importing
# file being loaded last. If a field is already present in a previous import, it
# will be replaced.
#
# All imports must either be absolute paths starting with `/`, or paths relative
# to the user's home directory starting with `~/`.
#import:
# - /path/to/alacritty.yml
# Any items in the `env` entry below will be added as
# environment variables. Some entries may override variables
# set by alacritty itself.
#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
window:
# Window dimensions (changes require restart)
#
# Number of lines/columns (not pixels) in the terminal. The number of columns
# must be at least `2`, while using a value of `0` for columns and lines will
# fall back to the window manager's recommended size.
dimensions:
columns: 80
lines: 30
# Window position (changes require restart)
#
# Specified in number of pixels.
# If the position is not set, the window manager will handle the placement.
#position:
# x: 0
# y: 0
# Window padding (changes require restart)
#
# Blank space added around the window in pixels. This padding is scaled
# by DPI and the specified value is always added at both opposing sides.
#padding:
# x: 0
# y: 0
# Spread additional padding evenly around the terminal content.
dynamic_padding: true
# Window decorations
#
# Values for `decorations`:
# - full: Borders and title bar
# - none: Neither borders nor title bar
#
# Values for `decorations` (macOS only):
# - transparent: Title bar, transparent background and title bar buttons
# - buttonless: Title bar, transparent background and no title bar buttons
#decorations: full
# 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.
#opacity: 1.0
# Startup Mode (changes require restart)
#
# Values for `startup_mode`:
# - Windowed
# - Maximized
# - Fullscreen
#
# Values for `startup_mode` (macOS only):
# - SimpleFullscreen
#startup_mode: Windowed
# Window title
title: Alacritty
# Allow terminal applications to change Alacritty's window title.
dynamic_title: true
# Window class (Linux/BSD only):
#class:
# Application instance name
# instance: Alacritty
# General application class
# general: Alacritty
# GTK theme variant (Linux/BSD only)
#
# Override the variant of the GTK theme. Commonly supported values are `dark`
# and `light`. Set this to `None` to use the default theme variant.
#gtk_theme_variant: None
scrolling:
# Maximum number of lines in the scrollback buffer.
# Specifying '0' will disable scrolling.
history: 20000
# Scrolling distance multiplier.
#multiplier: 3
# Font configuration
font:
# Normal (roman) font face
normal:
# Font family
#
# Default:
# - (macOS) Menlo
# - (Linux/BSD) monospace
# - (Windows) Consolas
family: Fira Mono
# The `style` can be specified to pick a specific face.
style: Medium
# Bold font face
bold:
# Font family
#
# If the bold family is not specified, it will fall back to the
# value specified for the normal font.
family: Fira Mono
# The `style` can be specified to pick a specific face.
style: Bold
# Italic font face
#italic:
# Font family
#
# If the italic family is not specified, it will fall back to the
# value specified for the normal font.
# family: mononoki
# The `style` can be specified to pick a specific face.
# style: Italic
# Bold italic font face
#bold_italic:
# Font family
#
# If the bold italic family is not specified, it will fall back to the
# value specified for the normal font.
# family: mononoki
# The `style` can be specified to pick a specific face.
# style: Bold Italic
# Point size
size: 5.5
# 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
# Use built-in font for box drawing characters.
#
# If `true`, Alacritty will use a custom built-in font for box drawing
# characters (Unicode points 2500 - 259f).
#
#builtin_box_drawing: true
# If `true`, bold text is drawn using the bright color variants.
#draw_bold_text_with_bright_colors: false
# Colors (Tomorrow Night)
colors:
# Default colors
primary:
background: '#fdf6e3'
foreground: '#657b83'
# 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'
#bar:
# background: '#c5c8c6'
# foreground: '#1d1f21'
# Keyboard regex 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
# 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: notify-send
#args: ["Bell!"]
#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: Always
# 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
# 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
# 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 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`.
#
# - 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

486
smol/i3/config Normal file
View file

@ -0,0 +1,486 @@
# i3 config file (v4)
#
# Please see https://i3wm.org/docs/userguide.html for a complete reference!
##### Let's go #####
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:Fira Mono Medium 8
##### Autostart #####
## Touchpad tap to click
exec --no-startup-id xinput set-prop "ETPS/2 Elantech Touchpad" libinput\ Tapping\ Enabled 1
## Start XDG autostart .desktop files using dex. See also
## https://wiki.archlinux.org/index.php/XDG_Autostart
exec --no-startup-id dex --autostart --environment i3
## Xgamma
exec --no-startup-id xgamma -b 0.9
## Compose-key
exec --no-startup-id setxkbmap -layout us -option compose:menu
## Redshift
exec --no-startup-id redshift -l 59:30
## Dunst
exec_always --no-startup-id dunst
## Compositor
exec --no-startup-id picom -b
## Autotiling
exec_always --no-startup-id autotiling
## Keyboard layouts
exec_always --no-startup-id setxkbmap -layout us,ru
exec_always --no-startup-id xkb-switch --i3
## 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 --image=/home/username/pics/wp/2b16x9.png --nofork
exec --no-startup-id xss-lock -- betterlockscreen -q -l blur
## Off screensaver
exec_always --no-startup-id xset s off
exec_always --no-startup-id xset -dpms
## Wallpaper
exec --no-startup-id feh --bg-fill ~/pics/wp/2b16x9.png
## Second (first) panel
# exec --no-startup-id xfce4-panel --disable-wm-check
exec_always --no-startup-id ~/.config/i3/polybar.sh &
# exec --no-startup-id betterlockscreen -q -l blur
##### BINDINGS ######
## Toggle keyboard layout
bindsym $mod+space exec --no-startup-id xkb-switch --next
## Touchpad toggle
bindsym XF86TouchpadToggle exec --no-startup-id bash ~/.config/script/tpad.sh
## Toggle connect to bt-headphones
# bindsym XF86Mail exec --no-startup-id playerctl play-pause
## Play/Stop music
bindsym XF86WWW exec --no-startup-id bash ~/.config/script/musicctrl.sh
## Next/Prev music
bindsym $mod+shift+z exec --no-startup-id playerctl previous
bindsym $mod+shift+x exec --no-startup-id playerctl next
## Volume control
bindsym $mod+shift+a exec --no-startup-id playerctl volume 0.05-
bindsym $mod+shift+s exec --no-startup-id playerctl volume 0.05+
## Lock Screen
# bindsym XF86ScreenSaver exec --no-startup-id i3lock --image=/home/username/pics/wp/2b16x9.png
bindsym XF86ScreenSaver exec --no-startup-id betterlockscreen -q -l blur
### Brightness ###
# The recommended way is to add the user to the
# `video` group and give that group write-privileges for the `brightness` file.
# See the ArchWiki for more information:
# https://wiki.archlinux.org/index.php/Backlight#ACPI
## Increase brightness
bindsym XF86MonBrightnessUp exec --no-startup-id xbacklight -inc 5
## Decrease brightness
bindsym XF86MonBrightnessDown exec --no-startup-id xbacklight -dec 5
## Screenshot
bindsym --release Print exec --no-startup-id scrot
bindsym --release Shift+Print exec --no-startup-id scrot -s --delay 2
## Notifications show
bindsym $mod+equal exec --no-startup-id dunstctl history-pop
bindsym Mod1+equal exec --no-startup-id dunstctl history-pop
bindsym $mod+ctrl+equal exec --no-startup-id dunstctl close-all
bindsym Mod1+ctrl+equal exec --no-startup-id dunstctl close-all
## Switch to urgent window
bindsym $mod+x [urgent=latest] focus
## Make the currently focused window a scratchpad
bindsym $mod+Shift+minus move scratchpad
## Show the first scratchpad window
bindsym Mod1+minus scratchpad show
bindsym $mod+minus scratchpad show
## 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 --no-startup-id alacritty
bindsym Mod1+Return exec --no-startup-id alacritty
## kill focused window
bindsym $mod+q kill
## start dmenu (a program launcher)
# bindsym $mod+d exec --no-startup-id dmenu_run
## 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
## Calculator
bindcode $mod+Shift+40 exec "rofi -show calc -modi calc -no-show-match -no-sort"
## change focus
bindsym $mod+j focus left
bindsym $mod+k focus down
bindsym $mod+l focus up
bindsym $mod+semicolon 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+j move left
bindsym $mod+Shift+k move down
bindsym $mod+Shift+l move up
bindsym $mod+Shift+semicolon 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+h split h
## split in vertical orientation
bindsym $mod+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
## 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 windows width.
## Pressing right will grow the windows width.
## Pressing up will shrink the windows height.
## Pressing down will grow the windows 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
## same bindings, but for the arrow keys and more accurate
bindsym Shift+Left resize shrink width 1 px or 1 ppt
bindsym Shift+Down resize grow height 1 px or 1 ppt
bindsym Shift+Up resize shrink height 1 px or 1 ppt
bindsym Shift+Right resize grow width 1 px or 1 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"
##### Workspaces #####
## 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 $ws1
bindsym $mod+2 workspace $ws2
bindsym $mod+3 workspace $ws3
bindsym $mod+4 workspace $ws4
bindsym $mod+5 workspace $ws5
bindsym $mod+6 workspace $ws6
bindsym $mod+7 workspace $ws7
bindsym $mod+8 workspace $ws8
bindsym $mod+9 workspace $ws9
bindsym $mod+0 workspace $ws10
## move focused container to workspace
bindsym $mod+Shift+1 move container to workspace $ws1
bindsym $mod+Shift+2 move container to workspace $ws2
bindsym $mod+Shift+3 move container to workspace $ws3
bindsym $mod+Shift+4 move container to workspace $ws4
bindsym $mod+Shift+5 move container to workspace $ws5
bindsym $mod+Shift+6 move container to workspace $ws6
bindsym $mod+Shift+7 move container to workspace $ws7
bindsym $mod+Shift+8 move container to workspace $ws8
bindsym $mod+Shift+9 move container to workspace $ws9
bindsym $mod+Shift+0 move container to workspace $ws10
bindsym $mod+Tab workspace next
bindsym $mod+Shift+Tab workspace prev
### Locker ###
set $Locker betterlockscreen -q -l blur && sleep 1
bindsym $mod+Pause mode "$mode_system"
bindsym Mod1+Pause mode "$mode_system"
set $mode_system System (l) lock, (e) logout, (s) suspend, (h) hibernate, (r) reboot, (Shift+s) shutdown
mode "$mode_system" {
bindsym l exec --no-startup-id $Locker, mode "default"
bindsym e exec --no-startup-id i3-msg exit, mode "default"
bindsym s exec --no-startup-id systemctl suspend, mode "default"
bindsym h exec --no-startup-id systemctl hibernate, mode "default"
bindsym r exec --no-startup-id systemctl reboot, mode "default"
bindsym Shift+s exec --no-startup-id systemctl poweroff -i, mode "default"
## exit: Enter or Escape
bindsym Return mode "default"
bindsym Escape mode "default"
}
##### Colors ######
## class border backgr. text indicator child_border
client.focused #fdf6e3 #285577 #ffffff #fdf6e3 #fdf6e3
client.focused_inactive #fdf6e3 #5f676a #ffffff #fdf6e3 #fdf6e3
client.unfocused #fdf6e3 #222222 #888888 #fdf6e3 #fdf6e3
client.urgent #fdf6e3 #9a847c #ffffff #9a847c #fdf6e3
client.placeholder #fdf6e3 #0c0c0c #ffffff #000000 #fdf6e3
client.background #ffffff
##### i3bar #####
## Start i3bar to display a workspace bar (plus the system information i3status
## finds out, if available)
bar {
# status_command i3status
strip_workspace_numbers yes
workspace_buttons yes
status_command i3status-rs
position bottom
separator_symbol |
i3bar_command i3bar --transparency
colors {
# background #fdf6e3
background #fdf6e3cc
statusline #657b83
separator #657b83
focused_workspace #fdf6e3 #657b83 #fdf6e3
active_workspace #fdf6e3 #5f676a #ffffff
inactive_workspace #fdf6e3 #fdf6e3 #657b83
urgent_workspace #fdf6e3 #9a847c #ffffff
binding_mode #fdf6e3 #9a847c #ffffff
}
tray_padding 2
strip_workspace_numbers yes
}
##### Windows #####
default_border pixel 5
# hide_edge_borders both
# assign [class="^mpv$"] $ws6
assign [class="qutebrowser"] $ws1
for_window [class="mpv"] floating enable
for_window [class="AzPainter"] floating enable
for_window [class="feh"] floating enable
for_window [class="Zathura"] floating enable
for_window [class="imv"] floating enable
for_window [class="QjackCtl"] floating enable
workspace_auto_back_and_forth yes
# for_window [class="Alacritty" instance="cava"] border pixel 0
##### GAPS #####
gaps inner 9
set $mode_gaps Gaps: (o)uter, (i)nner, (h)orizontal, (v)ertical, (t)op, (r)ight, (b)ottom, (l)eft
set $mode_gaps_outer Outer Gaps: +|-|0 (local), Shift + +|-|0 (global)
set $mode_gaps_inner Inner Gaps: +|-|0 (local), Shift + +|-|0 (global)
set $mode_gaps_horiz Horizontal Gaps: +|-|0 (local), Shift + +|-|0 (global)
set $mode_gaps_verti Vertical Gaps: +|-|0 (local), Shift + +|-|0 (global)
set $mode_gaps_top Top Gaps: +|-|0 (local), Shift + +|-|0 (global)
set $mode_gaps_right Right Gaps: +|-|0 (local), Shift + +|-|0 (global)
set $mode_gaps_bottom Bottom Gaps: +|-|0 (local), Shift + +|-|0 (global)
set $mode_gaps_left Left Gaps: +|-|0 (local), Shift + +|-|0 (global)
bindsym $mod+Shift+g mode "$mode_gaps"
mode "$mode_gaps" {
bindsym o mode "$mode_gaps_outer"
bindsym i mode "$mode_gaps_inner"
bindsym h mode "$mode_gaps_horiz"
bindsym v mode "$mode_gaps_verti"
bindsym t mode "$mode_gaps_top"
bindsym r mode "$mode_gaps_right"
bindsym b mode "$mode_gaps_bottom"
bindsym l mode "$mode_gaps_left"
bindsym Return mode "$mode_gaps"
bindsym Escape mode "default"
}
mode "$mode_gaps_outer" {
bindsym plus gaps outer current plus 5
bindsym minus gaps outer current minus 5
bindsym 0 gaps outer current set 0
bindsym Shift+plus gaps outer all plus 5
bindsym Shift+minus gaps outer all minus 5
bindsym Shift+0 gaps outer all set 0
bindsym Return mode "$mode_gaps"
bindsym Escape mode "default"
}
mode "$mode_gaps_inner" {
bindsym plus gaps inner current plus 5
bindsym minus gaps inner current minus 5
bindsym 0 gaps inner current set 0
bindsym Shift+plus gaps inner all plus 5
bindsym Shift+minus gaps inner all minus 5
bindsym Shift+0 gaps inner all set 0
bindsym Return mode "$mode_gaps"
bindsym Escape mode "default"
}
mode "$mode_gaps_horiz" {
bindsym plus gaps horizontal current plus 5
bindsym minus gaps horizontal current minus 5
bindsym 0 gaps horizontal current set 0
bindsym Shift+plus gaps horizontal all plus 5
bindsym Shift+minus gaps horizontal all minus 5
bindsym Shift+0 gaps horizontal all set 0
bindsym Return mode "$mode_gaps"
bindsym Escape mode "default"
}
mode "$mode_gaps_verti" {
bindsym plus gaps vertical current plus 5
bindsym minus gaps vertical current minus 5
bindsym 0 gaps vertical current set 0
bindsym Shift+plus gaps vertical all plus 5
bindsym Shift+minus gaps vertical all minus 5
bindsym Shift+0 gaps vertical all set 0
bindsym Return mode "$mode_gaps"
bindsym Escape mode "default"
}
mode "$mode_gaps_top" {
bindsym plus gaps top current plus 5
bindsym minus gaps top current minus 5
bindsym 0 gaps top current set 0
bindsym Shift+plus gaps top all plus 5
bindsym Shift+minus gaps top all minus 5
bindsym Shift+0 gaps top all set 0
bindsym Return mode "$mode_gaps"
bindsym Escape mode "default"
}
mode "$mode_gaps_right" {
bindsym plus gaps right current plus 5
bindsym minus gaps right current minus 5
bindsym 0 gaps right current set 0
bindsym Shift+plus gaps right all plus 5
bindsym Shift+minus gaps right all minus 5
bindsym Shift+0 gaps right all set 0
bindsym Return mode "$mode_gaps"
bindsym Escape mode "default"
}
mode "$mode_gaps_bottom" {
bindsym plus gaps bottom current plus 5
bindsym minus gaps bottom current minus 5
bindsym 0 gaps bottom current set 0
bindsym Shift+plus gaps bottom all plus 5
bindsym Shift+minus gaps bottom all minus 5
bindsym Shift+0 gaps bottom all set 0
bindsym Return mode "$mode_gaps"
bindsym Escape mode "default"
}
mode "$mode_gaps_left" {
bindsym plus gaps left current plus 5
bindsym minus gaps left current minus 5
bindsym 0 gaps left current set 0
bindsym Shift+plus gaps left all plus 5
bindsym Shift+minus gaps left all minus 5
bindsym Shift+0 gaps left all set 0
bindsym Return mode "$mode_gaps"
bindsym Escape mode "default"
}

View file

@ -0,0 +1,211 @@
theme = "native"
icons = "material-nf"
# [[block]]
# block = "focused_window"
# max_width = 60
# show_marks = "visible"
[[block]]
block = "music"
# hide_when_empty = true
buttons = [ "prev", "play", "next"]
interface_name_exclude = ['qutebrowser']
max_width = 100
dynamic_width = true
format = "[{player}] {artist} - {title} "
[block.icons_overrides]
music_play = ""
music_next = ""
music_pause = ""
music_prev = ""
[[block]]
block = "custom"
shell = "sh"
command = ''' echo \ `mpc --host=192.168.0.186 status %volume%` '''
interval = 3
# [[block]]
# block = "music"
# hide_when_empty = true
# buttons = ["play", "next"]
# max_width = 70
# dynamic_width = true
# player = ["ncmpcpp"]
# [block.icons_overrides]
# music_play = ""
# music_next = ""
# music_pause = ""
[[block]]
block = "weather"
format = "{weather}, ({location}), {temp}, {wind} m/s {direction}"
service = { name = "openweathermap", api_key = "0644c8722fd43f033b664dd2ba61e514", city_id = "498817", units = "metric" }
# [[block]]
# block = "external_ip"
# format = "{ip} {country_code}"
# [[block]]
# block = "net"
# device = "wlan0"
# format = "{signal_strength}"
# interval = 1
# [[block]]
# block = "memory"
# display_type = "memory"
# format_mem = "{mem_used_percents}"
# format_swap = "{swap_used_percents}"
# [[block]]
# block = "memory"
# format_mem = "{mem_used}/{mem_total}"
# format_swap = "{swap_used}/{swap_total}"
# display_type = "memory"
# icons = true
# clickable = true
# interval = 5
# warning_mem = 80
# warning_swap = 80
# critical_mem = 95
# critical_swap = 95
# [[block]]
# block = "cpu"
# interval = 1
# format = "{utilization} {frequency}"
# [block.icons_overrides]
# cpu = "﬙"
# [[block]]
# block = "temperature"
# collapsed = false
# interval = 5
# format = "{average}"
# chip = "coretemp-isa-0000"
# # inputs = ["CPUTIN", "SYSTIN"]
# [block.icons_overrides]
# thermometer = ""
# [[block]]
# block = "load"
# interval = 1
# format = "{1m}"
# [block.icons_overrides]
# cogs = ""
# [[block]]
# block = "custom"
# # icon = """
# command = ''' cat /sys/class/thermal/thermal_zone1/temp | awk '{printf("%.1f\n",$1/1000)}' '''
# [[block]]
# block = "custom"
# shell = "sh"
# command = ''' echo \ `sensors asus-isa-0000 | grep cpu_fan | sed 's/cpu_fan: //'` '''
# interval = 15
# [[block]]
# block = "pacman"
# interval = 60
# format = "{pacman} pkgs"
# format_singular = "{pacman} pkg"
# format_up_to_date = "0 pkgs"
# critical_updates_regex = "(linux|linux-lts|linux-zen)"
# [[block]]
# block = "bluetooth"
# mac = "68:D6:ED:28:EB:D9"
# format = "{percentage}"
# format_unavailable = ""
# hide_disconnected = true
# [[block]]
# block = "sound"
# headphones_indicator = true
# [[block]]
# block = "backlight"
# device = "intel_backlight"
# [[block]]
# block = "rofication"
# interval = 1
# socket_path = "/tmp/rofi_notification_daemon"
# on_click = "rofication-gui.py"
# [[block]]
# block = "notify"
# format = "{state}"
# [[block]]
# block = "battery"
# if_command = "test -e /sys/class/power_supply/BAT0"
# format = "{percentage} {time}"
# [[block]]
# block = "keyboard_layout"
# driver = "setxkbmap"
# on_click = "xkb-switch -n"
# interval = 1
# [[block]]
# block = "keyboard_layout"
# driver = "xkbswitch"
# on_click = "xkb-switch -n"
# format = "{layout}"
# interval = 1
# [[block]]
# block = "time"
# interval = 5
# format = "%a %d/%m %R"
# [[block]]
# block = "disk_space"
# path = "/"
# alias = "/"
# info_type = "available"
# unit = "GB"
# interval = 20
# warning = 20.0
# alert = 10.0
# [[block]]
# block = "disk_space"
# path = "/"
# info_type = "used"
# format = "{icon}/ {used}/{total}"
# unit = "GB"
# interval = 600
#
# [[block]]
# block = "disk_space"
# path = "/home"
# info_type = "used"
# format = "{icon}/home {used}/{total}"
# unit = "GB"
# interval = 600
# [[block]]
# block = "disk_space"
# path = "/storage"
# info_type = "used"
# format = "{icon}/storage {used}/{total}"
# unit = "GB"
# interval = 600
#
[[block]]
block = "pacman"
interval = 600
format = "{pacman} +{aur} ={both} pkgs"
format_singular = "{both} pkg"
format_up_to_date = "0 pkgs"
critical_updates_regex = "(linux|linux-lts|linux-zen)"
# aur_command should output available updates to stdout (ie behave as echo -ne "update\n")
aur_command = "yay -Qua"
[[block]]
block = "uptime"

171
smol/pacman_list Normal file
View file

@ -0,0 +1,171 @@
2048.c
acpi
acpid
acpilight
aerc
alacritty
archey4
autoconf
automake
autotiling
azpainter
base
bastet
betterlockscreen
binutils
bison
bluez-utils
bottom
btop
caffeine
calc
clang
cmake
cmatrix
cmus
compiler-rt
cronie
devour
dmenu
downgrade
dunst
efibootmgr
epy-git
fakeroot
fbv
feh
file
findutils
fingerpaint
fish
fish-done
flex
gawk
gcc
gettext
git
glances
gomuks
grep
groff
guvcview-qt
gzip
htop
i3-gaps
i3blocks
i3status
i3status-rust
icedisk
informant
intel-media-driver
intel-ucode
iwd
khal
libtd
libtool
libva-intel-driver
links
linux-firmware
linux-zen
lshw
lsp-plugins
m4
make
man-db
mesa
micro
mpc
mpdris2
mpv
mupdf
nano
ncdu
ncmpcpp
nerdfetch
networkmanager
newsboat
nextcloud-client
notes-cli-bin
noto-fonts
noto-fonts-cjk
noto-fonts-emoji
noto-fonts-extra
openssh
pacman
pacman-cleanup-hook
pandoc-bin
parted
patch
pavucontrol
perl-anyevent-i3
picard
picom
pipe-viewer-git
pkgconf
playerctl
polybar
profanity
pulseaudio
pulseaudio-bluetooth
pulsemixer
py3status
pyradio-git
python-telegram
qjackctl
qutebrowser
reaper
redshift
reflector
rescrobbled-git
rofi
rofi-calc
rofi-emoji
rtorrent
scrot
sed
smartmontools
speedtest-cli
sshfs
sudo
systemd-boot-pacman-hook
telegram-tg-git
terminus-font
texinfo
tldr
tlp
todo-bin
translate-shell
ttf-fira-code
ttf-fira-mono
ttf-fira-sans
ttf-nerd-fonts-symbols-1000-em
tut-bin
tuxguitar
unzip
uwufetch
vi
vim
viu
vlc
vulkan-intel
wget
when
which
wireless_tools
xautolock
xclip
xdg-utils
xkb-switch-i3
xorg-server
xorg-server-xephyr
xorg-xev
xorg-xgamma
xorg-xinit
xorg-xinput
xplr
xss-lock
xterm
yay-bin
yggdrasil
yt-dlp
zip

511
smol/polybar/config.ini Normal file
View file

@ -0,0 +1,511 @@
;==========================================================
;
;
; ██████╗ ██████╗ ██╗ ██╗ ██╗██████╗ █████╗ ██████╗
; ██╔══██╗██╔═══██╗██║ ╚██╗ ██╔╝██╔══██╗██╔══██╗██╔══██╗
; ██████╔╝██║ ██║██║ ╚████╔╝ ██████╔╝███████║██████╔╝
; ██╔═══╝ ██║ ██║██║ ╚██╔╝ ██╔══██╗██╔══██║██╔══██╗
; ██║ ╚██████╔╝███████╗██║ ██████╔╝██║ ██║██║ ██║
; ╚═╝ ╚═════╝ ╚══════╝╚═╝ ╚═════╝ ╚═╝ ╚═╝╚═╝ ╚═╝
;
;
; To learn more about how to configure Polybar
; go to https://github.com/polybar/polybar
;
; The README contains a lot of information
;
;==========================================================
[colors]
background = #ccfdf6e3
background-alt = #ccfdf6e3
foreground = #657b83
primary = #657b83
secondary = #657b83
alert = #A54242
disabled = #707880
[bar/top]
#bottom = false
#dock = false
width = 100%
height = 15pt
radius = 0
# dpi = 135
background = ${colors.background}
foreground = ${colors.foreground}
line-size = 3pt
border-size = 0pt
border-color = #00000000
padding-left = 1
padding-right = 1
module-margin = 1
separator = |
separator-foreground = ${colors.disabled}
font-0 = Fira Mono:style=Medium:pixelsize=8;1
font-1 = PowerlineSymbols:size=10;1
font-2 = SymbolsNerdFont:size=10;1
modules-left = xwindow
modules-center = date
modules-right = network memory cpu temperature backlight pulseaudio battery xkeyboard powermenu
cursor-click = pointer
cursor-scroll = ns-resize
enable-ipc = true
# tray-position = right
# wm-restack = generic
# wm-restack = bspwm
# wm-restack = i3
# override-redirect = true
[module/xworkspaces]
type = internal/xworkspaces
label-active = %name%
label-active-background = ${colors.background-alt}
label-active-underline= ${colors.primary}
label-active-padding = 1
label-occupied = %name%
label-occupied-padding = 1
label-urgent = %name%
label-urgent-background = ${colors.alert}
label-urgent-padding = 1
label-empty = %name%
label-empty-foreground = ${colors.disabled}
label-empty-padding = 1
[module/xwindow]
type = internal/xwindow
label =  %title%
label-maxlen = 100
label-ellipsis = true
[module/filesystem]
type = internal/fs
interval = 25
mount-0 = /
label-mounted = %{F#F0C674}%mountpoint%%{F-} %percentage_used%%
label-unmounted = %mountpoint% not mounted
label-unmounted-foreground = ${colors.disabled}
[module/backlight]
type = internal/backlight
; Available tags:
; <label> (default)
; <ramp>
; <bar>
format = <ramp> <label>
; Available tokens:
; %percentage% (default)
label = %percentage%%
; Only applies if <ramp> is used
ramp-0 =
ramp-1 =
ramp-2 =
ramp-3 =
ramp-4 =
; Use the following command to list available cards:
; $ ls -1 /sys/class/backlight/
card = intel_backlight
; Use the `/sys/class/backlight/.../actual-brightness` file
; rather than the regular `brightness` file.
; Defaults to true unless the specified card is an amdgpu backlight.
; New in version 3.6.0
use-actual-brightness = true
; Enable changing the backlight with the scroll wheel
; NOTE: This may require additional configuration on some systems. Polybar will
; write to `/sys/class/backlight/${self.card}/brightness` which requires polybar
; to have write access to that file.
; DO NOT RUN POLYBAR AS ROOT.
; The recommended way is to add the user to the
; `video` group and give that group write-privileges for the `brightness` file.
; See the ArchWiki for more information:
; https://wiki.archlinux.org/index.php/Backlight#ACPI
; Default: false
enable-scroll = true
[module/pulseaudio]
type = internal/pulseaudio
; Available tags:
; <label-volume> (default)
; <ramp-volume>
; <bar-volume>
format-volume = <ramp-volume> <label-volume>
label-volume = %percentage%%
label-muted =
label-muted-foreground = ${colors.disabled}
; Only applies if <ramp-volume> is used
ramp-volume-0 =
ramp-volume-1 = 奔
ramp-volume-2 =
[module/xkeyboard]
type = internal/xkeyboard
blacklist-0 = num lock
label-layout =  %layout%
label-layout-foreground = ${colors.primary}
label-indicator-on-capslock =
label-indicator-padding = 1
label-indicator-margin = 1
label-indicator-foreground = ${colors.background}
label-indicator-background = ${colors.secondary}
[module/memory]
type = internal/memory
interval = 2
# format-prefix = " "
format-prefix-foreground = ${colors.primary}
label =  %gb_used% |  %swap_used%
[module/cpu]
type = internal/cpu
interval = 2
format-prefix = "﬙ "
format-prefix-foreground = ${colors.primary}
label = %percentage:2%%
# [module/freq]
# type = custom/script
# format = <label> MHz
# exec = cat /proc/cpuinfo | grep MHz | sed 's/cpu MHz//' | sed 's/://' | awk '{print int($1+0.5)}'
# # tail = true
# click-left = kill -USR1 %pid%
# format-prefix = " "
# interval = 3
[module/fan]
type = custom/script
format = <label>
exec = sensors asus-isa-0000 | grep cpu_fan | sed 's/cpu_fan: //'
# tail = true
; click-left = kill -USR1 %pid%
format-prefix = " "
interval = 5
[module/temperature]
type = internal/temperature
; Seconds to sleep between updates
; Default: 1
interval = 1
format =  <label>
; Thermal zone to use
; To list all the zone types, run
; $ for i in /sys/class/thermal/thermal_zone*; do echo "$i: $(<$i/type)"; done
; Default: 0
thermal-zone = 0
; Full path of temperature sysfs path
; Use `sensors` to find preferred temperature source, then run
; $ for i in /sys/class/hwmon/hwmon*/temp*_input; do echo "$(<$(dirname $i)/name): $(cat ${i%_*}_label 2>/dev/null || echo $(basename ${i%_*})) $(readlink -f $i)"; done
; to find path to desired file
; Default reverts to thermal zone setting
hwmon-path = /sys/devices/platform/coretemp.0/hwmon/hwmon3/temp2_input
; Base temperature for where to start the ramp (in degrees celsius)
; Default: 0
base-temperature = 40
; Threshold temperature to display warning label (in degrees celsius)
; Default: 80
warn-temperature = 80
[network-base]
type = internal/network
interval = 5
format-connected = <label-connected> <ramp-signal>
format-disconnected = <label-disconnected>
label-disconnected = %{F#F0C674}%ifname%%{F#707880} disconnected
[module/network]
type = internal/network
; Name of the network interface to display. You can get the names of the
; interfaces on your machine with `ip link`
; Wireless interfaces often start with `wl` and ethernet interface with `eno` or `eth`
interface = wlan0
; If no interface is specified, polybar can detect an interface of the given type.
; If multiple are found, it will prefer running interfaces and otherwise just
; use the first one found.
; Either 'wired' or 'wireless'
; New in version 3.6.0
interface-type = wireless
; Seconds to sleep between updates
; Default: 1
interval = 3.0
; Test connectivity every Nth update
; A value of 0 disables the feature
; NOTE: Experimental (needs more testing)
; Default: 0
# ping-interval = 3
; @deprecated: Define min width using token specifiers (%downspeed:min% and %upspeed:min%)
; Minimum output width of upload/download rate
; Default: 3
# udspeed-minwidth = 5
; Accumulate values from all interfaces
; when querying for up/downspeed rate
; Default: false
# accumulate-stats = true
; Consider an `UNKNOWN` interface state as up.
; Some devices like USB network adapters have
; an unknown state, even when they're running
; Default: false
# unknown-as-up = true
; The unit used for displaying network speeds
; For example if set to the empty string, a speed of 5 KB/s is displayed as 5 K
; Default: B/s
; New in version 3.6.0
# speed-unit = 'Kb/s'
# inherit = network-base
# interface-type = wireless
label-connected = 直 %signal%%
label-disconnected =
; Available tags:
; <label-connected> (default)
; <ramp-signal>
format-connected = <label-connected>
; Available tags:
; <label-disconnected> (default)
format-disconnected = <label-disconnected>
; Available tags:
; <label-connected> (default)
; <label-packetloss>
; <animation-packetloss>
format-packetloss = <animation-packetloss> <label-connected>
; All labels support the following tokens:
; %ifname% [wireless+wired]
; %local_ip% [wireless+wired]
; %local_ip6% [wireless+wired]
; %essid% [wireless]
; %signal% [wireless]
; %upspeed% [wireless+wired]
; %downspeed% [wireless+wired]
; %netspeed% [wireless+wired] (%upspeed% + %downspeed%) (New in version 3.6.0)
; %linkspeed% [wired]
; %mac% [wireless+wired] (New in version 3.6.0)
; Default: %ifname% %local_ip%
# label-connected = %essid% %downspeed:9%
# label-connected-foreground = #eefafafa
; Default: (none)
# label-disconnected = not connected
# label-disconnected-foreground = #66ffffff
; Default: (none)
# label-packetloss = %essid%
# label-packetloss-foreground = #eefafafa
; Only applies if <ramp-signal> is used
# ramp-signal-0 = 😱
# ramp-signal-1 = 😠
# ramp-signal-2 = 😒
# ramp-signal-3 = 😊
# ramp-signal-4 = 😃
# ramp-signal-5 = 😈
; Only applies if <animation-packetloss> is used
animation-packetloss-0 =
animation-packetloss-0-foreground = #ffa64c
animation-packetloss-1 = 📶
animation-packetloss-1-foreground = #000000
; Framerate in milliseconds
animation-packetloss-framerate = 500
[module/eth]
inherit = network-base
interface-type = wired
label-connected = %{F#F0C674}%ifname%%{F-} %local_ip%
[module/date]
type = internal/date
interval = 1
date = %a %d/%m %H:%M
date-alt = %H:%M:%S
label =  %date%
label-foreground = ${colors.primary}
[module/battery]
type = internal/battery
; This is useful in case the battery never reports 100% charge
; Default: 100
full-at = 100
; format-low once this charge percentage is reached
; Default: 10
; New in version 3.6.0
low-at = 25
; Use the following command to list batteries and adapters:
; $ ls -1 /sys/class/power_supply/
battery = BAT0
adapter = ADP1
; If an inotify event haven't been reported in this many
; seconds, manually poll for new values.
;
; Needed as a fallback for systems that don't report events
; on sysfs/procfs.
;
; Disable polling by setting the interval to 0.
;
; Default: 5
poll-interval = 5
; see "man date" for details on how to format the time string
; NOTE: if you want to use syntax tags here you need to use %%{...}
; Default: %H:%M:%S
time-format = %H:%M
; Available tags:
; <label-charging> (default)
; <bar-capacity>
; <ramp-capacity>
; <animation-charging>
format-charging = <animation-charging> <label-charging>
; Available tags:
; <label-discharging> (default)
; <bar-capacity>
; <ramp-capacity>
; <animation-discharging>
format-discharging = <ramp-capacity> <label-discharging>
; Available tags:
; <label-full> (default)
; <bar-capacity>
; <ramp-capacity>
# format-full = <ramp-capacity> <label-full>
; Format used when battery level drops to low-at
; If not defined, format-discharging is used instead.
; Available tags:
; <label-low>
; <animation-low>
; <bar-capacity>
; <ramp-capacity>
; New in version 3.6.0
# format-low = <label-low> <animation-low>
; Available tokens:
; %percentage% (default) - is set to 100 if full-at is reached
; %percentage_raw%
; %time%
; %consumption% (shows current charge rate in watts)
label-charging = %percentage%%
; Available tokens:
; %percentage% (default) - is set to 100 if full-at is reached
; %percentage_raw%
; %time%
; %consumption% (shows current discharge rate in watts)
label-discharging = %percentage%%
; Available tokens:
; %percentage% (default) - is set to 100 if full-at is reached
; %percentage_raw%
label-full =
; Available tokens:
; %percentage% (default) - is set to 100 if full-at is reached
; %percentage_raw%
; %time%
; %consumption% (shows current discharge rate in watts)
; New in version 3.6.0
label-low = BATTERY LOW
; Only applies if <ramp-capacity> is used
ramp-capacity-0 =
ramp-capacity-1 =
ramp-capacity-2 =
ramp-capacity-3 =
ramp-capacity-4 =
; Only applies if <bar-capacity> is used
bar-capacity-width = 10
; Only applies if <animation-charging> is used
animation-charging-0 =
animation-charging-1 =
animation-charging-2 =
animation-charging-3 =
animation-charging-4 =
; Framerate in milliseconds
animation-charging-framerate = 750
; Only applies if <animation-discharging> is used
animation-discharging-0 =
animation-discharging-1 =
animation-discharging-2 =
animation-discharging-3 =
animation-discharging-4 =
; Framerate in milliseconds
animation-discharging-framerate = 500
; Only applies if <animation-low> is used
; New in version 3.6.0
animation-low-0 = !
animation-low-1 =
animation-low-framerate = 200
[module/powermenu]
type = custom/menu
menu-0-0 = Poweroff
menu-0-0-exec = poweroff
menu-0-1 = Suspend
menu-0-1-exec = systemctl suspend
label-open =
[settings]
screenchange-reload = true
pseudo-transparency = true
; vim:ft=dosini

57
smol/tut_solarized_theme Normal file
View file

@ -0,0 +1,57 @@
theme=none
# The background color used on most elements.
# default=xrdb:background
background="#FDF6E3"
# The text color used on most of the text.
# default=xrdb:foreground
text="#657B83"
# The color to display sublte elements or subtle text. Like lines and help text.
# default=xrdb:color14
subtle="#657B83"
# The color for errors or warnings
# default=xrdb:color1
warning-text="#900000"
# This color is used to display username.
# default=xrdb:color5
text-special-one="#2F343A"
# This color is used to display username and key hints.
# default=xrdb:color2
text-special-two="#900000"
# The color of the bar at the top
# default=xrdb:color5
top-bar-background="#657B83"
# The color of the text in the bar at the top.
# default=xrdb:background
top-bar-text="#FDF6E3"
# The color of the bar at the bottom
# default=xrdb:color5
status-bar-background="#657B83"
# The color of the text in the bar at the bottom.
# default=xrdb:foreground
status-bar-text="#FDF6E3"
# The color of the bar at the bottom in view mode.
# default=xrdb:color4
status-bar-view-background="#2F343A"
# The color of the text in the bar at the bottom in view mode.
# default=xrdb:foreground
status-bar-view-text="#657B83"
# Background of selected list items.
# default=xrdb:color5
list-selected-background="#900000"
# The text color of selected list items.
# default=xrdb:background
list-selected-text=xrdb:background