Added more config files
This commit is contained in:
parent
79a8f41b50
commit
0920366c9d
13 changed files with 1557 additions and 0 deletions
930
.config/alacritty/alacritty.yaml
Normal file
930
.config/alacritty/alacritty.yaml
Normal file
|
@ -0,0 +1,930 @@
|
||||||
|
# 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. Both lines and columns
|
||||||
|
# must be non-zero for this to take effect. 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: 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: 0.75
|
||||||
|
|
||||||
|
# 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
|
||||||
|
|
||||||
|
# Decorations theme variant (Linux/BSD only)
|
||||||
|
#
|
||||||
|
# Override the variant of the GTK theme/Wayland client side decorations.
|
||||||
|
# Commonly supported values are `dark` and `light`. Set this to `None` to use
|
||||||
|
# the default theme variant.
|
||||||
|
#decorations_theme_variant: None
|
||||||
|
|
||||||
|
#scrolling:
|
||||||
|
# Maximum number of lines in the scrollback buffer.
|
||||||
|
# Specifying '0' will disable scrolling.
|
||||||
|
#history: 10000
|
||||||
|
|
||||||
|
# Scrolling distance multiplier.
|
||||||
|
#multiplier: 3
|
||||||
|
|
||||||
|
# Font configuration
|
||||||
|
font:
|
||||||
|
# Normal (roman) font face
|
||||||
|
normal:
|
||||||
|
# Font family
|
||||||
|
#
|
||||||
|
# Default:
|
||||||
|
# - (macOS) Menlo
|
||||||
|
# - (Linux/BSD) monospace
|
||||||
|
# - (Windows) Consolas
|
||||||
|
family: FiraCode 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: monospace
|
||||||
|
|
||||||
|
# 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: monospace
|
||||||
|
|
||||||
|
# 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: monospace
|
||||||
|
|
||||||
|
# The `style` can be specified to pick a specific face.
|
||||||
|
#style: Bold Italic
|
||||||
|
|
||||||
|
# Point size
|
||||||
|
#size: 11.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
|
||||||
|
|
||||||
|
# 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: '#1d1f21'
|
||||||
|
# foreground: '#c5c8c6'
|
||||||
|
|
||||||
|
# Bright and dim foreground colors
|
||||||
|
#
|
||||||
|
# The dimmed foreground color is calculated automatically if it is not
|
||||||
|
# present. If the bright foreground color is not set, or
|
||||||
|
# `draw_bold_text_with_bright_colors` is `false`, the normal foreground
|
||||||
|
# color will be used.
|
||||||
|
#dim_foreground: '#828482'
|
||||||
|
#bright_foreground: '#eaeaea'
|
||||||
|
|
||||||
|
# Cursor colors
|
||||||
|
#
|
||||||
|
# Colors which should be used to draw the terminal cursor.
|
||||||
|
#
|
||||||
|
# Allowed values are CellForeground/CellBackground, which reference the
|
||||||
|
# affected cell, or hexadecimal colors like #ff00ff.
|
||||||
|
#cursor:
|
||||||
|
# text: CellBackground
|
||||||
|
# cursor: CellForeground
|
||||||
|
|
||||||
|
# Vi mode cursor colors
|
||||||
|
#
|
||||||
|
# Colors for the cursor when the vi mode is active.
|
||||||
|
#
|
||||||
|
# Allowed values are CellForeground/CellBackground, which reference the
|
||||||
|
# affected cell, or hexadecimal colors like #ff00ff.
|
||||||
|
#vi_mode_cursor:
|
||||||
|
# text: CellBackground
|
||||||
|
# cursor: CellForeground
|
||||||
|
|
||||||
|
# Search colors
|
||||||
|
#
|
||||||
|
# Colors used for the search bar and match highlighting.
|
||||||
|
#search:
|
||||||
|
# Allowed values are CellForeground/CellBackground, which reference the
|
||||||
|
# affected cell, or hexadecimal colors like #ff00ff.
|
||||||
|
#matches:
|
||||||
|
# foreground: '#000000'
|
||||||
|
# background: '#ffffff'
|
||||||
|
#focused_match:
|
||||||
|
# foreground: '#ffffff'
|
||||||
|
# background: '#000000'
|
||||||
|
|
||||||
|
# Keyboard hints
|
||||||
|
#hints:
|
||||||
|
# First character in the hint label
|
||||||
|
#
|
||||||
|
# Allowed values are CellForeground/CellBackground, which reference the
|
||||||
|
# affected cell, or hexadecimal colors like #ff00ff.
|
||||||
|
#start:
|
||||||
|
# foreground: '#1d1f21'
|
||||||
|
# background: '#e9ff5e'
|
||||||
|
|
||||||
|
# All characters after the first one in the hint label
|
||||||
|
#
|
||||||
|
# Allowed values are CellForeground/CellBackground, which reference the
|
||||||
|
# affected cell, or hexadecimal colors like #ff00ff.
|
||||||
|
#end:
|
||||||
|
# foreground: '#e9ff5e'
|
||||||
|
# background: '#1d1f21'
|
||||||
|
|
||||||
|
# Line indicator
|
||||||
|
#
|
||||||
|
# Color used for the indicator displaying the position in history during
|
||||||
|
# search and vi mode.
|
||||||
|
#
|
||||||
|
# By default, these will use the opposing primary color.
|
||||||
|
#line_indicator:
|
||||||
|
# foreground: None
|
||||||
|
# background: None
|
||||||
|
|
||||||
|
# Footer bar
|
||||||
|
#
|
||||||
|
# Color used for the footer bar on the bottom, used by search regex input,
|
||||||
|
# hyperlink URI preview, etc.
|
||||||
|
#
|
||||||
|
#footer_bar:
|
||||||
|
# background: '#c5c8c6'
|
||||||
|
# foreground: '#1d1f21'
|
||||||
|
|
||||||
|
# Selection colors
|
||||||
|
#
|
||||||
|
# Colors which should be used to draw the selection area.
|
||||||
|
#
|
||||||
|
# Allowed values are CellForeground/CellBackground, which reference the
|
||||||
|
# affected cell, or hexadecimal colors like #ff00ff.
|
||||||
|
#selection:
|
||||||
|
# text: CellBackground
|
||||||
|
# background: CellForeground
|
||||||
|
|
||||||
|
# Normal colors
|
||||||
|
#normal:
|
||||||
|
# black: '#1d1f21'
|
||||||
|
# red: '#cc6666'
|
||||||
|
# green: '#b5bd68'
|
||||||
|
# yellow: '#f0c674'
|
||||||
|
# blue: '#81a2be'
|
||||||
|
# magenta: '#b294bb'
|
||||||
|
# cyan: '#8abeb7'
|
||||||
|
# white: '#c5c8c6'
|
||||||
|
|
||||||
|
# Bright colors
|
||||||
|
#bright:
|
||||||
|
# black: '#666666'
|
||||||
|
# red: '#d54e53'
|
||||||
|
# green: '#b9ca4a'
|
||||||
|
# yellow: '#e7c547'
|
||||||
|
# blue: '#7aa6da'
|
||||||
|
# magenta: '#c397d8'
|
||||||
|
# cyan: '#70c0b1'
|
||||||
|
# white: '#eaeaea'
|
||||||
|
|
||||||
|
# Dim colors
|
||||||
|
#
|
||||||
|
# If the dim colors are not set, they will be calculated automatically based
|
||||||
|
# on the `normal` colors.
|
||||||
|
#dim:
|
||||||
|
# black: '#131415'
|
||||||
|
# red: '#864343'
|
||||||
|
# green: '#777c44'
|
||||||
|
# yellow: '#9e824c'
|
||||||
|
# blue: '#556a7d'
|
||||||
|
# magenta: '#75617b'
|
||||||
|
# cyan: '#5b7d78'
|
||||||
|
# white: '#828482'
|
||||||
|
|
||||||
|
# Indexed Colors
|
||||||
|
#
|
||||||
|
# The indexed colors include all colors from 16 to 256.
|
||||||
|
# When these are not set, they're filled with sensible defaults.
|
||||||
|
#
|
||||||
|
# Example:
|
||||||
|
# `- { index: 16, color: '#ff00ff' }`
|
||||||
|
#
|
||||||
|
#indexed_colors: []
|
||||||
|
|
||||||
|
# Transparent cell backgrounds
|
||||||
|
#
|
||||||
|
# Whether or not `window.opacity` applies to all cell backgrounds or only to
|
||||||
|
# the default background. When set to `true` all cells will be transparent
|
||||||
|
# regardless of their background color.
|
||||||
|
#transparent_background_colors: false
|
||||||
|
|
||||||
|
# Bell
|
||||||
|
#
|
||||||
|
# The bell is rung every time the BEL control character is received.
|
||||||
|
#bell:
|
||||||
|
# Visual Bell Animation
|
||||||
|
#
|
||||||
|
# Animation effect for flashing the screen when the visual bell is rung.
|
||||||
|
#
|
||||||
|
# Values for `animation`:
|
||||||
|
# - Ease
|
||||||
|
# - EaseOut
|
||||||
|
# - EaseOutSine
|
||||||
|
# - EaseOutQuad
|
||||||
|
# - EaseOutCubic
|
||||||
|
# - EaseOutQuart
|
||||||
|
# - EaseOutQuint
|
||||||
|
# - EaseOutExpo
|
||||||
|
# - EaseOutCirc
|
||||||
|
# - Linear
|
||||||
|
#animation: EaseOutExpo
|
||||||
|
|
||||||
|
# Duration of the visual bell flash in milliseconds. A `duration` of `0` will
|
||||||
|
# disable the visual bell animation.
|
||||||
|
#duration: 0
|
||||||
|
|
||||||
|
# Visual bell animation color.
|
||||||
|
#color: '#ffffff'
|
||||||
|
|
||||||
|
# Bell Command
|
||||||
|
#
|
||||||
|
# This program is executed whenever the bell is rung.
|
||||||
|
#
|
||||||
|
# When set to `command: None`, no command will be executed.
|
||||||
|
#
|
||||||
|
# Example:
|
||||||
|
# command:
|
||||||
|
# program: notify-send
|
||||||
|
# args: ["Hello, World!"]
|
||||||
|
#
|
||||||
|
#command: None
|
||||||
|
|
||||||
|
#selection:
|
||||||
|
# This string contains all characters that are used as separators for
|
||||||
|
# "semantic words" in Alacritty.
|
||||||
|
#semantic_escape_chars: ",│`|:\"' ()[]{}<>\t"
|
||||||
|
|
||||||
|
# When set to `true`, selected text will be copied to the primary clipboard.
|
||||||
|
#save_to_clipboard: false
|
||||||
|
|
||||||
|
#cursor:
|
||||||
|
# Cursor style
|
||||||
|
#style:
|
||||||
|
# Cursor shape
|
||||||
|
#
|
||||||
|
# Values for `shape`:
|
||||||
|
# - ▇ Block
|
||||||
|
# - _ Underline
|
||||||
|
# - | Beam
|
||||||
|
#shape: Block
|
||||||
|
|
||||||
|
# Cursor blinking state
|
||||||
|
#
|
||||||
|
# Values for `blinking`:
|
||||||
|
# - Never: Prevent the cursor from ever blinking
|
||||||
|
# - Off: Disable blinking by default
|
||||||
|
# - On: Enable blinking by default
|
||||||
|
# - Always: Force the cursor to always blink
|
||||||
|
#blinking: Off
|
||||||
|
|
||||||
|
# Vi mode cursor style
|
||||||
|
#
|
||||||
|
# If the vi mode cursor style is `None` or not specified, it will fall back to
|
||||||
|
# the style of the active value of the normal cursor.
|
||||||
|
#
|
||||||
|
# See `cursor.style` for available options.
|
||||||
|
#vi_mode_style: None
|
||||||
|
|
||||||
|
# Cursor blinking interval in milliseconds.
|
||||||
|
#blink_interval: 750
|
||||||
|
|
||||||
|
# Time after which cursor stops blinking, in seconds.
|
||||||
|
#
|
||||||
|
# Specifying '0' will disable timeout for blinking.
|
||||||
|
#blink_timeout: 5
|
||||||
|
|
||||||
|
# If this is `true`, the cursor will be rendered as a hollow box when the
|
||||||
|
# window is not focused.
|
||||||
|
#unfocused_hollow: true
|
||||||
|
|
||||||
|
# Thickness of the cursor relative to the cell width as floating point number
|
||||||
|
# from `0.0` to `1.0`.
|
||||||
|
#thickness: 0.15
|
||||||
|
|
||||||
|
# Live config reload (changes require restart)
|
||||||
|
#live_config_reload: true
|
||||||
|
|
||||||
|
# Shell
|
||||||
|
#
|
||||||
|
# You can set `shell.program` to the path of your favorite shell, e.g.
|
||||||
|
# `/bin/fish`. Entries in `shell.args` are passed unmodified as arguments to the
|
||||||
|
# shell.
|
||||||
|
#
|
||||||
|
# Default:
|
||||||
|
# - (Linux/BSD/macOS) `$SHELL` or the user's login shell, if `$SHELL` is unset
|
||||||
|
# - (Windows) powershell
|
||||||
|
#shell:
|
||||||
|
# program: /bin/bash
|
||||||
|
# args:
|
||||||
|
# - --login
|
||||||
|
|
||||||
|
# Startup directory
|
||||||
|
#
|
||||||
|
# Directory the shell is started in. If this is unset, or `None`, the working
|
||||||
|
# directory of the parent process will be used.
|
||||||
|
#working_directory: None
|
||||||
|
|
||||||
|
# Send ESC (\x1b) before characters when alt is pressed.
|
||||||
|
#alt_send_esc: true
|
||||||
|
|
||||||
|
# Offer IPC using `alacritty msg` (unix only)
|
||||||
|
#ipc_socket: true
|
||||||
|
|
||||||
|
#mouse:
|
||||||
|
# Click settings
|
||||||
|
#
|
||||||
|
# The `double_click` and `triple_click` settings control the time
|
||||||
|
# alacritty should wait for accepting multiple clicks as one double
|
||||||
|
# or triple click.
|
||||||
|
#double_click: { threshold: 300 }
|
||||||
|
#triple_click: { threshold: 300 }
|
||||||
|
|
||||||
|
# If this is `true`, the cursor is temporarily hidden when typing.
|
||||||
|
#hide_when_typing: false
|
||||||
|
|
||||||
|
# Hints
|
||||||
|
#
|
||||||
|
# Terminal hints can be used to find text or hyperlink in the visible part of
|
||||||
|
# the terminal and pipe it to other applications.
|
||||||
|
#hints:
|
||||||
|
# Keys used for the hint labels.
|
||||||
|
#alphabet: "jfkdls;ahgurieowpq"
|
||||||
|
|
||||||
|
# List with all available hints
|
||||||
|
#
|
||||||
|
# Each hint must have any of `regex` or `hyperlinks` field and either an
|
||||||
|
# `action` or a `command` field. The fields `mouse`, `binding` and
|
||||||
|
# `post_processing` are optional.
|
||||||
|
#
|
||||||
|
# The `hyperlinks` option will cause OSC 8 escape sequence hyperlinks to be
|
||||||
|
# highlighted.
|
||||||
|
#
|
||||||
|
# The fields `command`, `binding.key`, `binding.mods`, `binding.mode` and
|
||||||
|
# `mouse.mods` accept the same values as they do in the `key_bindings` section.
|
||||||
|
#
|
||||||
|
# The `mouse.enabled` field controls if the hint should be underlined while
|
||||||
|
# the mouse with all `mouse.mods` keys held or the vi mode cursor is above it.
|
||||||
|
#
|
||||||
|
# If the `post_processing` field is set to `true`, heuristics will be used to
|
||||||
|
# shorten the match if there are characters likely not to be part of the hint
|
||||||
|
# (e.g. a trailing `.`). This is most useful for URIs and applies only to
|
||||||
|
# `regex` matches.
|
||||||
|
#
|
||||||
|
# Values for `action`:
|
||||||
|
# - Copy
|
||||||
|
# Copy the hint's text to the clipboard.
|
||||||
|
# - Paste
|
||||||
|
# Paste the hint's text to the terminal or search.
|
||||||
|
# - Select
|
||||||
|
# Select the hint's text.
|
||||||
|
# - MoveViModeCursor
|
||||||
|
# Move the vi mode cursor to the beginning of the hint.
|
||||||
|
#enabled:
|
||||||
|
# - regex: "(ipfs:|ipns:|magnet:|mailto:|gemini:|gopher:|https:|http:|news:|file:|git:|ssh:|ftp:)\
|
||||||
|
# [^\u0000-\u001F\u007F-\u009F<>\"\\s{-}\\^⟨⟩`]+"
|
||||||
|
# hyperlinks: true
|
||||||
|
# command: xdg-open
|
||||||
|
# post_processing: true
|
||||||
|
# mouse:
|
||||||
|
# enabled: true
|
||||||
|
# mods: None
|
||||||
|
# binding:
|
||||||
|
# key: U
|
||||||
|
# mods: Control|Shift
|
||||||
|
|
||||||
|
# Mouse bindings
|
||||||
|
#
|
||||||
|
# Mouse bindings are specified as a list of objects, much like the key
|
||||||
|
# bindings further below.
|
||||||
|
#
|
||||||
|
# To trigger mouse bindings when an application running within Alacritty
|
||||||
|
# captures the mouse, the `Shift` modifier is automatically added as a
|
||||||
|
# requirement.
|
||||||
|
#
|
||||||
|
# Each mouse binding will specify a:
|
||||||
|
#
|
||||||
|
# - `mouse`:
|
||||||
|
#
|
||||||
|
# - Middle
|
||||||
|
# - Left
|
||||||
|
# - Right
|
||||||
|
# - Numeric identifier such as `5`
|
||||||
|
#
|
||||||
|
# - `action` (see key bindings for actions not exclusive to mouse mode)
|
||||||
|
#
|
||||||
|
# - Mouse exclusive actions:
|
||||||
|
#
|
||||||
|
# - ExpandSelection
|
||||||
|
# Expand the selection to the current mouse cursor location.
|
||||||
|
#
|
||||||
|
# And optionally:
|
||||||
|
#
|
||||||
|
# - `mods` (see key bindings)
|
||||||
|
#mouse_bindings:
|
||||||
|
# - { mouse: Right, action: ExpandSelection }
|
||||||
|
# - { mouse: Right, mods: Control, action: ExpandSelection }
|
||||||
|
# - { mouse: Middle, mode: ~Vi, action: PasteSelection }
|
||||||
|
|
||||||
|
# Key bindings
|
||||||
|
#
|
||||||
|
# Key bindings are specified as a list of objects. For example, this is the
|
||||||
|
# default paste binding:
|
||||||
|
#
|
||||||
|
# `- { key: V, mods: Control|Shift, action: Paste }`
|
||||||
|
#
|
||||||
|
# Each key binding will specify a:
|
||||||
|
#
|
||||||
|
# - `key`: Identifier of the key pressed
|
||||||
|
#
|
||||||
|
# - A-Z
|
||||||
|
# - F1-F24
|
||||||
|
# - Key0-Key9
|
||||||
|
#
|
||||||
|
# A full list with available key codes can be found here:
|
||||||
|
# https://docs.rs/glutin/*/glutin/event/enum.VirtualKeyCode.html#variants
|
||||||
|
#
|
||||||
|
# Instead of using the name of the keys, the `key` field also supports using
|
||||||
|
# the scancode of the desired key. Scancodes have to be specified as a
|
||||||
|
# decimal number. This command will allow you to display the hex scancodes
|
||||||
|
# for certain keys:
|
||||||
|
#
|
||||||
|
# `showkey --scancodes`.
|
||||||
|
#
|
||||||
|
# Then exactly one of:
|
||||||
|
#
|
||||||
|
# - `chars`: Send a byte sequence to the running application
|
||||||
|
#
|
||||||
|
# The `chars` field writes the specified string to the terminal. This makes
|
||||||
|
# it possible to pass escape sequences. To find escape codes for bindings
|
||||||
|
# like `PageUp` (`"\x1b[5~"`), you can run the command `showkey -a` outside
|
||||||
|
# of tmux. Note that applications use terminfo to map escape sequences back
|
||||||
|
# to keys. It is therefore required to update the terminfo when changing an
|
||||||
|
# escape sequence.
|
||||||
|
#
|
||||||
|
# - `action`: Execute a predefined action
|
||||||
|
#
|
||||||
|
# - ToggleViMode
|
||||||
|
# - SearchForward
|
||||||
|
# Start searching toward the right of the search origin.
|
||||||
|
# - SearchBackward
|
||||||
|
# Start searching toward the left of the search origin.
|
||||||
|
# - Copy
|
||||||
|
# - Paste
|
||||||
|
# - IncreaseFontSize
|
||||||
|
# - DecreaseFontSize
|
||||||
|
# - ResetFontSize
|
||||||
|
# - ScrollPageUp
|
||||||
|
# - ScrollPageDown
|
||||||
|
# - ScrollHalfPageUp
|
||||||
|
# - ScrollHalfPageDown
|
||||||
|
# - ScrollLineUp
|
||||||
|
# - ScrollLineDown
|
||||||
|
# - ScrollToTop
|
||||||
|
# - ScrollToBottom
|
||||||
|
# - ClearHistory
|
||||||
|
# Remove the terminal's scrollback history.
|
||||||
|
# - Hide
|
||||||
|
# Hide the Alacritty window.
|
||||||
|
# - Minimize
|
||||||
|
# Minimize the Alacritty window.
|
||||||
|
# - Quit
|
||||||
|
# Quit Alacritty.
|
||||||
|
# - ToggleFullscreen
|
||||||
|
# - SpawnNewInstance
|
||||||
|
# Spawn a new instance of Alacritty.
|
||||||
|
# - CreateNewWindow
|
||||||
|
# Create a new Alacritty window from the current process.
|
||||||
|
# - ClearLogNotice
|
||||||
|
# Clear Alacritty's UI warning and error notice.
|
||||||
|
# - ClearSelection
|
||||||
|
# Remove the active selection.
|
||||||
|
# - ReceiveChar
|
||||||
|
# - None
|
||||||
|
#
|
||||||
|
# - Vi mode exclusive actions:
|
||||||
|
#
|
||||||
|
# - Open
|
||||||
|
# Perform the action of the first matching hint under the vi mode cursor
|
||||||
|
# with `mouse.enabled` set to `true`.
|
||||||
|
# - ToggleNormalSelection
|
||||||
|
# - ToggleLineSelection
|
||||||
|
# - ToggleBlockSelection
|
||||||
|
# - ToggleSemanticSelection
|
||||||
|
# Toggle semantic selection based on `selection.semantic_escape_chars`.
|
||||||
|
# - CenterAroundViCursor
|
||||||
|
# Center view around vi mode cursor
|
||||||
|
#
|
||||||
|
# - Vi mode exclusive cursor motion actions:
|
||||||
|
#
|
||||||
|
# - Up
|
||||||
|
# One line up.
|
||||||
|
# - Down
|
||||||
|
# One line down.
|
||||||
|
# - Left
|
||||||
|
# One character left.
|
||||||
|
# - Right
|
||||||
|
# One character right.
|
||||||
|
# - First
|
||||||
|
# First column, or beginning of the line when already at the first column.
|
||||||
|
# - Last
|
||||||
|
# Last column, or beginning of the line when already at the last column.
|
||||||
|
# - FirstOccupied
|
||||||
|
# First non-empty cell in this terminal row, or first non-empty cell of
|
||||||
|
# the line when already at the first cell of the row.
|
||||||
|
# - High
|
||||||
|
# Top of the screen.
|
||||||
|
# - Middle
|
||||||
|
# Center of the screen.
|
||||||
|
# - Low
|
||||||
|
# Bottom of the screen.
|
||||||
|
# - SemanticLeft
|
||||||
|
# Start of the previous semantically separated word.
|
||||||
|
# - SemanticRight
|
||||||
|
# Start of the next semantically separated word.
|
||||||
|
# - SemanticLeftEnd
|
||||||
|
# End of the previous semantically separated word.
|
||||||
|
# - SemanticRightEnd
|
||||||
|
# End of the next semantically separated word.
|
||||||
|
# - WordLeft
|
||||||
|
# Start of the previous whitespace separated word.
|
||||||
|
# - WordRight
|
||||||
|
# Start of the next whitespace separated word.
|
||||||
|
# - WordLeftEnd
|
||||||
|
# End of the previous whitespace separated word.
|
||||||
|
# - WordRightEnd
|
||||||
|
# End of the next whitespace separated word.
|
||||||
|
# - Bracket
|
||||||
|
# Character matching the bracket at the cursor's location.
|
||||||
|
# - SearchNext
|
||||||
|
# Beginning of the next match.
|
||||||
|
# - SearchPrevious
|
||||||
|
# Beginning of the previous match.
|
||||||
|
# - SearchStart
|
||||||
|
# Start of the match to the left of the vi mode cursor.
|
||||||
|
# - SearchEnd
|
||||||
|
# End of the match to the right of the vi mode cursor.
|
||||||
|
#
|
||||||
|
# - Search mode exclusive actions:
|
||||||
|
# - SearchFocusNext
|
||||||
|
# Move the focus to the next search match.
|
||||||
|
# - SearchFocusPrevious
|
||||||
|
# Move the focus to the previous search match.
|
||||||
|
# - SearchConfirm
|
||||||
|
# - SearchCancel
|
||||||
|
# - SearchClear
|
||||||
|
# Reset the search regex.
|
||||||
|
# - SearchDeleteWord
|
||||||
|
# Delete the last word in the search regex.
|
||||||
|
# - SearchHistoryPrevious
|
||||||
|
# Go to the previous regex in the search history.
|
||||||
|
# - SearchHistoryNext
|
||||||
|
# Go to the next regex in the search history.
|
||||||
|
#
|
||||||
|
# - macOS exclusive actions:
|
||||||
|
# - ToggleSimpleFullscreen
|
||||||
|
# Enter fullscreen without occupying another space.
|
||||||
|
#
|
||||||
|
# - Linux/BSD exclusive actions:
|
||||||
|
#
|
||||||
|
# - CopySelection
|
||||||
|
# Copy from the selection buffer.
|
||||||
|
# - PasteSelection
|
||||||
|
# Paste from the selection buffer.
|
||||||
|
#
|
||||||
|
# - `command`: Fork and execute a specified command plus arguments
|
||||||
|
#
|
||||||
|
# The `command` field must be a map containing a `program` string and an
|
||||||
|
# `args` array of command line parameter strings. For example:
|
||||||
|
# `{ program: "alacritty", args: ["-e", "vttest"] }`
|
||||||
|
#
|
||||||
|
# And optionally:
|
||||||
|
#
|
||||||
|
# - `mods`: Key modifiers to filter binding actions
|
||||||
|
#
|
||||||
|
# - Command
|
||||||
|
# - Control
|
||||||
|
# - Option
|
||||||
|
# - Super
|
||||||
|
# - Shift
|
||||||
|
# - Alt
|
||||||
|
#
|
||||||
|
# Multiple `mods` can be combined using `|` like this:
|
||||||
|
# `mods: Control|Shift`.
|
||||||
|
# Whitespace and capitalization are relevant and must match the example.
|
||||||
|
#
|
||||||
|
# - `mode`: Indicate a binding for only specific terminal reported modes
|
||||||
|
#
|
||||||
|
# This is mainly used to send applications the correct escape sequences
|
||||||
|
# when in different modes.
|
||||||
|
#
|
||||||
|
# - AppCursor
|
||||||
|
# - AppKeypad
|
||||||
|
# - Search
|
||||||
|
# - Alt
|
||||||
|
# - Vi
|
||||||
|
#
|
||||||
|
# A `~` operator can be used before a mode to apply the binding whenever
|
||||||
|
# the mode is *not* active, e.g. `~Alt`.
|
||||||
|
#
|
||||||
|
# Bindings are always filled by default, but will be replaced when a new
|
||||||
|
# binding with the same triggers is defined. To unset a default binding, it can
|
||||||
|
# be mapped to the `ReceiveChar` action. Alternatively, you can use `None` for
|
||||||
|
# a no-op if you do not wish to receive input characters for that binding.
|
||||||
|
#
|
||||||
|
# If the same trigger is assigned to multiple actions, all of them are executed
|
||||||
|
# in the order they were defined in.
|
||||||
|
#key_bindings:
|
||||||
|
#- { key: Paste, action: Paste }
|
||||||
|
#- { key: Copy, action: Copy }
|
||||||
|
#- { key: L, mods: Control, action: ClearLogNotice }
|
||||||
|
#- { key: L, mods: Control, mode: ~Vi|~Search, chars: "\x0c" }
|
||||||
|
#- { key: PageUp, mods: Shift, mode: ~Alt, action: ScrollPageUp }
|
||||||
|
#- { key: PageDown, mods: Shift, mode: ~Alt, action: ScrollPageDown }
|
||||||
|
#- { key: Home, mods: Shift, mode: ~Alt, action: ScrollToTop }
|
||||||
|
#- { key: End, mods: Shift, mode: ~Alt, action: ScrollToBottom }
|
||||||
|
|
||||||
|
# Vi Mode
|
||||||
|
#- { key: Space, mods: Shift|Control, mode: ~Search, action: ToggleViMode }
|
||||||
|
#- { key: Space, mods: Shift|Control, mode: Vi|~Search, action: ScrollToBottom }
|
||||||
|
#- { key: Escape, mode: Vi|~Search, action: ClearSelection }
|
||||||
|
#- { key: I, mode: Vi|~Search, action: ToggleViMode }
|
||||||
|
#- { key: I, mode: Vi|~Search, action: ScrollToBottom }
|
||||||
|
#- { key: C, mods: Control, mode: Vi|~Search, action: ToggleViMode }
|
||||||
|
#- { key: Y, mods: Control, mode: Vi|~Search, action: ScrollLineUp }
|
||||||
|
#- { key: E, mods: Control, mode: Vi|~Search, action: ScrollLineDown }
|
||||||
|
#- { key: G, mode: Vi|~Search, action: ScrollToTop }
|
||||||
|
#- { key: G, mods: Shift, mode: Vi|~Search, action: ScrollToBottom }
|
||||||
|
#- { key: B, mods: Control, mode: Vi|~Search, action: ScrollPageUp }
|
||||||
|
#- { key: F, mods: Control, mode: Vi|~Search, action: ScrollPageDown }
|
||||||
|
#- { key: U, mods: Control, mode: Vi|~Search, action: ScrollHalfPageUp }
|
||||||
|
#- { key: D, mods: Control, mode: Vi|~Search, action: ScrollHalfPageDown }
|
||||||
|
#- { key: Y, mode: Vi|~Search, action: Copy }
|
||||||
|
#- { key: Y, mode: Vi|~Search, action: ClearSelection }
|
||||||
|
#- { key: Copy, mode: Vi|~Search, action: ClearSelection }
|
||||||
|
#- { key: V, mode: Vi|~Search, action: ToggleNormalSelection }
|
||||||
|
#- { key: V, mods: Shift, mode: Vi|~Search, action: ToggleLineSelection }
|
||||||
|
#- { key: V, mods: Control, mode: Vi|~Search, action: ToggleBlockSelection }
|
||||||
|
#- { key: V, mods: Alt, mode: Vi|~Search, action: ToggleSemanticSelection }
|
||||||
|
#- { key: Return, mode: Vi|~Search, action: Open }
|
||||||
|
#- { key: Z, mode: Vi|~Search, action: CenterAroundViCursor }
|
||||||
|
#- { key: K, mode: Vi|~Search, action: Up }
|
||||||
|
#- { key: J, mode: Vi|~Search, action: Down }
|
||||||
|
#- { key: H, mode: Vi|~Search, action: Left }
|
||||||
|
#- { key: L, mode: Vi|~Search, action: Right }
|
||||||
|
#- { key: Up, mode: Vi|~Search, action: Up }
|
||||||
|
#- { key: Down, mode: Vi|~Search, action: Down }
|
||||||
|
#- { key: Left, mode: Vi|~Search, action: Left }
|
||||||
|
#- { key: Right, mode: Vi|~Search, action: Right }
|
||||||
|
#- { key: Key0, mode: Vi|~Search, action: First }
|
||||||
|
#- { key: Key4, mods: Shift, mode: Vi|~Search, action: Last }
|
||||||
|
#- { key: Key6, mods: Shift, mode: Vi|~Search, action: FirstOccupied }
|
||||||
|
#- { key: H, mods: Shift, mode: Vi|~Search, action: High }
|
||||||
|
#- { key: M, mods: Shift, mode: Vi|~Search, action: Middle }
|
||||||
|
#- { key: L, mods: Shift, mode: Vi|~Search, action: Low }
|
||||||
|
#- { key: B, mode: Vi|~Search, action: SemanticLeft }
|
||||||
|
#- { key: W, mode: Vi|~Search, action: SemanticRight }
|
||||||
|
#- { key: E, mode: Vi|~Search, action: SemanticRightEnd }
|
||||||
|
#- { key: B, mods: Shift, mode: Vi|~Search, action: WordLeft }
|
||||||
|
#- { key: W, mods: Shift, mode: Vi|~Search, action: WordRight }
|
||||||
|
#- { key: E, mods: Shift, mode: Vi|~Search, action: WordRightEnd }
|
||||||
|
#- { key: Key5, mods: Shift, mode: Vi|~Search, action: Bracket }
|
||||||
|
#- { key: Slash, mode: Vi|~Search, action: SearchForward }
|
||||||
|
#- { key: Slash, mods: Shift, mode: Vi|~Search, action: SearchBackward }
|
||||||
|
#- { key: N, mode: Vi|~Search, action: SearchNext }
|
||||||
|
#- { key: N, mods: Shift, mode: Vi|~Search, action: SearchPrevious }
|
||||||
|
|
||||||
|
# Search Mode
|
||||||
|
#- { key: Return, mode: Search|Vi, action: SearchConfirm }
|
||||||
|
#- { key: Escape, mode: Search, action: SearchCancel }
|
||||||
|
#- { key: C, mods: Control, mode: Search, action: SearchCancel }
|
||||||
|
#- { key: U, mods: Control, mode: Search, action: SearchClear }
|
||||||
|
#- { key: W, mods: Control, mode: Search, action: SearchDeleteWord }
|
||||||
|
#- { key: P, mods: Control, mode: Search, action: SearchHistoryPrevious }
|
||||||
|
#- { key: N, mods: Control, mode: Search, action: SearchHistoryNext }
|
||||||
|
#- { key: Up, mode: Search, action: SearchHistoryPrevious }
|
||||||
|
#- { key: Down, mode: Search, action: SearchHistoryNext }
|
||||||
|
#- { key: Return, mode: Search|~Vi, action: SearchFocusNext }
|
||||||
|
#- { key: Return, mods: Shift, mode: Search|~Vi, action: SearchFocusPrevious }
|
||||||
|
|
||||||
|
# (Windows, Linux, and BSD only)
|
||||||
|
#- { key: V, mods: Control|Shift, mode: ~Vi, action: Paste }
|
||||||
|
#- { key: C, mods: Control|Shift, action: Copy }
|
||||||
|
#- { key: F, mods: Control|Shift, mode: ~Search, action: SearchForward }
|
||||||
|
#- { key: B, mods: Control|Shift, mode: ~Search, action: SearchBackward }
|
||||||
|
#- { key: C, mods: Control|Shift, mode: Vi|~Search, action: ClearSelection }
|
||||||
|
#- { key: Insert, mods: Shift, action: PasteSelection }
|
||||||
|
#- { key: Key0, mods: Control, action: ResetFontSize }
|
||||||
|
#- { key: Equals, mods: Control, action: IncreaseFontSize }
|
||||||
|
#- { key: Plus, mods: Control, action: IncreaseFontSize }
|
||||||
|
#- { key: NumpadAdd, mods: Control, action: IncreaseFontSize }
|
||||||
|
#- { key: Minus, mods: Control, action: DecreaseFontSize }
|
||||||
|
#- { key: NumpadSubtract, mods: Control, action: DecreaseFontSize }
|
||||||
|
|
||||||
|
# (Windows only)
|
||||||
|
#- { key: Return, mods: Alt, action: ToggleFullscreen }
|
||||||
|
|
||||||
|
# (macOS only)
|
||||||
|
#- { key: K, mods: Command, mode: ~Vi|~Search, chars: "\x0c" }
|
||||||
|
#- { key: K, mods: Command, mode: ~Vi|~Search, action: ClearHistory }
|
||||||
|
#- { key: Key0, mods: Command, action: ResetFontSize }
|
||||||
|
#- { key: Equals, mods: Command, action: IncreaseFontSize }
|
||||||
|
#- { key: Plus, mods: Command, action: IncreaseFontSize }
|
||||||
|
#- { key: NumpadAdd, mods: Command, action: IncreaseFontSize }
|
||||||
|
#- { key: Minus, mods: Command, action: DecreaseFontSize }
|
||||||
|
#- { key: NumpadSubtract, mods: Command, action: DecreaseFontSize }
|
||||||
|
#- { key: V, mods: Command, action: Paste }
|
||||||
|
#- { key: C, mods: Command, action: Copy }
|
||||||
|
#- { key: C, mods: Command, mode: Vi|~Search, action: ClearSelection }
|
||||||
|
#- { key: H, mods: Command, action: Hide }
|
||||||
|
#- { key: H, mods: Command|Alt, action: HideOtherApplications }
|
||||||
|
#- { key: M, mods: Command, action: Minimize }
|
||||||
|
#- { key: Q, mods: Command, action: Quit }
|
||||||
|
#- { key: W, mods: Command, action: Quit }
|
||||||
|
#- { key: N, mods: Command, action: SpawnNewInstance }
|
||||||
|
#- { key: F, mods: Command|Control, action: ToggleFullscreen }
|
||||||
|
#- { key: F, mods: Command, mode: ~Search, action: SearchForward }
|
||||||
|
#- { key: B, mods: Command, mode: ~Search, action: SearchBackward }
|
||||||
|
|
||||||
|
#debug:
|
||||||
|
# Display the time it takes to redraw each frame.
|
||||||
|
#render_timer: false
|
||||||
|
|
||||||
|
# Keep the log file after quitting Alacritty.
|
||||||
|
#persistent_logging: false
|
||||||
|
|
||||||
|
# Log level
|
||||||
|
#
|
||||||
|
# Values for `log_level`:
|
||||||
|
# - Off
|
||||||
|
# - Error
|
||||||
|
# - Warn
|
||||||
|
# - Info
|
||||||
|
# - Debug
|
||||||
|
# - Trace
|
||||||
|
#log_level: Warn
|
||||||
|
|
||||||
|
# Print all received window events.
|
||||||
|
#print_events: false
|
||||||
|
|
||||||
|
# Highlight window damage information.
|
||||||
|
#highlight_damage: false
|
||||||
|
|
||||||
|
colors:
|
||||||
|
# COLORSCHEME: base16-gruvbox-dark-soft.yml
|
||||||
|
# Default colors
|
||||||
|
primary:
|
||||||
|
background: '0x32302f'
|
||||||
|
foreground: '0xd5c4a1'
|
||||||
|
|
||||||
|
# Colors the cursor will use if `custom_cursor_colors` is true
|
||||||
|
cursor:
|
||||||
|
text: '0x32302f'
|
||||||
|
cursor: '0xd5c4a1'
|
||||||
|
|
||||||
|
# Normal colors
|
||||||
|
normal:
|
||||||
|
black: '0x32302f'
|
||||||
|
red: '0xfb4934'
|
||||||
|
green: '0xb8bb26'
|
||||||
|
yellow: '0xfabd2f'
|
||||||
|
blue: '0x83a598'
|
||||||
|
magenta: '0xd3869b'
|
||||||
|
cyan: '0x8ec07c'
|
||||||
|
white: '0xd5c4a1'
|
||||||
|
|
||||||
|
# Bright colors
|
||||||
|
bright:
|
||||||
|
black: '0x665c54'
|
||||||
|
red: '0xfe8019'
|
||||||
|
green: '0x3c3836'
|
||||||
|
yellow: '0x504945'
|
||||||
|
blue: '0xbdae93'
|
||||||
|
magenta: '0xebdbb2'
|
||||||
|
cyan: '0xd65d0e'
|
||||||
|
white: '0xfbf1c7'
|
||||||
|
|
27
.config/albert/albert.conf
Normal file
27
.config/albert/albert.conf
Normal file
|
@ -0,0 +1,27 @@
|
||||||
|
[General]
|
||||||
|
hotkey=Alt+Space
|
||||||
|
showTray=true
|
||||||
|
|
||||||
|
[org.albert.extension.applications]
|
||||||
|
enabled=true
|
||||||
|
|
||||||
|
[org.albert.extension.calculator]
|
||||||
|
enabled=true
|
||||||
|
|
||||||
|
[org.albert.extension.ssh]
|
||||||
|
enabled=true
|
||||||
|
|
||||||
|
[org.albert.extension.terminal]
|
||||||
|
enabled=true
|
||||||
|
|
||||||
|
[org.albert.frontend.widgetboxmodel]
|
||||||
|
alwaysOnTop=true
|
||||||
|
clearOnHide=false
|
||||||
|
displayIcons=true
|
||||||
|
displayScrollbar=false
|
||||||
|
displayShadow=true
|
||||||
|
hideOnClose=false
|
||||||
|
hideOnFocusLoss=true
|
||||||
|
itemCount=5
|
||||||
|
showCentered=true
|
||||||
|
theme=Numix Rounded
|
1
.config/xmobar/.gitignore
vendored
Normal file
1
.config/xmobar/.gitignore
vendored
Normal file
|
@ -0,0 +1 @@
|
||||||
|
xmobar-git
|
48
.config/xmobar/trayer-padding-icon.sh
Executable file
48
.config/xmobar/trayer-padding-icon.sh
Executable file
|
@ -0,0 +1,48 @@
|
||||||
|
#!/bin/sh
|
||||||
|
# Copied from https://github.com/jaor/xmobar/issues/239#issuecomment-233206552
|
||||||
|
# Detects the width of running trayer-srg window (xprop name 'panel')
|
||||||
|
# and creates an XPM icon of that width, 1px height, and transparent.
|
||||||
|
# Outputs an <icon>-tag for use in xmobar to display the generated
|
||||||
|
# XPM icon.
|
||||||
|
#
|
||||||
|
# Run script from xmobar:
|
||||||
|
# `Run Com "/where/ever/trayer-padding-icon.sh" [] "trayerpad" 10`
|
||||||
|
# and use `%trayerpad%` in your template.
|
||||||
|
|
||||||
|
|
||||||
|
# Function to create a transparent Wx1 px XPM icon
|
||||||
|
create_xpm_icon () {
|
||||||
|
timestamp=$(date)
|
||||||
|
pixels=$(for i in `seq $1`; do echo -n "."; done)
|
||||||
|
|
||||||
|
cat << EOF > "$2"
|
||||||
|
/* XPM *
|
||||||
|
static char * trayer_pad_xpm[] = {
|
||||||
|
/* This XPM icon is used for padding in xmobar to */
|
||||||
|
/* leave room for trayer-srg. It is dynamically */
|
||||||
|
/* updated by by trayer-padding-icon.sh which is run */
|
||||||
|
/* by xmobar. */
|
||||||
|
/* Created: ${timestamp} */
|
||||||
|
/* <w/cols> <h/rows> <colors> <chars per pixel> */
|
||||||
|
"$1 1 1 1",
|
||||||
|
/* Colors (none: transparent) */
|
||||||
|
". c none",
|
||||||
|
/* Pixels */
|
||||||
|
"$pixels"
|
||||||
|
};
|
||||||
|
EOF
|
||||||
|
}
|
||||||
|
|
||||||
|
# Width of the trayer window
|
||||||
|
width=$(xprop -name panel | grep 'program specified minimum size' | cut -d ' ' -f 5)
|
||||||
|
|
||||||
|
# Icon file name
|
||||||
|
iconfile="/tmp/trayer-padding-${width}px.xpm"
|
||||||
|
|
||||||
|
# If the desired icon does not exist create it
|
||||||
|
if [ ! -f $iconfile ]; then
|
||||||
|
create_xpm_icon $width $iconfile
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Output the icon tag for xmobar
|
||||||
|
echo "<icon=${iconfile}/>"
|
50
.config/xmobar/xmobarrc
Normal file
50
.config/xmobar/xmobarrc
Normal file
|
@ -0,0 +1,50 @@
|
||||||
|
-- Xmobar (http://projects.haskell.org/xmobar/)
|
||||||
|
-- This is the default xmobar configuration for DTOS.
|
||||||
|
-- This config is packaged in the DTOS repo as dtos-xmobar
|
||||||
|
-- Dependencies: otf-font-awesome ttf-mononoki ttf-ubuntu-font-family trayer
|
||||||
|
-- Also depends on scripts from dtos-local-bin from the dtos-core-repo.
|
||||||
|
|
||||||
|
Config { font = "xft:Ubuntu:weight=bold:pixelsize=14:antialias=true:hinting=true"
|
||||||
|
, additionalFonts = [ "xft:mononoki:pixelsize=14:antialias=true:hinting=true"
|
||||||
|
, "xft:Font Awesome 6 Free Solid:pixelsize=12"
|
||||||
|
, "xft:Font Awesome 6 Brands:pixelsize=12"
|
||||||
|
]
|
||||||
|
, bgColor = "#282c34"
|
||||||
|
, fgColor = "#ff6c6b"
|
||||||
|
-- Position TopSize and BottomSize take 3 arguments:
|
||||||
|
-- an alignment parameter (L/R/C) for Left, Right or Center.
|
||||||
|
-- an integer for the percentage width, so 100 would be 100%.
|
||||||
|
-- an integer for the minimum pixel height for xmobar, so 24 would force a height of at least 24 pixels.
|
||||||
|
-- NOTE: The height should be the same as the trayer (system tray) height.
|
||||||
|
, position = TopSize C 95 26
|
||||||
|
, lowerOnStart = True
|
||||||
|
, hideOnStart = False
|
||||||
|
, allDesktops = True
|
||||||
|
, persistent = True
|
||||||
|
, iconRoot = "/home/afonso/.config/xmobar/xpm/" -- default: "."
|
||||||
|
, commands = [
|
||||||
|
-- Cpu usage in percent
|
||||||
|
Run Cpu ["-t", "<fn=2>\xf108</fn> cpu: (<total>%)","-H","50","--high","red"] 20
|
||||||
|
-- Ram used number and percent
|
||||||
|
, Run Memory ["-t", "<fn=2>\xf233</fn> mem: <used>M (<usedratio>%)"] 20
|
||||||
|
-- Disk space free
|
||||||
|
, Run DiskU [("/", "<fn=2>\xf0c7</fn> disk: <free> free")] [] 60
|
||||||
|
-- Echos an "up arrow" icon in front of the uptime output.
|
||||||
|
, Run Com "echo" ["<fn=2>\xf0aa</fn>"] "uparrow" 3600
|
||||||
|
-- Uptime
|
||||||
|
, Run Uptime ["-t", "uptime: <days>d <hours>h"] 360
|
||||||
|
-- Echos a "battery" icon in front of the pacman updates.
|
||||||
|
, Run Com "echo" ["<fn=2>\xf242</fn>"] "baticon" 3600
|
||||||
|
-- Battery
|
||||||
|
, Run BatteryP ["BAT0"] ["-t", "<fn=2>\xf242</fn> AC:<acstatus> (<left>%)"] 360
|
||||||
|
-- Time and date
|
||||||
|
, Run Date "<fn=2>\xf017</fn> %b %d %Y - (%H:%M) " "date" 50
|
||||||
|
-- Script that dynamically adjusts xmobar padding depending on number of trayer icons.
|
||||||
|
, Run Com "/home/afonso/.config/xmobar/trayer-padding-icon.sh" [] "trayerpad" 20
|
||||||
|
-- Prints out the left side items such as workspaces, layout, etc.
|
||||||
|
, Run UnsafeStdinReader
|
||||||
|
]
|
||||||
|
, sepChar = "%"
|
||||||
|
, alignSep = "}{"
|
||||||
|
, template = " <icon=logo.xpm/> <fc=#666666>|</fc> %UnsafeStdinReader% }{ <box type=Bottom width=2 mb=2 color=#ecbe7b><fc=#ecbe7b><action=`alacritty -e htop`>%cpu%</action></fc></box> | <box type=Bottom width=2 mb=2 color=#ff6c6b><fc=#ff6c6b><action=`alacritty -e htop`>%memory%</action></fc></box> | <box type=Bottom width=2 mb=2 color=#a9a1e1><fc=#a9a1e1><action=`alacritty -e htop`>%disku%</action></fc></box> | <box type=Bottom width=2 mb=2 color=#46d9ff><fc=#46d9ff>%date%</fc></box> | <box type=Bottom width=2 mb=2 color=#da8548><fc=#da8548> <action=`alacritty -e sudo pacman -Syu`>%battery%</action></fc></box> | %trayerpad% "
|
||||||
|
}
|
75
.config/xmobar/xpm/logo.xpm
Normal file
75
.config/xmobar/xpm/logo.xpm
Normal file
|
@ -0,0 +1,75 @@
|
||||||
|
/* XPM */
|
||||||
|
static char *logo[] = {
|
||||||
|
/* columns rows colors chars-per-pixel */
|
||||||
|
"16 16 53 1 ",
|
||||||
|
" c None",
|
||||||
|
". c #3A7F2A",
|
||||||
|
"X c #F34E00",
|
||||||
|
"o c #F74F00",
|
||||||
|
"O c #FC5100",
|
||||||
|
"+ c #FD661D",
|
||||||
|
"@ c #FE671F",
|
||||||
|
"# c #E4672C",
|
||||||
|
"$ c #E8682B",
|
||||||
|
"% c #EB692B",
|
||||||
|
"& c #F46E2A",
|
||||||
|
"* c #FE6E2A",
|
||||||
|
"= c #E8712D",
|
||||||
|
"- c #E17230",
|
||||||
|
"; c #FE7A3B",
|
||||||
|
": c #FC7C3F",
|
||||||
|
"> c #3B802A",
|
||||||
|
", c #408B2E",
|
||||||
|
"< c #418A2F",
|
||||||
|
"1 c #408C2E",
|
||||||
|
"2 c #418C2E",
|
||||||
|
"3 c #418C2F",
|
||||||
|
"4 c #418D2F",
|
||||||
|
"5 c #428C2F",
|
||||||
|
"6 c #448E31",
|
||||||
|
"7 c #4E8C3F",
|
||||||
|
"8 c #449131",
|
||||||
|
"9 c #459232",
|
||||||
|
"0 c #569746",
|
||||||
|
"q c #559845",
|
||||||
|
"w c #569847",
|
||||||
|
"e c #569248",
|
||||||
|
"r c #5A994B",
|
||||||
|
"t c #599C49",
|
||||||
|
"y c #5A9C49",
|
||||||
|
"u c #5B9D4B",
|
||||||
|
"i c #5B994C",
|
||||||
|
"p c #5C9A4D",
|
||||||
|
"a c #5C9D4C",
|
||||||
|
"s c #5F9F50",
|
||||||
|
"d c #619853",
|
||||||
|
"f c #619F52",
|
||||||
|
"g c #649C56",
|
||||||
|
"h c #73985F",
|
||||||
|
"j c #67A159",
|
||||||
|
"k c #68A05B",
|
||||||
|
"l c #6BA45D",
|
||||||
|
"z c #70A763",
|
||||||
|
"x c #72A965",
|
||||||
|
"c c #FD8147",
|
||||||
|
"v c #E98657",
|
||||||
|
"b c #8AB580",
|
||||||
|
"n c #C7C6B0",
|
||||||
|
/* pixels */
|
||||||
|
" ",
|
||||||
|
" z0p ",
|
||||||
|
" 188f ",
|
||||||
|
" j 188u ",
|
||||||
|
" lq 188u q ",
|
||||||
|
" 6d188u < ",
|
||||||
|
" xe188sg1 ",
|
||||||
|
" b188r>a ",
|
||||||
|
" 188i7 ",
|
||||||
|
" 188k ",
|
||||||
|
" n.1<h ",
|
||||||
|
" c&-=@ ",
|
||||||
|
" #%%v ",
|
||||||
|
" OXo: ",
|
||||||
|
" ;@* ",
|
||||||
|
" "
|
||||||
|
};
|
7
.config/xmonad/.gitignore
vendored
Normal file
7
.config/xmonad/.gitignore
vendored
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
.ghc.*
|
||||||
|
.stack-work
|
||||||
|
stack.*
|
||||||
|
xmonad
|
||||||
|
xmonad-contrib
|
||||||
|
xmonad.hi
|
||||||
|
xmonad.o
|
10
.config/xmonad/build
Executable file
10
.config/xmonad/build
Executable file
|
@ -0,0 +1,10 @@
|
||||||
|
# ~/.config/xmonad/build
|
||||||
|
#!/bin/sh
|
||||||
|
exec stack ghc -- \
|
||||||
|
--make xmonad.hs \
|
||||||
|
-i \
|
||||||
|
-ilib \
|
||||||
|
-fforce-recomp \
|
||||||
|
-main-is main \
|
||||||
|
-v0 \
|
||||||
|
-o "$1"
|
8
.config/xmonad/change-kb.sh
Normal file
8
.config/xmonad/change-kb.sh
Normal file
|
@ -0,0 +1,8 @@
|
||||||
|
#!/bin/zsh
|
||||||
|
|
||||||
|
if setxkbmap -query | grep layout | grep -q "us";
|
||||||
|
then
|
||||||
|
setxkbmap pt
|
||||||
|
else
|
||||||
|
setxkbmap us
|
||||||
|
fi
|
BIN
.config/xmonad/lib/Colors/DoomOne.hi
Normal file
BIN
.config/xmonad/lib/Colors/DoomOne.hi
Normal file
Binary file not shown.
28
.config/xmonad/lib/Colors/DoomOne.hs
Normal file
28
.config/xmonad/lib/Colors/DoomOne.hs
Normal file
|
@ -0,0 +1,28 @@
|
||||||
|
module Colors.DoomOne where
|
||||||
|
|
||||||
|
import XMonad
|
||||||
|
|
||||||
|
colorScheme = "doom-one"
|
||||||
|
|
||||||
|
colorBack = "#282c34"
|
||||||
|
colorFore = "#bbc2cf"
|
||||||
|
|
||||||
|
color01 = "#1c1f24"
|
||||||
|
color02 = "#ff6c6b"
|
||||||
|
color03 = "#98be65"
|
||||||
|
color04 = "#da8548"
|
||||||
|
color05 = "#51afef"
|
||||||
|
color06 = "#c678dd"
|
||||||
|
color07 = "#5699af"
|
||||||
|
color08 = "#202328"
|
||||||
|
color09 = "#5b6268"
|
||||||
|
color10 = "#da8548"
|
||||||
|
color11 = "#4db5bd"
|
||||||
|
color12 = "#ecbe7b"
|
||||||
|
color13 = "#3071db"
|
||||||
|
color14 = "#a9a1e1"
|
||||||
|
color15 = "#46d9ff"
|
||||||
|
color16 = "#dfdfdf"
|
||||||
|
|
||||||
|
colorTrayer :: String
|
||||||
|
colorTrayer = "--tint 0x282c34"
|
BIN
.config/xmonad/lib/Colors/DoomOne.o
Normal file
BIN
.config/xmonad/lib/Colors/DoomOne.o
Normal file
Binary file not shown.
373
.config/xmonad/xmonad.hs
Normal file
373
.config/xmonad/xmonad.hs
Normal file
|
@ -0,0 +1,373 @@
|
||||||
|
-- xmonad example config file.
|
||||||
|
--
|
||||||
|
-- A template showing all available configuration hooks,
|
||||||
|
--
|
||||||
|
-- and how to override the defaults in your own xmonad.hs conf file.
|
||||||
|
--
|
||||||
|
-- Normally, you'd only override those defaults you care about.
|
||||||
|
--
|
||||||
|
|
||||||
|
{-# OPTIONS_GHC -Wno-deprecations #-}
|
||||||
|
|
||||||
|
import XMonad
|
||||||
|
import XMonad.Util.EZConfig (additionalKeysP)
|
||||||
|
import XMonad.Hooks.DynamicLog (dynamicLogWithPP, wrap, xmobarPP, xmobarColor, shorten, PP(..))
|
||||||
|
import XMonad.Hooks.SetWMName
|
||||||
|
import XMonad.Actions.SpawnOn
|
||||||
|
import qualified XMonad.StackSet as W
|
||||||
|
import XMonad.Hooks.EwmhDesktops
|
||||||
|
import XMonad.Util.Run
|
||||||
|
import Data.Maybe (fromJust)
|
||||||
|
import XMonad.Hooks.ManageDocks
|
||||||
|
import XMonad.Hooks.ManageHelpers
|
||||||
|
import Data.Monoid
|
||||||
|
import Colors.DoomOne
|
||||||
|
import System.Exit
|
||||||
|
import XMonad.Util.SpawnOnce
|
||||||
|
import XMonad.Layout.Spacing
|
||||||
|
--import XMonad.Layout.Fullscreen
|
||||||
|
import qualified XMonad.StackSet as W
|
||||||
|
import qualified Data.Map as M
|
||||||
|
-- Personal Variables
|
||||||
|
myTerminal = "kitty"
|
||||||
|
myTextEditor = "leafpad"
|
||||||
|
myWebBrowser = "firefox"
|
||||||
|
|
||||||
|
|
||||||
|
-- Whether focus follows the mouse pointer.
|
||||||
|
myFocusFollowsMouse :: Bool
|
||||||
|
myFocusFollowsMouse = True
|
||||||
|
|
||||||
|
-- Whether clicking on a window to focus also passes the click to the window
|
||||||
|
myClickJustFocuses :: Bool
|
||||||
|
myClickJustFocuses = False
|
||||||
|
|
||||||
|
windowCount :: X (Maybe String)
|
||||||
|
windowCount = gets $ Just . show . length . W.integrate' . W.stack . W.workspace . W.current . windowset
|
||||||
|
|
||||||
|
|
||||||
|
-- Width of the window border in pixels.
|
||||||
|
--
|
||||||
|
myBorderWidth = 2
|
||||||
|
|
||||||
|
-- modMask lets you specify which modkey you want to use. The default
|
||||||
|
-- is mod1Mask ("left alt"). You may also consider using mod3Mask
|
||||||
|
-- ("right alt"), which does not conflict with emacs keybindings. The
|
||||||
|
-- "windows key" is usually mod4Mask.
|
||||||
|
--
|
||||||
|
myModMask = mod4Mask
|
||||||
|
|
||||||
|
-- The default number of workspaces (virtual screens) and their names.
|
||||||
|
|
||||||
|
myWorkspaces = ["main","web","text","code","social","mail"]
|
||||||
|
myWorkspaceIndices = M.fromList $ zipWith (,) myWorkspaces [1..]
|
||||||
|
|
||||||
|
clickable ws = "<action=xdotool key super+"++show i++">"++ws++"</action>"
|
||||||
|
where i = fromJust $ M.lookup ws myWorkspaceIndices
|
||||||
|
|
||||||
|
|
||||||
|
-- Border colors for unfocused and focused windows, respectively.
|
||||||
|
--
|
||||||
|
myNormalBorderColor = "#282c34"
|
||||||
|
myFocusedBorderColor = "#46d9ff"
|
||||||
|
|
||||||
|
------------------------------------------------------------------------
|
||||||
|
-- Key bindings. Add, modify or remove key bindings here.
|
||||||
|
--
|
||||||
|
myKeys :: [(String, X ())]
|
||||||
|
myKeys =
|
||||||
|
-- launch a terminal
|
||||||
|
[ ("M-x" ,spawn myTerminal )
|
||||||
|
|
||||||
|
-- launch dmenu
|
||||||
|
, ("M-p", spawn "dmenu_run")
|
||||||
|
|
||||||
|
-- launch web browser
|
||||||
|
, ("M-b", spawn myWebBrowser)
|
||||||
|
|
||||||
|
--Screenshot
|
||||||
|
, ("<Print>", spawn "flameshot screen")
|
||||||
|
, ("S-<Print>", spawn "flameshot gui")
|
||||||
|
--AUDIO CONTROLS
|
||||||
|
, ("<XF86AudioMute>", spawn "pamixer set --toggle-mute")
|
||||||
|
, ("<XF86AudioLowerVolume>", spawn "pamixer -d 5")
|
||||||
|
, ("<XF86AudioRaiseVolume>", spawn "pamixer -i 5")
|
||||||
|
|
||||||
|
--brightness controls
|
||||||
|
,("<xf86monbrightnessup>", spawn "lux -a 10%")
|
||||||
|
,("<xf86monbrightnessdown>", spawn "lux -s 10%")
|
||||||
|
|
||||||
|
--CHANGE KEYBOARD LAYOUT
|
||||||
|
,("M-<Space>", spawn "/bin/zsh /home/afonso/.config/xmonad/change-kb.sh")
|
||||||
|
|
||||||
|
--brightness controls
|
||||||
|
,("M-n", spawn "kitty -e nmtui")
|
||||||
|
|
||||||
|
-- close focused window
|
||||||
|
, ("M-q", kill)
|
||||||
|
|
||||||
|
-- Reset the layouts on the current workspace to default
|
||||||
|
, ("M-S-<Space>", sendMessage NextLayout)
|
||||||
|
|
||||||
|
-- Move focus to the next window
|
||||||
|
, ("M-<Down>", windows W.focusDown)
|
||||||
|
|
||||||
|
-- Move focus to the previous window
|
||||||
|
, ("M-<Up>", windows W.focusUp )
|
||||||
|
|
||||||
|
-- Move focus to the master window
|
||||||
|
, ("M-m", windows W.focusMaster )
|
||||||
|
|
||||||
|
-- Swap the focused window and the master window
|
||||||
|
, ("M-<Return>", windows W.swapMaster)
|
||||||
|
|
||||||
|
-- Shrink the master area
|
||||||
|
, ("M-h", sendMessage Shrink)
|
||||||
|
|
||||||
|
-- Expand the master area
|
||||||
|
, ("M-l", sendMessage Expand)
|
||||||
|
|
||||||
|
-- Push window back into tiling
|
||||||
|
, ("M-t", withFocused $ windows . W.sink)
|
||||||
|
|
||||||
|
-- Quit xmonad
|
||||||
|
, ("M-S-u", io (exitWith ExitSuccess))
|
||||||
|
|
||||||
|
-- Restart xmonad
|
||||||
|
, ("M-u", spawn "xmonad --recompile; xmonad --restart")
|
||||||
|
]
|
||||||
|
++
|
||||||
|
|
||||||
|
--
|
||||||
|
-- mod-[1..9], Switch to workspace N
|
||||||
|
-- mod-shift-[1..9], Move client to workspace N
|
||||||
|
--
|
||||||
|
[("M-" ++ m ++ (show k), windows $ f i)
|
||||||
|
| (i, k) <- zip myWorkspaces [1..]
|
||||||
|
, (f, m) <- [(W.greedyView, "0"), (W.shift, "S-")]]
|
||||||
|
++
|
||||||
|
|
||||||
|
--
|
||||||
|
-- mod-{w,e,r}, Switch to physical/Xinerama screens 1, 2, or 3
|
||||||
|
-- mod-shift-{w,e,r}, Move client to screen 1, 2, or 3
|
||||||
|
--
|
||||||
|
[("M-" ++ m ++ key, screenWorkspace sc >>= flip whenJust (windows . f))
|
||||||
|
| (key, sc) <- zip ["w", "e", "r"] [0..]
|
||||||
|
, (f, m) <- [(W.view, "0"), (W.shift, "S-")]]
|
||||||
|
|
||||||
|
|
||||||
|
------------------------------------------------------------------------
|
||||||
|
-- Mouse bindings: default actions bound to mouse events
|
||||||
|
--
|
||||||
|
myMouseBindings (XConfig {XMonad.modMask = modm}) = M.fromList $
|
||||||
|
|
||||||
|
-- mod-button1, Set the window to floating mode and move by dragging
|
||||||
|
[ ((modm, button1), (\w -> focus w >> mouseMoveWindow w
|
||||||
|
>> windows W.shiftMaster))
|
||||||
|
|
||||||
|
-- mod-button2, Raise the window to the top of the stack
|
||||||
|
, ((modm, button2), (\w -> focus w >> windows W.shiftMaster))
|
||||||
|
|
||||||
|
-- mod-button3, Set the window to floating mode and resize by dragging
|
||||||
|
, ((modm, button3), (\w -> focus w >> mouseResizeWindow w
|
||||||
|
>> windows W.shiftMaster))
|
||||||
|
|
||||||
|
-- you may also bind events to the mouse scroll wheel (button4 and button5)
|
||||||
|
]
|
||||||
|
|
||||||
|
------------------------------------------------------------------------
|
||||||
|
-- Layouts:
|
||||||
|
|
||||||
|
-- You can specify and transform your layouts by modifying these values.
|
||||||
|
-- If you change layout bindings be sure to use 'mod-shift-space' after
|
||||||
|
-- restarting (with 'mod-r') to reset your layout state to the new
|
||||||
|
-- defaults, as xmonad preserves your old layout settings by default.
|
||||||
|
--
|
||||||
|
-- The available layouts. Note that each layout is separated by |||,
|
||||||
|
-- which denotes layout choice.
|
||||||
|
--
|
||||||
|
myLayout = avoidStruts(tiled ||| Mirror tiled ||| Full)
|
||||||
|
where
|
||||||
|
-- default tiling algorithm partitions the screen into two panes
|
||||||
|
tiled = Tall nmaster delta ratio
|
||||||
|
|
||||||
|
-- The default number of windows in the master pane
|
||||||
|
nmaster = 1
|
||||||
|
|
||||||
|
-- Default proportion of screen occupied by master pane
|
||||||
|
ratio = 1/2
|
||||||
|
|
||||||
|
-- Percent of screen to increment by when resizing panes
|
||||||
|
delta = 3/100
|
||||||
|
|
||||||
|
------------------------------------------------------------------------
|
||||||
|
-- Window rules:
|
||||||
|
|
||||||
|
-- Execute arbitrary actions and WindowSet manipulations when managing
|
||||||
|
-- a new window. You can use this to, for example, always float a
|
||||||
|
-- particular program, or have a client always appear on a particular
|
||||||
|
-- workspace.
|
||||||
|
--
|
||||||
|
-- To find the property name associated with a program, use
|
||||||
|
-- > xprop | grep WM_CLASS
|
||||||
|
-- and click on the client you're interested in.
|
||||||
|
--
|
||||||
|
-- To match on the WM_NAME, you can use 'title' in the same way that
|
||||||
|
-- 'className' and 'resource' are used below.
|
||||||
|
--
|
||||||
|
|
||||||
|
myManageHook = composeAll
|
||||||
|
[ className =? "MPlayer" --> doFloat
|
||||||
|
, className =? "Gimp" --> doFloat
|
||||||
|
, resource =? "desktop_window" --> doIgnore
|
||||||
|
, className =? "QjackCtl" --> doFloat
|
||||||
|
, resource =? "kdesktop" --> doIgnore
|
||||||
|
, className =? "firefox" --> doShift (myWorkspaces !! 1)
|
||||||
|
, className =? "Code" --> doShift (myWorkspaces !! 3)
|
||||||
|
, className =? "discord" --> doShift (myWorkspaces !! 4)
|
||||||
|
, title =? "JetBrains Toolbox" --> doShift (myWorkspaces !! 3)
|
||||||
|
, className =? "main" --> doFloat
|
||||||
|
, className =? "Mailspring" --> doShift (myWorkspaces !! 5)
|
||||||
|
, className =? "Xmessage" --> doFloat
|
||||||
|
, isFullscreen --> doFullFloat]
|
||||||
|
------------------------------------------------------------------------
|
||||||
|
-- Event handling
|
||||||
|
|
||||||
|
-- * EwmhDesktops users should change this to ewmhDesktopsEventHook
|
||||||
|
--
|
||||||
|
-- Defines a custom handler function for X Events. The function should
|
||||||
|
-- return (All True) if the default handler is to be run afterwards. To
|
||||||
|
-- combine event hooks use mappend or mconcat from Data.Monoid.
|
||||||
|
--
|
||||||
|
myEventHook = ewmhDesktopsEventHook
|
||||||
|
|
||||||
|
------------------------------------------------------------------------
|
||||||
|
-- Status bars and logging
|
||||||
|
|
||||||
|
-- Perform an arbitrary action on each internal state change or X event.
|
||||||
|
-- See the 'XMonad.Hooks.DynamicLog' extension for examples.
|
||||||
|
--
|
||||||
|
--myLogHook = return ()
|
||||||
|
|
||||||
|
------------------------------------------------------------------------
|
||||||
|
-- Startup hook
|
||||||
|
|
||||||
|
-- Perform an arbitrary action each time xmonad starts or is restarted
|
||||||
|
-- with mod-q. Used by, e.g., XMonad.Layout.PerWorkspace to initialize
|
||||||
|
-- per-workspace layout choices.
|
||||||
|
--
|
||||||
|
-- By default, do nothing.
|
||||||
|
myStartupHook = do
|
||||||
|
spawn ("killall trayer")
|
||||||
|
spawnOnce "nitrogen --restore &"
|
||||||
|
spawnOnce "picom &"
|
||||||
|
setWMName "LG3D"
|
||||||
|
spawnOnce "nm-applet"
|
||||||
|
spawn "mailspring"
|
||||||
|
spawnOnce "qjackctl"
|
||||||
|
spawn("xsetroot -cursor_name left_ptr")
|
||||||
|
spawn ("easyeffects --gapplication-service")
|
||||||
|
spawnOnce "optimus-manager-qt"
|
||||||
|
spawn ("sleep 2 && trayer --edge top --align right --widthtype request --margin 7 --padding 6 --SetDockType true --SetPartialStrut true --iconspacing 6 --expand true --monitor 0 --transparent true --alpha 0 " ++ colorTrayer ++ " --height 24 --distance 50 --distancefrom right")
|
||||||
|
spawn ("albert")
|
||||||
|
spawnOn "web" "firefox"
|
||||||
|
spawnOn "main" myTerminal
|
||||||
|
------------------------------------------------------------------------
|
||||||
|
-- Now run xmonad with all the defaults we set up.
|
||||||
|
|
||||||
|
-- Run xmonad with the settings you specify. No need to modify this.
|
||||||
|
--
|
||||||
|
main :: IO ()
|
||||||
|
main = do
|
||||||
|
xmproc <- spawnPipe "xmobar -x 0 ~/.config/xmobar/xmobarrc" -- launch on monitor 1
|
||||||
|
xmonad $ ewmh $ ewmhFullscreen $ docks $ def
|
||||||
|
{
|
||||||
|
terminal = myTerminal,
|
||||||
|
focusFollowsMouse = myFocusFollowsMouse,
|
||||||
|
clickJustFocuses = myClickJustFocuses,
|
||||||
|
borderWidth = myBorderWidth,
|
||||||
|
modMask = myModMask,
|
||||||
|
workspaces = myWorkspaces,
|
||||||
|
normalBorderColor = myNormalBorderColor,
|
||||||
|
focusedBorderColor = myFocusedBorderColor,
|
||||||
|
-- keys = myKeys,
|
||||||
|
mouseBindings = myMouseBindings,
|
||||||
|
layoutHook = spacingWithEdge 10 $ myLayout,
|
||||||
|
manageHook = manageSpawn <+> myManageHook <+> manageHook def,
|
||||||
|
handleEventHook = myEventHook <+> fullscreenEventHook,
|
||||||
|
logHook = dynamicLogWithPP $ xmobarPP
|
||||||
|
{ ppOutput = \x -> hPutStrLn xmproc x -- xmobar on monitor 1
|
||||||
|
-- Current workspace
|
||||||
|
, ppCurrent = xmobarColor color06 "" . wrap
|
||||||
|
("<box type=Bottom width=2 mb=2 color=" ++ color06 ++ ">") "</box>"
|
||||||
|
-- Visible but not current workspace
|
||||||
|
, ppVisible = xmobarColor color06 "" . clickable
|
||||||
|
-- Hidden workspace
|
||||||
|
, ppHidden = xmobarColor color05 "" . wrap
|
||||||
|
("<box type=Top width=2 mt=2 color=" ++ color05 ++ ">") "</box>" . clickable
|
||||||
|
-- Hidden workspaces (no windows)
|
||||||
|
, ppHiddenNoWindows = xmobarColor color05 "" . clickable
|
||||||
|
-- Title of active window
|
||||||
|
, ppTitle = xmobarColor color16 "" . shorten 60
|
||||||
|
-- Separator character
|
||||||
|
, ppSep = "<fc=" ++ color09 ++ "> <fn=1>|</fn> </fc>"
|
||||||
|
-- Urgent workspace
|
||||||
|
, ppUrgent = xmobarColor color02 "" . wrap "!" "!"
|
||||||
|
-- Adding # of windows on current workspace to the bar
|
||||||
|
, ppExtras = [windowCount]
|
||||||
|
-- order of things in xmobar
|
||||||
|
, ppOrder = \(ws:l:t:ex) -> [ws]++ex++[t]
|
||||||
|
}
|
||||||
|
,startupHook = myStartupHook
|
||||||
|
} `additionalKeysP` myKeys
|
||||||
|
|
||||||
|
-- | Finally, a copy of the default bindings in simple textual tabular format.
|
||||||
|
help :: String
|
||||||
|
help = unlines ["The default modifier key is 'alt'. Default keybindings:",
|
||||||
|
"",
|
||||||
|
"-- launching and killing programs",
|
||||||
|
"mod-Shift-Enter Launch xterminal",
|
||||||
|
"mod-p Launch dmenu",
|
||||||
|
"mod-Shift-p Launch gmrun",
|
||||||
|
"mod-Shift-c Close/kill the focused window",
|
||||||
|
"mod-Space Rotate through the available layout algorithms",
|
||||||
|
"mod-Shift-Space Reset the layouts on the current workSpace to default",
|
||||||
|
"mod-n Resize/refresh viewed windows to the correct size",
|
||||||
|
"",
|
||||||
|
"-- move focus up or down the window stack",
|
||||||
|
"mod-Tab Move focus to the next window",
|
||||||
|
"mod-Shift-Tab Move focus to the previous window",
|
||||||
|
"mod-j Move focus to the next window",
|
||||||
|
"mod-k Move focus to the previous window",
|
||||||
|
"mod-m Move focus to the master window",
|
||||||
|
"",
|
||||||
|
"-- modifying the window order",
|
||||||
|
"mod-Return Swap the focused window and the master window",
|
||||||
|
"mod-Shift-j Swap the focused window with the next window",
|
||||||
|
"mod-Shift-k Swap the focused window with the previous window",
|
||||||
|
"",
|
||||||
|
"-- resizing the master/slave ratio",
|
||||||
|
"mod-h Shrink the master area",
|
||||||
|
"mod-l Expand the master area",
|
||||||
|
"",
|
||||||
|
"-- floating layer support",
|
||||||
|
"mod-t Push window back into tiling; unfloat and re-tile it",
|
||||||
|
"",
|
||||||
|
"-- increase or decrease number of windows in the master area",
|
||||||
|
"mod-comma (mod-,) Increment the number of windows in the master area",
|
||||||
|
"mod-period (mod-.) Deincrement the number of windows in the master area",
|
||||||
|
"",
|
||||||
|
"-- quit, or restart",
|
||||||
|
"mod-Shift-q Quit xmonad",
|
||||||
|
"mod-q Restart xmonad",
|
||||||
|
"mod-[1..9] Switch to workSpace N",
|
||||||
|
"",
|
||||||
|
"-- Workspaces & screens",
|
||||||
|
"mod-Shift-[1..9] Move client to workspace N",
|
||||||
|
"mod-{w,e,r} Switch to physical/Xinerama screens 1, 2, or 3",
|
||||||
|
"mod-Shift-{w,e,r} Move client to screen 1, 2, or 3",
|
||||||
|
"",
|
||||||
|
"-- Mouse bindings: default actions bound to mouse events",
|
||||||
|
"mod-button1 Set the window to floating mode and move by dragging",
|
||||||
|
"mod-button2 Raise the window to the top of the stack",
|
||||||
|
"mod-button3 Set the window to floating mode and resize by dragging"]
|
Loading…
Reference in a new issue