parent
0a4d8157af
commit
368dd54d39
@ -1,16 +1,24 @@ |
||||
# Things to clean up |
||||
|
||||
* Premade launchers for Firefox (one for each profile), IDEs, Discord, Spotify, which start the profiles on the correct workspace. |
||||
* Brightness and volume indicators when pressing the respective shortcuts - yad? |
||||
* Keybind launchers for IDEs, some file explorer, which start the apps on the correct workspace and switch to that workspace. |
||||
* Configure Barista bar |
||||
* Include mail notifier (count of unread/read messages in INBOX) |
||||
* Include calendar notifier (next event name+time, events today/tomorrow) |
||||
* Include yubikey notifier (U2F waiting to trigger) |
||||
* Configure Rofi more intimately |
||||
* Configure Rofi more intimately as a multi-launcher |
||||
* Use Rofi for the confirmation dialogue for exiting |
||||
* Use dunstify for a notification after reloading the i3 config |
||||
* Include the mozc and dunst configs and rofi configs in here |
||||
* Configure alacritty and make it the new i3 terminal |
||||
* Set up the xscreensaver config to be shared between machines |
||||
* Group the fonts together to be sent to gubal and make Lilex the primary alacritty font, while Gohu is the primary i3 font. |
||||
* Install+configure (or is it configure+install?) xst and make it the new i3 terminal |
||||
* Store the Ubuntu NerdFonts on Gubal. |
||||
* Wrap the lock process in a wrapper which pauses dunst and then unpauses it |
||||
* Add a fortune to the start of each new terminal session |
||||
* Enable some form of gamma shifting (if it's even possible...) |
||||
* Enable automatic gamma shifting with gammastep using the randr method |
||||
* Replace i3 shell scripts with Go binaries - or maybe just one Go binary with many options, busybox-style? |
||||
* Set up picom as compositor for i3, and embed its config here |
||||
* Set up individual desktop entries for the two firefox profiles with their -P and --class settings. |
||||
* Theme Rofi, dunst, i3, and xst - maybe use user scripts below? |
||||
* Add battery warning for low battery, and persistent battery warning for critical battery |
||||
* Add shutdown and reboot options to the main rofi menu - maybe use user scripts below? |
||||
* Upgrade rofi to the latest - v 1.6.1 - from source |
||||
* Add user scripts to rofi to make it prettier and more useful: https://github.com/davatorium/rofi/wiki/User-scripts or https://github.com/topics/rofi |
||||
* Set up a desktop background |
||||
|
@ -0,0 +1,852 @@ |
||||
# 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: |
||||
- ~/.config/alacritty/themes/tokyo-night.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: 0 |
||||
# lines: 0 |
||||
|
||||
# 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: false |
||||
|
||||
# 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: none |
||||
|
||||
# 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: 0 # tmux can handle scrollback itself; no need to have alacritty do it |
||||
|
||||
# Scrolling distance multiplier. |
||||
#multiplier: 3 |
||||
|
||||
# Font configuration |
||||
font: |
||||
# Normal (roman) font face |
||||
normal: |
||||
# Font family |
||||
# |
||||
# Default: |
||||
# - (macOS) Menlo |
||||
# - (Linux/BSD) monospace |
||||
# - (Windows) Consolas |
||||
family: Lilex Nerd Font Mono |
||||
|
||||
# The `style` can be specified to pick a specific face. |
||||
style: Regular |
||||
|
||||
# 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: Lilex Nerd Font 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: UbuntuMono Nerd Font Mono |
||||
|
||||
# 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: UbuntuMono Nerd Font Mono |
||||
|
||||
# The `style` can be specified to pick a specific face. |
||||
style: Bold Italic |
||||
|
||||
# Point size |
||||
size: 6.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: 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: '#1d1f21' |
||||
# foreground: '#c5c8c6' |
||||
|
||||
# Bright and dim foreground colors |
||||
# |
||||
# The dimmed foreground color is calculated automatically if it is not |
||||
# present. If the bright foreground color is not set, or |
||||
# `draw_bold_text_with_bright_colors` is `false`, the normal foreground |
||||
# color will be used. |
||||
#dim_foreground: '#828482' |
||||
#bright_foreground: '#eaeaea' |
||||
|
||||
# Cursor colors |
||||
# |
||||
# Colors which should be used to draw the terminal cursor. |
||||
# |
||||
# Allowed values are CellForeground/CellBackground, which reference the |
||||
# affected cell, or hexadecimal colors like #ff00ff. |
||||
#cursor: |
||||
# text: CellBackground |
||||
# cursor: CellForeground |
||||
|
||||
# Vi mode cursor colors |
||||
# |
||||
# Colors for the cursor when the vi mode is active. |
||||
# |
||||
# Allowed values are CellForeground/CellBackground, which reference the |
||||
# affected cell, or hexadecimal colors like #ff00ff. |
||||
#vi_mode_cursor: |
||||
# text: CellBackground |
||||
# cursor: CellForeground |
||||
|
||||
# Search colors |
||||
# |
||||
# Colors used for the search bar and match highlighting. |
||||
#search: |
||||
# Allowed values are CellForeground/CellBackground, which reference the |
||||
# affected cell, or hexadecimal colors like #ff00ff. |
||||
#matches: |
||||
# foreground: '#000000' |
||||
# background: '#ffffff' |
||||
#focused_match: |
||||
# foreground: '#ffffff' |
||||
# background: '#000000' |
||||
|
||||
#bar: |
||||
# background: '#c5c8c6' |
||||
# foreground: '#1d1f21' |
||||
|
||||
# Keyboard regex hints |
||||
#hints: |
||||
# Fist 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: [] |
||||
|
||||
# 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: EaseOutCubic |
||||
|
||||
# Duration of the visual bell flash in milliseconds. A `duration` of `0` will |
||||
# disable the visual bell animation. |
||||
duration: 400 |
||||
|
||||
# Visual bell animation color. |
||||
color: '#FF8811' |
||||
|
||||
# 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: On |
||||
|
||||
# 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` 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: "(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: Vi|~Search, action: ScrollToBottom } |
||||
#- { key: Space, mods: Shift|Control, mode: ~Search, action: ToggleViMode } |
||||
#- { key: Escape, mode: Vi|~Search, action: ClearSelection } |
||||
#- { key: I, mode: Vi|~Search, action: ScrollToBottom } |
||||
#- { key: I, mode: Vi|~Search, action: ToggleViMode } |
||||
#- { 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,29 @@ |
||||
# Colors (Tokyo Night) |
||||
# Source: https://github.com/zatchheems/tokyo-night-alacritty-theme |
||||
colors: |
||||
# Default colors |
||||
primary: |
||||
background: '0x1a1b26' |
||||
foreground: '0xa9b1d6' |
||||
|
||||
# Normal colors |
||||
normal: |
||||
black: '0x32344a' |
||||
red: '0xf7768e' |
||||
green: '0x9ece6a' |
||||
yellow: '0xe0af68' |
||||
blue: '0x7aa2f7' |
||||
magenta: '0xad8ee6' |
||||
cyan: '0x449dab' |
||||
white: '0x787c99' |
||||
|
||||
# Bright colors |
||||
bright: |
||||
black: '0x444b6a' |
||||
red: '0xff7a93' |
||||
green: '0xb9f27c' |
||||
yellow: '0xff9e64' |
||||
blue: '0x7da6ff' |
||||
magenta: '0xbb9af7' |
||||
cyan: '0x0db9d7' |
||||
white: '0xacb0d0' |
@ -0,0 +1,10 @@ |
||||
[general] |
||||
temp-day=6500 |
||||
temp-night=3600 |
||||
fade=1 |
||||
brightness-day=0.5 |
||||
brightness-night=0.5 |
||||
dawn-time=08:00-09:00 |
||||
dusk-time=19:00-20:00 |
||||
adjustment-method=randr |
||||
location-provider=manual |
@ -1,3 +0,0 @@ |
||||
#!/bin/bash |
||||
|
||||
yad --progress --image=display-brightness-symbolic --splash --no-buttons --on-top --no-focus --undecorated --text='<span size="large">Brightness</span>' --text-align=center --sticky --percentage=$(( $(brightnessctl get) * 100 / $(brightnessctl max) )) --no-escape --borders=10 --skip-taskbar --center |
@ -0,0 +1,22 @@ |
||||
#!/bin/bash |
||||
|
||||
case $1 in |
||||
up) |
||||
brightnessctl set 10%+ |
||||
;; |
||||
down) |
||||
brightnessctl set --min-value=1 10%- |
||||
;; |
||||
off) |
||||
brightnessctl set 0 |
||||
;; |
||||
max) |
||||
brightnessctl set 100% |
||||
;; |
||||
esac |
||||
ID_LOCATION=/run/user/$(id -u)/i3-helpers/brightness-notification-id |
||||
OLD_ID=$(<"$ID_LOCATION") |
||||
BRIGHTNESS=$(( $(brightnessctl get) * 100 / $(brightnessctl max) )) |
||||
NEW_ID=$(dunstify --appname=brightness.sh --timeout=3000 --hints="int:value:$BRIGHTNESS" --printid "${OLD_ID:+--replace="${OLD_ID}"}" "Brightness" "${BRIGHTNESS}%" ) |
||||
mkdir -p $(dirname "$ID_LOCATION") |
||||
echo "$NEW_ID" >"$ID_LOCATION" |
@ -0,0 +1,419 @@ |
||||
################################# |
||||
# Shadows # |
||||
################################# |
||||
|
||||
|
||||
# Enabled client-side shadows on windows. Note desktop windows |
||||
# (windows with '_NET_WM_WINDOW_TYPE_DESKTOP') never get shadow, |
||||
# unless explicitly requested using the wintypes option. |
||||
# |
||||
# shadow = false |
||||
shadow = true; |
||||
|
||||
# The blur radius for shadows, in pixels. (defaults to 12) |
||||
# shadow-radius = 12 |
||||
shadow-radius = 7; |
||||
|
||||
# The opacity of shadows. (0.0 - 1.0, defaults to 0.75) |
||||
# shadow-opacity = .75 |
||||
|
||||
# The left offset for shadows, in pixels. (defaults to -15) |
||||
# shadow-offset-x = -15 |
||||
shadow-offset-x = -7; |
||||
|
||||
# The top offset for shadows, in pixels. (defaults to -15) |
||||
# shadow-offset-y = -15 |
||||
shadow-offset-y = -7; |
||||
|
||||
# Red color value of shadow (0.0 - 1.0, defaults to 0). |
||||
# shadow-red = 0 |
||||
|
||||
# Green color value of shadow (0.0 - 1.0, defaults to 0). |
||||
# shadow-green = 0 |
||||
|
||||
# Blue color value of shadow (0.0 - 1.0, defaults to 0). |
||||
# shadow-blue = 0 |
||||
|
||||
# Hex string color value of shadow (#000000 - #FFFFFF, defaults to #000000). This option will override options set shadow-(red/green/blue) |
||||
# shadow-color = "#000000" |
||||
|
||||
# Specify a list of conditions of windows that should have no shadow. |
||||
# |
||||
# examples: |
||||
# shadow-exclude = "n:e:Notification"; |
||||
# |
||||
# shadow-exclude = [] |
||||
shadow-exclude = [ |
||||
"name = 'Notification'", |
||||
"class_g = 'Conky'", |
||||
"class_g ?= 'Notify-osd'", |
||||
"class_g = 'Cairo-clock'", |
||||
"_GTK_FRAME_EXTENTS@:c" |
||||
]; |
||||
|
||||
# Specify a list of conditions of windows that should have no shadow painted over, such as a dock window. |
||||
# clip-shadow-above = [] |
||||
|
||||
# Specify a X geometry that describes the region in which shadow should not |
||||
# be painted in, such as a dock window region. Use |
||||
# shadow-exclude-reg = "x10+0+0" |
||||
# for example, if the 10 pixels on the bottom of the screen should not have shadows painted on. |
||||
# |
||||
# shadow-exclude-reg = "" |
||||
|
||||
# Crop shadow of a window fully on a particular Xinerama screen to the screen. |
||||
# xinerama-shadow-crop = false |
||||
|
||||
|
||||
################################# |
||||
# Fading # |
||||
################################# |
||||
|
||||
|
||||
# Fade windows in/out when opening/closing and when opacity changes, |
||||
# unless no-fading-openclose is used. |
||||
# fading = false |
||||
fading = true; |
||||
|
||||
# Opacity change between steps while fading in. (0.01 - 1.0, defaults to 0.028) |
||||
# fade-in-step = 0.028 |
||||
fade-in-step = 0.03; |
||||
|
||||
# Opacity change between steps while fading out. (0.01 - 1.0, defaults to 0.03) |
||||
# fade-out-step = 0.03 |
||||
fade-out-step = 0.03; |
||||
|
||||
# The time between steps in fade step, in milliseconds. (> 0, defaults to 10) |
||||
# fade-delta = 10 |
||||
|
||||
# Specify a list of conditions of windows that should not be faded. |
||||
# fade-exclude = [] |
||||
|
||||
# Do not fade on window open/close. |
||||
# no-fading-openclose = false |
||||
|
||||
# Do not fade destroyed ARGB windows with WM frame. Workaround of bugs in Openbox, Fluxbox, etc. |
||||
# no-fading-destroyed-argb = false |
||||
|
||||
|
||||
################################# |
||||
# Transparency / Opacity # |
||||
################################# |
||||
|
||||
|
||||
# Opacity of inactive windows. (0.1 - 1.0, defaults to 1.0) |
||||
# inactive-opacity = 1 |
||||
inactive-opacity = 0.8; |
||||
|
||||
# Opacity of window titlebars and borders. (0.1 - 1.0, disabled by default) |
||||
# frame-opacity = 1.0 |
||||
frame-opacity = 0.7; |
||||
|
||||
# Let inactive opacity set by -i override the '_NET_WM_OPACITY' values of windows. |
||||
# inactive-opacity-override = true |
||||
inactive-opacity-override = false; |
||||
|
||||
# Default opacity for active windows. (0.0 - 1.0, defaults to 1.0) |
||||
# active-opacity = 1.0 |
||||
|
||||
# Dim inactive windows. (0.0 - 1.0, defaults to 0.0) |
||||
# inactive-dim = 0.0 |
||||
|
||||
# Specify a list of conditions of windows that should never be considered focused. |
||||
# focus-exclude = [] |
||||
focus-exclude = [ "class_g = 'Cairo-clock'" ]; |
||||
|
||||
# Use fixed inactive dim value, instead of adjusting according to window opacity. |
||||
# inactive-dim-fixed = 1.0 |
||||
|
||||
# Specify a list of opacity rules, in the format `PERCENT:PATTERN`, |
||||
# like `50:name *= "Firefox"`. picom-trans is recommended over this. |
||||
# Note we don't make any guarantee about possible conflicts with other |
||||
# programs that set '_NET_WM_WINDOW_OPACITY' on frame or client windows. |
||||
# example: |
||||
# opacity-rule = [ "80:class_g = 'URxvt'" ]; |
||||
# |
||||
# opacity-rule = [] |
||||
|
||||
|
||||
################################# |
||||
# Corners # |
||||
################################# |
||||
|
||||
# Sets the radius of rounded window corners. When > 0, the compositor will |
||||
# round the corners of windows. Does not interact well with |
||||
# `transparent-clipping`. |
||||
corner-radius = 0 |
||||
|
||||
# Exclude conditions for rounded corners. |
||||
rounded-corners-exclude = [ |
||||
"window_type = 'dock'", |
||||
"window_type = 'desktop'" |
||||
]; |
||||
|
||||
|
||||
################################# |
||||
# Background-Blurring # |
||||
################################# |
||||
|
||||
|
||||
# Parameters for background blurring, see the *BLUR* section for more information. |
||||
# blur-method = |
||||
# blur-size = 12 |
||||
# |
||||
# blur-deviation = false |
||||
# |
||||
# blur-strength = 5 |
||||
|
||||
# Blur background of semi-transparent / ARGB windows. |
||||
# Bad in performance, with driver-dependent behavior. |
||||
# The name of the switch may change without prior notifications. |
||||
# |
||||
# blur-background = false |
||||
|
||||
# Blur background of windows when the window frame is not opaque. |
||||
# Implies: |
||||
# blur-background |
||||
# Bad in performance, with driver-dependent behavior. The name may change. |
||||
# |
||||
# blur-background-frame = false |
||||
|
||||
|
||||
# Use fixed blur strength rather than adjusting according to window opacity. |
||||
# blur-background-fixed = false |
||||
|
||||
|
||||
# Specify the blur convolution kernel, with the following format: |
||||
# example: |
||||
# blur-kern = "5,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1"; |
||||
# |
||||
# blur-kern = "" |
||||
blur-kern = "3x3box"; |
||||
|
||||
|
||||
# Exclude conditions for background blur. |
||||
# blur-background-exclude = [] |
||||
blur-background-exclude = [ |
||||
"window_type = 'dock'", |
||||
"window_type = 'desktop'", |
||||
"_GTK_FRAME_EXTENTS@:c" |
||||
]; |
||||
|
||||
################################# |
||||
# General Settings # |
||||
################################# |
||||
|
||||
# Daemonize process. Fork to background after initialization. Causes issues with certain (badly-written) drivers. |
||||
# daemon = false |
||||
|
||||
# Specify the backend to use: `xrender`, `glx`, or `xr_glx_hybrid`. |
||||
# `xrender` is the default one. |
||||
# |
||||
# backend = "glx" |
||||
backend = "xrender"; |
||||
|
||||
# Enable/disable VSync. |
||||
# vsync = false |
||||
vsync = true; |
||||
|
||||
# Enable remote control via D-Bus. See the *D-BUS API* section below for more details. |
||||
# dbus = false |
||||
|
||||
# Try to detect WM windows (a non-override-redirect window with no |
||||
# child that has 'WM_STATE') and mark them as active. |
||||
# |
||||
# mark-wmwin-focused = false |
||||
mark-wmwin-focused = true; |
||||
|
||||
# Mark override-redirect windows that doesn't have a child window with 'WM_STATE' focused. |
||||
# mark-ovredir-focused = false |
||||
mark-ovredir-focused = true; |
||||
|
||||
# Try to detect windows with rounded corners and don't consider them |
||||
# shaped windows. The accuracy is not very high, unfortunately. |
||||
# |
||||
# detect-rounded-corners = false |
||||
detect-rounded-corners = true; |
||||
|
||||
# Detect '_NET_WM_OPACITY' on client windows, useful for window managers |
||||
# not passing '_NET_WM_OPACITY' of client windows to frame windows. |
||||
# |
||||
# detect-client-opacity = false |
||||
detect-client-opacity = true; |
||||
|
||||
# Specify refresh rate of the screen. If not specified or 0, picom will |
||||
# try detecting this with X RandR extension. |
||||
# |
||||
# refresh-rate = 60 |
||||
refresh-rate = 0; |
||||
|
||||
# Use EWMH '_NET_ACTIVE_WINDOW' to determine currently focused window, |
||||
# rather than listening to 'FocusIn'/'FocusOut' event. Might have more accuracy, |
||||
# provided that the WM supports it. |
||||
# |
||||
# use-ewmh-active-win = false |
||||
|
||||
# Unredirect all windows if a full-screen opaque window is detected, |
||||
# to maximize performance for full-screen windows. Known to cause flickering |
||||
# when redirecting/unredirecting windows. |
||||
# |
||||
# unredir-if-possible = false |
||||
|
||||
# Delay before unredirecting the window, in milliseconds. Defaults to 0. |
||||
# unredir-if-possible-delay = 0 |
||||
|
||||
# Conditions of windows that shouldn't be considered full-screen for unredirecting screen. |
||||
# unredir-if-possible-exclude = [] |
||||
|
||||
# Use 'WM_TRANSIENT_FOR' to group windows, and consider windows |
||||
# in the same group focused at the same time. |
||||
# |
||||
# detect-transient = false |
||||
detect-transient = true; |
||||
|
||||
# Use 'WM_CLIENT_LEADER' to group windows, and consider windows in the same |
||||
# group focused at the same time. 'WM_TRANSIENT_FOR' has higher priority if |
||||
# detect-transient is enabled, too. |
||||
# |
||||
# detect-client-leader = false |
||||
detect-client-leader = true; |
||||
|
||||
# Resize damaged region by a specific number of pixels. |
||||
# A positive value enlarges it while a negative one shrinks it. |
||||
# If the value is positive, those additional pixels will not be actually painted |
||||
# to screen, only used in blur calculation, and such. (Due to technical limitations, |
||||
# with use-damage, those pixels will still be incorrectly painted to screen.) |
||||
# Primarily used to fix the line corruption issues of blur, |
||||
# in which case you should use the blur radius value here |
||||
# (e.g. with a 3x3 kernel, you should use `--resize-damage 1`, |
||||
# with a 5x5 one you use `--resize-damage 2`, and so on). |
||||
# May or may not work with *--glx-no-stencil*. Shrinking doesn't function correctly. |
||||
# |
||||
# resize-damage = 1 |
||||
|
||||
# Specify a list of conditions of windows that should be painted with inverted color. |
||||
# Resource-hogging, and is not well tested. |
||||
# |
||||
# invert-color-include = [] |
||||
|
||||
# GLX backend: Avoid using stencil buffer, useful if you don't have a stencil buffer. |
||||
# Might cause incorrect opacity when rendering transparent content (but never |
||||
# practically happened) and may not work with blur-background. |
||||
# My tests show a 15% performance boost. Recommended. |
||||
# |
||||
# glx-no-stencil = false |
||||
|
||||
# GLX backend: Avoid rebinding pixmap on window damage. |
||||
# Probably could improve performance on rapid window content changes, |
||||
# but is known to break things on some drivers (LLVMpipe, xf86-video-intel, etc.). |
||||
# Recommended if it works. |
||||
# |
||||
# glx-no-rebind-pixmap = false |
||||
|
||||
# Disable the use of damage information. |
||||
# This cause the whole screen to be redrawn everytime, instead of the part of the screen |
||||
# has actually changed. Potentially degrades the performance, but might fix some artifacts. |
||||
# The opposing option is use-damage |
||||
# |
||||
# no-use-damage = false |
||||
use-damage = true; |
||||
|
||||
# Use X Sync fence to sync clients' draw calls, to make sure all draw |
||||
# calls are finished before picom starts drawing. Needed on nvidia-drivers |
||||
# with GLX backend for some users. |
||||
# |
||||
# xrender-sync-fence = false |
||||
|
||||
# GLX backend: Use specified GLSL fragment shader for rendering window contents. |
||||
# See `compton-default-fshader-win.glsl` and `compton-fake-transparency-fshader-win.glsl` |
||||
# in the source tree for examples. |
||||
# |
||||
# glx-fshader-win = "" |
||||
|
||||
# Force all windows to be painted with blending. Useful if you |
||||
# have a glx-fshader-win that could turn opaque pixels transparent. |
||||
# |
||||
# force-win-blend = false |
||||
|
||||
# Do not use EWMH to detect fullscreen windows. |
||||
# Reverts to checking if a window is fullscreen based only on its size and coordinates. |
||||
# |
||||
# no-ewmh-fullscreen = false |
||||
|
||||
# Dimming bright windows so their brightness doesn't exceed this set value. |
||||
# Brightness of a window is estimated by averaging all pixels in the window, |
||||
# so this could comes with a performance hit. |
||||
# Setting this to 1.0 disables this behaviour. Requires --use-damage to be disabled. (default: 1.0) |
||||
# |
||||
# max-brightness = 1.0 |
||||
|
||||
# Make transparent windows clip other windows like non-transparent windows do, |
||||
# instead of blending on top of them. |
||||
# |
||||
# transparent-clipping = false |
||||
|
||||
# Set the log level. Possible values are: |
||||
# "trace", "debug", "info", "warn", "error" |
||||
# in increasing level of importance. Case doesn't matter. |
||||
# If using the "TRACE" log level, it's better to log into a file |
||||
# using *--log-file*, since it can generate a huge stream of logs. |
||||
# |
||||
# log-level = "debug" |
||||
log-level = "warn"; |
||||
|
||||
# Set the log file. |
||||
# If *--log-file* is never specified, logs will be written to stderr. |
||||
# Otherwise, logs will to written to the given file, though some of the early |
||||
# logs might still be written to the stderr. |
||||
# When setting this option from the config file, it is recommended to use an absolute path. |
||||
# |
||||
# log-file = "/path/to/your/log/file" |
||||
|
||||
# Show all X errors (for debugging) |
||||
# show-all-xerrors = false |
||||
|
||||
# Write process ID to a file. |
||||
# write-pid-path = "/path/to/your/log/file" |
||||
|
||||
# Window type settings |
||||
# |
||||
# 'WINDOW_TYPE' is one of the 15 window types defined in EWMH standard: |
||||
# "unknown", "desktop", "dock", "toolbar", "menu", "utility", |
||||
# "splash", "dialog", "normal", "dropdown_menu", "popup_menu", |
||||
# "tooltip", "notification", "combo", and "dnd". |
||||
# |
||||
# Following per window-type options are available: :: |
||||
# |
||||
# fade, shadow::: |
||||
# Controls window-type-specific shadow and fade settings. |
||||
# |
||||
# opacity::: |
||||
# Controls default opacity of the window type. |
||||
# |
||||
# focus::: |
||||
# Controls whether the window of this type is to be always considered focused. |
||||
# (By default, all window types except "normal" and "dialog" has this on.) |
||||
# |
||||
# full-shadow::: |
||||
# Controls whether shadow is drawn under the parts of the window that you |
||||
# normally won't be able to see. Useful when the window has parts of it |
||||
# transparent, and you want shadows in those areas. |
||||
# |
||||
# clip-shadow-above::: |
||||
# Controls wether shadows that would have been drawn above the window should |
||||
# be clipped. Useful for dock windows that should have no shadow painted on top. |
||||
# |
||||
# redir-ignore::: |
||||
# Controls whether this type of windows should cause screen to become |
||||
# redirected again after been unredirected. If you have unredir-if-possible |
||||
# set, and doesn't want certain window to cause unnecessary screen redirection, |
||||
# you can set this to `true`. |
||||
# |
||||
wintypes: |
||||
{ |
||||
tooltip = { fade = true; shadow = true; opacity = 0.75; focus = true; full-shadow = false; }; |
||||
dock = { shadow = false; clip-shadow-above = true; } |
||||
dnd = { shadow = false; } |
||||
popup_menu = { opacity = 0.8; } |
||||
dropdown_menu = { opacity = 0.8; } |
||||
}; |
@ -0,0 +1 @@ |
||||
Subproject commit 214f15d38dac18d23b32d310b290491d91fff958 |
@ -0,0 +1,51 @@ |
||||
#!/bin/bash |
||||
|
||||
function area() { |
||||
maim --select --tolerance 0 "$@" && \ |
||||
echo "the selected area" |
||||
} |
||||
|
||||
function screen() { |
||||
maim "$@" && \ |
||||
echo "the full screen" |
||||
} |
||||
|
||||
function current_window() { |
||||
WINDOW_ID=$(xdotool getwindowfocus) && \ |
||||
WINDOW_NAME=$(xdotool getwindowname "$WINDOW_ID") && \ |
||||
maim --window="$WINDOW_ID" "$@" && \ |
||||
echo "the current window ($WINDOW_NAME)" |
||||
} |
||||
|
||||
function select_window() { |
||||
maim --select --tolerance 999999 "$@" && \ |
||||
echo "the selected window" |
||||
} |
||||
|
||||
OPTION=$1 |
||||
shift |
||||
OPTION_TYPE=$(type -t "$OPTION") |
||||
if [[ $OPTION_TYPE != function ]]; then |
||||
>&2 echo "Must give the type of screenshot: area, screen, current_window, or select_window, but gave ${OPTION:-(nothing)} which was ${OPTION_TYPE:-undefined}" |
||||
exit 1 |
||||
fi |
||||
|
||||
SCREENSHOT_DIR=~/Screenshots |
||||
if [[ ! -d $SCREENSHOT_DIR ]]; then |
||||
if [[ ! -t 2 ]]; then |
||||
if [[ -z $SCREENSHOT_DIR ]]; then |
||||
dunstify --appname=screenshot.sh --timeout 3000 "Screenshot Failed" "Failed to take screenshot: Screenshot directory not set" |
||||
else |
||||
dunstify --appname=screenshot.sh --timeout 3000 "Screenshot Failed" "Failed to take screenshot: No such directory ${SCREENSHOT_DIR}" |
||||
fi |
||||
else |
||||
>&2 echo "Must give the screenshot directory, which must exist and be a directory, but gave ${SCREENSHOT_DIR:-(nothing)}" |
||||
fi |
||||
exit 2 |
||||
fi |
||||
|
||||
FILENAME=${SCREENSHOT_DIR}/Screenshot\ from\ $(date '+%Y-%m-%d %H-%M-%S').png |
||||
AREA=$("$OPTION" "$@" "$FILENAME") && \ |
||||
xclip -selection clipboard -t image/png < "$FILENAME" && \ |
||||
dunstify --appname=screenshot.sh --timeout 3000 --raw_icon="$FILENAME" "Screenshot Captured" "Saved screenshot of $AREA to clipboard and $FILENAME" && \ |
||||
"$(readlink -e "$( dirname "$(realpath -e "${BASH_SOURCE[0]}")" )")/recently_used/recently_used.py" -A screenshot.sh "$FILENAME" |
@ -0,0 +1,40 @@ |
||||
#!/bin/bash |
||||
|
||||
function volumedelta() { |
||||
local CURRENT_VOLUME=$( pacmd list-sinks | grep -A 15 '* index' | awk '/volume: front/{ print $5 }' | sed 's/[%|,]//g') |
||||
local NEW_VOLUME=$(( $CURRENT_VOLUME + $1 )) |
||||
local NEW_VOLUME=$(( $NEW_VOLUME > 100 ? 100 : $NEW_VOLUME )) |
||||
local NEW_VOLUME=$(( $NEW_VOLUME < 0 ? 0 : $NEW_VOLUME )) |
||||
pactl set-sink-volume '@DEFAULT_SINK@' "${NEW_VOLUME}%" |
||||
} |
||||
case $1 in |
||||
up) |
||||
volumedelta 10 |
||||
pactl set-sink-mute '@DEFAULT_SINK@' 0 |
||||
;; |
||||
down) |
||||
volumedelta -10 |
||||
;; |
||||
off) |
||||
volumedelta -9999 |
||||
;; |
||||
max) |
||||
volumedelta 9999 |
||||
pactl set-sink-mute '@DEFAULT_SINK@' 0 |
||||
;; |
||||
toggle_mute) |
||||
pactl set-sink-mute '@DEFAULT_SINK@' toggle |
||||
;; |
||||
full_mute) |
||||
pactl set-sink-mute '@DEFAULT_SINK@' 1 |
||||
pactl set-sink-volume '@DEFAULT_SINK@' 0 |
||||
;; |
||||
esac |
||||
pkill -SIGUSR1 i3status |
||||
VOLUME=$( pacmd list-sinks | grep -A 15 '* index' | awk '/volume: front/{ print $5 }' | sed 's/[%|,]//g' ) |
||||
MUTED=$( pacmd list-sinks | grep -A 15 '* index' | awk '/muted:/{ print $2 }' | grep -m1 yes ) |
||||
ID_LOCATION=/run/user/$(id -u)/i3-helpers/volume-notification-id |
||||
OLD_ID=$(<"$ID_LOCATION") |
||||
NEW_ID=$(dunstify --appname=brightness.sh --timeout=3000 --hints="int:value:$VOLUME" --printid "${OLD_ID:+--replace="${OLD_ID}"}" "Volume" "${VOLUME}%${MUTED:+ (Muted)}" ) |
||||
mkdir -p $(dirname "$ID_LOCATION") |
||||
echo "$NEW_ID" >"$ID_LOCATION" |
@ -0,0 +1 @@ |
||||
../../../../alacritty/alacritty.yml |
@ -0,0 +1 @@ |
||||
../../../../alacritty/themes |
@ -0,0 +1 @@ |
||||
../../../../alacritty/alacritty.yml |
@ -0,0 +1 @@ |
||||
../../../../alacritty/themes |
@ -0,0 +1 @@ |
||||
../../../../alacritty/alacritty.yml |
@ -0,0 +1 @@ |
||||
../../../../alacritty/themes |
@ -0,0 +1 @@ |
||||
../../../../alacritty/alacritty.yml |
@ -0,0 +1 @@ |
||||
../../../../alacritty/themes |
@ -0,0 +1 @@ |
||||
../../../../alacritty/alacritty.yml |
@ -0,0 +1 @@ |
||||
../../../../alacritty/themes |
@ -0,0 +1 @@ |
||||
../../../../alacritty/alacritty.yml |
@ -0,0 +1 @@ |
||||
../../../../alacritty/themes |
@ -0,0 +1,145 @@ |
||||
configuration { |
||||
modi: "drun,run,window,ssh"; |
||||
/* width: 50;*/ |
||||
/* lines: 15;*/ |
||||
/* columns: 1;*/ |
||||
/* font: "mono 12";*/ |
||||
/* bw: 1;*/ |
||||
/* location: 0;*/ |
||||
/* padding: 5;*/ |
||||
/* yoffset: 0;*/ |
||||
/* xoffset: 0;*/ |
||||
/* fixed-num-lines: true;*/ |
||||
/* show-icons: false;*/ |
||||
/* terminal: "rofi-sensible-terminal";*/ |
||||
/* ssh-client: "ssh";*/ |
||||
/* ssh-command: "{terminal} -e {ssh-client} {host} [-p {port}]";*/ |
||||
/* run-command: "{cmd}";*/ |
||||
/* run-list-command: "";*/ |
||||
/* run-shell-command: "{terminal} -e {cmd}";*/ |
||||
/* window-command: "wmctrl -i -R {window}";*/ |
||||
/* window-match-fields: "all";*/ |
||||
/* icon-theme: ;*/ |
||||
/* drun-match-fields: "name,generic,exec,categories";*/ |
||||
/* drun-show-actions: false;*/ |
||||
/* drun-display-format: "{name} [<span weight='light' size='small'><i>({generic})</i></span>]";*/ |
||||
/* disable-history: false;*/ |
||||
/* ignored-prefixes: "";*/ |
||||
/* sort: false;*/ |
||||
/* sorting-method: ;*/ |
||||
/* case-sensitive: false;*/ |
||||
/* cycle: true;*/ |
||||
/* sidebar-mode: false;*/ |
||||
/* eh: 1;*/ |
||||
auto-select: true; |
||||
/* parse-hosts: false;*/ |
||||
/* parse-known-hosts: true;*/ |
||||
/* combi-modi: "window,run";*/ |
||||
/* matching: "normal";*/ |
||||
/* tokenize: true;*/ |
||||
/* m: "-5";*/ |
||||
/* line-margin: 2;*/ |
||||
/* line-padding: 1;*/ |
||||
/* filter: ;*/ |
||||
/* separator-style: "dash";*/ |
||||
/* hide-scrollbar: false;*/ |
||||
/* fullscreen: false;*/ |
||||
/* fake-transparency: false;*/ |
||||
/* dpi: -1;*/ |
||||
/* threads: 0;*/ |
||||
/* scrollbar-width: 8;*/ |
||||
/* scroll-method: 0;*/ |
||||
/* fake-background: "screenshot";*/ |
||||
/* window-format: "{w} {c} {t}";*/ |
||||
/* click-to-exit: true;*/ |
||||
/* show-match: true;*/ |
||||
/* theme: ;*/ |
||||
/* color-normal: ;*/ |
||||
/* color-urgent: ;*/ |
||||
/* color-active: ;*/ |
||||
/* color-window: ;*/ |
||||
/* max-history-size: 25;*/ |
||||
/* combi-hide-mode-prefix: false;*/ |
||||
/* matching-negate-char: '-' /* unsupported */;*/ |
||||
/* cache-dir: ;*/ |
||||
/* pid: "/run/user/1000/rofi.pid";*/ |
||||
/* display-window: ;*/ |
||||
/* display-windowcd: ;*/ |
||||
/* display-run: ;*/ |
||||
/* display-ssh: ;*/ |
||||
/* display-drun: ;*/ |
||||
/* display-combi: ;*/ |
||||
/* display-keys: ;*/ |
||||
/* kb-primary-paste: "Control+V,Shift+Insert";*/ |
||||
/* kb-secondary-paste: "Control+v,Insert";*/ |
||||
/* kb-clear-line: "Control+w";*/ |
||||
/* kb-move-front: "Control+a";*/ |
||||
/* kb-move-end: "Control+e";*/ |
||||
/* kb-move-word-back: "Alt+b,Control+Left";*/ |
||||
/* kb-move-word-forward: "Alt+f,Control+Right";*/ |
||||
/* kb-move-char-back: "Left,Control+b";*/ |
||||
/* kb-move-char-forward: "Right,Control+f";*/ |
||||
/* kb-remove-word-back: "Control+Alt+h,Control+BackSpace";*/ |
||||
/* kb-remove-word-forward: "Control+Alt+d";*/ |
||||
/* kb-remove-char-forward: "Delete,Control+d";*/ |
||||
/* kb-remove-char-back: "BackSpace,Shift+BackSpace,Control+h";*/ |
||||
/* kb-remove-to-eol: "Control+k";*/ |
||||
/* kb-remove-to-sol: "Control+u";*/ |
||||
/* kb-accept-entry: "Control+j,Control+m,Return,KP_Enter";*/ |
||||
/* kb-accept-custom: "Control+Return";*/ |
||||
/* kb-accept-alt: "Shift+Return";*/ |
||||
/* kb-delete-entry: "Shift+Delete";*/ |
||||
/* kb-mode-next: "Shift+Right,Control+Tab";*/ |
||||
/* kb-mode-previous: "Shift+Left,Control+ISO_Left_Tab";*/ |
||||
/* kb-row-left: "Control+Page_Up";*/ |
||||
/* kb-row-right: "Control+Page_Down";*/ |
||||
/* kb-row-up: "Up,Control+p,ISO_Left_Tab";*/ |
||||
/* kb-row-down: "Down,Control+n";*/ |
||||
/* kb-row-tab: "Tab";*/ |
||||
/* kb-page-prev: "Page_Up";*/ |
||||
/* kb-page-next: "Page_Down";*/ |
||||
/* kb-row-first: "Home,KP_Home";*/ |
||||
/* kb-row-last: "End,KP_End";*/ |
||||
/* kb-row-select: "Control+space";*/ |
||||
/* kb-screenshot: "Alt+S";*/ |
||||
/* kb-ellipsize: "Alt+period";*/ |
||||
/* kb-toggle-case-sensitivity: "grave,dead_grave";*/ |
||||
/* kb-toggle-sort: "Alt+grave";*/ |
||||
/* kb-cancel: "Escape,Control+g,Control+bracketleft";*/ |
||||
/* kb-custom-1: "Alt+1";*/ |
||||
/* kb-custom-2: "Alt+2";*/ |
||||
/* kb-custom-3: "Alt+3";*/ |
||||
/* kb-custom-4: "Alt+4";*/ |
||||
/* kb-custom-5: "Alt+5";*/ |
||||
/* kb-custom-6: "Alt+6";*/ |
||||
/* kb-custom-7: "Alt+7";*/ |
||||
/* kb-custom-8: "Alt+8";*/ |
||||
/* kb-custom-9: "Alt+9";*/ |
||||
/* kb-custom-10: "Alt+0";*/ |
||||
/* kb-custom-11: "Alt+exclam";*/ |
||||
/* kb-custom-12: "Alt+at";*/ |
||||
/* kb-custom-13: "Alt+numbersign";*/ |
||||
/* kb-custom-14: "Alt+dollar";*/ |
||||
/* kb-custom-15: "Alt+percent";*/ |
||||
/* kb-custom-16: "Alt+dead_circumflex";*/ |
||||
/* kb-custom-17: "Alt+ampersand";*/ |
||||
/* kb-custom-18: "Alt+asterisk";*/ |
||||
/* kb-custom-19: "Alt+parenleft";*/ |
||||
/* kb-select-1: "Super+1";*/ |
||||
/* kb-select-2: "Super+2";*/ |
||||
/* kb-select-3: "Super+3";*/ |
||||
/* kb-select-4: "Super+4";*/ |
||||
/* kb-select-5: "Super+5";*/ |
||||
/* kb-select-6: "Super+6";*/ |
||||
/* kb-select-7: "Super+7";*/ |
||||
/* kb-select-8: "Super+8";*/ |
||||
/* kb-select-9: "Super+9";*/ |
||||
/* kb-select-10: "Super+0";*/ |
||||
/* ml-row-left: "ScrollLeft";*/ |
||||
/* ml-row-right: "ScrollRight";*/ |
||||
/* ml-row-up: "ScrollUp";*/ |
||||
/* ml-row-down: "ScrollDown";*/ |
||||
/* me-select-entry: "MousePrimary";*/ |
||||
/* me-accept-entry: "MouseDPrimary";*/ |
||||
/* me-accept-custom: "Control+MouseDPrimary";*/ |
||||
} |
@ -0,0 +1 @@ |
||||
Subproject commit 5b09bd955292ae33ef6d3519df09b5bc1b0ff49e |
Loading…
Reference in new issue