Updated
This commit is contained in:
parent
a78fdfe5b7
commit
ff6d43229c
13 changed files with 688 additions and 1004 deletions
10
.bashrc
10
.bashrc
|
@ -1,8 +1,8 @@
|
|||
## ____ ____ _ __
|
||||
## | _ \| _ \| |/ /
|
||||
## | | | | |_) | ' / Clay Gomera (Drake)
|
||||
## | |_| | _ <| . \ My custom bashrc
|
||||
## |____/|_| \_\_|\_\
|
||||
## ____ __
|
||||
## / __ \_________ _/ /_____
|
||||
## / / / / ___/ __ `/ //_/ _ \
|
||||
## / /_/ / / / /_/ / ,< / __/ Clay Gomera (Drake)
|
||||
## /_____/_/ \__,_/_/|_|\___/ My custom bash config
|
||||
##
|
||||
|
||||
### EXPORT
|
||||
|
|
|
@ -1,228 +1,14 @@
|
|||
## ____ ____ _ __
|
||||
## | _ \| _ \| |/ /
|
||||
## | | | | |_) | ' / Clay Gomera (Drake)
|
||||
## | |_| | _ <| . \ My custom alacritty config
|
||||
## |____/|_| \_\_|\_\
|
||||
## ____ __
|
||||
## / __ \_________ _/ /_____
|
||||
## / / / / ___/ __ `/ //_/ _ \
|
||||
## / /_/ / / / /_/ / ,< / __/ Clay Gomera (Drake)
|
||||
## /_____/_/ \__,_/_/|_|\___/ My custom alacritty config
|
||||
##
|
||||
|
||||
# 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: 0
|
||||
# lines: 0
|
||||
|
||||
# Window position (changes require restart)
|
||||
#
|
||||
# Specified in number of pixels.
|
||||
# If the position is not set, the window manager will handle the placement.
|
||||
#position:
|
||||
# x: 0
|
||||
# y: 0
|
||||
|
||||
# Window padding (changes require restart)
|
||||
#
|
||||
# Blank space added around the window in pixels. This padding is scaled
|
||||
# by DPI and the specified value is always added at both opposing sides.
|
||||
padding:
|
||||
x: 6
|
||||
y: 6
|
||||
|
||||
# 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: full
|
||||
|
||||
# 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
|
||||
|
||||
scrolling:
|
||||
# Maximum number of lines in the scrollback buffer.
|
||||
# Specifying '0' will disable scrolling.
|
||||
history: 5000
|
||||
|
||||
# Number of lines the viewport will move for every line scrolled when
|
||||
# scrollback is enabled (history > 0).
|
||||
#multiplier: 3
|
||||
|
||||
# Scroll to the bottom when new text is written to the terminal.
|
||||
#auto_scroll: false
|
||||
|
||||
# Spaces per Tab (changes require restart)
|
||||
#
|
||||
# This setting defines the width of a tab in cells.
|
||||
#
|
||||
# Some applications, like Emacs, rely on knowing about the width of a tab.
|
||||
# To prevent unexpected behavior in these applications, it's also required to
|
||||
# change the `it` value in terminfo when altering this setting.
|
||||
#tabspaces: 8
|
||||
|
||||
# Font configuration
|
||||
font:
|
||||
# Normal (roman) font face
|
||||
normal:
|
||||
# Font family
|
||||
#
|
||||
# Default:
|
||||
# - (macOS) Menlo
|
||||
# - (Linux/BSD) monospace
|
||||
# - (Windows) Consolas
|
||||
# family: Source Code Pro
|
||||
# family: CodeNewRoman Nerd Font
|
||||
# family: RobotoMono Nerd Font
|
||||
# family: Hack
|
||||
# family: JetBrains Mono
|
||||
# family: UbuntuMono Nerd Font
|
||||
# family: Monofur Nerd Font
|
||||
# family: TerminessTTF Nerd Font
|
||||
family: mononoki Nerd Font
|
||||
|
||||
# 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: Source Code Pro
|
||||
# family: CodeNewRoman Nerd Font
|
||||
# family: RobotoMono Nerd Font
|
||||
# family: Hack
|
||||
# family: JetBrains Mono
|
||||
# family: UbuntuMono Nerd Font
|
||||
# family: Monofur Nerd Font
|
||||
# family: TerminessTTF Nerd Font
|
||||
family: mononoki Nerd Font
|
||||
|
||||
# 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: Source Code Pro
|
||||
# family: CodeNewRoman Nerd Font
|
||||
# family: RobotoMono Nerd Font
|
||||
# family: Hack
|
||||
# family: JetBrains Mono
|
||||
# family: UbuntuMono Nerd Font
|
||||
# family: Monofuritalic Nerd Font Mono
|
||||
# family: TerminessTTF Nerd Font
|
||||
family: mononoki Nerd Font
|
||||
|
||||
# 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: Source Code Pro
|
||||
# family: CodeNewRoman Nerd Font
|
||||
# family: RobotoMono Nerd Font
|
||||
# family: Hack
|
||||
# family: JetBrains Mono
|
||||
# family: UbuntuMono Nerd Font
|
||||
# family: Monofuritalic Nerd Font Mono
|
||||
# family: TerminessTTF Nerd Font
|
||||
family: mononoki Nerd Font
|
||||
|
||||
# The `style` can be specified to pick a specific face.
|
||||
style: Bold Italic
|
||||
|
||||
# Point size
|
||||
size: 8.5
|
||||
|
||||
# Offset is the extra space around each character. `offset.y` can be thought of
|
||||
# as modifying the line spacing, and `offset.x` as modifying the letter spacing.
|
||||
offset:
|
||||
x: 0
|
||||
y: 1
|
||||
|
||||
# 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: true
|
||||
## Set colorschemes
|
||||
|
||||
#######################################
|
||||
## START OF COLOR SCHEMES ##
|
||||
## Alacritty colorschemes ##
|
||||
#######################################
|
||||
schemes:
|
||||
### Doom One ###
|
||||
|
@ -564,6 +350,49 @@ schemes:
|
|||
cyan: '#54ced6'
|
||||
white: '#282a2e'
|
||||
|
||||
colors: *gruvbox-dark
|
||||
|
||||
## Set environment variables
|
||||
env:
|
||||
TERM: xterm-256color
|
||||
|
||||
## Window settigns
|
||||
window:
|
||||
opacity: 0.93
|
||||
padding:
|
||||
x: 6
|
||||
y: 6
|
||||
dynamic_padding: false
|
||||
title: Alacritty
|
||||
class:
|
||||
instance: Alacritty
|
||||
general: Alacritty
|
||||
|
||||
## Scrolling settings
|
||||
scrolling:
|
||||
history: 5000
|
||||
|
||||
## Font settings
|
||||
font:
|
||||
normal:
|
||||
family: mononoki Nerd Font
|
||||
style: Regular
|
||||
bold:
|
||||
family: mononoki Nerd Font
|
||||
style: Bold
|
||||
italic:
|
||||
family: mononoki Nerd Font
|
||||
style: Italic
|
||||
bold_italic:
|
||||
family: mononoki Nerd Font
|
||||
style: Bold Italic
|
||||
size: 8.5
|
||||
offset:
|
||||
x: 0
|
||||
y: 1
|
||||
draw_bold_text_with_bright_colors: true
|
||||
|
||||
|
||||
######################################################################
|
||||
## SET THEME: Choose ONE color scheme from those in the above list. ##
|
||||
## ###################################################################
|
||||
|
@ -579,282 +408,13 @@ schemes:
|
|||
# *solarized-dark
|
||||
# *tomorrow-night
|
||||
|
||||
colors: *gruvbox-dark
|
||||
|
||||
#######################################
|
||||
## END OF COLOR SCHEMES ##
|
||||
#######################################
|
||||
cursor:
|
||||
style: Underline
|
||||
|
||||
# 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.
|
||||
window:
|
||||
opacity: 0.93
|
||||
#selection:
|
||||
#semantic_escape_chars: ",│`|:\"' ()[]{}<>\t"
|
||||
|
||||
# When set to `true`, selected text will be copied to the primary clipboard.
|
||||
#save_to_clipboard: false
|
||||
|
||||
# Allow terminal applications to change Alacritty's window title.
|
||||
#dynamic_title: true
|
||||
|
||||
#cursor:
|
||||
# Cursor style
|
||||
#
|
||||
# Values for `style`:
|
||||
# - ▇ Block
|
||||
# - _ Underline
|
||||
# - | Beam
|
||||
#style: Block
|
||||
|
||||
# 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/zsh
|
||||
# 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
|
||||
|
||||
#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
|
||||
|
||||
# Record all characters and escape sequences as test data.
|
||||
#ref_test: false
|
||||
|
||||
#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.
|
||||
#
|
||||
# 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.
|
||||
key_bindings:
|
||||
# (Windows, Linux, and BSD only)
|
||||
- { key: V, mods: Control|Shift, action: Paste }
|
||||
|
|
545
.config/awesome/config.org
Normal file
545
.config/awesome/config.org
Normal file
|
@ -0,0 +1,545 @@
|
|||
#+TITLE: Drake's Awesome Window Manager Config
|
||||
#+AUTHOR: Clay Gomera
|
||||
#+DESCRIPTION: This is my personal awesome window manager literate config written in org mode inside Emacs.
|
||||
#+LANGUAGE: lua
|
||||
#+PROPERTY: header-args :tangle rc.lua
|
||||
|
||||
* Table of contents :toc:
|
||||
- [[#about-this-config][ABOUT THIS CONFIG]]
|
||||
- [[#libraries][Libraries]]
|
||||
- [[#error-handling][Error Handling]]
|
||||
- [[#themes][Themes]]
|
||||
- [[#layouts][Layouts]]
|
||||
- [[#variables][Variables]]
|
||||
- [[#tag-names][Tag names]]
|
||||
- [[#wibox-settings][Wibox Settings]]
|
||||
- [[#key-bindings][Key Bindings]]
|
||||
- [[#rules][Rules]]
|
||||
- [[#signals][Signals]]
|
||||
- [[#client-focus-with-mouse][Client Focus With Mouse]]
|
||||
- [[#autorun][Autorun]]
|
||||
|
||||
* ABOUT THIS CONFIG
|
||||
Awesome is a highly configurable, next generation framework window manager for X. It is very fast, extensible and licensed under the GNU GPLv2 license. It is primarily targeted at power users, developers and any people dealing with every day computing tasks and who want to have fine-grained control on their graphical environment. This is the Awesome configuration of Clay Gomera (Drake) fully written in ORG mode inside EMACS. This is just a personal hobby that gives me all the freedom and posibilites to learn how to code and use text editors like Emacs.
|
||||
|
||||
#+CAPTION: An example screenshot
|
||||
#+NAME: screenshot
|
||||
#+attr_org: :width 750
|
||||
[[./screenshot.png]]
|
||||
|
||||
* Libraries
|
||||
#+BEGIN_SRC lua
|
||||
local awful = require("awful") --Everything related to window managment
|
||||
local beautiful = require("beautiful")
|
||||
local gears = require("gears") --Utilities such as color parsing and objects
|
||||
local lain = require("lain")
|
||||
local my_table = awful.util.table or gears.table -- 4.{0,1} compatibility
|
||||
local hotkeys_popup = require("awful.hotkeys_popup").widget
|
||||
require("awful.hotkeys_popup.keys")
|
||||
require("awful.autofocus")
|
||||
local wibox = require("wibox")
|
||||
local naughty = require("naughty")
|
||||
naughty.config.defaults['icon_size'] = 100
|
||||
#+END_SRC
|
||||
|
||||
* Error Handling
|
||||
#+BEGIN_SRC lua
|
||||
if awesome.startup_errors then
|
||||
naughty.notify({ preset = naughty.config.presets.critical,
|
||||
title = "Oops, there were errors during startup!",
|
||||
text = awesome.startup_errors }) end
|
||||
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
|
||||
local function run_once(cmd_arr)
|
||||
for _, cmd in ipairs(cmd_arr) do
|
||||
awful.spawn.with_shell(string.format("pgrep -u $USER -fx '%s' > /dev/null || (%s)", cmd, cmd))
|
||||
end
|
||||
end
|
||||
run_once({ "unclutter -root" }) -- entries must be comma-separated
|
||||
#+END_SRC
|
||||
|
||||
* Themes
|
||||
#+BEGIN_SRC lua
|
||||
local themes = {
|
||||
"gruvbox-dark" -- 1
|
||||
}
|
||||
local chosen_theme = themes[1]
|
||||
local theme_path = string.format("%s/.config/awesome/themes/%s/theme.lua", os.getenv("HOME"), chosen_theme)
|
||||
beautiful.init(theme_path)
|
||||
beautiful.init(string.format(gears.filesystem.get_configuration_dir() .. "/themes/%s/theme.lua", chosen_theme))
|
||||
#+END_SRC
|
||||
|
||||
* Layouts
|
||||
#+BEGIN_SRC lua
|
||||
awful.layout.suit.tile.left.mirror = true
|
||||
awful.layout.layouts = {
|
||||
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.floating,
|
||||
--awful.layout.suit.corner.nw,
|
||||
--awful.layout.suit.corner.ne,
|
||||
--awful.layout.suit.corner.sw,
|
||||
--awful.layout.suit.corner.se,
|
||||
--lain.layout.cascade,
|
||||
--lain.layout.cascade.tile,
|
||||
--lain.layout.centerwork,
|
||||
--lain.layout.centerwork.horizontal,
|
||||
--lain.layout.termfair,
|
||||
--lain.layout.termfair.center,
|
||||
}
|
||||
lain.layout.termfair.nmaster = 3
|
||||
lain.layout.termfair.ncol = 1
|
||||
lain.layout.termfair.center.nmaster = 3
|
||||
lain.layout.termfair.center.ncol = 1
|
||||
lain.layout.cascade.tile.offset_x = 2
|
||||
lain.layout.cascade.tile.offset_y = 32
|
||||
lain.layout.cascade.tile.extra_padding = 5
|
||||
lain.layout.cascade.tile.nmaster = 5
|
||||
lain.layout.cascade.tile.ncol = 2
|
||||
#+END_SRC
|
||||
|
||||
* Variables
|
||||
#+BEGIN_SRC lua
|
||||
awful.util.terminal = terminal
|
||||
local terminal = "alacritty"
|
||||
edit = "emacsclient -c -a emacs"
|
||||
file = "alacritty -e ./.config/vifm/scripts/vifmrun"
|
||||
web = "qutebrowser"
|
||||
music = "alacritty -e mocp"
|
||||
games = "retroarch"
|
||||
screenlocker = "betterlockscreen -l"
|
||||
local modkey = "Mod4"
|
||||
local altkey = "Mod1"
|
||||
local modkey1 = "Control"
|
||||
#+END_SRC
|
||||
|
||||
* Tag names
|
||||
#+BEGIN_SRC lua
|
||||
awful.util.tagnames =
|
||||
{
|
||||
" EDIT ", -- F1
|
||||
" FILE ", -- F2
|
||||
" WEB ", -- F3
|
||||
" MUSIC ", -- F4
|
||||
" WORK ", -- XX
|
||||
" MISC ", -- XX
|
||||
" GAMES " -- F7
|
||||
}
|
||||
#+END_SRC
|
||||
|
||||
* Wibox Settings
|
||||
#+BEGIN_SRC lua
|
||||
awful.util.taglist_buttons = my_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)
|
||||
)
|
||||
awful.util.tasklist_buttons = my_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 ()
|
||||
local instance = nil
|
||||
|
||||
return function ()
|
||||
if instance and instance.wibox.visible then
|
||||
instance:hide()
|
||||
instance = nil
|
||||
else
|
||||
instance = awful.menu.clients({theme = {width = 250}})
|
||||
end
|
||||
end
|
||||
end),
|
||||
awful.button({ }, 4, function () awful.client.focus.byidx(1) end),
|
||||
awful.button({ }, 5, function () awful.client.focus.byidx(-1) end)
|
||||
)
|
||||
screen.connect_signal("property::geometry", function(s)
|
||||
if beautiful.wallpaper then
|
||||
local wallpaper = beautiful.wallpaper
|
||||
if type(wallpaper) == "function" then
|
||||
wallpaper = wallpaper(s)
|
||||
end
|
||||
gears.wallpaper.maximized(wallpaper, s, true)
|
||||
end
|
||||
end)
|
||||
awful.screen.connect_for_each_screen(function(s) beautiful.at_screen_connect(s) end)
|
||||
#+END_SRC
|
||||
|
||||
* Key Bindings
|
||||
#+BEGIN_SRC lua
|
||||
-- Awesome things
|
||||
globalkeys = my_table.join(
|
||||
awful.key({ modkey, }, "s", hotkeys_popup.show_help,
|
||||
{description="Show this help menu", group="Quick Actions"}),
|
||||
awful.key({ modkey, "Control" }, "r", awesome.restart,
|
||||
{description = "Reload WM", group = "Quick Actions"}),
|
||||
awful.key({ modkey, "Shift" }, "q", awesome.quit,
|
||||
{description = "Log Out", group = "Quick Actions"}),
|
||||
-- Tag browsing arrow keys and escape
|
||||
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"}),
|
||||
-- Tag browsing alt + tab
|
||||
awful.key({ altkey, }, "Tab", awful.tag.viewnext,
|
||||
{description = "view next", group = "Tag"}),
|
||||
awful.key({ altkey, "Shift" }, "Tab", awful.tag.viewprev,
|
||||
{description = "view previous", group = "Tag"}),
|
||||
-- Copy primary to clipboard (terminals to gtk)
|
||||
awful.key({ modkey }, "c", function () awful.spawn.with_shell("xsel | xsel -i -b") end,
|
||||
{description = "Copy terminal to gtk", group = "Hotkeys"}),
|
||||
-- Copy clipboard to primary (gtk to terminals)
|
||||
awful.key({ modkey }, "v", function () awful.spawn.with_shell("xsel -b | xsel") end,
|
||||
{description = "Copy gtk to terminal", group = "Hotkeys"}),
|
||||
-- Client focus
|
||||
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"}),
|
||||
-- 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 = "Cient"}),
|
||||
awful.key({ modkey, }, "Tab",
|
||||
function ()
|
||||
awful.client.focus.history.previous()
|
||||
if client.focus then
|
||||
client.focus:raise()
|
||||
end
|
||||
end,
|
||||
{description = "Go back", group = "client"}),
|
||||
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"}),
|
||||
-- Terminal
|
||||
awful.key({ modkey }, "Return", function() awful.spawn(terminal) end,
|
||||
{description = "Launch a terminal", group = "Hotkeys"}),
|
||||
-- Dmenu
|
||||
awful.key({ modkey }, "r", function () awful.util.spawn_with_shell("dmenu_run -l 10 -b -i -p Launch:") end,
|
||||
{description = "Show Run Launcher", group = "Hotkeys"}),
|
||||
awful.key({ modkey }, "d", function () awful.util.spawn_with_shell("sh $HOME/.config/scripts/dmenu-drun.sh") end,
|
||||
{description = "Show App Launcher", group = "Hotkeys"}),
|
||||
awful.key({ modkey }, "w", function () awful.util.spawn_with_shell("sh $HOME/.config/scripts/dmenu-wifi.sh") end,
|
||||
{description = "Configure WiFi", group = "Hotkeys"}),
|
||||
awful.key({ modkey, modkey1 }, "q", function () awful.util.spawn_with_shell("sh $HOME/.config/scripts/dmenu-power.sh") end,
|
||||
{description = "Show Logout menu", group = "Hotkeys"}),
|
||||
awful.key({ modkey, modkey1 }, "w", function () awful.util.spawn_with_shell("sh $HOME/.config/scripts/dmenu-wall.sh") end,
|
||||
{description = "Show Logout menu", group = "Hotkeys"}),
|
||||
awful.key({}, "Print", function () awful.util.spawn_with_shell("sh $HOME/.config/scripts/dmenu-scrot.sh") end,
|
||||
{description = "Take screenshots", group = "Hotkeys"}),
|
||||
-- Keyboard Layouts
|
||||
awful.key({ modkey, "Shift" }, "e", function () awful.util.spawn("setxkbmap -layout es") end,
|
||||
{description = "Switch to ES keyboard layout", group = "Quick Actions"}),
|
||||
awful.key({ modkey, "Shift" }, "u", function () awful.util.spawn("setxkbmap -layout us") end,
|
||||
{description = "Switch to US keyboard layout", group = "Quick Actions"}),
|
||||
-- Apps
|
||||
-- edit
|
||||
awful.key({ modkey }, "F1", function () awful.spawn(edit) end,
|
||||
{description = "Launch text editor", group = "Apps"}),
|
||||
-- file
|
||||
awful.key({ modkey }, "F2", function () awful.spawn(file) end,
|
||||
{description = "Launch file manager", group = "Apps"}),
|
||||
-- web
|
||||
awful.key({ modkey }, "F3", function () awful.spawn(web) end,
|
||||
{description = "Launch web browser", group = "Apps"}),
|
||||
-- music
|
||||
awful.key({ modkey }, "F4", function () awful.spawn(music) end,
|
||||
{description = "Launch music player", group = "Apps"}),
|
||||
-- games
|
||||
awful.key({ modkey }, "F7", function () awful.util.spawn(games) end,
|
||||
{description = "Launch gaming app", group = "Apps"}),
|
||||
-- Volume
|
||||
awful.key({}, "XF86AudioRaiseVolume", function() awful.spawn("amixer set Master 5%+") end,
|
||||
{description = "Increase volume", group = "Quick Actions"}),
|
||||
awful.key({}, "XF86AudioLowerVolume", function() awful.spawn("amixer set Master 5%-") end,
|
||||
{description = "Decrease volume", group = "Quick Actions"}),
|
||||
awful.key({}, "XF86AudioMute", function() awful.spawn("amixer set Master toggle") end,
|
||||
{description = "Mute volume", group = "Quick Actions"}),
|
||||
-- Brightness
|
||||
awful.key({}, "XF86MonBrightnessUp", function () awful.spawn("xbacklight -inc 10") end,
|
||||
{description = "Increase brightness", group = "Quick Actions"}),
|
||||
awful.key({}, "XF86MonBrightnessDown", function () awful.spawn("xbacklight -dec 10") end,
|
||||
{description = "Decrease brightness", group = "Quick Actions"}),
|
||||
-- Screenlocker
|
||||
awful.key({ modkey, modkey1 }, "l", function() awful.spawn(screenlocker) end,
|
||||
{description = "Lock the screen", group = "Quick Actions"}),
|
||||
-- Show/Hide Wibox
|
||||
awful.key({ modkey }, "b", function ()
|
||||
for s in screen do
|
||||
s.mywibox.visible = not s.mywibox.visible
|
||||
if s.mybottomwibox then
|
||||
s.mybottomwibox.visible = not s.mybottomwibox.visible
|
||||
end
|
||||
end
|
||||
end,
|
||||
{description = "Toggle wibox", group = "Quick Actions"}),
|
||||
-- On the fly useless gaps change
|
||||
awful.key({ altkey, "Control" }, "j", function () lain.util.useless_gaps_resize(1) end,
|
||||
{description = "Increment gaps", group = "Tag"}),
|
||||
awful.key({ altkey, "Control" }, "l", function () lain.util.useless_gaps_resize(-1) end,
|
||||
{description = "Decrement gaps", group = "Tag"}),
|
||||
-- Dynamic tagging
|
||||
awful.key({ modkey, "Shift" }, "n", function () lain.util.add_tag() end,
|
||||
{description = "Add new tag", group = "Tag"}),
|
||||
awful.key({ modkey, "Control" }, "r", function () lain.util.rename_tag() end,
|
||||
{description = "Rename tag", group = "Tag"}),
|
||||
awful.key({ modkey, "Shift" }, "Left", function () lain.util.move_tag(-1) end,
|
||||
{description = "Move tag to the left", group = "Tag"}),
|
||||
awful.key({ modkey, "Shift" }, "Right", function () lain.util.move_tag(1) end,
|
||||
{description = "Move tag to the right", group = "Tag"}),
|
||||
awful.key({ modkey, "Shift" }, "d", function () lain.util.delete_tag() end,
|
||||
{description = "Delete tag", group = "Tag"}),
|
||||
-- Minimize, maximize, moving clients, fullscreen, etc
|
||||
awful.key({ modkey, "Control" }, "n",
|
||||
function ()
|
||||
local c = awful.client.restore()
|
||||
if c then
|
||||
client.focus = c
|
||||
c:raise()
|
||||
end
|
||||
end,
|
||||
{description = "Restore minimized", group = "Client"})
|
||||
)
|
||||
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 }, "q", function (c) c:kill() end,
|
||||
{description = "Close window", 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)
|
||||
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 works on any keyboard layout.
|
||||
-- This should map on the top row of your keyboard, usually 1 to 9.
|
||||
for i = 1, 9 do
|
||||
-- Hack to only show tags 1 and 9 in the shortcut window (mod+s)
|
||||
local descr_view, descr_toggle, descr_move, descr_toggle_focus
|
||||
if i == 1 or i == 9 then
|
||||
descr_view = {description = "Wiew tag #", group = "Tag"}
|
||||
descr_toggle = {description = "Toggle tag #", group = "Tag"}
|
||||
descr_move = {description = "Move focused client to tag #", group = "Tag"}
|
||||
descr_toggle_focus = {description = "Toggle focused client on tag #", group = "Tag"}
|
||||
end
|
||||
globalkeys = my_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,
|
||||
descr_view),
|
||||
-- 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,
|
||||
descr_toggle),
|
||||
-- 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,
|
||||
descr_move),
|
||||
-- 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,
|
||||
descr_toggle_focus)
|
||||
)
|
||||
end
|
||||
-- Mouse bindings
|
||||
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)
|
||||
)
|
||||
root.keys(globalkeys)
|
||||
#+END_SRC
|
||||
|
||||
* Rules
|
||||
#+BEGIN_SRC lua
|
||||
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,
|
||||
callback = awful.client.setslave
|
||||
}
|
||||
},
|
||||
-- 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 }},
|
||||
}
|
||||
#+END_SRC
|
||||
|
||||
* Signals
|
||||
#+BEGIN_SRC lua
|
||||
client.connect_signal("manage", function (c)
|
||||
if awesome.startup and
|
||||
not c.size_hints.user_position
|
||||
and not c.size_hints.program_position then
|
||||
awful.placement.no_offscreen(c)
|
||||
end
|
||||
end)
|
||||
#+END_SRC
|
||||
|
||||
* Client Focus With Mouse
|
||||
#+BEGIN_SRC lua
|
||||
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)
|
||||
#+END_SRC
|
||||
|
||||
* Autorun
|
||||
#+BEGIN_SRC lua
|
||||
awful.util.spawn_with_shell("sh $HOME/.fehbg &")
|
||||
awful.util.spawn_with_shell("lxpolkit &")
|
||||
awful.util.spawn_with_shell("/usr/bin/emacs --daemon &")
|
||||
awful.util.spawn_with_shell("pulseaudio --daemonize=no --exit-idle-time=-1 &")
|
||||
awful.util.spawn_with_shell("picom --config $HOME/.config/picom/picom.conf &")
|
||||
#+END_SRC
|
|
@ -1,35 +1,15 @@
|
|||
-- ____ ____ _ _
|
||||
-- | _ \| _ \| |/ /
|
||||
-- | | | | |_) | ' / Clay Gomera (Drake)
|
||||
-- | |_| | _ <| . \ My custom awesome config
|
||||
-- |____/|_| \_\_|\_\
|
||||
--
|
||||
|
||||
-- BEGINNING OF LIBRARIES --
|
||||
-- Standard awesome library
|
||||
local gears = require("gears") --Utilities such as color parsing and objects
|
||||
local awful = require("awful") --Everything related to window managment
|
||||
require("awful.autofocus")
|
||||
-- Widget and layout library
|
||||
local wibox = require("wibox")
|
||||
-- Theme handling library
|
||||
local beautiful = require("beautiful")
|
||||
-- Notification library
|
||||
local naughty = require("naughty")
|
||||
naughty.config.defaults['icon_size'] = 100
|
||||
-- Lain library
|
||||
local gears = require("gears") --Utilities such as color parsing and objects
|
||||
local lain = require("lain")
|
||||
-- END OF LIBRARIES --
|
||||
|
||||
-- BEGINNING OF VIM HOTKEYS --
|
||||
-- Enable hotkeys help widget for VIM and other apps
|
||||
-- when client with a matching name is opened:
|
||||
local my_table = awful.util.table or gears.table -- 4.{0,1} compatibility
|
||||
local hotkeys_popup = require("awful.hotkeys_popup").widget
|
||||
require("awful.hotkeys_popup.keys")
|
||||
local my_table = awful.util.table or gears.table -- 4.{0,1} compatibility
|
||||
-- END OF VIM HOTKEYS --
|
||||
require("awful.autofocus")
|
||||
local wibox = require("wibox")
|
||||
local naughty = require("naughty")
|
||||
naughty.config.defaults['icon_size'] = 100
|
||||
|
||||
-- BEGINNNG OF ERROR HANDLING --
|
||||
if awesome.startup_errors then
|
||||
naughty.notify({ preset = naughty.config.presets.critical,
|
||||
title = "Oops, there were errors during startup!",
|
||||
|
@ -52,9 +32,7 @@ local function run_once(cmd_arr)
|
|||
end
|
||||
end
|
||||
run_once({ "unclutter -root" }) -- entries must be comma-separated
|
||||
-- END OF ERROR HANDLING --
|
||||
|
||||
-- BEGINNIG OF THEMES --
|
||||
local themes = {
|
||||
"gruvbox-dark" -- 1
|
||||
}
|
||||
|
@ -62,9 +40,7 @@ local chosen_theme = themes[1]
|
|||
local theme_path = string.format("%s/.config/awesome/themes/%s/theme.lua", os.getenv("HOME"), chosen_theme)
|
||||
beautiful.init(theme_path)
|
||||
beautiful.init(string.format(gears.filesystem.get_configuration_dir() .. "/themes/%s/theme.lua", chosen_theme))
|
||||
-- END OF THEMES --
|
||||
|
||||
-- BEGINNING OF LAYOUTS
|
||||
awful.layout.suit.tile.left.mirror = true
|
||||
awful.layout.layouts = {
|
||||
awful.layout.suit.tile,
|
||||
|
@ -99,27 +75,19 @@ lain.layout.cascade.tile.offset_y = 32
|
|||
lain.layout.cascade.tile.extra_padding = 5
|
||||
lain.layout.cascade.tile.nmaster = 5
|
||||
lain.layout.cascade.tile.ncol = 2
|
||||
-- END OF LAYOUTS --
|
||||
|
||||
-- BEGINNING OF VARIABLES --
|
||||
awful.util.terminal = terminal
|
||||
-- Terminal
|
||||
local terminal = "alacritty"
|
||||
-- Standard Apps
|
||||
local edit = "emacsclient -c -a emacs"
|
||||
local file = "alacritty -e ./.config/vifm/scripts/vifmrun"
|
||||
local web = "qutebrowser"
|
||||
local music = "alacritty -e mocp"
|
||||
local games = "retroarch"
|
||||
-- Key bindings variables
|
||||
local modkey = "Mod4"
|
||||
local altkey = "Mod1"
|
||||
local modkey1 = "Control"
|
||||
-- screenlocker
|
||||
local screenlocker = "betterlockscreen -l"
|
||||
-- END OF VARIABLES --
|
||||
local terminal = "alacritty"
|
||||
edit = "emacsclient -c -a emacs"
|
||||
file = "alacritty -e ./.config/vifm/scripts/vifmrun"
|
||||
web = "qutebrowser"
|
||||
music = "alacritty -e mocp"
|
||||
games = "retroarch"
|
||||
screenlocker = "betterlockscreen -l"
|
||||
local modkey = "Mod4"
|
||||
local altkey = "Mod1"
|
||||
local modkey1 = "Control"
|
||||
|
||||
-- BEGINNING OF TAG NAMES --
|
||||
awful.util.tagnames =
|
||||
{
|
||||
" EDIT ", -- F1
|
||||
|
@ -130,9 +98,7 @@ awful.util.tagnames =
|
|||
" MISC ", -- XX
|
||||
" GAMES " -- F7
|
||||
}
|
||||
-- END OF TAG NAMES --
|
||||
|
||||
-- BEGINNIG OF WIBOX STUFF --
|
||||
awful.util.taglist_buttons = my_table.join(
|
||||
awful.button({ }, 1, function(t) t:view_only() end),
|
||||
awful.button({ modkey }, 1, function(t)
|
||||
|
@ -182,9 +148,7 @@ screen.connect_signal("property::geometry", function(s)
|
|||
end
|
||||
end)
|
||||
awful.screen.connect_for_each_screen(function(s) beautiful.at_screen_connect(s) end)
|
||||
-- END OF WIBOX STUFF --
|
||||
|
||||
-- BEGINNIG OF BINDINGS --
|
||||
-- Awesome things
|
||||
globalkeys = my_table.join(
|
||||
awful.key({ modkey, }, "s", hotkeys_popup.show_help,
|
||||
|
@ -333,7 +297,6 @@ globalkeys = my_table.join(
|
|||
awful.key({ modkey, "Control" }, "n",
|
||||
function ()
|
||||
local c = awful.client.restore()
|
||||
-- Focus restored client
|
||||
if c then
|
||||
client.focus = c
|
||||
c:raise()
|
||||
|
@ -435,7 +398,7 @@ for i = 1, 9 do
|
|||
descr_toggle_focus)
|
||||
)
|
||||
end
|
||||
-- Other mouse bindings
|
||||
-- Mouse bindings
|
||||
clientbuttons = gears.table.join(
|
||||
awful.button({ }, 1, function (c)
|
||||
c:emit_signal("request::activate", "mouse_click", {raise = true})
|
||||
|
@ -449,12 +412,8 @@ clientbuttons = gears.table.join(
|
|||
awful.mouse.client.resize(c)
|
||||
end)
|
||||
)
|
||||
-- Set keys
|
||||
root.keys(globalkeys)
|
||||
-- END OF BINDINGS --
|
||||
|
||||
-- BEGINNING OF RULES --
|
||||
-- Rules to apply to new clients (through the "manage" signal).
|
||||
awful.rules.rules = {
|
||||
-- All clients will match this rule.
|
||||
{ rule = { },
|
||||
|
@ -468,7 +427,7 @@ awful.rules.rules = {
|
|||
placement = awful.placement.no_overlap+awful.placement.no_offscreen,
|
||||
callback = awful.client.setslave
|
||||
}
|
||||
},
|
||||
},
|
||||
-- Floating clients.
|
||||
{ rule_any = {
|
||||
instance = {
|
||||
|
@ -499,36 +458,23 @@ awful.rules.rules = {
|
|||
}
|
||||
}, properties = { floating = true }},
|
||||
}
|
||||
-- END OF RULES --
|
||||
|
||||
-- BEGINNING OF 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)
|
||||
-- END OF SIGNALS --
|
||||
|
||||
-- BEGINNING OF MOUSE FOCUS SETTINGS --
|
||||
-- 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)
|
||||
-- END OF MOUSE FOCUS SETTINGS --
|
||||
|
||||
-- BEGINNING OF AUTOSTART --
|
||||
awful.util.spawn_with_shell("sh $HOME/.fehbg &")
|
||||
awful.util.spawn_with_shell("lxpolkit &")
|
||||
awful.util.spawn_with_shell("/usr/bin/emacs --daemon &")
|
||||
awful.util.spawn_with_shell("pulseaudio &")
|
||||
awful.util.spawn_with_shell("pulseaudio --daemonize=no --exit-idle-time=-1 &")
|
||||
awful.util.spawn_with_shell("picom --config $HOME/.config/picom/picom.conf &")
|
||||
-- END OF AUTOSTART --
|
||||
|
|
BIN
.config/awesome/screenshot.png
Normal file
BIN
.config/awesome/screenshot.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 113 KiB |
|
@ -1,10 +1,20 @@
|
|||
|
||||
__/\\\\\\\\\\\\_______/\\\\\\\\\______/\\\________/\\\_
|
||||
_\/\\\////////\\\___/\\\///////\\\___\/\\\_____/\\\//__
|
||||
_\/\\\______\//\\\_\/\\\_____\/\\\___\/\\\__/\\\//_____
|
||||
_\/\\\_______\/\\\_\/\\\\\\\\\\\/____\/\\\\\\//\\\_____
|
||||
_\/\\\_______\/\\\_\/\\\//////\\\____\/\\\//_\//\\\____ Darius Drake
|
||||
_\/\\\_______\/\\\_\/\\\____\//\\\___\/\\\____\//\\\___
|
||||
_\/\\\_______/\\\__\/\\\_____\//\\\__\/\\\_____\//\\\__
|
||||
_\/\\\\\\\\\\\\/___\/\\\______\//\\\_\/\\\______\//\\\_
|
||||
_\////////////_____\///________\///__\///________\///__
|
||||
================= =============== =============== ======== ========
|
||||
\\ . . . . . . .\\ //. . . . . . .\\ //. . . . . . .\\ \\. . .\\// . . //
|
||||
||. . ._____. . .|| ||. . ._____. . .|| ||. . ._____. . .|| || . . .\/ . . .||
|
||||
|| . .|| ||. . || || . .|| ||. . || || . .|| ||. . || ||. . . . . . . ||
|
||||
||. . || || . .|| ||. . || || . .|| ||. . || || . .|| || . | . . . . .||
|
||||
|| . .|| ||. _-|| ||-_ .|| ||. . || || . .|| ||. _-|| ||-_.|\ . . . . ||
|
||||
||. . || ||-' || || `-|| || . .|| ||. . || ||-' || || `|\_ . .|. .||
|
||||
|| . _|| || || || || ||_ . || || . _|| || || || |\ `-_/| . ||
|
||||
||_-' || .|/ || || \|. || `-_|| ||_-' || .|/ || || | \ / |-_.||
|
||||
|| ||_-' || || `-_|| || || ||_-' || || | \ / | `||
|
||||
|| `' || || `' || || `' || || | \ / | ||
|
||||
|| .===' `===. .==='.`===. .===' /==. | \/ | ||
|
||||
|| .==' \_|-_ `===. .===' _|_ `===. .===' _-|/ `== \/ | ||
|
||||
|| .==' _-' `-_ `=' _-' `-_ `=' _-' `-_ /| \/ | ||
|
||||
|| .==' _-' '-__\._-' '-_./__-' `' |. /| | ||
|
||||
||.==' _-' `' | /==.||
|
||||
==' _-' EMACS \/ `==
|
||||
\ _-' `-_ /
|
||||
`'' ``'
|
||||
|
|
|
@ -1,67 +1,20 @@
|
|||
## ____ ____ _ __
|
||||
## | _ \| _ \| |/ /
|
||||
## | | | | |_) | ' / Clay Gomera (Drake)
|
||||
## | |_| | _ <| . \ My custom picom config
|
||||
## |____/|_| \_\_|\_\
|
||||
## ____ __
|
||||
## / __ \_________ _/ /_____
|
||||
## / / / / ___/ __ `/ //_/ _ \
|
||||
## / /_/ / / / /_/ / ,< / __/ Clay Gomera (Drake)
|
||||
## /_____/_/ \__,_/_/|_|\___/ My custom picom config
|
||||
##
|
||||
|
||||
#################################
|
||||
# Animations #
|
||||
#################################
|
||||
# requires https://github.com/jonaburg/picom
|
||||
# (These are also the default values)
|
||||
transition-length = 300
|
||||
transition-pow-x = 0.1
|
||||
transition-pow-y = 0.1
|
||||
transition-pow-w = 0.1
|
||||
transition-pow-h = 0.1
|
||||
size-transition = true
|
||||
|
||||
#################################
|
||||
# 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
|
||||
## Shadows
|
||||
shadow = true;
|
||||
|
||||
# The blur radius for shadows, in pixels. (defaults to 12)
|
||||
# shadow-radius = 12
|
||||
shadow-radius = 7;
|
||||
|
||||
# The opacity of shadows. (0.0 - 1.0, defaults to 0.75)
|
||||
# shadow-opacity = .75
|
||||
|
||||
# The left offset for shadows, in pixels. (defaults to -15)
|
||||
# shadow-offset-x = -15
|
||||
shadow-offset-x = -7;
|
||||
|
||||
# The top offset for shadows, in pixels. (defaults to -15)
|
||||
# shadow-offset-y = -15
|
||||
shadow-offset-y = -7;
|
||||
|
||||
# Red color value of shadow (0.0 - 1.0, defaults to 0).
|
||||
# shadow-red = 0
|
||||
|
||||
# Green color value of shadow (0.0 - 1.0, defaults to 0).
|
||||
# shadow-green = 0
|
||||
|
||||
# Blue color value of shadow (0.0 - 1.0, defaults to 0).
|
||||
# shadow-blue = 0
|
||||
|
||||
# Hex string color value of shadow (#000000 - #FFFFFF, defaults to #000000). This option will override options set shadow-(red/green/blue)
|
||||
# shadow-color = "#000000"
|
||||
|
||||
# Specify a list of conditions of windows that should have no shadow.
|
||||
#
|
||||
# examples:
|
||||
# shadow-exclude = "n:e:Notification";
|
||||
#
|
||||
# shadow-exclude = []
|
||||
shadow-exclude = [
|
||||
"name = 'Notification'",
|
||||
"class_g = 'Conky'",
|
||||
|
@ -70,370 +23,44 @@ shadow-exclude = [
|
|||
"_GTK_FRAME_EXTENTS@:c"
|
||||
];
|
||||
|
||||
# Specify a list of conditions of windows that should have no shadow painted over, such as a dock window.
|
||||
# clip-shadow-above = []
|
||||
|
||||
# Specify a X geometry that describes the region in which shadow should not
|
||||
# be painted in, such as a dock window region. Use
|
||||
# shadow-exclude-reg = "x10+0+0"
|
||||
# for example, if the 10 pixels on the bottom of the screen should not have shadows painted on.
|
||||
#
|
||||
# shadow-exclude-reg = ""
|
||||
|
||||
# Crop shadow of a window fully on a particular Xinerama screen to the screen.
|
||||
# xinerama-shadow-crop = false
|
||||
|
||||
|
||||
#################################
|
||||
# Fading #
|
||||
#################################
|
||||
|
||||
|
||||
# Fade windows in/out when opening/closing and when opacity changes,
|
||||
# unless no-fading-openclose is used.
|
||||
# fading = false
|
||||
## Fading
|
||||
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.05;
|
||||
|
||||
# Opacity change between steps while fading out. (0.01 - 1.0, defaults to 0.03)
|
||||
# fade-out-step = 0.03
|
||||
fade-out-step = 0.05;
|
||||
|
||||
# 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-delta = 8
|
||||
# fade-exclude = []
|
||||
|
||||
# Do not fade on window open/close.
|
||||
# no-fading-openclose = false
|
||||
no-fading-destroyed-argb = true
|
||||
|
||||
# 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
|
||||
## Transparency and opacity
|
||||
inactive-opacity = 1.00;
|
||||
|
||||
# Opacity of window titlebars and borders. (0.1 - 1.0, disabled by default)
|
||||
# frame-opacity = 1.0
|
||||
frame-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 never be considered focused.
|
||||
# focus-exclude = []
|
||||
focus-exclude = [ "class_g = 'Cairo-clock'" ];
|
||||
|
||||
# Use fixed inactive dim value, instead of adjusting according to window opacity.
|
||||
# inactive-dim-fixed = 1.0
|
||||
|
||||
# Specify a list of opacity rules, in the format `PERCENT:PATTERN`,
|
||||
# like `50:name *= "Firefox"`. picom-trans is recommended over this.
|
||||
# Note we don't make any guarantee about possible conflicts with other
|
||||
# programs that set '_NET_WM_WINDOW_OPACITY' on frame or client windows.
|
||||
# example:
|
||||
# opacity-rule = [ "80:class_g = 'URxvt'" ];
|
||||
#
|
||||
# opaity-rule = []
|
||||
|
||||
|
||||
#################################
|
||||
# Corners #
|
||||
#################################
|
||||
|
||||
# Sets the radius of rounded window corners. When > 0, the compositor will
|
||||
# round the corners of windows. Does not interact well with
|
||||
# `transparent-clipping`.
|
||||
corner-radius = 0
|
||||
|
||||
# Exclude conditions for rounded corners.
|
||||
rounded-corners-exclude = [
|
||||
"window_type = 'dock'",
|
||||
"window_type = 'desktop'"
|
||||
];
|
||||
|
||||
|
||||
#################################
|
||||
# Background-Blurring #
|
||||
#################################
|
||||
|
||||
|
||||
# Parameters for background blurring, see the *BLUR* section for more information.
|
||||
# blur-method =
|
||||
# blur-size = 12
|
||||
#
|
||||
# blur-deviation = false
|
||||
#
|
||||
# blur-strength = 5
|
||||
|
||||
# Blur background of semi-transparent / ARGB windows.
|
||||
# Bad in performance, with driver-dependent behavior.
|
||||
# The name of the switch may change without prior notifications.
|
||||
#
|
||||
# blur-background = false
|
||||
|
||||
# Blur background of windows when the window frame is not opaque.
|
||||
# Implies:
|
||||
# blur-background
|
||||
# Bad in performance, with driver-dependent behavior. The name may change.
|
||||
#
|
||||
# blur-background-frame = false
|
||||
|
||||
|
||||
# Use fixed blur strength rather than adjusting according to window opacity.
|
||||
# blur-background-fixed = false
|
||||
|
||||
|
||||
# Specify the blur convolution kernel, with the following format:
|
||||
# example:
|
||||
# blur-kern = "5,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1";
|
||||
#
|
||||
# blur-kern = ""
|
||||
blur-kern = "3x3box";
|
||||
|
||||
|
||||
# Exclude conditions for background blur.
|
||||
# blur-background-exclude = []
|
||||
blur-background-exclude = [
|
||||
"window_type = 'dock'",
|
||||
"window_type = 'desktop'",
|
||||
"_GTK_FRAME_EXTENTS@:c"
|
||||
];
|
||||
|
||||
#################################
|
||||
# General Settings #
|
||||
#################################
|
||||
|
||||
# Daemonize process. Fork to background after initialization. Causes issues with certain (badly-written) drivers.
|
||||
# daemon = false
|
||||
|
||||
# Specify the backend to use: `xrender`, `glx`, or `xr_glx_hybrid`.
|
||||
# `xrender` is the default one.
|
||||
#
|
||||
# backend = "glx"
|
||||
backend = "xrender";
|
||||
|
||||
# Enable/disable VSync.
|
||||
# vsync = false
|
||||
## General Settings
|
||||
backend = "glx";
|
||||
vsync = true;
|
||||
|
||||
# Enable remote control via D-Bus. See the *D-BUS API* section below for more details.
|
||||
# dbus = false
|
||||
|
||||
# Try to detect WM windows (a non-override-redirect window with no
|
||||
# child that has 'WM_STATE') and mark them as active.
|
||||
#
|
||||
# mark-wmwin-focused = false
|
||||
mark-wmwin-focused = true;
|
||||
|
||||
# Mark override-redirect windows that doesn't have a child window with 'WM_STATE' focused.
|
||||
# mark-ovredir-focused = false
|
||||
mark-ovredir-focused = true;
|
||||
|
||||
# Try to detect windows with rounded corners and don't consider them
|
||||
# shaped windows. The accuracy is not very high, unfortunately.
|
||||
#
|
||||
# detect-rounded-corners = false
|
||||
detect-rounded-corners = true;
|
||||
|
||||
# Detect '_NET_WM_OPACITY' on client windows, useful for window managers
|
||||
# not passing '_NET_WM_OPACITY' of client windows to frame windows.
|
||||
#
|
||||
# detect-client-opacity = false
|
||||
detect-client-opacity = true;
|
||||
|
||||
# Specify refresh rate of the screen. If not specified or 0, picom will
|
||||
# try detecting this with X RandR extension.
|
||||
#
|
||||
# refresh-rate = 60
|
||||
refresh-rate = 0;
|
||||
|
||||
# Use EWMH '_NET_ACTIVE_WINDOW' to determine currently focused window,
|
||||
# rather than listening to 'FocusIn'/'FocusOut' event. Might have more accuracy,
|
||||
# provided that the WM supports it.
|
||||
#
|
||||
# use-ewmh-active-win = false
|
||||
|
||||
# Unredirect all windows if a full-screen opaque window is detected,
|
||||
# to maximize performance for full-screen windows. Known to cause flickering
|
||||
# when redirecting/unredirecting windows.
|
||||
#
|
||||
# unredir-if-possible = false
|
||||
|
||||
# Delay before unredirecting the window, in milliseconds. Defaults to 0.
|
||||
# unredir-if-possible-delay = 0
|
||||
|
||||
# Conditions of windows that shouldn't be considered full-screen for unredirecting screen.
|
||||
# unredir-if-possible-exclude = []
|
||||
|
||||
# Use 'WM_TRANSIENT_FOR' to group windows, and consider windows
|
||||
# in the same group focused at the same time.
|
||||
#
|
||||
# detect-transient = false
|
||||
detect-transient = true;
|
||||
|
||||
# Use 'WM_CLIENT_LEADER' to group windows, and consider windows in the same
|
||||
# group focused at the same time. This usually means windows from the same application
|
||||
# will be considered focused or unfocused at the same time.
|
||||
# 'WM_TRANSIENT_FOR' has higher priority if detect-transient is enabled, too.
|
||||
#
|
||||
# detect-client-leader = false
|
||||
|
||||
# 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
|
||||
glx-no-stencil = true;
|
||||
use-damage = true;
|
||||
xrender-sync-fence = true;
|
||||
glx-use-copysubbuffer-mesa = true;
|
||||
|
||||
# Use X Sync fence to sync clients' draw calls, to make sure all draw
|
||||
# calls are finished before picom starts drawing. Needed on nvidia-drivers
|
||||
# with GLX backend for some users.
|
||||
#
|
||||
# xrender-sync-fence = false
|
||||
|
||||
# GLX backend: Use specified GLSL fragment shader for rendering window contents.
|
||||
# See `compton-default-fshader-win.glsl` and `compton-fake-transparency-fshader-win.glsl`
|
||||
# in the source tree for examples.
|
||||
#
|
||||
# glx-fshader-win = ""
|
||||
|
||||
# Force all windows to be painted with blending. Useful if you
|
||||
# have a glx-fshader-win that could turn opaque pixels transparent.
|
||||
#
|
||||
# force-win-blend = false
|
||||
|
||||
# Do not use EWMH to detect fullscreen windows.
|
||||
# Reverts to checking if a window is fullscreen based only on its size and coordinates.
|
||||
#
|
||||
# no-ewmh-fullscreen = false
|
||||
|
||||
# Dimming bright windows so their brightness doesn't exceed this set value.
|
||||
# Brightness of a window is estimated by averaging all pixels in the window,
|
||||
# so this could comes with a performance hit.
|
||||
# Setting this to 1.0 disables this behaviour. Requires --use-damage to be disabled. (default: 1.0)
|
||||
#
|
||||
# max-brightness = 1.0
|
||||
|
||||
# Make transparent windows clip other windows like non-transparent windows do,
|
||||
# instead of blending on top of them.
|
||||
#
|
||||
# transparent-clipping = false
|
||||
|
||||
# Set the log level. Possible values are:
|
||||
# "trace", "debug", "info", "warn", "error"
|
||||
# in increasing level of importance. Case doesn't matter.
|
||||
# If using the "TRACE" log level, it's better to log into a file
|
||||
# using *--log-file*, since it can generate a huge stream of logs.
|
||||
#
|
||||
# log-level = "debug"
|
||||
log-level = "warn";
|
||||
|
||||
# Set the log file.
|
||||
# If *--log-file* is never specified, logs will be written to stderr.
|
||||
# Otherwise, logs will to written to the given file, though some of the early
|
||||
# logs might still be written to the stderr.
|
||||
# When setting this option from the config file, it is recommended to use an absolute path.
|
||||
#
|
||||
# log-file = "/path/to/your/log/file"
|
||||
|
||||
# Show all X errors (for debugging)
|
||||
# show-all-xerrors = false
|
||||
|
||||
# Write process ID to a file.
|
||||
# write-pid-path = "/path/to/your/log/file"
|
||||
|
||||
# Window type settings
|
||||
#
|
||||
# 'WINDOW_TYPE' is one of the 15 window types defined in EWMH standard:
|
||||
# "unknown", "desktop", "dock", "toolbar", "menu", "utility",
|
||||
# "splash", "dialog", "normal", "dropdown_menu", "popup_menu",
|
||||
# "tooltip", "notification", "combo", and "dnd".
|
||||
#
|
||||
# Following per window-type options are available: ::
|
||||
#
|
||||
# fade, shadow:::
|
||||
# Controls window-type-specific shadow and fade settings.
|
||||
#
|
||||
# opacity:::
|
||||
# Controls default opacity of the window type.
|
||||
#
|
||||
# focus:::
|
||||
# Controls whether the window of this type is to be always considered focused.
|
||||
# (By default, all window types except "normal" and "dialog" has this on.)
|
||||
#
|
||||
# full-shadow:::
|
||||
# Controls whether shadow is drawn under the parts of the window that you
|
||||
# normally won't be able to see. Useful when the window has parts of it
|
||||
# transparent, and you want shadows in those areas.
|
||||
#
|
||||
# clip-shadow-above:::
|
||||
# Controls wether shadows that would have been drawn above the window should
|
||||
# be clipped. Useful for dock windows that should have no shadow painted on top.
|
||||
#
|
||||
# redir-ignore:::
|
||||
# Controls whether this type of windows should cause screen to become
|
||||
# redirected again after been unredirected. If you have unredir-if-possible
|
||||
# set, and doesn't want certain window to cause unnecessary screen redirection,
|
||||
# you can set this to `true`.
|
||||
#
|
||||
wintypes:
|
||||
{
|
||||
tooltip = { fade = true; shadow = true; opacity = 0.75; focus = true; full-shadow = false; };
|
||||
dock = { shadow = false; clip-shadow-above = true; }
|
||||
dnd = { shadow = false; }
|
||||
popup_menu = { opacity = 0.8; }
|
||||
dropdown_menu = { opacity = 0.8; }
|
||||
normal = { fade = true; full-shadow = true; };
|
||||
tooltip = { fade = true; };
|
||||
menu = { fade = true; };
|
||||
popup_menu = { fade = true; };
|
||||
dropdown_menu = { fade = true; };
|
||||
utility = { fade = true; };
|
||||
dialog = { fade = true; };
|
||||
notify = { fade = true; };
|
||||
unknown = { fade = true; };
|
||||
# notification = { shadow = true; };
|
||||
# dock = { shadow = false; };
|
||||
};
|
||||
|
||||
|
|
|
@ -1,28 +1,24 @@
|
|||
## ____ ____ _ __
|
||||
## | _ \| _ \| |/ /
|
||||
## | | | | |_) | ' / Clay Gomera (Drake)
|
||||
## | |_| | _ <| . \ My custom starship prompt config
|
||||
## |____/|_| \_\_|\_\
|
||||
## ____ __
|
||||
## / __ \_________ _/ /_____
|
||||
## / / / / ___/ __ `/ //_/ _ \
|
||||
## / /_/ / / / /_/ / ,< / __/ Clay Gomera (Drake)
|
||||
## /_____/_/ \__,_/_/|_|\___/ My custom starship prompt config
|
||||
##
|
||||
|
||||
# disable starship from forcing a new line to be taken. Solved the empty line
|
||||
# at start of terminal
|
||||
add_newline = false
|
||||
|
||||
[line_break]
|
||||
disabled = true
|
||||
|
||||
# character settings
|
||||
[character]
|
||||
error_symbol = "[✘](bold red) "
|
||||
success_symbol = "[↳](bold green)"
|
||||
|
||||
# directory settings
|
||||
[directory]
|
||||
truncation_length = 5
|
||||
format = "[$path]($style)[$lock_symbol]($lock_style) "
|
||||
home_symbol = "🏠"
|
||||
format = "[$path](bold cyan) "
|
||||
|
||||
# shows the hostname on new lines
|
||||
[hostname]
|
||||
ssh_only = false
|
||||
disabled = false
|
||||
|
@ -31,7 +27,7 @@ style = "bold italic #87A752"
|
|||
[package]
|
||||
disabled = true
|
||||
|
||||
# the user name will always show up
|
||||
[username]
|
||||
style_user = "bold dimmed blue"
|
||||
show_always = true
|
||||
style_user = "bold dimmed blue"
|
||||
format = "[$user]($style)[ in ](white)"
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
" ____ _____
|
||||
" | _ \_ _| Derek Taylor (DistroTube)
|
||||
" | | | || | http://www.youtube.com/c/DistroTube
|
||||
" | |_| || | http://www.gitlab.com/dwt1/
|
||||
" |____/ |_|
|
||||
" ____ __
|
||||
" / __ \_________ _/ /_____
|
||||
" / / / / ___/ __ `/ //_/ _ \
|
||||
" / /_/ / / / /_/ / ,< / __/ Clay Gomera (Drake)
|
||||
" /_____/_/ \__,_/_/|_|\___/ My custom vifm config
|
||||
|
||||
" vim: filetype=vifm :
|
||||
" My config file for the vifm terminal file manager.
|
||||
|
|
10
.zshrc
10
.zshrc
|
@ -1,8 +1,8 @@
|
|||
## ____ ____ _ __
|
||||
## | _ \| _ \| |/ /
|
||||
## | | | | |_) | ' / Clay Gomera (Drake)
|
||||
## | |_| | _ <| . \ My custom zshrc
|
||||
## |____/|_| \_\_|\_\
|
||||
## ____ __
|
||||
## / __ \_________ _/ /_____
|
||||
## / / / / ___/ __ `/ //_/ _ \
|
||||
## / /_/ / / / /_/ / ,< / __/ Clay Gomera (Drake)
|
||||
## /_____/_/ \__,_/_/|_|\___/ My custom zsh config
|
||||
##
|
||||
|
||||
### EXPORT
|
||||
|
|
|
@ -33,4 +33,4 @@ If you want to get the full experience you need theese things:
|
|||
- dmenu (The best run prompt)
|
||||
|
||||
* Other dependencies
|
||||
- fd (Required by some of my dmenu scripts)
|
||||
- fd (Required by some of my dmenu scripts and DOOM Emacs)
|
||||
|
|
BIN
screenshot1.png
BIN
screenshot1.png
Binary file not shown.
Before Width: | Height: | Size: 261 KiB After Width: | Height: | Size: 594 KiB |
BIN
screenshot2.png
BIN
screenshot2.png
Binary file not shown.
Before Width: | Height: | Size: 254 KiB After Width: | Height: | Size: 387 KiB |
Loading…
Reference in a new issue