update to now ig
i made my home folder a git directory instead of using the config add git bare directory shit that logan and thomas hate and call retarted
This commit is contained in:
commit
cb3f71f6dc
17 changed files with 3317 additions and 0 deletions
61
.bashrc
Normal file
61
.bashrc
Normal file
|
@ -0,0 +1,61 @@
|
||||||
|
#
|
||||||
|
# ~/.bashrc
|
||||||
|
#
|
||||||
|
|
||||||
|
|
||||||
|
# If not running interactively, don't do anything
|
||||||
|
#
|
||||||
|
[[ $- != *i* ]] && return
|
||||||
|
|
||||||
|
#store ssh key for like an hour or so thomas says
|
||||||
|
if ! pgrep -u "$USER" ssh-agent > /dev/null; then
|
||||||
|
ssh-agent > "$XDG_RUNTIME_DIR/ssh-agent.env"
|
||||||
|
fi
|
||||||
|
if [[ ! "$SSH_AUTH_SOCK" ]]; then
|
||||||
|
eval "$(<"$XDG_RUNTIME_DIR/ssh-agent.env")"
|
||||||
|
fi
|
||||||
|
|
||||||
|
stty -ixon # Disable ctrl-s/ctrl-q
|
||||||
|
|
||||||
|
|
||||||
|
HISTSIZE= HISTFILESIZE= # Infinite history
|
||||||
|
|
||||||
|
alias ls='ls --color=auto --group-directories-first'
|
||||||
|
alias grep='grep --color=auto'
|
||||||
|
alias diff='diff --color=auto'
|
||||||
|
|
||||||
|
|
||||||
|
#PS1='[\e[0;32m\u@\h \W\e[m] \$ '
|
||||||
|
#gayPS1='\[\e[1;32m\][\u@\h]\e[m \e[1;34m\w\[\e[m\] \$ '
|
||||||
|
PS1="\[\033[38;5;2m\][\u@\h]\[$(tput sgr0)\] \[$(tput sgr0)\]\[\033[38;5;12m\]\w\[$(tput sgr0)\] \\$ \[$(tput sgr0)\]"
|
||||||
|
|
||||||
|
|
||||||
|
echo "`figlet " uf" && figlet "zombie" && figlet "maniac"`" | lolcat
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#TERM=xterm-256color
|
||||||
|
alias qtechssh="ssh zombie@admin.qtechofficial.com -p 9940 -X"
|
||||||
|
alias sharescreennoscreen="~/.local/bin/share -r 1920x1080 -m 0"
|
||||||
|
alias sharescreen="screen -S mon2camscreen bash -c '~/.local/bin/share -r 1920x1080 -m 0 -f 15'"
|
||||||
|
alias entermon="screen -rx mon2camscreen"
|
||||||
|
alias memepv="mpv --vo=tct --profile=sw-fast"
|
||||||
|
#alias nasssh="ssh zombie@192.168.1.23 -p 9940 -X"
|
||||||
|
alias kleinerssh="ssh zombie@home.ufzombiemaniac.com -p 9940 -X"
|
||||||
|
alias ufzssh="ssh zombie@admin.ufzombiemaniac.com -p 9940 -X"
|
||||||
|
alias make="make -j16"
|
||||||
|
alias yay="paru"
|
||||||
|
alias config='/usr/bin/git --git-dir=$HOME/dotfiles/ --work-tree=$HOME'
|
||||||
|
#alias runelite="WINEPREFIX=~/Games/runelite wine 'C:\users\zombie\Local Settings\Application Data\RuneLite\RuneLite.exe'"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#mineing
|
||||||
|
alias minexmr="screen -S xmrig bash -c 'sudo ~/Documents/bigdocs/xmrigminerinator/xmrig-qtech'"
|
||||||
|
alias mineeth="screen -S ethminer bash -c 'ethminer -G -R -P stratum1+tcp://0xA85C9b7616F2f595Dc563D4731a734d896456aa6.kleiner:spam%40qtechofficial.com@eth-us-west1.nanopool.org:9999'"
|
||||||
|
alias mineethnoscreen="ethminer -G -R -P stratum1+tcp://0xA85C9b7616F2f595Dc563D4731a734d896456aa6.kleiner:spam%40qtechofficial.com@eth-us-west1.nanopool.org:9999"
|
||||||
|
alias mineetc="screen -S etcminer bash -c 'ethminer -G -R -P stratum1+tcp://0xD0ff677C43f9D9a377392B6DefF7C8eC6E5ccC2c.kleiner@us1-etc.ethermine.org:4444'"
|
||||||
|
alias enterxmr="screen -rx xmrig"
|
||||||
|
alias entereth="screen -rx ethminer"
|
560
.config/alacritty/alacritty.yml
Normal file
560
.config/alacritty/alacritty.yml
Normal file
|
@ -0,0 +1,560 @@
|
||||||
|
# Configuration for Alacritty, the GPU enhanced terminal emulator.
|
||||||
|
|
||||||
|
# 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: xterm-256color
|
||||||
|
|
||||||
|
window:
|
||||||
|
# Window dimensions (changes require restart)
|
||||||
|
#
|
||||||
|
# Specified in number of columns/lines, not pixels.
|
||||||
|
# If both are `0`, this setting is ignored.
|
||||||
|
dimensions:
|
||||||
|
columns: 70
|
||||||
|
lines: 25
|
||||||
|
|
||||||
|
# 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, but 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
|
||||||
|
|
||||||
|
# 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
|
||||||
|
dynamic_title: true
|
||||||
|
|
||||||
|
#scrolling:
|
||||||
|
# Maximum number of lines in the scrollback buffer.
|
||||||
|
# Specifying '0' will disable scrolling.
|
||||||
|
#history: 10000
|
||||||
|
|
||||||
|
# Number of lines the viewport will move for every line scrolled when
|
||||||
|
# scrollback is enabled (history > 0).
|
||||||
|
#multiplier: 3
|
||||||
|
|
||||||
|
# Font configuration
|
||||||
|
font:
|
||||||
|
# Normal (roman) font face
|
||||||
|
#normal:
|
||||||
|
# Font family
|
||||||
|
#
|
||||||
|
# Default:
|
||||||
|
# - (macOS) Menlo
|
||||||
|
# - (Linux/BSD) monospace
|
||||||
|
# - (Windows) Consolas
|
||||||
|
#family: monospace
|
||||||
|
|
||||||
|
# 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: 8.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 upwards.
|
||||||
|
#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`
|
||||||
|
#
|
||||||
|
# macOS >= 10.14.x:
|
||||||
|
#
|
||||||
|
# If the font quality on non-retina display looks bad then set
|
||||||
|
# `use_thin_strokes` to `true` and enable font smoothing by running the
|
||||||
|
# following command:
|
||||||
|
# `defaults write -g CGFontRenderingFontSmoothingDisabled -bool NO`
|
||||||
|
#
|
||||||
|
# This is a global setting and will require a log out or restart to take
|
||||||
|
# effect.
|
||||||
|
#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 Bright)
|
||||||
|
colors:
|
||||||
|
# Default colors
|
||||||
|
primary:
|
||||||
|
background: '#000000'
|
||||||
|
# foreground: '#eaeaea'
|
||||||
|
|
||||||
|
# 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: '#9a9a9a'
|
||||||
|
#bright_foreground: '#ffffff'
|
||||||
|
|
||||||
|
# Cursor colors
|
||||||
|
#
|
||||||
|
# Colors which should be used to draw the terminal cursor. If these are unset,
|
||||||
|
# the cursor color will be the inverse of the cell color.
|
||||||
|
#cursor:
|
||||||
|
# text: '#000000'
|
||||||
|
# cursor: '#ffffff'
|
||||||
|
|
||||||
|
# Selection colors
|
||||||
|
#
|
||||||
|
# Colors which should be used to draw the selection area. If selection
|
||||||
|
# background is unset, selection color will be the inverse of the cell colors.
|
||||||
|
# If only text is unset the cell text color will remain the same.
|
||||||
|
#selection:
|
||||||
|
# text: '#eaeaea'
|
||||||
|
# background: '#404040'
|
||||||
|
|
||||||
|
# Normal colors
|
||||||
|
normal:
|
||||||
|
black: '#000000'
|
||||||
|
red: '#ff0000'
|
||||||
|
green: '#00ff00'
|
||||||
|
yellow: '#ffff00'
|
||||||
|
blue: '#3535ff' #normal blue '#0000ff' is hard to read
|
||||||
|
magenta: '#ff00ff'
|
||||||
|
cyan: '#00ffff'
|
||||||
|
white: '#ffffff'
|
||||||
|
|
||||||
|
# Bright colors
|
||||||
|
bright:
|
||||||
|
black: '#505050'
|
||||||
|
red: '#ff5050'
|
||||||
|
green: '#50ff50'
|
||||||
|
yellow: '#ffff50'
|
||||||
|
blue: '#6060ff'
|
||||||
|
magenta: '#ff50ff'
|
||||||
|
cyan: '#80ffff'
|
||||||
|
white: '#ffffff'
|
||||||
|
|
||||||
|
# Dim colors
|
||||||
|
#
|
||||||
|
# If the dim colors are not set, they will be calculated automatically based
|
||||||
|
# on the `normal` colors.
|
||||||
|
#dim:
|
||||||
|
# black: '#000000'
|
||||||
|
# red: '#8c3336'
|
||||||
|
# green: '#7a8530'
|
||||||
|
# yellow: '#97822e'
|
||||||
|
# blue: '#506d8f'
|
||||||
|
# magenta: '#80638e'
|
||||||
|
# cyan: '#497e7a'
|
||||||
|
# white: '#9a9a9a'
|
||||||
|
|
||||||
|
# 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: []
|
||||||
|
|
||||||
|
# Visual Bell
|
||||||
|
#
|
||||||
|
# Any time the BEL code is received, Alacritty "rings" the visual bell. Once
|
||||||
|
# rung, the terminal background will be set to white and transition back to the
|
||||||
|
# default background color. You can control the rate of this transition by
|
||||||
|
# setting the `duration` property (represented in milliseconds). You can also
|
||||||
|
# configure the transition function by setting the `animation` property.
|
||||||
|
#
|
||||||
|
# Values for `animation`:
|
||||||
|
# - Ease
|
||||||
|
# - EaseOut
|
||||||
|
# - EaseOutSine
|
||||||
|
# - EaseOutQuad
|
||||||
|
# - EaseOutCubic
|
||||||
|
# - EaseOutQuart
|
||||||
|
# - EaseOutQuint
|
||||||
|
# - EaseOutExpo
|
||||||
|
# - EaseOutCirc
|
||||||
|
# - Linear
|
||||||
|
#
|
||||||
|
# Specifying a `duration` of `0` will disable the visual bell.
|
||||||
|
#visual_bell:
|
||||||
|
# animation: EaseOutExpo
|
||||||
|
# duration: 0
|
||||||
|
# color: '#ffffff'
|
||||||
|
|
||||||
|
# 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: 0.9
|
||||||
|
|
||||||
|
#selection:
|
||||||
|
#semantic_escape_chars: ",│`|:\"' ()[]{}<>\t"
|
||||||
|
|
||||||
|
# When set to `true`, selected text will be copied to the primary clipboard.
|
||||||
|
#save_to_clipboard: true
|
||||||
|
|
||||||
|
# Allow terminal applications to change Alacritty's window title.
|
||||||
|
|
||||||
|
cursor:
|
||||||
|
# Cursor style
|
||||||
|
#
|
||||||
|
# Values for `style`:
|
||||||
|
# - ▇ Block
|
||||||
|
# - _ Underline
|
||||||
|
# - | Beam
|
||||||
|
style: Beam
|
||||||
|
|
||||||
|
# If this is `true`, the cursor will be rendered as a hollow box when the
|
||||||
|
# window is not focused.
|
||||||
|
unfocused_hollow: true
|
||||||
|
|
||||||
|
# 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
|
||||||
|
|
||||||
|
# WinPTY backend (Windows only)
|
||||||
|
#
|
||||||
|
# Alacritty defaults to using the newer ConPTY backend if it is available,
|
||||||
|
# since it resolves a lot of bugs and is quite a bit faster. If it is not
|
||||||
|
# available, the the WinPTY backend will be used instead.
|
||||||
|
#
|
||||||
|
# Setting this option to `true` makes Alacritty use the legacy WinPTY backend,
|
||||||
|
# even if the ConPTY backend is available.
|
||||||
|
#winpty_backend: false
|
||||||
|
|
||||||
|
# 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
|
||||||
|
|
||||||
|
#url:
|
||||||
|
# URL launcher
|
||||||
|
#
|
||||||
|
# This program is executed when clicking on a text which is recognized as a URL.
|
||||||
|
# The URL is always added to the command as the last parameter.
|
||||||
|
#
|
||||||
|
# When set to `None`, URL launching will be disabled completely.
|
||||||
|
#
|
||||||
|
# Default:
|
||||||
|
# - (macOS) open
|
||||||
|
# - (Linux/BSD) xdg-open
|
||||||
|
# - (Windows) explorer
|
||||||
|
#launcher:
|
||||||
|
# program: xdg-open
|
||||||
|
# args: []
|
||||||
|
|
||||||
|
# URL modifiers
|
||||||
|
#
|
||||||
|
# These are the modifiers that need to be held down for opening URLs when clicking
|
||||||
|
# on them. The available modifiers are documented in the key binding section.
|
||||||
|
#modifiers: None
|
||||||
|
|
||||||
|
# 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
|
||||||
|
#
|
||||||
|
# - Copy
|
||||||
|
# - Paste
|
||||||
|
# - PasteSelection
|
||||||
|
# - IncreaseFontSize
|
||||||
|
# - DecreaseFontSize
|
||||||
|
# - ResetFontSize
|
||||||
|
# - ScrollPageUp
|
||||||
|
# - ScrollPageDown
|
||||||
|
# - ScrollLineUp
|
||||||
|
# - ScrollLineDown
|
||||||
|
# - ScrollToTop
|
||||||
|
# - ScrollToBottom
|
||||||
|
# - ClearHistory
|
||||||
|
# - Hide
|
||||||
|
# - Minimize
|
||||||
|
# - Quit
|
||||||
|
# - ToggleFullscreen
|
||||||
|
# - SpawnNewInstance
|
||||||
|
# - ClearLogNotice
|
||||||
|
# - ReceiveChar
|
||||||
|
# - None
|
||||||
|
#
|
||||||
|
# (macOS only):
|
||||||
|
# - ToggleSimpleFullscreen: Enters fullscreen without occupying another space
|
||||||
|
#
|
||||||
|
# - `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
|
||||||
|
# - Alt
|
||||||
|
#
|
||||||
|
# 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
|
||||||
|
# at once.
|
||||||
|
#key_bindings:
|
||||||
|
# (Windows, Linux, and BSD only)
|
||||||
|
#- { key: V, mods: Control|Shift, action: Paste }
|
||||||
|
#- { key: C, mods: Control|Shift, action: Copy }
|
||||||
|
#- { key: Insert, mods: Shift, action: PasteSelection }
|
||||||
|
#- { key: Key0, mods: Control, action: ResetFontSize }
|
||||||
|
#- { key: Equals, mods: Control, action: IncreaseFontSize }
|
||||||
|
#- { key: Add, mods: Control, action: IncreaseFontSize }
|
||||||
|
#- { key: Subtract, mods: Control, action: DecreaseFontSize }
|
||||||
|
#- { key: Minus, mods: Control, action: DecreaseFontSize }
|
||||||
|
|
||||||
|
# (Windows only)
|
||||||
|
#- { key: Return, mods: Alt, action: ToggleFullscreen }
|
||||||
|
|
||||||
|
# (macOS only)
|
||||||
|
#- { key: Key0, mods: Command, action: ResetFontSize }
|
||||||
|
#- { key: Equals, mods: Command, action: IncreaseFontSize }
|
||||||
|
#- { key: Add, mods: Command, action: IncreaseFontSize }
|
||||||
|
#- { key: Minus, mods: Command, action: DecreaseFontSize }
|
||||||
|
#- { key: K, mods: Command, action: ClearHistory }
|
||||||
|
#- { key: K, mods: Command, chars: "\x0c" }
|
||||||
|
#- { key: V, mods: Command, action: Paste }
|
||||||
|
#- { key: C, mods: Command, action: Copy }
|
||||||
|
#- { key: H, mods: Command, action: Hide }
|
||||||
|
#- { key: M, mods: Command, action: Minimize }
|
||||||
|
#- { key: Q, mods: Command, action: Quit }
|
||||||
|
#- { key: W, mods: Command, action: Quit }
|
||||||
|
#- { key: F, mods: Command|Control, action: ToggleFullscreen }
|
||||||
|
|
||||||
|
#- { key: Paste, action: Paste }
|
||||||
|
#- { key: Copy, action: Copy }
|
||||||
|
#- { key: L, mods: Control, action: ClearLogNotice }
|
||||||
|
#- { key: L, mods: Control, chars: "\x0c" }
|
||||||
|
#- { key: PageUp, mods: Shift, action: ScrollPageUp, mode: ~Alt }
|
||||||
|
#- { key: PageDown, mods: Shift, action: ScrollPageDown, mode: ~Alt }
|
||||||
|
#- { key: Home, mods: Shift, action: ScrollToTop, mode: ~Alt }
|
||||||
|
#- { key: End, mods: Shift, action: ScrollToBottom, mode: ~Alt }
|
||||||
|
|
||||||
|
#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`:
|
||||||
|
# - None
|
||||||
|
# - Error
|
||||||
|
# - Warn
|
||||||
|
# - Info
|
||||||
|
# - Debug
|
||||||
|
# - Trace
|
||||||
|
#log_level: Warn
|
||||||
|
|
||||||
|
# Print all received window events.
|
||||||
|
#print_events: false
|
583
.config/awesome/rc.lua
Normal file
583
.config/awesome/rc.lua
Normal file
|
@ -0,0 +1,583 @@
|
||||||
|
-- If LuaRocks is installed, make sure that packages installed through it are
|
||||||
|
-- found (e.g. lgi). If LuaRocks is not installed, do nothing.
|
||||||
|
pcall(require, "luarocks.loader")
|
||||||
|
|
||||||
|
-- Standard awesome library
|
||||||
|
local gears = require("gears")
|
||||||
|
local awful = require("awful")
|
||||||
|
require("awful.autofocus")
|
||||||
|
-- Widget and layout library
|
||||||
|
local wibox = require("wibox")
|
||||||
|
-- Theme handling library
|
||||||
|
local beautiful = require("beautiful")
|
||||||
|
-- Notification library
|
||||||
|
local naughty = require("naughty")
|
||||||
|
local menubar = require("menubar")
|
||||||
|
local hotkeys_popup = require("awful.hotkeys_popup")
|
||||||
|
-- Enable hotkeys help widget for VIM and other apps
|
||||||
|
-- when client with a matching name is opened:
|
||||||
|
require("awful.hotkeys_popup.keys")
|
||||||
|
|
||||||
|
-- {{{ Error handling
|
||||||
|
-- Check if awesome encountered an error during startup and fell back to
|
||||||
|
-- another config (This code will only ever execute for the fallback config)
|
||||||
|
if awesome.startup_errors then
|
||||||
|
naughty.notify({ preset = naughty.config.presets.critical,
|
||||||
|
title = "Oops, there were errors during startup!",
|
||||||
|
text = awesome.startup_errors })
|
||||||
|
end
|
||||||
|
|
||||||
|
-- Handle runtime errors after startup
|
||||||
|
do
|
||||||
|
local in_error = false
|
||||||
|
awesome.connect_signal("debug::error", function (err)
|
||||||
|
-- Make sure we don't go into an endless error loop
|
||||||
|
if in_error then return end
|
||||||
|
in_error = true
|
||||||
|
|
||||||
|
naughty.notify({ preset = naughty.config.presets.critical,
|
||||||
|
title = "Oops, an error happened!",
|
||||||
|
text = tostring(err) })
|
||||||
|
in_error = false
|
||||||
|
end)
|
||||||
|
end
|
||||||
|
-- }}}
|
||||||
|
|
||||||
|
-- {{{ Variable definitions
|
||||||
|
-- Themes define colours, icons, font and wallpapers.
|
||||||
|
beautiful.init(gears.filesystem.get_themes_dir() .. "default/theme.lua")
|
||||||
|
|
||||||
|
-- This is used later as the default terminal and editor to run.
|
||||||
|
terminal = "alacritty"
|
||||||
|
editor = os.getenv("EDITOR") or "nano"
|
||||||
|
editor_cmd = terminal .. " -e " .. editor
|
||||||
|
|
||||||
|
-- Default modkey.
|
||||||
|
-- Usually, Mod4 is the key with a logo between Control and Alt.
|
||||||
|
-- If you do not like this or do not have such a key,
|
||||||
|
-- I suggest you to remap Mod4 to another key using xmodmap or other tools.
|
||||||
|
-- However, you can use another modifier like Mod1, but it may interact with others.
|
||||||
|
modkey = "Mod4"
|
||||||
|
|
||||||
|
-- Table of layouts to cover with awful.layout.inc, order matters.
|
||||||
|
awful.layout.layouts = {
|
||||||
|
awful.layout.suit.floating,
|
||||||
|
awful.layout.suit.tile,
|
||||||
|
awful.layout.suit.tile.left,
|
||||||
|
awful.layout.suit.tile.bottom,
|
||||||
|
awful.layout.suit.tile.top,
|
||||||
|
awful.layout.suit.fair,
|
||||||
|
awful.layout.suit.fair.horizontal,
|
||||||
|
awful.layout.suit.spiral,
|
||||||
|
awful.layout.suit.spiral.dwindle,
|
||||||
|
awful.layout.suit.max,
|
||||||
|
awful.layout.suit.max.fullscreen,
|
||||||
|
awful.layout.suit.magnifier,
|
||||||
|
awful.layout.suit.corner.nw,
|
||||||
|
-- awful.layout.suit.corner.ne,
|
||||||
|
-- awful.layout.suit.corner.sw,
|
||||||
|
-- awful.layout.suit.corner.se,
|
||||||
|
}
|
||||||
|
-- }}}
|
||||||
|
|
||||||
|
-- {{{ Menu
|
||||||
|
-- Create a launcher widget and a main menu
|
||||||
|
myawesomemenu = {
|
||||||
|
{ "hotkeys", function() hotkeys_popup.show_help(nil, awful.screen.focused()) end },
|
||||||
|
{ "manual", terminal .. " -e man awesome" },
|
||||||
|
{ "edit config", editor_cmd .. " " .. awesome.conffile },
|
||||||
|
{ "restart", awesome.restart },
|
||||||
|
{ "quit", function() awesome.quit() end },
|
||||||
|
}
|
||||||
|
|
||||||
|
mymainmenu = awful.menu({ items = { { "awesome", myawesomemenu, beautiful.awesome_icon },
|
||||||
|
{ "open terminal", terminal }
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
mylauncher = awful.widget.launcher({ image = beautiful.awesome_icon,
|
||||||
|
menu = mymainmenu })
|
||||||
|
|
||||||
|
-- Menubar configuration
|
||||||
|
menubar.utils.terminal = terminal -- Set the terminal for applications that require it
|
||||||
|
-- }}}
|
||||||
|
|
||||||
|
-- Keyboard map indicator and switcher
|
||||||
|
mykeyboardlayout = awful.widget.keyboardlayout()
|
||||||
|
|
||||||
|
-- {{{ Wibar
|
||||||
|
-- Create a textclock widget
|
||||||
|
mytextclock = wibox.widget.textclock()
|
||||||
|
|
||||||
|
-- Create a wibox for each screen and add it
|
||||||
|
local taglist_buttons = gears.table.join(
|
||||||
|
awful.button({ }, 1, function(t) t:view_only() end),
|
||||||
|
awful.button({ modkey }, 1, function(t)
|
||||||
|
if client.focus then
|
||||||
|
client.focus:move_to_tag(t)
|
||||||
|
end
|
||||||
|
end),
|
||||||
|
awful.button({ }, 3, awful.tag.viewtoggle),
|
||||||
|
awful.button({ modkey }, 3, function(t)
|
||||||
|
if client.focus then
|
||||||
|
client.focus:toggle_tag(t)
|
||||||
|
end
|
||||||
|
end),
|
||||||
|
awful.button({ }, 4, function(t) awful.tag.viewnext(t.screen) end),
|
||||||
|
awful.button({ }, 5, function(t) awful.tag.viewprev(t.screen) end)
|
||||||
|
)
|
||||||
|
|
||||||
|
local tasklist_buttons = gears.table.join(
|
||||||
|
awful.button({ }, 1, function (c)
|
||||||
|
if c == client.focus then
|
||||||
|
c.minimized = true
|
||||||
|
else
|
||||||
|
c:emit_signal(
|
||||||
|
"request::activate",
|
||||||
|
"tasklist",
|
||||||
|
{raise = true}
|
||||||
|
)
|
||||||
|
end
|
||||||
|
end),
|
||||||
|
awful.button({ }, 3, function()
|
||||||
|
awful.menu.client_list({ theme = { width = 250 } })
|
||||||
|
end),
|
||||||
|
awful.button({ }, 4, function ()
|
||||||
|
awful.client.focus.byidx(1)
|
||||||
|
end),
|
||||||
|
awful.button({ }, 5, function ()
|
||||||
|
awful.client.focus.byidx(-1)
|
||||||
|
end))
|
||||||
|
|
||||||
|
local function set_wallpaper(s)
|
||||||
|
-- Wallpaper
|
||||||
|
if beautiful.wallpaper then
|
||||||
|
local wallpaper = beautiful.wallpaper
|
||||||
|
-- If wallpaper is a function, call it with the screen
|
||||||
|
if type(wallpaper) == "function" then
|
||||||
|
wallpaper = wallpaper(s)
|
||||||
|
end
|
||||||
|
gears.wallpaper.maximized(wallpaper, s, true)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
-- Re-set wallpaper when a screen's geometry changes (e.g. different resolution)
|
||||||
|
screen.connect_signal("property::geometry", set_wallpaper)
|
||||||
|
|
||||||
|
awful.screen.connect_for_each_screen(function(s)
|
||||||
|
-- Wallpaper
|
||||||
|
set_wallpaper(s)
|
||||||
|
|
||||||
|
-- Each screen has its own tag table.
|
||||||
|
awful.tag({ "1", "2", "3", "4", "5", "6", "7", "8", "9" }, s, awful.layout.layouts[1])
|
||||||
|
|
||||||
|
-- Create a promptbox for each screen
|
||||||
|
s.mypromptbox = awful.widget.prompt()
|
||||||
|
-- Create an imagebox widget which will contain an icon indicating which layout we're using.
|
||||||
|
-- We need one layoutbox per screen.
|
||||||
|
s.mylayoutbox = awful.widget.layoutbox(s)
|
||||||
|
s.mylayoutbox:buttons(gears.table.join(
|
||||||
|
awful.button({ }, 1, function () awful.layout.inc( 1) end),
|
||||||
|
awful.button({ }, 3, function () awful.layout.inc(-1) end),
|
||||||
|
awful.button({ }, 4, function () awful.layout.inc( 1) end),
|
||||||
|
awful.button({ }, 5, function () awful.layout.inc(-1) end)))
|
||||||
|
-- Create a taglist widget
|
||||||
|
s.mytaglist = awful.widget.taglist {
|
||||||
|
screen = s,
|
||||||
|
filter = awful.widget.taglist.filter.all,
|
||||||
|
buttons = taglist_buttons
|
||||||
|
}
|
||||||
|
|
||||||
|
-- Create a tasklist widget
|
||||||
|
s.mytasklist = awful.widget.tasklist {
|
||||||
|
screen = s,
|
||||||
|
filter = awful.widget.tasklist.filter.currenttags,
|
||||||
|
buttons = tasklist_buttons
|
||||||
|
}
|
||||||
|
|
||||||
|
-- Create the wibox
|
||||||
|
s.mywibox = awful.wibar({ position = "top", screen = s })
|
||||||
|
|
||||||
|
-- Add widgets to the wibox
|
||||||
|
s.mywibox:setup {
|
||||||
|
layout = wibox.layout.align.horizontal,
|
||||||
|
{ -- Left widgets
|
||||||
|
layout = wibox.layout.fixed.horizontal,
|
||||||
|
mylauncher,
|
||||||
|
s.mytaglist,
|
||||||
|
s.mypromptbox,
|
||||||
|
},
|
||||||
|
s.mytasklist, -- Middle widget
|
||||||
|
{ -- Right widgets
|
||||||
|
layout = wibox.layout.fixed.horizontal,
|
||||||
|
mykeyboardlayout,
|
||||||
|
wibox.widget.systray(),
|
||||||
|
mytextclock,
|
||||||
|
s.mylayoutbox,
|
||||||
|
},
|
||||||
|
}
|
||||||
|
end)
|
||||||
|
-- }}}
|
||||||
|
|
||||||
|
-- {{{ Mouse bindings
|
||||||
|
root.buttons(gears.table.join(
|
||||||
|
awful.button({ }, 3, function () mymainmenu:toggle() end),
|
||||||
|
awful.button({ }, 4, awful.tag.viewnext),
|
||||||
|
awful.button({ }, 5, awful.tag.viewprev)
|
||||||
|
))
|
||||||
|
-- }}}
|
||||||
|
|
||||||
|
-- {{{ Key bindings
|
||||||
|
globalkeys = gears.table.join(
|
||||||
|
awful.key({ modkey, }, "s", hotkeys_popup.show_help,
|
||||||
|
{description="show help", group="awesome"}),
|
||||||
|
awful.key({ modkey, }, "Left", awful.tag.viewprev,
|
||||||
|
{description = "view previous", group = "tag"}),
|
||||||
|
awful.key({ modkey, }, "Right", awful.tag.viewnext,
|
||||||
|
{description = "view next", group = "tag"}),
|
||||||
|
awful.key({ modkey, }, "Escape", awful.tag.history.restore,
|
||||||
|
{description = "go back", group = "tag"}),
|
||||||
|
|
||||||
|
awful.key({ modkey, }, "j",
|
||||||
|
function ()
|
||||||
|
awful.client.focus.byidx( 1)
|
||||||
|
end,
|
||||||
|
{description = "focus next by index", group = "client"}
|
||||||
|
),
|
||||||
|
awful.key({ modkey, }, "k",
|
||||||
|
function ()
|
||||||
|
awful.client.focus.byidx(-1)
|
||||||
|
end,
|
||||||
|
{description = "focus previous by index", group = "client"}
|
||||||
|
),
|
||||||
|
awful.key({ modkey, }, "w", function () mymainmenu:show() end,
|
||||||
|
{description = "show main menu", group = "awesome"}),
|
||||||
|
|
||||||
|
-- Layout manipulation
|
||||||
|
awful.key({ modkey, "Shift" }, "j", function () awful.client.swap.byidx( 1) end,
|
||||||
|
{description = "swap with next client by index", group = "client"}),
|
||||||
|
awful.key({ modkey, "Shift" }, "k", function () awful.client.swap.byidx( -1) end,
|
||||||
|
{description = "swap with previous client by index", group = "client"}),
|
||||||
|
awful.key({ modkey, "Control" }, "j", function () awful.screen.focus_relative( 1) end,
|
||||||
|
{description = "focus the next screen", group = "screen"}),
|
||||||
|
awful.key({ modkey, "Control" }, "k", function () awful.screen.focus_relative(-1) end,
|
||||||
|
{description = "focus the previous screen", group = "screen"}),
|
||||||
|
awful.key({ modkey, }, "u", awful.client.urgent.jumpto,
|
||||||
|
{description = "jump to urgent client", group = "client"}),
|
||||||
|
awful.key({ modkey, }, "Tab",
|
||||||
|
function ()
|
||||||
|
awful.client.focus.history.previous()
|
||||||
|
if client.focus then
|
||||||
|
client.focus:raise()
|
||||||
|
end
|
||||||
|
end,
|
||||||
|
{description = "go back", group = "client"}),
|
||||||
|
|
||||||
|
-- Standard program
|
||||||
|
awful.key({ modkey, }, "Return", function () awful.spawn(terminal) end,
|
||||||
|
{description = "open a terminal", group = "launcher"}),
|
||||||
|
awful.key({ modkey, "Control" }, "r", awesome.restart,
|
||||||
|
{description = "reload awesome", group = "awesome"}),
|
||||||
|
awful.key({ modkey, "Shift" }, "q", awesome.quit,
|
||||||
|
{description = "quit awesome", group = "awesome"}),
|
||||||
|
|
||||||
|
awful.key({ modkey, }, "l", function () awful.tag.incmwfact( 0.05) end,
|
||||||
|
{description = "increase master width factor", group = "layout"}),
|
||||||
|
awful.key({ modkey, }, "h", function () awful.tag.incmwfact(-0.05) end,
|
||||||
|
{description = "decrease master width factor", group = "layout"}),
|
||||||
|
awful.key({ modkey, "Shift" }, "h", function () awful.tag.incnmaster( 1, nil, true) end,
|
||||||
|
{description = "increase the number of master clients", group = "layout"}),
|
||||||
|
awful.key({ modkey, "Shift" }, "l", function () awful.tag.incnmaster(-1, nil, true) end,
|
||||||
|
{description = "decrease the number of master clients", group = "layout"}),
|
||||||
|
awful.key({ modkey, "Control" }, "h", function () awful.tag.incncol( 1, nil, true) end,
|
||||||
|
{description = "increase the number of columns", group = "layout"}),
|
||||||
|
awful.key({ modkey, "Control" }, "l", function () awful.tag.incncol(-1, nil, true) end,
|
||||||
|
{description = "decrease the number of columns", group = "layout"}),
|
||||||
|
awful.key({ modkey, }, "space", function () awful.layout.inc( 1) end,
|
||||||
|
{description = "select next", group = "layout"}),
|
||||||
|
awful.key({ modkey, "Shift" }, "space", function () awful.layout.inc(-1) end,
|
||||||
|
{description = "select previous", group = "layout"}),
|
||||||
|
|
||||||
|
awful.key({ modkey, "Control" }, "n",
|
||||||
|
function ()
|
||||||
|
local c = awful.client.restore()
|
||||||
|
-- Focus restored client
|
||||||
|
if c then
|
||||||
|
c:emit_signal(
|
||||||
|
"request::activate", "key.unminimize", {raise = true}
|
||||||
|
)
|
||||||
|
end
|
||||||
|
end,
|
||||||
|
{description = "restore minimized", group = "client"}),
|
||||||
|
|
||||||
|
-- Prompt
|
||||||
|
awful.key({ modkey }, "r", function ()
|
||||||
|
awful.util.spawn("rofi -show drun") end,
|
||||||
|
{description = "run rofi", group = "launcher"}),
|
||||||
|
|
||||||
|
|
||||||
|
awful.key({ }, "Print", function ()
|
||||||
|
awful.util.spawn("flameshot gui") end,
|
||||||
|
{description = "flameshot gui -take screenshot", group = "launcher"}),
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
awful.key({ modkey }, "x",
|
||||||
|
function ()
|
||||||
|
awful.prompt.run {
|
||||||
|
prompt = "Run Lua code: ",
|
||||||
|
textbox = awful.screen.focused().mypromptbox.widget,
|
||||||
|
exe_callback = awful.util.eval,
|
||||||
|
history_path = awful.util.get_cache_dir() .. "/history_eval"
|
||||||
|
}
|
||||||
|
end,
|
||||||
|
{description = "lua execute prompt", group = "awesome"}),
|
||||||
|
-- Menubar
|
||||||
|
awful.key({ modkey }, "p", function() menubar.show() end,
|
||||||
|
{description = "show the menubar", group = "launcher"})
|
||||||
|
)
|
||||||
|
|
||||||
|
clientkeys = gears.table.join(
|
||||||
|
awful.key({ modkey, }, "f",
|
||||||
|
function (c)
|
||||||
|
c.fullscreen = not c.fullscreen
|
||||||
|
c:raise()
|
||||||
|
end,
|
||||||
|
{description = "toggle fullscreen", group = "client"}),
|
||||||
|
awful.key({ modkey, "Shift" }, "c", function (c) c:kill() end,
|
||||||
|
{description = "close", group = "client"}),
|
||||||
|
awful.key({ modkey, "Control" }, "space", awful.client.floating.toggle ,
|
||||||
|
{description = "toggle floating", group = "client"}),
|
||||||
|
awful.key({ modkey, "Control" }, "Return", function (c) c:swap(awful.client.getmaster()) end,
|
||||||
|
{description = "move to master", group = "client"}),
|
||||||
|
awful.key({ modkey, }, "o", function (c) c:move_to_screen() end,
|
||||||
|
{description = "move to screen", group = "client"}),
|
||||||
|
awful.key({ modkey, }, "t", function (c) c.ontop = not c.ontop end,
|
||||||
|
{description = "toggle keep on top", group = "client"}),
|
||||||
|
awful.key({ modkey, }, "n",
|
||||||
|
function (c)
|
||||||
|
-- The client currently has the input focus, so it cannot be
|
||||||
|
-- minimized, since minimized clients can't have the focus.
|
||||||
|
c.minimized = true
|
||||||
|
end ,
|
||||||
|
{description = "minimize", group = "client"}),
|
||||||
|
awful.key({ modkey, }, "m",
|
||||||
|
function (c)
|
||||||
|
c.maximized = not c.maximized
|
||||||
|
c:raise()
|
||||||
|
end ,
|
||||||
|
{description = "(un)maximize", group = "client"}),
|
||||||
|
awful.key({ modkey, "Control" }, "m",
|
||||||
|
function (c)
|
||||||
|
c.maximized_vertical = not c.maximized_vertical
|
||||||
|
c:raise()
|
||||||
|
end ,
|
||||||
|
{description = "(un)maximize vertically", group = "client"}),
|
||||||
|
awful.key({ modkey, "Shift" }, "m",
|
||||||
|
function (c)
|
||||||
|
c.maximized_horizontal = not c.maximized_horizontal
|
||||||
|
c:raise()
|
||||||
|
end ,
|
||||||
|
{description = "(un)maximize horizontally", group = "client"})
|
||||||
|
)
|
||||||
|
|
||||||
|
-- Bind all key numbers to tags.
|
||||||
|
-- Be careful: we use keycodes to make it work on any keyboard layout.
|
||||||
|
-- This should map on the top row of your keyboard, usually 1 to 9.
|
||||||
|
for i = 1, 9 do
|
||||||
|
globalkeys = gears.table.join(globalkeys,
|
||||||
|
-- View tag only.
|
||||||
|
awful.key({ modkey }, "#" .. i + 9,
|
||||||
|
function ()
|
||||||
|
local screen = awful.screen.focused()
|
||||||
|
local tag = screen.tags[i]
|
||||||
|
if tag then
|
||||||
|
tag:view_only()
|
||||||
|
end
|
||||||
|
end,
|
||||||
|
{description = "view tag #"..i, group = "tag"}),
|
||||||
|
-- Toggle tag display.
|
||||||
|
awful.key({ modkey, "Control" }, "#" .. i + 9,
|
||||||
|
function ()
|
||||||
|
local screen = awful.screen.focused()
|
||||||
|
local tag = screen.tags[i]
|
||||||
|
if tag then
|
||||||
|
awful.tag.viewtoggle(tag)
|
||||||
|
end
|
||||||
|
end,
|
||||||
|
{description = "toggle tag #" .. i, group = "tag"}),
|
||||||
|
-- Move client to tag.
|
||||||
|
awful.key({ modkey, "Shift" }, "#" .. i + 9,
|
||||||
|
function ()
|
||||||
|
if client.focus then
|
||||||
|
local tag = client.focus.screen.tags[i]
|
||||||
|
if tag then
|
||||||
|
client.focus:move_to_tag(tag)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end,
|
||||||
|
{description = "move focused client to tag #"..i, group = "tag"}),
|
||||||
|
-- Toggle tag on focused client.
|
||||||
|
awful.key({ modkey, "Control", "Shift" }, "#" .. i + 9,
|
||||||
|
function ()
|
||||||
|
if client.focus then
|
||||||
|
local tag = client.focus.screen.tags[i]
|
||||||
|
if tag then
|
||||||
|
client.focus:toggle_tag(tag)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end,
|
||||||
|
{description = "toggle focused client on tag #" .. i, group = "tag"})
|
||||||
|
)
|
||||||
|
end
|
||||||
|
|
||||||
|
clientbuttons = gears.table.join(
|
||||||
|
awful.button({ }, 1, function (c)
|
||||||
|
c:emit_signal("request::activate", "mouse_click", {raise = true})
|
||||||
|
end),
|
||||||
|
awful.button({ modkey }, 1, function (c)
|
||||||
|
c:emit_signal("request::activate", "mouse_click", {raise = true})
|
||||||
|
awful.mouse.client.move(c)
|
||||||
|
end),
|
||||||
|
awful.button({ modkey }, 3, function (c)
|
||||||
|
c:emit_signal("request::activate", "mouse_click", {raise = true})
|
||||||
|
awful.mouse.client.resize(c)
|
||||||
|
end)
|
||||||
|
)
|
||||||
|
|
||||||
|
-- Set keys
|
||||||
|
root.keys(globalkeys)
|
||||||
|
-- }}}
|
||||||
|
|
||||||
|
-- {{{ Rules
|
||||||
|
-- Rules to apply to new clients (through the "manage" signal).
|
||||||
|
awful.rules.rules = {
|
||||||
|
-- All clients will match this rule.
|
||||||
|
{ rule = { },
|
||||||
|
properties = { border_width = beautiful.border_width,
|
||||||
|
border_color = beautiful.border_normal,
|
||||||
|
focus = awful.client.focus.filter,
|
||||||
|
raise = true,
|
||||||
|
keys = clientkeys,
|
||||||
|
buttons = clientbuttons,
|
||||||
|
screen = awful.screen.preferred,
|
||||||
|
placement = awful.placement.no_overlap+awful.placement.no_offscreen
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
-- Floating clients.
|
||||||
|
{ rule_any = {
|
||||||
|
instance = {
|
||||||
|
"DTA", -- Firefox addon DownThemAll.
|
||||||
|
"copyq", -- Includes session name in class.
|
||||||
|
"pinentry",
|
||||||
|
},
|
||||||
|
class = {
|
||||||
|
"Arandr",
|
||||||
|
"Blueman-manager",
|
||||||
|
"Gpick",
|
||||||
|
"Kruler",
|
||||||
|
"MessageWin", -- kalarm.
|
||||||
|
"Sxiv",
|
||||||
|
"Tor Browser", -- Needs a fixed window size to avoid fingerprinting by screen size.
|
||||||
|
"Wpa_gui",
|
||||||
|
"veromix",
|
||||||
|
"xtightvncviewer"},
|
||||||
|
|
||||||
|
-- Note that the name property shown in xprop might be set slightly after creation of the client
|
||||||
|
-- and the name shown there might not match defined rules here.
|
||||||
|
name = {
|
||||||
|
"Event Tester", -- xev.
|
||||||
|
},
|
||||||
|
role = {
|
||||||
|
"AlarmWindow", -- Thunderbird's calendar.
|
||||||
|
"ConfigManager", -- Thunderbird's about:config.
|
||||||
|
"pop-up", -- e.g. Google Chrome's (detached) Developer Tools.
|
||||||
|
}
|
||||||
|
}, properties = { floating = true }},
|
||||||
|
|
||||||
|
-- Add titlebars to normal clients and dialogs
|
||||||
|
{ rule_any = {type = { "normal", "dialog" }
|
||||||
|
}, properties = { titlebars_enabled = false }
|
||||||
|
},
|
||||||
|
|
||||||
|
-- Set Firefox to always map on the tag named "2" on screen 1.
|
||||||
|
-- { rule = { class = "Firefox" },
|
||||||
|
-- properties = { screen = 1, tag = "2" } },
|
||||||
|
}
|
||||||
|
-- }}}
|
||||||
|
|
||||||
|
-- {{{ Signals
|
||||||
|
-- Signal function to execute when a new client appears.
|
||||||
|
client.connect_signal("manage", function (c)
|
||||||
|
-- Set the windows at the slave,
|
||||||
|
-- i.e. put it at the end of others instead of setting it master.
|
||||||
|
-- if not awesome.startup then awful.client.setslave(c) end
|
||||||
|
|
||||||
|
if awesome.startup
|
||||||
|
and not c.size_hints.user_position
|
||||||
|
and not c.size_hints.program_position then
|
||||||
|
-- Prevent clients from being unreachable after screen count changes.
|
||||||
|
awful.placement.no_offscreen(c)
|
||||||
|
end
|
||||||
|
end)
|
||||||
|
|
||||||
|
-- Add a titlebar if titlebars_enabled is set to true in the rules.
|
||||||
|
client.connect_signal("request::titlebars", function(c)
|
||||||
|
-- buttons for the titlebar
|
||||||
|
local buttons = gears.table.join(
|
||||||
|
awful.button({ }, 1, function()
|
||||||
|
c:emit_signal("request::activate", "titlebar", {raise = true})
|
||||||
|
awful.mouse.client.move(c)
|
||||||
|
end),
|
||||||
|
awful.button({ }, 3, function()
|
||||||
|
c:emit_signal("request::activate", "titlebar", {raise = true})
|
||||||
|
awful.mouse.client.resize(c)
|
||||||
|
end)
|
||||||
|
)
|
||||||
|
|
||||||
|
awful.titlebar(c) : setup {
|
||||||
|
{ -- Left
|
||||||
|
awful.titlebar.widget.iconwidget(c),
|
||||||
|
buttons = buttons,
|
||||||
|
layout = wibox.layout.fixed.horizontal
|
||||||
|
},
|
||||||
|
{ -- Middle
|
||||||
|
{ -- Title
|
||||||
|
align = "center",
|
||||||
|
widget = awful.titlebar.widget.titlewidget(c)
|
||||||
|
},
|
||||||
|
buttons = buttons,
|
||||||
|
layout = wibox.layout.flex.horizontal
|
||||||
|
},
|
||||||
|
{ -- Right
|
||||||
|
awful.titlebar.widget.floatingbutton (c),
|
||||||
|
awful.titlebar.widget.maximizedbutton(c),
|
||||||
|
awful.titlebar.widget.stickybutton (c),
|
||||||
|
awful.titlebar.widget.ontopbutton (c),
|
||||||
|
awful.titlebar.widget.closebutton (c),
|
||||||
|
layout = wibox.layout.fixed.horizontal()
|
||||||
|
},
|
||||||
|
layout = wibox.layout.align.horizontal
|
||||||
|
}
|
||||||
|
end)
|
||||||
|
|
||||||
|
-- Enable sloppy focus, so that focus follows mouse.
|
||||||
|
--client.connect_signal("mouse::enter", function(c)
|
||||||
|
-- c:emit_signal("request::activate", "mouse_enter", {raise = false})
|
||||||
|
--end)
|
||||||
|
|
||||||
|
client.connect_signal("focus", function(c) c.border_color = beautiful.border_focus end)
|
||||||
|
client.connect_signal("unfocus", function(c) c.border_color = beautiful.border_normal end)
|
||||||
|
-- }}}
|
||||||
|
--
|
||||||
|
-- Autostart Applications
|
||||||
|
--
|
||||||
|
awful.spawn.with_shell("nitrogen --restore")
|
||||||
|
awful.spawn.with_shell("dunst")
|
||||||
|
awful.spawn.with_shell("alacritty")
|
||||||
|
awful.spawn.with_shell("picom --config ~/.config/picom/picom.conf")
|
||||||
|
awful.spawn.with_shell("lxqt-policykit-agent")
|
||||||
|
awful.spawn.with_shell("flameshot")
|
||||||
|
|
||||||
|
beautiful.useless_gap = 3
|
414
.config/dunst/dunstrc
Normal file
414
.config/dunst/dunstrc
Normal file
|
@ -0,0 +1,414 @@
|
||||||
|
[global]
|
||||||
|
### Display ###
|
||||||
|
|
||||||
|
# Which monitor should the notifications be displayed on.
|
||||||
|
monitor = 0
|
||||||
|
|
||||||
|
# Display notification on focused monitor. Possible modes are:
|
||||||
|
# mouse: follow mouse pointer
|
||||||
|
# keyboard: follow window with keyboard focus
|
||||||
|
# none: don't follow anything
|
||||||
|
#
|
||||||
|
# "keyboard" needs a window manager that exports the
|
||||||
|
# _NET_ACTIVE_WINDOW property.
|
||||||
|
# This should be the case for almost all modern window managers.
|
||||||
|
#
|
||||||
|
# If this option is set to mouse or keyboard, the monitor option
|
||||||
|
# will be ignored.
|
||||||
|
follow = none
|
||||||
|
|
||||||
|
# The geometry of the window:
|
||||||
|
# [{width}]x{height}[+/-{x}+/-{y}]
|
||||||
|
# The geometry of the message window.
|
||||||
|
# The height is measured in number of notifications everything else
|
||||||
|
# in pixels. If the width is omitted but the height is given
|
||||||
|
# ("-geometry x2"), the message window expands over the whole screen
|
||||||
|
# (dmenu-like). If width is 0, the window expands to the longest
|
||||||
|
# message displayed. A positive x is measured from the left, a
|
||||||
|
# negative from the right side of the screen. Y is measured from
|
||||||
|
# the top and down respectively.
|
||||||
|
# The width can be negative. In this case the actual width is the
|
||||||
|
# screen width minus the width defined in within the geometry option.
|
||||||
|
geometry = "300x5-30+30"
|
||||||
|
|
||||||
|
# Show how many messages are currently hidden (because of geometry).
|
||||||
|
indicate_hidden = yes
|
||||||
|
|
||||||
|
# Shrink window if it's smaller than the width. Will be ignored if
|
||||||
|
# width is 0.
|
||||||
|
shrink = no
|
||||||
|
|
||||||
|
# The transparency of the window. Range: [0; 100].
|
||||||
|
# This option will only work if a compositing window manager is
|
||||||
|
# present (e.g. xcompmgr, compiz, etc.).
|
||||||
|
transparency = 5
|
||||||
|
|
||||||
|
# The height of the entire notification. If the height is smaller
|
||||||
|
# than the font height and padding combined, it will be raised
|
||||||
|
# to the font height and padding.
|
||||||
|
notification_height = 0
|
||||||
|
|
||||||
|
# Draw a line of "separator_height" pixel height between two
|
||||||
|
# notifications.
|
||||||
|
# Set to 0 to disable.
|
||||||
|
separator_height = 1
|
||||||
|
|
||||||
|
# Padding between text and separator.
|
||||||
|
padding = 8
|
||||||
|
|
||||||
|
# Horizontal padding.
|
||||||
|
horizontal_padding = 8
|
||||||
|
|
||||||
|
# Defines width in pixels of frame around the notification window.
|
||||||
|
# Set to 0 to disable.
|
||||||
|
frame_width = 1
|
||||||
|
|
||||||
|
# Defines color of the frame around the notification window.
|
||||||
|
frame_color = "#888888"
|
||||||
|
|
||||||
|
# Define a color for the separator.
|
||||||
|
# possible values are:
|
||||||
|
# * auto: dunst tries to find a color fitting to the background;
|
||||||
|
# * foreground: use the same color as the foreground;
|
||||||
|
# * frame: use the same color as the frame;
|
||||||
|
# * anything else will be interpreted as a X color.
|
||||||
|
separator_color = frame
|
||||||
|
|
||||||
|
# Sort messages by urgency.
|
||||||
|
sort = yes
|
||||||
|
|
||||||
|
# Don't remove messages, if the user is idle (no mouse or keyboard input)
|
||||||
|
# for longer than idle_threshold seconds.
|
||||||
|
# Set to 0 to disable.
|
||||||
|
# A client can set the 'transient' hint to bypass this. See the rules
|
||||||
|
# section for how to disable this if necessary
|
||||||
|
idle_threshold = 120
|
||||||
|
|
||||||
|
### Text ###
|
||||||
|
|
||||||
|
font = Monospace 8
|
||||||
|
|
||||||
|
# The spacing between lines. If the height is smaller than the
|
||||||
|
# font height, it will get raised to the font height.
|
||||||
|
line_height = 0
|
||||||
|
|
||||||
|
# Possible values are:
|
||||||
|
# full: Allow a small subset of html markup in notifications:
|
||||||
|
# <b>bold</b>
|
||||||
|
# <i>italic</i>
|
||||||
|
# <s>strikethrough</s>
|
||||||
|
# <u>underline</u>
|
||||||
|
#
|
||||||
|
# For a complete reference see
|
||||||
|
# <http://developer.gnome.org/pango/stable/PangoMarkupFormat.html>.
|
||||||
|
#
|
||||||
|
# strip: This setting is provided for compatibility with some broken
|
||||||
|
# clients that send markup even though it's not enabled on the
|
||||||
|
# server. Dunst will try to strip the markup but the parsing is
|
||||||
|
# simplistic so using this option outside of matching rules for
|
||||||
|
# specific applications *IS GREATLY DISCOURAGED*.
|
||||||
|
#
|
||||||
|
# no: Disable markup parsing, incoming notifications will be treated as
|
||||||
|
# plain text. Dunst will not advertise that it has the body-markup
|
||||||
|
# capability if this is set as a global setting.
|
||||||
|
#
|
||||||
|
# It's important to note that markup inside the format option will be parsed
|
||||||
|
# regardless of what this is set to.
|
||||||
|
markup = full
|
||||||
|
|
||||||
|
# The format of the message. Possible variables are:
|
||||||
|
# %a appname
|
||||||
|
# %s summary
|
||||||
|
# %b body
|
||||||
|
# %i iconname (including its path)
|
||||||
|
# %I iconname (without its path)
|
||||||
|
# %p progress value if set ([ 0%] to [100%]) or nothing
|
||||||
|
# %n progress value if set without any extra characters
|
||||||
|
# %% Literal %
|
||||||
|
# Markup is allowed
|
||||||
|
format = "<b>%s</b>\n%b"
|
||||||
|
|
||||||
|
# Alignment of message text.
|
||||||
|
# Possible values are "left", "center" and "right".
|
||||||
|
alignment = left
|
||||||
|
|
||||||
|
# Show age of message if message is older than show_age_threshold
|
||||||
|
# seconds.
|
||||||
|
# Set to -1 to disable.
|
||||||
|
show_age_threshold = 60
|
||||||
|
|
||||||
|
# Split notifications into multiple lines if they don't fit into
|
||||||
|
# geometry.
|
||||||
|
word_wrap = yes
|
||||||
|
|
||||||
|
# When word_wrap is set to no, specify where to make an ellipsis in long lines.
|
||||||
|
# Possible values are "start", "middle" and "end".
|
||||||
|
ellipsize = middle
|
||||||
|
|
||||||
|
# Ignore newlines '\n' in notifications.
|
||||||
|
ignore_newline = no
|
||||||
|
|
||||||
|
# Stack together notifications with the same content
|
||||||
|
stack_duplicates = true
|
||||||
|
|
||||||
|
# Hide the count of stacked notifications with the same content
|
||||||
|
hide_duplicate_count = false
|
||||||
|
|
||||||
|
# Display indicators for URLs (U) and actions (A).
|
||||||
|
show_indicators = yes
|
||||||
|
|
||||||
|
### Icons ###
|
||||||
|
|
||||||
|
# Align icons left/right/off
|
||||||
|
icon_position = left
|
||||||
|
|
||||||
|
# Scale larger icons down to this size, set to 0 to disable
|
||||||
|
max_icon_size = 32
|
||||||
|
|
||||||
|
# Paths to default icons.
|
||||||
|
icon_path = /usr/share/icons/Papirus-Dark/16x16/status/:/usr/share/icons/Papirus-Dark/16x16/devices/
|
||||||
|
|
||||||
|
### History ###
|
||||||
|
|
||||||
|
# Should a notification popped up from history be sticky or timeout
|
||||||
|
# as if it would normally do.
|
||||||
|
sticky_history = yes
|
||||||
|
|
||||||
|
# Maximum amount of notifications kept in history
|
||||||
|
history_length = 20
|
||||||
|
|
||||||
|
### Misc/Advanced ###
|
||||||
|
|
||||||
|
# dmenu path.
|
||||||
|
dmenu = /usr/bin/dmenu -p dunst:
|
||||||
|
|
||||||
|
# Browser for opening urls in context menu.
|
||||||
|
browser = /usr/bin/firefox -new-tab
|
||||||
|
|
||||||
|
# Always run rule-defined scripts, even if the notification is suppressed
|
||||||
|
always_run_script = true
|
||||||
|
|
||||||
|
# Define the title of the windows spawned by dunst
|
||||||
|
title = Dunst
|
||||||
|
|
||||||
|
# Define the class of the windows spawned by dunst
|
||||||
|
class = Dunst
|
||||||
|
|
||||||
|
# Print a notification on startup.
|
||||||
|
# This is mainly for error detection, since dbus (re-)starts dunst
|
||||||
|
# automatically after a crash.
|
||||||
|
startup_notification = false
|
||||||
|
|
||||||
|
# Manage dunst's desire for talking
|
||||||
|
# Can be one of the following values:
|
||||||
|
# crit: Critical features. Dunst aborts
|
||||||
|
# warn: Only non-fatal warnings
|
||||||
|
# mesg: Important Messages
|
||||||
|
# info: all unimportant stuff
|
||||||
|
# debug: all less than unimportant stuff
|
||||||
|
verbosity = mesg
|
||||||
|
|
||||||
|
# Define the corner radius of the notification window
|
||||||
|
# in pixel size. If the radius is 0, you have no rounded
|
||||||
|
# corners.
|
||||||
|
# The radius will be automatically lowered if it exceeds half of the
|
||||||
|
# notification height to avoid clipping text and/or icons.
|
||||||
|
corner_radius = 0
|
||||||
|
|
||||||
|
### Legacy
|
||||||
|
|
||||||
|
# Use the Xinerama extension instead of RandR for multi-monitor support.
|
||||||
|
# This setting is provided for compatibility with older nVidia drivers that
|
||||||
|
# do not support RandR and using it on systems that support RandR is highly
|
||||||
|
# discouraged.
|
||||||
|
#
|
||||||
|
# By enabling this setting dunst will not be able to detect when a monitor
|
||||||
|
# is connected or disconnected which might break follow mode if the screen
|
||||||
|
# layout changes.
|
||||||
|
force_xinerama = false
|
||||||
|
|
||||||
|
### mouse
|
||||||
|
|
||||||
|
# Defines action of mouse event
|
||||||
|
# Possible values are:
|
||||||
|
# * none: Don't do anything.
|
||||||
|
# * do_action: If the notification has exactly one action, or one is marked as default,
|
||||||
|
# invoke it. If there are multiple and no default, open the context menu.
|
||||||
|
# * close_current: Close current notification.
|
||||||
|
# * close_all: Close all notifications.
|
||||||
|
mouse_left_click = close_current
|
||||||
|
mouse_middle_click = do_action
|
||||||
|
mouse_right_click = close_all
|
||||||
|
|
||||||
|
# Experimental features that may or may not work correctly. Do not expect them
|
||||||
|
# to have a consistent behaviour across releases.
|
||||||
|
[experimental]
|
||||||
|
# Calculate the dpi to use on a per-monitor basis.
|
||||||
|
# If this setting is enabled the Xft.dpi value will be ignored and instead
|
||||||
|
# dunst will attempt to calculate an appropriate dpi value for each monitor
|
||||||
|
# using the resolution and physical size. This might be useful in setups
|
||||||
|
# where there are multiple screens with very different dpi values.
|
||||||
|
per_monitor_dpi = true
|
||||||
|
|
||||||
|
[shortcuts]
|
||||||
|
|
||||||
|
# Shortcuts are specified as [modifier+][modifier+]...key
|
||||||
|
# Available modifiers are "ctrl", "mod1" (the alt-key), "mod2",
|
||||||
|
# "mod3" and "mod4" (windows-key).
|
||||||
|
# Xev might be helpful to find names for keys.
|
||||||
|
|
||||||
|
# Close notification.
|
||||||
|
close = mod4+mod1+space
|
||||||
|
|
||||||
|
# Close all notifications.
|
||||||
|
close_all = mod4+mod1+Shift_L
|
||||||
|
|
||||||
|
# Redisplay last message(s).
|
||||||
|
# On the US keyboard layout "grave" is normally above TAB and left
|
||||||
|
# of "1". Make sure this key actually exists on your keyboard layout,
|
||||||
|
# e.g. check output of 'xmodmap -pke'
|
||||||
|
history = mod4+mod1+Tab
|
||||||
|
|
||||||
|
# Context menu.
|
||||||
|
context = mod4+mod1+period
|
||||||
|
|
||||||
|
[urgency_low]
|
||||||
|
# IMPORTANT: colors have to be defined in quotation marks.
|
||||||
|
# Otherwise the "#" and following would be interpreted as a comment.
|
||||||
|
background = "#204460"
|
||||||
|
foreground = "#dddddd"
|
||||||
|
timeout = 10
|
||||||
|
# Icon for notifications with low urgency, uncomment to enable
|
||||||
|
#icon = /path/to/icon
|
||||||
|
|
||||||
|
[urgency_normal]
|
||||||
|
background = "#204460"
|
||||||
|
foreground = "#dddddd"
|
||||||
|
timeout = 10
|
||||||
|
# Icon for notifications with normal urgency, uncomment to enable
|
||||||
|
#icon = /path/to/icon
|
||||||
|
|
||||||
|
[urgency_critical]
|
||||||
|
background = "#4d0000"
|
||||||
|
foreground = "#dddddd"
|
||||||
|
frame_color = "#ff3333"
|
||||||
|
timeout = 0
|
||||||
|
# Icon for notifications with critical urgency, uncomment to enable
|
||||||
|
#icon = /path/to/icon
|
||||||
|
|
||||||
|
# Every section that isn't one of the above is interpreted as a rules to
|
||||||
|
# override settings for certain messages.
|
||||||
|
#
|
||||||
|
# Messages can be matched by
|
||||||
|
# appname (discouraged, see desktop_entry)
|
||||||
|
# body
|
||||||
|
# category
|
||||||
|
# desktop_entry
|
||||||
|
# icon
|
||||||
|
# match_transient
|
||||||
|
# msg_urgency
|
||||||
|
# stack_tag
|
||||||
|
# summary
|
||||||
|
#
|
||||||
|
# and you can override the
|
||||||
|
# background
|
||||||
|
# foreground
|
||||||
|
# format
|
||||||
|
# frame_color
|
||||||
|
# fullscreen
|
||||||
|
# new_icon
|
||||||
|
# set_stack_tag
|
||||||
|
# set_transient
|
||||||
|
# timeout
|
||||||
|
# urgency
|
||||||
|
#
|
||||||
|
# Shell-like globbing will get expanded.
|
||||||
|
#
|
||||||
|
# Instead of the appname filter, it's recommended to use the desktop_entry filter.
|
||||||
|
# GLib based applications export their desktop-entry name. In comparison to the appname,
|
||||||
|
# the desktop-entry won't get localized.
|
||||||
|
#
|
||||||
|
# SCRIPTING
|
||||||
|
# You can specify a script that gets run when the rule matches by
|
||||||
|
# setting the "script" option.
|
||||||
|
# The script will be called as follows:
|
||||||
|
# script appname summary body icon urgency
|
||||||
|
# where urgency can be "LOW", "NORMAL" or "CRITICAL".
|
||||||
|
#
|
||||||
|
# NOTE: if you don't want a notification to be displayed, set the format
|
||||||
|
# to "".
|
||||||
|
# NOTE: It might be helpful to run dunst -print in a terminal in order
|
||||||
|
# to find fitting options for rules.
|
||||||
|
|
||||||
|
# Disable the transient hint so that idle_threshold cannot be bypassed from the
|
||||||
|
# client
|
||||||
|
#[transient_disable]
|
||||||
|
# match_transient = yes
|
||||||
|
# set_transient = no
|
||||||
|
#
|
||||||
|
# Make the handling of transient notifications more strict by making them not
|
||||||
|
# be placed in history.
|
||||||
|
#[transient_history_ignore]
|
||||||
|
# match_transient = yes
|
||||||
|
# history_ignore = yes
|
||||||
|
|
||||||
|
# fullscreen values
|
||||||
|
# show: show the notifications, regardless if there is a fullscreen window opened
|
||||||
|
# delay: displays the new notification, if there is no fullscreen window active
|
||||||
|
# If the notification is already drawn, it won't get undrawn.
|
||||||
|
# pushback: same as delay, but when switching into fullscreen, the notification will get
|
||||||
|
# withdrawn from screen again and will get delayed like a new notification
|
||||||
|
#[fullscreen_delay_everything]
|
||||||
|
# fullscreen = delay
|
||||||
|
#[fullscreen_show_critical]
|
||||||
|
# msg_urgency = critical
|
||||||
|
# fullscreen = show
|
||||||
|
|
||||||
|
#[espeak]
|
||||||
|
# summary = "*"
|
||||||
|
# script = dunst_espeak.sh
|
||||||
|
|
||||||
|
#[script-test]
|
||||||
|
# summary = "*script*"
|
||||||
|
# script = dunst_test.sh
|
||||||
|
|
||||||
|
#[ignore]
|
||||||
|
# # This notification will not be displayed
|
||||||
|
# summary = "foobar"
|
||||||
|
# format = ""
|
||||||
|
|
||||||
|
#[history-ignore]
|
||||||
|
# # This notification will not be saved in history
|
||||||
|
# summary = "foobar"
|
||||||
|
# history_ignore = yes
|
||||||
|
|
||||||
|
#[skip-display]
|
||||||
|
# # This notification will not be displayed, but will be included in the history
|
||||||
|
# summary = "foobar"
|
||||||
|
# skip_display = yes
|
||||||
|
|
||||||
|
#[signed_on]
|
||||||
|
# appname = Pidgin
|
||||||
|
# summary = "*signed on*"
|
||||||
|
# urgency = low
|
||||||
|
#
|
||||||
|
#[signed_off]
|
||||||
|
# appname = Pidgin
|
||||||
|
# summary = *signed off*
|
||||||
|
# urgency = low
|
||||||
|
#
|
||||||
|
#[says]
|
||||||
|
# appname = Pidgin
|
||||||
|
# summary = *says*
|
||||||
|
# urgency = critical
|
||||||
|
#
|
||||||
|
#[twitter]
|
||||||
|
# appname = Pidgin
|
||||||
|
# summary = *twitter.com*
|
||||||
|
# urgency = normal
|
||||||
|
#
|
||||||
|
#[stack-volumes]
|
||||||
|
# appname = "some_volume_notifiers"
|
||||||
|
# set_stack_tag = "volume"
|
||||||
|
#
|
||||||
|
# vim: ft=cfg
|
193
.config/i3/config
Normal file
193
.config/i3/config
Normal file
|
@ -0,0 +1,193 @@
|
||||||
|
# This file has been auto-generated by i3-config-wizard(1).
|
||||||
|
# It will not be overwritten, so edit it as you like.
|
||||||
|
#
|
||||||
|
# Should you change your keyboard layout some time, delete
|
||||||
|
# this file and re-run i3-config-wizard(1).
|
||||||
|
#
|
||||||
|
|
||||||
|
# i3 config file (v4)
|
||||||
|
#
|
||||||
|
# Please see https://i3wm.org/docs/userguide.html for a complete reference!
|
||||||
|
|
||||||
|
set $mod Mod1
|
||||||
|
|
||||||
|
# Font for window titles. Will also be used by the bar unless a different font
|
||||||
|
# is used in the bar {} block below.
|
||||||
|
font pango:monospace 8
|
||||||
|
|
||||||
|
# This font is widely installed, provides lots of unicode glyphs, right-to-left
|
||||||
|
# text rendering and scalability on retina/hidpi displays (thanks to pango).
|
||||||
|
#font pango:DejaVu Sans Mono 8
|
||||||
|
|
||||||
|
# The combination of xss-lock, nm-applet and pactl is a popular choice, so
|
||||||
|
# they are included here as an example. Modify as you see fit.
|
||||||
|
|
||||||
|
# xss-lock grabs a logind suspend inhibit lock and will use i3lock to lock the
|
||||||
|
# screen before suspend. Use loginctl lock-session to lock your screen.
|
||||||
|
exec --no-startup-id xss-lock --transfer-sleep-lock -- i3lock --nofork
|
||||||
|
|
||||||
|
# NetworkManager is the most popular way to manage wireless networks on Linux,
|
||||||
|
# and nm-applet is a desktop environment-independent system tray GUI for it.
|
||||||
|
exec --no-startup-id nm-applet
|
||||||
|
|
||||||
|
# Use pactl to adjust volume in PulseAudio.
|
||||||
|
set $refresh_i3status killall -SIGUSR1 i3status
|
||||||
|
bindsym XF86AudioRaiseVolume exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ +10% && $refresh_i3status
|
||||||
|
bindsym XF86AudioLowerVolume exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ -10% && $refresh_i3status
|
||||||
|
bindsym XF86AudioMute exec --no-startup-id pactl set-sink-mute @DEFAULT_SINK@ toggle && $refresh_i3status
|
||||||
|
bindsym XF86AudioMicMute exec --no-startup-id pactl set-source-mute @DEFAULT_SOURCE@ toggle && $refresh_i3status
|
||||||
|
|
||||||
|
# Use Mouse+$mod to drag floating windows to their wanted position
|
||||||
|
floating_modifier $mod
|
||||||
|
|
||||||
|
# start a terminal
|
||||||
|
bindsym $mod+Return exec i3-sensible-terminal
|
||||||
|
|
||||||
|
# kill focused window
|
||||||
|
bindsym $mod+Shift+q kill
|
||||||
|
|
||||||
|
# start dmenu (a program launcher)
|
||||||
|
bindsym $mod+d exec dmenu_run
|
||||||
|
# There also is the (new) i3-dmenu-desktop which only displays applications
|
||||||
|
# shipping a .desktop file. It is a wrapper around dmenu, so you need that
|
||||||
|
# installed.
|
||||||
|
# bindsym $mod+d exec --no-startup-id i3-dmenu-desktop
|
||||||
|
|
||||||
|
# change focus
|
||||||
|
bindsym $mod+j focus left
|
||||||
|
bindsym $mod+k focus down
|
||||||
|
bindsym $mod+l focus up
|
||||||
|
bindsym $mod+semicolon focus right
|
||||||
|
|
||||||
|
# alternatively, you can use the cursor keys:
|
||||||
|
bindsym $mod+Left focus left
|
||||||
|
bindsym $mod+Down focus down
|
||||||
|
bindsym $mod+Up focus up
|
||||||
|
bindsym $mod+Right focus right
|
||||||
|
|
||||||
|
# move focused window
|
||||||
|
bindsym $mod+Shift+j move left
|
||||||
|
bindsym $mod+Shift+k move down
|
||||||
|
bindsym $mod+Shift+l move up
|
||||||
|
bindsym $mod+Shift+semicolon move right
|
||||||
|
|
||||||
|
# alternatively, you can use the cursor keys:
|
||||||
|
bindsym $mod+Shift+Left move left
|
||||||
|
bindsym $mod+Shift+Down move down
|
||||||
|
bindsym $mod+Shift+Up move up
|
||||||
|
bindsym $mod+Shift+Right move right
|
||||||
|
|
||||||
|
# split in horizontal orientation
|
||||||
|
bindsym $mod+h split h
|
||||||
|
|
||||||
|
# split in vertical orientation
|
||||||
|
bindsym $mod+v split v
|
||||||
|
|
||||||
|
# enter fullscreen mode for the focused container
|
||||||
|
bindsym $mod+f fullscreen toggle
|
||||||
|
|
||||||
|
# change container layout (stacked, tabbed, toggle split)
|
||||||
|
bindsym $mod+s layout stacking
|
||||||
|
bindsym $mod+w layout tabbed
|
||||||
|
bindsym $mod+e layout toggle split
|
||||||
|
|
||||||
|
# toggle tiling / floating
|
||||||
|
bindsym $mod+Shift+space floating toggle
|
||||||
|
|
||||||
|
# change focus between tiling / floating windows
|
||||||
|
bindsym $mod+space focus mode_toggle
|
||||||
|
|
||||||
|
# focus the parent container
|
||||||
|
bindsym $mod+a focus parent
|
||||||
|
|
||||||
|
# focus the child container
|
||||||
|
#bindsym $mod+d focus child
|
||||||
|
|
||||||
|
# Define names for default workspaces for which we configure key bindings later on.
|
||||||
|
# We use variables to avoid repeating the names in multiple places.
|
||||||
|
set $ws1 "1"
|
||||||
|
set $ws2 "2"
|
||||||
|
set $ws3 "3"
|
||||||
|
set $ws4 "4"
|
||||||
|
set $ws5 "5"
|
||||||
|
set $ws6 "6"
|
||||||
|
set $ws7 "7"
|
||||||
|
set $ws8 "8"
|
||||||
|
set $ws9 "9"
|
||||||
|
set $ws10 "10"
|
||||||
|
|
||||||
|
# switch to workspace
|
||||||
|
bindsym $mod+1 workspace number $ws1
|
||||||
|
bindsym $mod+2 workspace number $ws2
|
||||||
|
bindsym $mod+3 workspace number $ws3
|
||||||
|
bindsym $mod+4 workspace number $ws4
|
||||||
|
bindsym $mod+5 workspace number $ws5
|
||||||
|
bindsym $mod+6 workspace number $ws6
|
||||||
|
bindsym $mod+7 workspace number $ws7
|
||||||
|
bindsym $mod+8 workspace number $ws8
|
||||||
|
bindsym $mod+9 workspace number $ws9
|
||||||
|
bindsym $mod+0 workspace number $ws10
|
||||||
|
|
||||||
|
# move focused container to workspace
|
||||||
|
bindsym $mod+Shift+1 move container to workspace number $ws1
|
||||||
|
bindsym $mod+Shift+2 move container to workspace number $ws2
|
||||||
|
bindsym $mod+Shift+3 move container to workspace number $ws3
|
||||||
|
bindsym $mod+Shift+4 move container to workspace number $ws4
|
||||||
|
bindsym $mod+Shift+5 move container to workspace number $ws5
|
||||||
|
bindsym $mod+Shift+6 move container to workspace number $ws6
|
||||||
|
bindsym $mod+Shift+7 move container to workspace number $ws7
|
||||||
|
bindsym $mod+Shift+8 move container to workspace number $ws8
|
||||||
|
bindsym $mod+Shift+9 move container to workspace number $ws9
|
||||||
|
bindsym $mod+Shift+0 move container to workspace number $ws10
|
||||||
|
|
||||||
|
# reload the configuration file
|
||||||
|
bindsym $mod+Shift+c reload
|
||||||
|
# restart i3 inplace (preserves your layout/session, can be used to upgrade i3)
|
||||||
|
bindsym $mod+Shift+r restart
|
||||||
|
# exit i3 (logs you out of your X session)
|
||||||
|
bindsym $mod+Shift+e exec "i3-nagbar -t warning -m 'You pressed the exit shortcut. Do you really want to exit i3? This will end your X session.' -B 'Yes, exit i3' 'i3-msg exit'"
|
||||||
|
|
||||||
|
# resize window (you can also use the mouse for that)
|
||||||
|
mode "resize" {
|
||||||
|
# These bindings trigger as soon as you enter the resize mode
|
||||||
|
|
||||||
|
# Pressing left will shrink the window’s width.
|
||||||
|
# Pressing right will grow the window’s width.
|
||||||
|
# Pressing up will shrink the window’s height.
|
||||||
|
# Pressing down will grow the window’s height.
|
||||||
|
bindsym j resize shrink width 10 px or 10 ppt
|
||||||
|
bindsym k resize grow height 10 px or 10 ppt
|
||||||
|
bindsym l resize shrink height 10 px or 10 ppt
|
||||||
|
bindsym semicolon resize grow width 10 px or 10 ppt
|
||||||
|
|
||||||
|
# same bindings, but for the arrow keys
|
||||||
|
bindsym Left resize shrink width 10 px or 10 ppt
|
||||||
|
bindsym Down resize grow height 10 px or 10 ppt
|
||||||
|
bindsym Up resize shrink height 10 px or 10 ppt
|
||||||
|
bindsym Right resize grow width 10 px or 10 ppt
|
||||||
|
|
||||||
|
# back to normal: Enter or Escape or $mod+r
|
||||||
|
bindsym Return mode "default"
|
||||||
|
bindsym Escape mode "default"
|
||||||
|
bindsym $mod+r mode "default"
|
||||||
|
}
|
||||||
|
|
||||||
|
bindsym $mod+r mode "resize"
|
||||||
|
|
||||||
|
# Start i3bar to display a workspace bar (plus the system information i3status
|
||||||
|
# finds out, if available)
|
||||||
|
bar {
|
||||||
|
status_command i3status
|
||||||
|
}
|
||||||
|
|
||||||
|
# Custom ---v
|
||||||
|
|
||||||
|
# Startup
|
||||||
|
|
||||||
|
exec --no-startup-id lightcord
|
||||||
|
exec --no-startup-id element
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
focus_follows_mouse no
|
||||||
|
|
14
.config/kak/kakrc
Normal file
14
.config/kak/kakrc
Normal file
|
@ -0,0 +1,14 @@
|
||||||
|
add-highlighter global/ number-lines -separator '|'
|
||||||
|
set-face global LineNumbers rgb:009b11,rgb:303030
|
||||||
|
|
||||||
|
#auto completion
|
||||||
|
hook global InsertCompletionShow .* %{
|
||||||
|
map window insert <tab> <c-n>
|
||||||
|
map window insert <s-tab> <c-p>
|
||||||
|
}
|
||||||
|
|
||||||
|
hook global InsertCompletionHide .* %{
|
||||||
|
unmap window insert <tab> <c-n>
|
||||||
|
unmap window insert <s-tab> <c-p>
|
||||||
|
}
|
||||||
|
|
9
.config/nitrogen/bg-saved.cfg
Normal file
9
.config/nitrogen/bg-saved.cfg
Normal file
|
@ -0,0 +1,9 @@
|
||||||
|
[xin_0]
|
||||||
|
file=/home/zombie/Documents/smalldocs/pictures/ufzombiemaniacbackground.png
|
||||||
|
mode=5
|
||||||
|
bgcolor=#000000
|
||||||
|
|
||||||
|
[xin_1]
|
||||||
|
file=/home/zombie/Documents/smalldocs/pictures/ufzombiemaniacbackground.png
|
||||||
|
mode=5
|
||||||
|
bgcolor=#000000
|
12
.config/nitrogen/nitrogen.cfg
Normal file
12
.config/nitrogen/nitrogen.cfg
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
[geometry]
|
||||||
|
posx=548
|
||||||
|
posy=404
|
||||||
|
sizex=1132
|
||||||
|
sizey=770
|
||||||
|
|
||||||
|
[nitrogen]
|
||||||
|
view=icon
|
||||||
|
recurse=true
|
||||||
|
sort=alpha
|
||||||
|
icon_caps=false
|
||||||
|
dirs=/home/zombie/Documents/smalldocs/pictures/memes;/home/zombie/Documents/smalldocs/pictures;
|
7
.config/openbox/autostart
Normal file
7
.config/openbox/autostart
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
nitrogen --restore &
|
||||||
|
dunst &
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
lightcord &
|
||||||
|
element-desktop &
|
794
.config/openbox/rc.xml
Normal file
794
.config/openbox/rc.xml
Normal file
|
@ -0,0 +1,794 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!-- Do not edit this file, it will be overwritten on install.
|
||||||
|
Copy the file to $HOME/.config/openbox/ instead. -->
|
||||||
|
<openbox_config xmlns="http://openbox.org/3.4/rc" xmlns:xi="http://www.w3.org/2001/XInclude">
|
||||||
|
<resistance>
|
||||||
|
<strength>10</strength>
|
||||||
|
<screen_edge_strength>20</screen_edge_strength>
|
||||||
|
</resistance>
|
||||||
|
<focus>
|
||||||
|
<focusNew>yes</focusNew>
|
||||||
|
<!-- always try to focus new windows when they appear. other rules do
|
||||||
|
apply -->
|
||||||
|
<followMouse>no</followMouse>
|
||||||
|
<!-- move focus to a window when you move the mouse into it -->
|
||||||
|
<focusLast>yes</focusLast>
|
||||||
|
<!-- focus the last used window when changing desktops, instead of the one
|
||||||
|
under the mouse pointer. when followMouse is enabled -->
|
||||||
|
<underMouse>no</underMouse>
|
||||||
|
<!-- move focus under the mouse, even when the mouse is not moving -->
|
||||||
|
<focusDelay>200</focusDelay>
|
||||||
|
<!-- when followMouse is enabled, the mouse must be inside the window for
|
||||||
|
this many milliseconds (1000 = 1 sec) before moving focus to it -->
|
||||||
|
<raiseOnFocus>no</raiseOnFocus>
|
||||||
|
<!-- when followMouse is enabled, and a window is given focus by moving the
|
||||||
|
mouse into it, also raise the window -->
|
||||||
|
</focus>
|
||||||
|
<placement>
|
||||||
|
<policy>Smart</policy>
|
||||||
|
<!-- 'Smart' or 'UnderMouse' -->
|
||||||
|
<center>yes</center>
|
||||||
|
<!-- whether to place windows in the center of the free area found or
|
||||||
|
the top left corner -->
|
||||||
|
<monitor>Primary</monitor>
|
||||||
|
<!-- with Smart placement on a multi-monitor system, try to place new windows
|
||||||
|
on: 'Any' - any monitor, 'Mouse' - where the mouse is, 'Active' - where
|
||||||
|
the active window is, 'Primary' - only on the primary monitor -->
|
||||||
|
<primaryMonitor>1</primaryMonitor>
|
||||||
|
<!-- The monitor where Openbox should place popup dialogs such as the
|
||||||
|
focus cycling popup, or the desktop switch popup. It can be an index
|
||||||
|
from 1, specifying a particular monitor. Or it can be one of the
|
||||||
|
following: 'Mouse' - where the mouse is, or
|
||||||
|
'Active' - where the active window is -->
|
||||||
|
</placement>
|
||||||
|
<theme>
|
||||||
|
<name>Bear2</name>
|
||||||
|
<titleLayout>NLIMC</titleLayout>
|
||||||
|
<!--
|
||||||
|
available characters are NDSLIMC, each can occur at most once.
|
||||||
|
N: window icon
|
||||||
|
L: window label (AKA title).
|
||||||
|
I: iconify
|
||||||
|
M: maximize
|
||||||
|
C: close
|
||||||
|
S: shade (roll up/down)
|
||||||
|
D: omnipresent (on all desktops).
|
||||||
|
-->
|
||||||
|
<keepBorder>yes</keepBorder>
|
||||||
|
<animateIconify>yes</animateIconify>
|
||||||
|
<font place="ActiveWindow">
|
||||||
|
<name>sans</name>
|
||||||
|
<size>8</size>
|
||||||
|
<!-- font size in points -->
|
||||||
|
<weight>bold</weight>
|
||||||
|
<!-- 'bold' or 'normal' -->
|
||||||
|
<slant>normal</slant>
|
||||||
|
<!-- 'italic' or 'normal' -->
|
||||||
|
</font>
|
||||||
|
<font place="InactiveWindow">
|
||||||
|
<name>sans</name>
|
||||||
|
<size>8</size>
|
||||||
|
<!-- font size in points -->
|
||||||
|
<weight>bold</weight>
|
||||||
|
<!-- 'bold' or 'normal' -->
|
||||||
|
<slant>normal</slant>
|
||||||
|
<!-- 'italic' or 'normal' -->
|
||||||
|
</font>
|
||||||
|
<font place="MenuHeader">
|
||||||
|
<name>sans</name>
|
||||||
|
<size>9</size>
|
||||||
|
<!-- font size in points -->
|
||||||
|
<weight>normal</weight>
|
||||||
|
<!-- 'bold' or 'normal' -->
|
||||||
|
<slant>normal</slant>
|
||||||
|
<!-- 'italic' or 'normal' -->
|
||||||
|
</font>
|
||||||
|
<font place="MenuItem">
|
||||||
|
<name>sans</name>
|
||||||
|
<size>9</size>
|
||||||
|
<!-- font size in points -->
|
||||||
|
<weight>normal</weight>
|
||||||
|
<!-- 'bold' or 'normal' -->
|
||||||
|
<slant>normal</slant>
|
||||||
|
<!-- 'italic' or 'normal' -->
|
||||||
|
</font>
|
||||||
|
<font place="ActiveOnScreenDisplay">
|
||||||
|
<name>sans</name>
|
||||||
|
<size>9</size>
|
||||||
|
<!-- font size in points -->
|
||||||
|
<weight>bold</weight>
|
||||||
|
<!-- 'bold' or 'normal' -->
|
||||||
|
<slant>normal</slant>
|
||||||
|
<!-- 'italic' or 'normal' -->
|
||||||
|
</font>
|
||||||
|
<font place="InactiveOnScreenDisplay">
|
||||||
|
<name>sans</name>
|
||||||
|
<size>9</size>
|
||||||
|
<!-- font size in points -->
|
||||||
|
<weight>bold</weight>
|
||||||
|
<!-- 'bold' or 'normal' -->
|
||||||
|
<slant>normal</slant>
|
||||||
|
<!-- 'italic' or 'normal' -->
|
||||||
|
</font>
|
||||||
|
</theme>
|
||||||
|
<desktops>
|
||||||
|
<!-- this stuff is only used at startup, pagers allow you to change them
|
||||||
|
during a session
|
||||||
|
|
||||||
|
these are default values to use when other ones are not already set
|
||||||
|
by other applications, or saved in your session
|
||||||
|
|
||||||
|
use obconf if you want to change these without having to log out
|
||||||
|
and back in -->
|
||||||
|
<number>4</number>
|
||||||
|
<firstdesk>1</firstdesk>
|
||||||
|
<names>
|
||||||
|
<!-- set names up here if you want to, like this:
|
||||||
|
<name>desktop 1</name>
|
||||||
|
<name>desktop 2</name>
|
||||||
|
-->
|
||||||
|
</names>
|
||||||
|
<popupTime>875</popupTime>
|
||||||
|
<!-- The number of milliseconds to show the popup for when switching
|
||||||
|
desktops. Set this to 0 to disable the popup. -->
|
||||||
|
</desktops>
|
||||||
|
<resize>
|
||||||
|
<drawContents>yes</drawContents>
|
||||||
|
<popupShow>Nonpixel</popupShow>
|
||||||
|
<!-- 'Always', 'Never', or 'Nonpixel' (xterms and such) -->
|
||||||
|
<popupPosition>Center</popupPosition>
|
||||||
|
<!-- 'Center', 'Top', or 'Fixed' -->
|
||||||
|
<popupFixedPosition>
|
||||||
|
<!-- these are used if popupPosition is set to 'Fixed' -->
|
||||||
|
<x>10</x>
|
||||||
|
<!-- positive number for distance from left edge, negative number for
|
||||||
|
distance from right edge, or 'Center' -->
|
||||||
|
<y>10</y>
|
||||||
|
<!-- positive number for distance from top edge, negative number for
|
||||||
|
distance from bottom edge, or 'Center' -->
|
||||||
|
</popupFixedPosition>
|
||||||
|
</resize>
|
||||||
|
<!-- You can reserve a portion of your screen where windows will not cover when
|
||||||
|
they are maximized, or when they are initially placed.
|
||||||
|
Many programs reserve space automatically, but you can use this in other
|
||||||
|
cases. -->
|
||||||
|
<margins>
|
||||||
|
<top>0</top>
|
||||||
|
<bottom>0</bottom>
|
||||||
|
<left>0</left>
|
||||||
|
<right>0</right>
|
||||||
|
</margins>
|
||||||
|
<dock>
|
||||||
|
<position>TopLeft</position>
|
||||||
|
<!-- (Top|Bottom)(Left|Right|)|Top|Bottom|Left|Right|Floating -->
|
||||||
|
<floatingX>0</floatingX>
|
||||||
|
<floatingY>0</floatingY>
|
||||||
|
<noStrut>no</noStrut>
|
||||||
|
<stacking>Above</stacking>
|
||||||
|
<!-- 'Above', 'Normal', or 'Below' -->
|
||||||
|
<direction>Vertical</direction>
|
||||||
|
<!-- 'Vertical' or 'Horizontal' -->
|
||||||
|
<autoHide>no</autoHide>
|
||||||
|
<hideDelay>300</hideDelay>
|
||||||
|
<!-- in milliseconds (1000 = 1 second) -->
|
||||||
|
<showDelay>300</showDelay>
|
||||||
|
<!-- in milliseconds (1000 = 1 second) -->
|
||||||
|
<moveButton>Middle</moveButton>
|
||||||
|
<!-- 'Left', 'Middle', 'Right' -->
|
||||||
|
</dock>
|
||||||
|
<keyboard>
|
||||||
|
<chainQuitKey>C-g</chainQuitKey>
|
||||||
|
<!-- Keybindings for desktop switching -->
|
||||||
|
<keybind key="C-A-Left">
|
||||||
|
<action name="GoToDesktop">
|
||||||
|
<to>left</to>
|
||||||
|
<wrap>no</wrap>
|
||||||
|
</action>
|
||||||
|
</keybind>
|
||||||
|
<keybind key="C-A-Right">
|
||||||
|
<action name="GoToDesktop">
|
||||||
|
<to>right</to>
|
||||||
|
<wrap>no</wrap>
|
||||||
|
</action>
|
||||||
|
</keybind>
|
||||||
|
<keybind key="C-A-Up">
|
||||||
|
<action name="GoToDesktop">
|
||||||
|
<to>up</to>
|
||||||
|
<wrap>no</wrap>
|
||||||
|
</action>
|
||||||
|
</keybind>
|
||||||
|
<keybind key="C-A-Down">
|
||||||
|
<action name="GoToDesktop">
|
||||||
|
<to>down</to>
|
||||||
|
<wrap>no</wrap>
|
||||||
|
</action>
|
||||||
|
</keybind>
|
||||||
|
<keybind key="S-A-Left">
|
||||||
|
<action name="SendToDesktop">
|
||||||
|
<to>left</to>
|
||||||
|
<wrap>no</wrap>
|
||||||
|
</action>
|
||||||
|
</keybind>
|
||||||
|
<keybind key="S-A-Right">
|
||||||
|
<action name="SendToDesktop">
|
||||||
|
<to>right</to>
|
||||||
|
<wrap>no</wrap>
|
||||||
|
</action>
|
||||||
|
</keybind>
|
||||||
|
<keybind key="S-A-Up">
|
||||||
|
<action name="SendToDesktop">
|
||||||
|
<to>up</to>
|
||||||
|
<wrap>no</wrap>
|
||||||
|
</action>
|
||||||
|
</keybind>
|
||||||
|
<keybind key="S-A-Down">
|
||||||
|
<action name="SendToDesktop">
|
||||||
|
<to>down</to>
|
||||||
|
<wrap>no</wrap>
|
||||||
|
</action>
|
||||||
|
</keybind>
|
||||||
|
<keybind key="W-F1">
|
||||||
|
<action name="GoToDesktop">
|
||||||
|
<to>1</to>
|
||||||
|
</action>
|
||||||
|
</keybind>
|
||||||
|
<keybind key="W-F2">
|
||||||
|
<action name="GoToDesktop">
|
||||||
|
<to>2</to>
|
||||||
|
</action>
|
||||||
|
</keybind>
|
||||||
|
<keybind key="W-F3">
|
||||||
|
<action name="GoToDesktop">
|
||||||
|
<to>3</to>
|
||||||
|
</action>
|
||||||
|
</keybind>
|
||||||
|
<keybind key="W-F4">
|
||||||
|
<action name="GoToDesktop">
|
||||||
|
<to>4</to>
|
||||||
|
</action>
|
||||||
|
</keybind>
|
||||||
|
<keybind key="W-d">
|
||||||
|
<action name="ToggleShowDesktop"/>
|
||||||
|
</keybind>
|
||||||
|
<!-- Keybindings for windows -->
|
||||||
|
<keybind key="W-S-q">
|
||||||
|
<action name="Close"/>
|
||||||
|
</keybind>
|
||||||
|
<keybind key="A-Escape">
|
||||||
|
<action name="Lower"/>
|
||||||
|
<action name="FocusToBottom"/>
|
||||||
|
<action name="Unfocus"/>
|
||||||
|
</keybind>
|
||||||
|
<keybind key="A-space">
|
||||||
|
<action name="ShowMenu">
|
||||||
|
<menu>client-menu</menu>
|
||||||
|
</action>
|
||||||
|
</keybind>
|
||||||
|
<!-- Keybindings for window switching -->
|
||||||
|
<keybind key="A-Tab">
|
||||||
|
<action name="NextWindow">
|
||||||
|
<finalactions>
|
||||||
|
<action name="Focus"/>
|
||||||
|
<action name="Raise"/>
|
||||||
|
<action name="Unshade"/>
|
||||||
|
</finalactions>
|
||||||
|
</action>
|
||||||
|
</keybind>
|
||||||
|
<keybind key="A-S-Tab">
|
||||||
|
<action name="PreviousWindow">
|
||||||
|
<finalactions>
|
||||||
|
<action name="Focus"/>
|
||||||
|
<action name="Raise"/>
|
||||||
|
<action name="Unshade"/>
|
||||||
|
</finalactions>
|
||||||
|
</action>
|
||||||
|
</keybind>
|
||||||
|
<keybind key="C-A-Tab">
|
||||||
|
<action name="NextWindow">
|
||||||
|
<panels>yes</panels>
|
||||||
|
<desktop>yes</desktop>
|
||||||
|
<finalactions>
|
||||||
|
<action name="Focus"/>
|
||||||
|
<action name="Raise"/>
|
||||||
|
<action name="Unshade"/>
|
||||||
|
</finalactions>
|
||||||
|
</action>
|
||||||
|
</keybind>
|
||||||
|
<!-- Keybindings for window switching with the arrow keys -->
|
||||||
|
<keybind key="W-S-Right">
|
||||||
|
<action name="DirectionalCycleWindows">
|
||||||
|
<direction>right</direction>
|
||||||
|
</action>
|
||||||
|
</keybind>
|
||||||
|
<keybind key="W-S-Left">
|
||||||
|
<action name="DirectionalCycleWindows">
|
||||||
|
<direction>left</direction>
|
||||||
|
</action>
|
||||||
|
</keybind>
|
||||||
|
<keybind key="W-S-Up">
|
||||||
|
<action name="DirectionalCycleWindows">
|
||||||
|
<direction>up</direction>
|
||||||
|
</action>
|
||||||
|
</keybind>
|
||||||
|
<keybind key="W-S-Down">
|
||||||
|
<action name="DirectionalCycleWindows">
|
||||||
|
<direction>down</direction>
|
||||||
|
</action>
|
||||||
|
</keybind>
|
||||||
|
<!-- Keybindings for running applications -->
|
||||||
|
<keybind key="W-e">
|
||||||
|
<action name="Execute">
|
||||||
|
<startupnotify>
|
||||||
|
<enabled>true</enabled>
|
||||||
|
<name>Konqueror</name>
|
||||||
|
</startupnotify>
|
||||||
|
<command>kfmclient openProfile filemanagement</command>
|
||||||
|
</action>
|
||||||
|
</keybind>
|
||||||
|
<keybind key="C-A-t">
|
||||||
|
<action name="Execute">
|
||||||
|
<command>alacritty</command>
|
||||||
|
</action>
|
||||||
|
</keybind>
|
||||||
|
<keybind key="W-r">
|
||||||
|
<action name="Execute">
|
||||||
|
<command>rofi -show drun</command>
|
||||||
|
</action>
|
||||||
|
</keybind>
|
||||||
|
</keyboard>
|
||||||
|
<mouse>
|
||||||
|
<dragThreshold>1</dragThreshold>
|
||||||
|
<!-- number of pixels the mouse must move before a drag begins -->
|
||||||
|
<doubleClickTime>500</doubleClickTime>
|
||||||
|
<!-- in milliseconds (1000 = 1 second) -->
|
||||||
|
<screenEdgeWarpTime>400</screenEdgeWarpTime>
|
||||||
|
<!-- Time before changing desktops when the pointer touches the edge of the
|
||||||
|
screen while moving a window, in milliseconds (1000 = 1 second).
|
||||||
|
Set this to 0 to disable warping -->
|
||||||
|
<screenEdgeWarpMouse>false</screenEdgeWarpMouse>
|
||||||
|
<!-- Set this to TRUE to move the mouse pointer across the desktop when
|
||||||
|
switching due to hitting the edge of the screen -->
|
||||||
|
<context name="Frame">
|
||||||
|
<mousebind button="A-Left" action="Press">
|
||||||
|
<action name="Focus"/>
|
||||||
|
<action name="Raise"/>
|
||||||
|
</mousebind>
|
||||||
|
<mousebind button="A-Left" action="Click">
|
||||||
|
<action name="Unshade"/>
|
||||||
|
</mousebind>
|
||||||
|
<mousebind button="A-Left" action="Drag">
|
||||||
|
<action name="Move"/>
|
||||||
|
</mousebind>
|
||||||
|
<mousebind button="A-Right" action="Press">
|
||||||
|
<action name="Focus"/>
|
||||||
|
<action name="Raise"/>
|
||||||
|
<action name="Unshade"/>
|
||||||
|
</mousebind>
|
||||||
|
<mousebind button="A-Right" action="Drag">
|
||||||
|
<action name="Resize"/>
|
||||||
|
</mousebind>
|
||||||
|
<mousebind button="A-Middle" action="Press">
|
||||||
|
<action name="Lower"/>
|
||||||
|
<action name="FocusToBottom"/>
|
||||||
|
<action name="Unfocus"/>
|
||||||
|
</mousebind>
|
||||||
|
<mousebind button="A-Up" action="Click">
|
||||||
|
<action name="GoToDesktop">
|
||||||
|
<to>previous</to>
|
||||||
|
</action>
|
||||||
|
</mousebind>
|
||||||
|
<mousebind button="A-Down" action="Click">
|
||||||
|
<action name="GoToDesktop">
|
||||||
|
<to>next</to>
|
||||||
|
</action>
|
||||||
|
</mousebind>
|
||||||
|
<mousebind button="C-A-Up" action="Click">
|
||||||
|
<action name="GoToDesktop">
|
||||||
|
<to>previous</to>
|
||||||
|
</action>
|
||||||
|
</mousebind>
|
||||||
|
<mousebind button="C-A-Down" action="Click">
|
||||||
|
<action name="GoToDesktop">
|
||||||
|
<to>next</to>
|
||||||
|
</action>
|
||||||
|
</mousebind>
|
||||||
|
<mousebind button="A-S-Up" action="Click">
|
||||||
|
<action name="SendToDesktop">
|
||||||
|
<to>previous</to>
|
||||||
|
</action>
|
||||||
|
</mousebind>
|
||||||
|
<mousebind button="A-S-Down" action="Click">
|
||||||
|
<action name="SendToDesktop">
|
||||||
|
<to>next</to>
|
||||||
|
</action>
|
||||||
|
</mousebind>
|
||||||
|
</context>
|
||||||
|
<context name="Titlebar">
|
||||||
|
<mousebind button="Left" action="Drag">
|
||||||
|
<action name="Move"/>
|
||||||
|
</mousebind>
|
||||||
|
<mousebind button="Left" action="DoubleClick">
|
||||||
|
<action name="ToggleMaximize"/>
|
||||||
|
</mousebind>
|
||||||
|
<mousebind button="Up" action="Click">
|
||||||
|
<action name="if">
|
||||||
|
<shaded>no</shaded>
|
||||||
|
<then>
|
||||||
|
<action name="Shade"/>
|
||||||
|
<action name="FocusToBottom"/>
|
||||||
|
<action name="Unfocus"/>
|
||||||
|
<action name="Lower"/>
|
||||||
|
</then>
|
||||||
|
</action>
|
||||||
|
</mousebind>
|
||||||
|
<mousebind button="Down" action="Click">
|
||||||
|
<action name="if">
|
||||||
|
<shaded>yes</shaded>
|
||||||
|
<then>
|
||||||
|
<action name="Unshade"/>
|
||||||
|
<action name="Raise"/>
|
||||||
|
</then>
|
||||||
|
</action>
|
||||||
|
</mousebind>
|
||||||
|
</context>
|
||||||
|
<context name="Titlebar Top Right Bottom Left TLCorner TRCorner BRCorner BLCorner">
|
||||||
|
<mousebind button="Left" action="Press">
|
||||||
|
<action name="Focus"/>
|
||||||
|
<action name="Raise"/>
|
||||||
|
<action name="Unshade"/>
|
||||||
|
</mousebind>
|
||||||
|
<mousebind button="Middle" action="Press">
|
||||||
|
<action name="Lower"/>
|
||||||
|
<action name="FocusToBottom"/>
|
||||||
|
<action name="Unfocus"/>
|
||||||
|
</mousebind>
|
||||||
|
<mousebind button="Right" action="Press">
|
||||||
|
<action name="Focus"/>
|
||||||
|
<action name="Raise"/>
|
||||||
|
<action name="ShowMenu">
|
||||||
|
<menu>client-menu</menu>
|
||||||
|
</action>
|
||||||
|
</mousebind>
|
||||||
|
</context>
|
||||||
|
<context name="Top">
|
||||||
|
<mousebind button="Left" action="Drag">
|
||||||
|
<action name="Resize">
|
||||||
|
<edge>top</edge>
|
||||||
|
</action>
|
||||||
|
</mousebind>
|
||||||
|
</context>
|
||||||
|
<context name="Left">
|
||||||
|
<mousebind button="Left" action="Drag">
|
||||||
|
<action name="Resize">
|
||||||
|
<edge>left</edge>
|
||||||
|
</action>
|
||||||
|
</mousebind>
|
||||||
|
</context>
|
||||||
|
<context name="Right">
|
||||||
|
<mousebind button="Left" action="Drag">
|
||||||
|
<action name="Resize">
|
||||||
|
<edge>right</edge>
|
||||||
|
</action>
|
||||||
|
</mousebind>
|
||||||
|
</context>
|
||||||
|
<context name="Bottom">
|
||||||
|
<mousebind button="Left" action="Drag">
|
||||||
|
<action name="Resize">
|
||||||
|
<edge>bottom</edge>
|
||||||
|
</action>
|
||||||
|
</mousebind>
|
||||||
|
<mousebind button="Right" action="Press">
|
||||||
|
<action name="Focus"/>
|
||||||
|
<action name="Raise"/>
|
||||||
|
<action name="ShowMenu">
|
||||||
|
<menu>client-menu</menu>
|
||||||
|
</action>
|
||||||
|
</mousebind>
|
||||||
|
</context>
|
||||||
|
<context name="TRCorner BRCorner TLCorner BLCorner">
|
||||||
|
<mousebind button="Left" action="Press">
|
||||||
|
<action name="Focus"/>
|
||||||
|
<action name="Raise"/>
|
||||||
|
<action name="Unshade"/>
|
||||||
|
</mousebind>
|
||||||
|
<mousebind button="Left" action="Drag">
|
||||||
|
<action name="Resize"/>
|
||||||
|
</mousebind>
|
||||||
|
</context>
|
||||||
|
<context name="Client">
|
||||||
|
<mousebind button="Left" action="Press">
|
||||||
|
<action name="Focus"/>
|
||||||
|
<action name="Raise"/>
|
||||||
|
</mousebind>
|
||||||
|
<mousebind button="Middle" action="Press">
|
||||||
|
<action name="Focus"/>
|
||||||
|
<action name="Raise"/>
|
||||||
|
</mousebind>
|
||||||
|
<mousebind button="Right" action="Press">
|
||||||
|
<action name="Focus"/>
|
||||||
|
<action name="Raise"/>
|
||||||
|
</mousebind>
|
||||||
|
</context>
|
||||||
|
<context name="Icon">
|
||||||
|
<mousebind button="Left" action="Press">
|
||||||
|
<action name="Focus"/>
|
||||||
|
<action name="Raise"/>
|
||||||
|
<action name="Unshade"/>
|
||||||
|
<action name="ShowMenu">
|
||||||
|
<menu>client-menu</menu>
|
||||||
|
</action>
|
||||||
|
</mousebind>
|
||||||
|
<mousebind button="Right" action="Press">
|
||||||
|
<action name="Focus"/>
|
||||||
|
<action name="Raise"/>
|
||||||
|
<action name="ShowMenu">
|
||||||
|
<menu>client-menu</menu>
|
||||||
|
</action>
|
||||||
|
</mousebind>
|
||||||
|
</context>
|
||||||
|
<context name="AllDesktops">
|
||||||
|
<mousebind button="Left" action="Press">
|
||||||
|
<action name="Focus"/>
|
||||||
|
<action name="Raise"/>
|
||||||
|
<action name="Unshade"/>
|
||||||
|
</mousebind>
|
||||||
|
<mousebind button="Left" action="Click">
|
||||||
|
<action name="ToggleOmnipresent"/>
|
||||||
|
</mousebind>
|
||||||
|
</context>
|
||||||
|
<context name="Shade">
|
||||||
|
<mousebind button="Left" action="Press">
|
||||||
|
<action name="Focus"/>
|
||||||
|
<action name="Raise"/>
|
||||||
|
</mousebind>
|
||||||
|
<mousebind button="Left" action="Click">
|
||||||
|
<action name="ToggleShade"/>
|
||||||
|
</mousebind>
|
||||||
|
</context>
|
||||||
|
<context name="Iconify">
|
||||||
|
<mousebind button="Left" action="Press">
|
||||||
|
<action name="Focus"/>
|
||||||
|
<action name="Raise"/>
|
||||||
|
</mousebind>
|
||||||
|
<mousebind button="Left" action="Click">
|
||||||
|
<action name="Iconify"/>
|
||||||
|
</mousebind>
|
||||||
|
</context>
|
||||||
|
<context name="Maximize">
|
||||||
|
<mousebind button="Left" action="Press">
|
||||||
|
<action name="Focus"/>
|
||||||
|
<action name="Raise"/>
|
||||||
|
<action name="Unshade"/>
|
||||||
|
</mousebind>
|
||||||
|
<mousebind button="Middle" action="Press">
|
||||||
|
<action name="Focus"/>
|
||||||
|
<action name="Raise"/>
|
||||||
|
<action name="Unshade"/>
|
||||||
|
</mousebind>
|
||||||
|
<mousebind button="Right" action="Press">
|
||||||
|
<action name="Focus"/>
|
||||||
|
<action name="Raise"/>
|
||||||
|
<action name="Unshade"/>
|
||||||
|
</mousebind>
|
||||||
|
<mousebind button="Left" action="Click">
|
||||||
|
<action name="ToggleMaximize"/>
|
||||||
|
</mousebind>
|
||||||
|
<mousebind button="Middle" action="Click">
|
||||||
|
<action name="ToggleMaximize">
|
||||||
|
<direction>vertical</direction>
|
||||||
|
</action>
|
||||||
|
</mousebind>
|
||||||
|
<mousebind button="Right" action="Click">
|
||||||
|
<action name="ToggleMaximize">
|
||||||
|
<direction>horizontal</direction>
|
||||||
|
</action>
|
||||||
|
</mousebind>
|
||||||
|
</context>
|
||||||
|
<context name="Close">
|
||||||
|
<mousebind button="Left" action="Press">
|
||||||
|
<action name="Focus"/>
|
||||||
|
<action name="Raise"/>
|
||||||
|
<action name="Unshade"/>
|
||||||
|
</mousebind>
|
||||||
|
<mousebind button="Left" action="Click">
|
||||||
|
<action name="Close"/>
|
||||||
|
</mousebind>
|
||||||
|
</context>
|
||||||
|
<context name="Desktop">
|
||||||
|
<mousebind button="Up" action="Click">
|
||||||
|
<action name="GoToDesktop">
|
||||||
|
<to>previous</to>
|
||||||
|
</action>
|
||||||
|
</mousebind>
|
||||||
|
<mousebind button="Down" action="Click">
|
||||||
|
<action name="GoToDesktop">
|
||||||
|
<to>next</to>
|
||||||
|
</action>
|
||||||
|
</mousebind>
|
||||||
|
<mousebind button="A-Up" action="Click">
|
||||||
|
<action name="GoToDesktop">
|
||||||
|
<to>previous</to>
|
||||||
|
</action>
|
||||||
|
</mousebind>
|
||||||
|
<mousebind button="A-Down" action="Click">
|
||||||
|
<action name="GoToDesktop">
|
||||||
|
<to>next</to>
|
||||||
|
</action>
|
||||||
|
</mousebind>
|
||||||
|
<mousebind button="C-A-Up" action="Click">
|
||||||
|
<action name="GoToDesktop">
|
||||||
|
<to>previous</to>
|
||||||
|
</action>
|
||||||
|
</mousebind>
|
||||||
|
<mousebind button="C-A-Down" action="Click">
|
||||||
|
<action name="GoToDesktop">
|
||||||
|
<to>next</to>
|
||||||
|
</action>
|
||||||
|
</mousebind>
|
||||||
|
<mousebind button="Left" action="Press">
|
||||||
|
<action name="Focus"/>
|
||||||
|
<action name="Raise"/>
|
||||||
|
</mousebind>
|
||||||
|
<mousebind button="Right" action="Press">
|
||||||
|
<action name="Focus"/>
|
||||||
|
<action name="Raise"/>
|
||||||
|
</mousebind>
|
||||||
|
</context>
|
||||||
|
<context name="Root">
|
||||||
|
<!-- Menus -->
|
||||||
|
<mousebind button="Middle" action="Press">
|
||||||
|
<action name="ShowMenu">
|
||||||
|
<menu>client-list-combined-menu</menu>
|
||||||
|
</action>
|
||||||
|
</mousebind>
|
||||||
|
<mousebind button="Right" action="Press">
|
||||||
|
<action name="ShowMenu">
|
||||||
|
<menu>root-menu</menu>
|
||||||
|
</action>
|
||||||
|
</mousebind>
|
||||||
|
</context>
|
||||||
|
<context name="MoveResize">
|
||||||
|
<mousebind button="Up" action="Click">
|
||||||
|
<action name="GoToDesktop">
|
||||||
|
<to>previous</to>
|
||||||
|
</action>
|
||||||
|
</mousebind>
|
||||||
|
<mousebind button="Down" action="Click">
|
||||||
|
<action name="GoToDesktop">
|
||||||
|
<to>next</to>
|
||||||
|
</action>
|
||||||
|
</mousebind>
|
||||||
|
<mousebind button="A-Up" action="Click">
|
||||||
|
<action name="GoToDesktop">
|
||||||
|
<to>previous</to>
|
||||||
|
</action>
|
||||||
|
</mousebind>
|
||||||
|
<mousebind button="A-Down" action="Click">
|
||||||
|
<action name="GoToDesktop">
|
||||||
|
<to>next</to>
|
||||||
|
</action>
|
||||||
|
</mousebind>
|
||||||
|
</context>
|
||||||
|
</mouse>
|
||||||
|
<menu>
|
||||||
|
<!-- You can specify more than one menu file in here and they are all loaded,
|
||||||
|
just don't make menu ids clash or, well, it'll be kind of pointless -->
|
||||||
|
<!-- default menu file (or custom one in $HOME/.config/openbox/) -->
|
||||||
|
<file>menu.xml</file>
|
||||||
|
<hideDelay>200</hideDelay>
|
||||||
|
<!-- if a press-release lasts longer than this setting (in milliseconds), the
|
||||||
|
menu is hidden again -->
|
||||||
|
<middle>no</middle>
|
||||||
|
<!-- center submenus vertically about the parent entry -->
|
||||||
|
<submenuShowDelay>100</submenuShowDelay>
|
||||||
|
<!-- time to delay before showing a submenu after hovering over the parent
|
||||||
|
entry.
|
||||||
|
if this is a negative value, then the delay is infinite and the
|
||||||
|
submenu will not be shown until it is clicked on -->
|
||||||
|
<submenuHideDelay>400</submenuHideDelay>
|
||||||
|
<!-- time to delay before hiding a submenu when selecting another
|
||||||
|
entry in parent menu
|
||||||
|
if this is a negative value, then the delay is infinite and the
|
||||||
|
submenu will not be hidden until a different submenu is opened -->
|
||||||
|
<showIcons>yes</showIcons>
|
||||||
|
<!-- controls if icons appear in the client-list-(combined-)menu -->
|
||||||
|
<manageDesktops>yes</manageDesktops>
|
||||||
|
<!-- show the manage desktops section in the client-list-(combined-)menu -->
|
||||||
|
</menu>
|
||||||
|
<applications>
|
||||||
|
<!--
|
||||||
|
# this is an example with comments through out. use these to make your
|
||||||
|
# own rules, but without the comments of course.
|
||||||
|
# you may use one or more of the name/class/role/title/type rules to specify
|
||||||
|
# windows to match
|
||||||
|
|
||||||
|
<application name="the window's _OB_APP_NAME property (see obxprop)"
|
||||||
|
class="the window's _OB_APP_CLASS property (see obxprop)"
|
||||||
|
groupname="the window's _OB_APP_GROUP_NAME property (see obxprop)"
|
||||||
|
groupclass="the window's _OB_APP_GROUP_CLASS property (see obxprop)"
|
||||||
|
role="the window's _OB_APP_ROLE property (see obxprop)"
|
||||||
|
title="the window's _OB_APP_TITLE property (see obxprop)"
|
||||||
|
type="the window's _OB_APP_TYPE property (see obxprob)..
|
||||||
|
(if unspecified, then it is 'dialog' for child windows)">
|
||||||
|
# you may set only one of name/class/role/title/type, or you may use more
|
||||||
|
# than one together to restrict your matches.
|
||||||
|
|
||||||
|
# the name, class, role, and title use simple wildcard matching such as those
|
||||||
|
# used by a shell. you can use * to match any characters and ? to match
|
||||||
|
# any single character.
|
||||||
|
|
||||||
|
# the type is one of: normal, dialog, splash, utility, menu, toolbar, dock,
|
||||||
|
# or desktop
|
||||||
|
|
||||||
|
# when multiple rules match a window, they will all be applied, in the
|
||||||
|
# order that they appear in this list
|
||||||
|
|
||||||
|
|
||||||
|
# each rule element can be left out or set to 'default' to specify to not
|
||||||
|
# change that attribute of the window
|
||||||
|
|
||||||
|
<decor>yes</decor>
|
||||||
|
# enable or disable window decorations
|
||||||
|
|
||||||
|
<shade>no</shade>
|
||||||
|
# make the window shaded when it appears, or not
|
||||||
|
|
||||||
|
<position force="no">
|
||||||
|
# the position is only used if both an x and y coordinate are provided
|
||||||
|
# (and not set to 'default')
|
||||||
|
# when force is "yes", then the window will be placed here even if it
|
||||||
|
# says you want it placed elsewhere. this is to override buggy
|
||||||
|
# applications who refuse to behave
|
||||||
|
<x>center</x>
|
||||||
|
# a number like 50, or 'center' to center on screen. use a negative number
|
||||||
|
# to start from the right (or bottom for <y>), ie -50 is 50 pixels from
|
||||||
|
# the right edge (or bottom). use 'default' to specify using value
|
||||||
|
# provided by the application, or chosen by openbox, instead.
|
||||||
|
<y>200</y>
|
||||||
|
<monitor>1</monitor>
|
||||||
|
# specifies the monitor in a xinerama setup.
|
||||||
|
# 1 is the first head, or 'mouse' for wherever the mouse is
|
||||||
|
</position>
|
||||||
|
|
||||||
|
<size>
|
||||||
|
# the size to make the window.
|
||||||
|
<width>20</width>
|
||||||
|
# a number like 20, or 'default' to use the size given by the application.
|
||||||
|
# you can use fractions such as 1/2 or percentages such as 75% in which
|
||||||
|
# case the value is relative to the size of the monitor that the window
|
||||||
|
# appears on.
|
||||||
|
<height>30%</height>
|
||||||
|
</size>
|
||||||
|
|
||||||
|
<focus>yes</focus>
|
||||||
|
# if the window should try be given focus when it appears. if this is set
|
||||||
|
# to yes it doesn't guarantee the window will be given focus. some
|
||||||
|
# restrictions may apply, but Openbox will try to
|
||||||
|
|
||||||
|
<desktop>1</desktop>
|
||||||
|
# 1 is the first desktop, 'all' for all desktops
|
||||||
|
|
||||||
|
<layer>normal</layer>
|
||||||
|
# 'above', 'normal', or 'below'
|
||||||
|
|
||||||
|
<iconic>no</iconic>
|
||||||
|
# make the window iconified when it appears, or not
|
||||||
|
|
||||||
|
<skip_pager>no</skip_pager>
|
||||||
|
# asks to not be shown in pagers
|
||||||
|
|
||||||
|
<skip_taskbar>no</skip_taskbar>
|
||||||
|
# asks to not be shown in taskbars. window cycling actions will also
|
||||||
|
# skip past such windows
|
||||||
|
|
||||||
|
<fullscreen>yes</fullscreen>
|
||||||
|
# make the window in fullscreen mode when it appears
|
||||||
|
|
||||||
|
<maximized>true</maximized>
|
||||||
|
# 'Horizontal', 'Vertical' or boolean (yes/no)
|
||||||
|
</application>
|
||||||
|
|
||||||
|
# end of the example
|
||||||
|
-->
|
||||||
|
</applications>
|
||||||
|
</openbox_config>
|
423
.config/picom/picom.conf
Normal file
423
.config/picom/picom.conf
Normal file
|
@ -0,0 +1,423 @@
|
||||||
|
#################################
|
||||||
|
# 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;
|
||||||
|
|
||||||
|
# Avoid drawing shadows on dock/panel windows. This option is deprecated,
|
||||||
|
# you should use the *wintypes* option in your config file instead.
|
||||||
|
#
|
||||||
|
# no-dock-shadow = false
|
||||||
|
|
||||||
|
# Don't draw shadows on drag-and-drop windows. This option is deprecated,
|
||||||
|
# you should use the *wintypes* option in your config file instead.
|
||||||
|
#
|
||||||
|
# no-dnd-shadow = false
|
||||||
|
|
||||||
|
# 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
|
||||||
|
|
||||||
|
# Do not paint shadows on shaped windows. Note shaped windows
|
||||||
|
# here means windows setting its shape through X Shape extension.
|
||||||
|
# Those using ARGB background is beyond our control.
|
||||||
|
# Deprecated, use
|
||||||
|
# shadow-exclude = 'bounding_shaped'
|
||||||
|
# or
|
||||||
|
# shadow-exclude = 'bounding_shaped && !rounded_corners'
|
||||||
|
# instead.
|
||||||
|
#
|
||||||
|
# shadow-ignore-shaped = ''
|
||||||
|
|
||||||
|
# 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 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.5;
|
||||||
|
|
||||||
|
# Opacity change between steps while fading out. (0.01 - 1.0, defaults to 0.03)
|
||||||
|
# fade-out-step = 0.03
|
||||||
|
fade-out-step = 0.5;
|
||||||
|
|
||||||
|
# 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 = 1.0;
|
||||||
|
|
||||||
|
# Opacity of window titlebars and borders. (0.1 - 1.0, disabled by default)
|
||||||
|
# frame-opacity = 1.0
|
||||||
|
frame-opacity = 1.0;
|
||||||
|
|
||||||
|
# Default opacity for dropdown menus and popup menus. (0.0 - 1.0, defaults to 1.0)
|
||||||
|
# menu-opacity = 1.0
|
||||||
|
|
||||||
|
# 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 always 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 = []
|
||||||
|
|
||||||
|
|
||||||
|
#################################
|
||||||
|
# Background-Blurring #
|
||||||
|
#################################
|
||||||
|
|
||||||
|
|
||||||
|
# Parameters for background blurring, see the *BLUR* section for more information.
|
||||||
|
# blur-method =
|
||||||
|
# blur-size = 12
|
||||||
|
#
|
||||||
|
# blur-deviation = false
|
||||||
|
|
||||||
|
# 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
|
||||||
|
|
||||||
|
# Limit picom to repaint at most once every 1 / 'refresh_rate' second to
|
||||||
|
# boost performance. This should not be used with
|
||||||
|
# vsync drm/opengl/opengl-oml
|
||||||
|
# as they essentially does sw-opti's job already,
|
||||||
|
# unless you wish to specify a lower refresh rate than the actual value.
|
||||||
|
#
|
||||||
|
# sw-opti =
|
||||||
|
|
||||||
|
# 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.
|
||||||
|
#
|
||||||
|
# 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; }
|
||||||
|
dnd = { shadow = false; }
|
||||||
|
popup_menu = { opacity = 0.8; }
|
||||||
|
dropdown_menu = { opacity = 0.8; }
|
||||||
|
};
|
BIN
.config/qtile/__pycache__/config.cpython-39.pyc
Normal file
BIN
.config/qtile/__pycache__/config.cpython-39.pyc
Normal file
Binary file not shown.
186
.config/qtile/config.py
Normal file
186
.config/qtile/config.py
Normal file
|
@ -0,0 +1,186 @@
|
||||||
|
# Copyright (c) 2010 Aldo Cortesi
|
||||||
|
# Copyright (c) 2010, 2014 dequis
|
||||||
|
# Copyright (c) 2012 Randall Ma
|
||||||
|
# Copyright (c) 2012-2014 Tycho Andersen
|
||||||
|
# Copyright (c) 2012 Craig Barnes
|
||||||
|
# Copyright (c) 2013 horsik
|
||||||
|
# Copyright (c) 2013 Tao Sauvage
|
||||||
|
#
|
||||||
|
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
|
# of this software and associated documentation files (the "Software"), to deal
|
||||||
|
# in the Software without restriction, including without limitation the rights
|
||||||
|
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||||
|
# copies of the Software, and to permit persons to whom the Software is
|
||||||
|
# furnished to do so, subject to the following conditions:
|
||||||
|
#
|
||||||
|
# The above copyright notice and this permission notice shall be included in
|
||||||
|
# all copies or substantial portions of the Software.
|
||||||
|
#
|
||||||
|
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
|
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
|
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
|
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||||
|
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||||
|
# SOFTWARE.
|
||||||
|
|
||||||
|
from typing import List # noqa: F401
|
||||||
|
|
||||||
|
from libqtile import bar, layout, widget
|
||||||
|
from libqtile.config import Click, Drag, Group, Key, Match, Screen
|
||||||
|
from libqtile.lazy import lazy
|
||||||
|
from libqtile.utils import guess_terminal
|
||||||
|
|
||||||
|
mod = "mod4"
|
||||||
|
terminal = "alacritty"
|
||||||
|
|
||||||
|
keys = [
|
||||||
|
# Switch between windows
|
||||||
|
Key([mod], "h", lazy.layout.left(), desc="Move focus to left"),
|
||||||
|
Key([mod], "l", lazy.layout.right(), desc="Move focus to right"),
|
||||||
|
Key([mod], "j", lazy.layout.down(), desc="Move focus down"),
|
||||||
|
Key([mod], "k", lazy.layout.up(), desc="Move focus up"),
|
||||||
|
Key([mod], "space", lazy.layout.next(),
|
||||||
|
desc="Move window focus to other window"),
|
||||||
|
|
||||||
|
# Move windows between left/right columns or move up/down in current stack.
|
||||||
|
# Moving out of range in Columns layout will create new column.
|
||||||
|
Key([mod, "shift"], "h", lazy.layout.shuffle_left(),
|
||||||
|
desc="Move window to the left"),
|
||||||
|
Key([mod, "shift"], "l", lazy.layout.shuffle_right(),
|
||||||
|
desc="Move window to the right"),
|
||||||
|
Key([mod, "shift"], "j", lazy.layout.shuffle_down(),
|
||||||
|
desc="Move window down"),
|
||||||
|
Key([mod, "shift"], "k", lazy.layout.shuffle_up(), desc="Move window up"),
|
||||||
|
|
||||||
|
# Grow windows. If current window is on the edge of screen and direction
|
||||||
|
# will be to screen edge - window would shrink.
|
||||||
|
Key([mod, "control"], "h", lazy.layout.grow_left(),
|
||||||
|
desc="Grow window to the left"),
|
||||||
|
Key([mod, "control"], "l", lazy.layout.grow_right(),
|
||||||
|
desc="Grow window to the right"),
|
||||||
|
Key([mod, "control"], "j", lazy.layout.grow_down(),
|
||||||
|
desc="Grow window down"),
|
||||||
|
Key([mod, "control"], "k", lazy.layout.grow_up(), desc="Grow window up"),
|
||||||
|
Key([mod], "n", lazy.layout.normalize(), desc="Reset all window sizes"),
|
||||||
|
|
||||||
|
# Toggle between split and unsplit sides of stack.
|
||||||
|
# Split = all windows displayed
|
||||||
|
# Unsplit = 1 window displayed, like Max layout, but still with
|
||||||
|
# multiple stack panes
|
||||||
|
Key([mod, "shift"], "Return", lazy.layout.toggle_split(),
|
||||||
|
desc="Toggle between split and unsplit sides of stack"),
|
||||||
|
Key([mod], "Return", lazy.spawn(terminal), desc="Launch terminal"),
|
||||||
|
|
||||||
|
# Toggle between different layouts as defined below
|
||||||
|
Key([mod], "Tab", lazy.next_layout(), desc="Toggle between layouts"),
|
||||||
|
Key([mod], "w", lazy.window.kill(), desc="Kill focused window"),
|
||||||
|
|
||||||
|
Key([mod, "control"], "r", lazy.restart(), desc="Restart Qtile"),
|
||||||
|
Key([mod, "control"], "q", lazy.shutdown(), desc="Shutdown Qtile"),
|
||||||
|
Key([mod], "r", lazy.spawncmd(),
|
||||||
|
desc="Spawn a command using a prompt widget"),
|
||||||
|
]
|
||||||
|
|
||||||
|
groups = [Group(i) for i in "123456789"]
|
||||||
|
|
||||||
|
for i in groups:
|
||||||
|
keys.extend([
|
||||||
|
# mod1 + letter of group = switch to group
|
||||||
|
Key([mod], i.name, lazy.group[i.name].toscreen(),
|
||||||
|
desc="Switch to group {}".format(i.name)),
|
||||||
|
|
||||||
|
# mod1 + shift + letter of group = switch to & move focused window to group
|
||||||
|
Key([mod, "shift"], i.name, lazy.window.togroup(i.name, switch_group=True),
|
||||||
|
desc="Switch to & move focused window to group {}".format(i.name)),
|
||||||
|
# Or, use below if you prefer not to switch to that group.
|
||||||
|
# # mod1 + shift + letter of group = move focused window to group
|
||||||
|
# Key([mod, "shift"], i.name, lazy.window.togroup(i.name),
|
||||||
|
# desc="move focused window to group {}".format(i.name)),
|
||||||
|
])
|
||||||
|
|
||||||
|
layouts = [
|
||||||
|
layout.Columns(border_focus_stack='#d75f5f'),
|
||||||
|
layout.Max(),
|
||||||
|
# Try more layouts by unleashing below layouts.
|
||||||
|
# layout.Stack(num_stacks=2),
|
||||||
|
# layout.Bsp(),
|
||||||
|
# layout.Matrix(),
|
||||||
|
# layout.MonadTall(),
|
||||||
|
# layout.MonadWide(),
|
||||||
|
# layout.RatioTile(),
|
||||||
|
# layout.Tile(),
|
||||||
|
# layout.TreeTab(),
|
||||||
|
# layout.VerticalTile(),
|
||||||
|
# layout.Zoomy(),
|
||||||
|
]
|
||||||
|
|
||||||
|
widget_defaults = dict(
|
||||||
|
font='sans',
|
||||||
|
fontsize=12,
|
||||||
|
padding=3,
|
||||||
|
)
|
||||||
|
extension_defaults = widget_defaults.copy()
|
||||||
|
|
||||||
|
screens = [
|
||||||
|
Screen(
|
||||||
|
bottom=bar.Bar(
|
||||||
|
[
|
||||||
|
widget.CurrentLayout(),
|
||||||
|
widget.GroupBox(),
|
||||||
|
widget.Prompt(),
|
||||||
|
widget.WindowName(),
|
||||||
|
widget.Chord(
|
||||||
|
chords_colors={
|
||||||
|
'launch': ("#ff0000", "#ffffff"),
|
||||||
|
},
|
||||||
|
name_transform=lambda name: name.upper(),
|
||||||
|
),
|
||||||
|
widget.TextBox("default config", name="default"),
|
||||||
|
widget.TextBox("Press <M-r> to spawn", foreground="#d75f5f"),
|
||||||
|
widget.Systray(),
|
||||||
|
widget.Clock(format='%Y-%m-%d %a %I:%M %p'),
|
||||||
|
widget.QuickExit(),
|
||||||
|
],
|
||||||
|
24,
|
||||||
|
),
|
||||||
|
),
|
||||||
|
]
|
||||||
|
|
||||||
|
# Drag floating layouts.
|
||||||
|
mouse = [
|
||||||
|
Drag([mod], "Button1", lazy.window.set_position_floating(),
|
||||||
|
start=lazy.window.get_position()),
|
||||||
|
Drag([mod], "Button3", lazy.window.set_size_floating(),
|
||||||
|
start=lazy.window.get_size()),
|
||||||
|
Click([mod], "Button2", lazy.window.bring_to_front())
|
||||||
|
]
|
||||||
|
|
||||||
|
dgroups_key_binder = None
|
||||||
|
dgroups_app_rules = [] # type: List
|
||||||
|
main = None # WARNING: this is deprecated and will be removed soon
|
||||||
|
follow_mouse_focus = True
|
||||||
|
bring_front_click = False
|
||||||
|
cursor_warp = False
|
||||||
|
floating_layout = layout.Floating(float_rules=[
|
||||||
|
# Run the utility of `xprop` to see the wm class and name of an X client.
|
||||||
|
*layout.Floating.default_float_rules,
|
||||||
|
Match(wm_class='confirmreset'), # gitk
|
||||||
|
Match(wm_class='makebranch'), # gitk
|
||||||
|
Match(wm_class='maketag'), # gitk
|
||||||
|
Match(wm_class='ssh-askpass'), # ssh-askpass
|
||||||
|
Match(title='branchdialog'), # gitk
|
||||||
|
Match(title='pinentry'), # GPG key password entry
|
||||||
|
])
|
||||||
|
auto_fullscreen = True
|
||||||
|
focus_on_window_activation = "smart"
|
||||||
|
|
||||||
|
# XXX: Gasp! We're lying here. In fact, nobody really uses or cares about this
|
||||||
|
# string besides java UI toolkits; you can see several discussions on the
|
||||||
|
# mailing lists, GitHub issues, and other WM documentation that suggest setting
|
||||||
|
# this string if your java app doesn't work correctly. We may as well just lie
|
||||||
|
# and say that we're a working one by default.
|
||||||
|
#
|
||||||
|
# We choose LG3D to maximize irony: it is a 3D non-reparenting WM written in
|
||||||
|
# java that happens to be on java's whitelist.
|
||||||
|
wmname = "LG3D"
|
8
.config/rofi/config.rasi
Normal file
8
.config/rofi/config.rasi
Normal file
|
@ -0,0 +1,8 @@
|
||||||
|
configuration {
|
||||||
|
modi: "window,drun,ssh,combi";
|
||||||
|
theme: "~/.config/rofi/slate.rasi";
|
||||||
|
icon-theme: "breeze-dark";
|
||||||
|
show-icons: true;
|
||||||
|
font: "hack 10";
|
||||||
|
combi-modi: "window,drun,ssh";
|
||||||
|
}
|
43
.config/rofi/slate.rasi
Normal file
43
.config/rofi/slate.rasi
Normal file
|
@ -0,0 +1,43 @@
|
||||||
|
* {
|
||||||
|
background-color: #282C33;
|
||||||
|
border-color: #2e343f;
|
||||||
|
text-color: #8ca0aa;
|
||||||
|
spacing: 0;
|
||||||
|
width: 512px;
|
||||||
|
}
|
||||||
|
|
||||||
|
inputbar {
|
||||||
|
border: 0 0 1px 0;
|
||||||
|
children: [prompt,entry];
|
||||||
|
}
|
||||||
|
|
||||||
|
prompt {
|
||||||
|
padding: 16px;
|
||||||
|
border: 0 1px 0 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
textbox {
|
||||||
|
background-color: #2e343f;
|
||||||
|
border: 0 0 1px 0;
|
||||||
|
border-color: #282C33;
|
||||||
|
padding: 8px 16px;
|
||||||
|
}
|
||||||
|
|
||||||
|
entry {
|
||||||
|
padding: 16px;
|
||||||
|
}
|
||||||
|
|
||||||
|
listview {
|
||||||
|
cycle: false;
|
||||||
|
margin: 0 0 -1px 0;
|
||||||
|
scrollbar: false;
|
||||||
|
}
|
||||||
|
|
||||||
|
element {
|
||||||
|
border: 0 0 1px 0;
|
||||||
|
padding: 16px;
|
||||||
|
}
|
||||||
|
|
||||||
|
element selected {
|
||||||
|
background-color: #2e343f;
|
||||||
|
}
|
8
.gitignore
vendored
Normal file
8
.gitignore
vendored
Normal file
|
@ -0,0 +1,8 @@
|
||||||
|
*
|
||||||
|
|
||||||
|
!.config/
|
||||||
|
!.config/**
|
||||||
|
!.xprofile
|
||||||
|
!.gitignore
|
||||||
|
!.bashrc
|
||||||
|
!README.md
|
2
.xprofile
Normal file
2
.xprofile
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
export QT_QPA_PLATFORMTHEME=qt5ct
|
||||||
|
autorandr -c -f
|
Loading…
Reference in a new issue