mirror of
https://codeberg.org/andyscott/dotfiles.git
synced 2024-12-21 17:33:11 -05:00
Initial commit
This commit is contained in:
commit
fe6c0ce052
29 changed files with 3909 additions and 0 deletions
16
LICENSE
Normal file
16
LICENSE
Normal file
|
@ -0,0 +1,16 @@
|
||||||
|
MIT No Attribution
|
||||||
|
|
||||||
|
Copyright 2022 Andrew Scott
|
||||||
|
|
||||||
|
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.
|
||||||
|
|
||||||
|
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.
|
155
dot_Xresources
Normal file
155
dot_Xresources
Normal file
|
@ -0,0 +1,155 @@
|
||||||
|
! -----------------------------------------------------------------------------
|
||||||
|
! Colors: gruvbox-dark, forest night, zenburn
|
||||||
|
! Source: https://github.com/morhetz/gruvbox-generalized
|
||||||
|
! https://github.com/jef/forest-night-xresources
|
||||||
|
! https://github.com/jnurmine/Zenburn
|
||||||
|
! -----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
! Laptop screen DPI
|
||||||
|
Xft.dpi: 216
|
||||||
|
|
||||||
|
Xft.autohint: 0
|
||||||
|
Xft.lcdfilter: lcddefault
|
||||||
|
Xft.hintstyle: hintfull
|
||||||
|
Xft.hinting: 1
|
||||||
|
Xft.antialias: 1
|
||||||
|
Xft.rgba: rgb
|
||||||
|
|
||||||
|
!---------!
|
||||||
|
! Gruvbox !
|
||||||
|
! --------!
|
||||||
|
|
||||||
|
! hard contrast: *background: #1d2021
|
||||||
|
! medium contrast: *background: #282828
|
||||||
|
! soft contrast: *background: #32302f
|
||||||
|
! *background: #1d2021
|
||||||
|
! *foreground: #ebdbb2
|
||||||
|
! ! Black + DarkGrey
|
||||||
|
! *color0: #282828
|
||||||
|
! *color8: #928374
|
||||||
|
! ! DarkRed + Red
|
||||||
|
! *color1: #cc241d
|
||||||
|
! *color9: #fb4934
|
||||||
|
! ! DarkGreen + Green
|
||||||
|
! *color2: #98971a
|
||||||
|
! *color10: #b8bb26
|
||||||
|
! ! DarkYellow + Yellow
|
||||||
|
! *color3: #d79921
|
||||||
|
! *color11: #fabd2f
|
||||||
|
! ! DarkBlue + Blue
|
||||||
|
! *color4: #458588
|
||||||
|
! *color12: #83a598
|
||||||
|
! ! DarkMagenta + Magenta
|
||||||
|
! *color5: #b16286
|
||||||
|
! *color13: #d3869b
|
||||||
|
! ! DarkCyan + Cyan
|
||||||
|
! *color6: #689d6a
|
||||||
|
! *color14: #8ec07c
|
||||||
|
! ! LightGrey + White
|
||||||
|
! *color7: #a89984
|
||||||
|
! *color15: #ebdbb2
|
||||||
|
|
||||||
|
!------------!
|
||||||
|
! Everforest !
|
||||||
|
!------------!
|
||||||
|
|
||||||
|
! special
|
||||||
|
*.foreground: #d8caac
|
||||||
|
*.background: #323d43
|
||||||
|
*.cursorColor: #7fbbb3
|
||||||
|
! black
|
||||||
|
*.color0: #4a555b
|
||||||
|
*.color8: #525c62
|
||||||
|
! red
|
||||||
|
*.color1: #e26c6e
|
||||||
|
*.color9: #e68183
|
||||||
|
! green
|
||||||
|
*.color2: #9bb86f
|
||||||
|
*.color10: #a7c080
|
||||||
|
! yellow
|
||||||
|
*.color3: #d5b26b
|
||||||
|
*.color11: #dbbc7f
|
||||||
|
! blue
|
||||||
|
*.color4: #6eb2a9
|
||||||
|
*.color12: #7fbbb3
|
||||||
|
! magenta
|
||||||
|
*.color5: #cf87a9
|
||||||
|
*.color13: #d699b6
|
||||||
|
! cyan
|
||||||
|
*.color6: #72b783
|
||||||
|
*.color14: #83c092
|
||||||
|
! white
|
||||||
|
*.color7: #d0bf9b
|
||||||
|
*.color15: #d8caac
|
||||||
|
|
||||||
|
!---------!
|
||||||
|
! Zenburn !
|
||||||
|
!---------!
|
||||||
|
|
||||||
|
! *background: #3f3f3f
|
||||||
|
! *foreground: #dcdccc
|
||||||
|
! ! Black + DarkGrey
|
||||||
|
! *color0: #282828
|
||||||
|
! *color8: #709080
|
||||||
|
! ! DarkRed + Red
|
||||||
|
! *color1: #705050
|
||||||
|
! *color9: #dca3a3
|
||||||
|
! ! DarkGreen + Green
|
||||||
|
! *color2: #60b48a
|
||||||
|
! *color10: #c3bf9f
|
||||||
|
! ! DarkYellow + Yellow
|
||||||
|
! *color3: #f0deae
|
||||||
|
! *color11: #dfcf9f
|
||||||
|
! ! DarkBlue + Blue
|
||||||
|
! *color4: #506070
|
||||||
|
! *color12: #94bff3
|
||||||
|
! ! DarkMagenta + Magenta
|
||||||
|
! *color5: #dc8cc3
|
||||||
|
! *color13: #ec93d3
|
||||||
|
! ! DarkCyan + Cyan
|
||||||
|
! *color6: #8cd0d3
|
||||||
|
! *color14: #93e0e3
|
||||||
|
! ! LightGrey + White
|
||||||
|
! *color7: #dcdccc
|
||||||
|
! *color15: #ffffff
|
||||||
|
|
||||||
|
!!! urxvt
|
||||||
|
URxvt.perl-ext-common: default,matcher
|
||||||
|
URxvt*buffered: true
|
||||||
|
URxvt*saveLines: 5000
|
||||||
|
URxvt*cursorBlink: true
|
||||||
|
URxvt*borderless: 1
|
||||||
|
URxvt*internalBorder: 20
|
||||||
|
URxvt*scrollBar: false
|
||||||
|
URxvt.url-launcher: /usr/bin/xdg-open
|
||||||
|
URxvt.matcher.button: 1
|
||||||
|
URxvt.clipboard.autocopy: true
|
||||||
|
|
||||||
|
! do not scroll with output
|
||||||
|
URxvt*scrollTtyOutput: false
|
||||||
|
! scroll in relation to buffer (with mouse scroll or Shift+Page Up)
|
||||||
|
URxvt*scrollWithBuffer: true
|
||||||
|
! scroll back to the bottom on keypress
|
||||||
|
URxvt*scrollTtyKeypress: true
|
||||||
|
! disable scrollback buffer in secondary screen (allows scrolling pager when using 'less' etc)
|
||||||
|
URxvt.secondaryScreen: 1
|
||||||
|
URxvt.secondaryScroll: 0
|
||||||
|
! Disable printing the terminal contents when pressing PrintScreen.
|
||||||
|
URxvt.print-pipe: "cat > /dev/null"
|
||||||
|
!! copy/paste
|
||||||
|
! disable default ctrl-shift binding
|
||||||
|
URxvt.iso14755: false
|
||||||
|
URxvt.iso14755_52: false
|
||||||
|
! disable default copy/paste bindings
|
||||||
|
URxvt.keysym.Control-Meta-c: builtin-string:
|
||||||
|
URxvt.keysym.Control-Meta-v: builtin-string:
|
||||||
|
! new copy/paste bindings
|
||||||
|
URxvt.keysym.Shift-Control-V: eval:paste_clipboard
|
||||||
|
URxvt.keysym.Shift-Control-C: eval:selection_to_clipboard
|
||||||
|
!! font
|
||||||
|
!URxvt.letterSpace: -1
|
||||||
|
URxvt.font: xft:Hack:regular:size=12, \
|
||||||
|
xft:Font Awesome 6 Brands:Regular:size=10, \
|
||||||
|
xft:Font Awesome 6 Free:Solid:size=10, \
|
||||||
|
xft:Font Awesome 6 Free:Regular:size=10
|
||||||
|
|
12
dot_bash_profile
Normal file
12
dot_bash_profile
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
#
|
||||||
|
# ~/.bash_profile
|
||||||
|
#
|
||||||
|
. ~/.profile
|
||||||
|
|
||||||
|
[[ -f ~/.bashrc ]] && . ~/.bashrc
|
||||||
|
|
||||||
|
if [ -z "${DISPLAY}" ] && [ "${XDG_VTNR}" -eq 1 ]; then
|
||||||
|
exec startx
|
||||||
|
fi
|
||||||
|
|
||||||
|
export EDITOR=emacs
|
17
dot_bashrc
Normal file
17
dot_bashrc
Normal file
|
@ -0,0 +1,17 @@
|
||||||
|
#
|
||||||
|
# ~/.bashrc
|
||||||
|
#
|
||||||
|
|
||||||
|
# If not running interactively, don't do anything
|
||||||
|
[[ $- != *i* ]] && return
|
||||||
|
|
||||||
|
alias ls='ls --color=auto'
|
||||||
|
PS1='[\u@\h \W]\$ '
|
||||||
|
|
||||||
|
alias nv=nvim
|
||||||
|
alias r="urxvt -name Ranger -e ranger & disown"
|
||||||
|
alias kssh="/usr/bin/kitty +kitten ssh"
|
||||||
|
|
||||||
|
neofetch
|
||||||
|
|
||||||
|
[ -f /opt/miniconda3/etc/profile.d/conda.sh ] && source /opt/miniconda3/etc/profile.d/conda.sh
|
65
dot_config/bspwm/executable_bspwmrc
Normal file
65
dot_config/bspwm/executable_bspwmrc
Normal file
|
@ -0,0 +1,65 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
bspc monitor eDP-1 -d 1 2 3 4 5 6 7 8 9 10
|
||||||
|
|
||||||
|
bspc config border_width 2
|
||||||
|
bspc config window_gap 10
|
||||||
|
bspc config top_padding 70
|
||||||
|
bspc config bottom_padding 0
|
||||||
|
bspc config split_ratio 0.50
|
||||||
|
bspc config borderless_monocle true
|
||||||
|
bspc config gapless_monocle true
|
||||||
|
|
||||||
|
bspc rule -a Galculator state=floating
|
||||||
|
bspc rule -a vlc state=floating
|
||||||
|
bspc rule -a Blueman-manager state=floating
|
||||||
|
bspc rule -a Blueberry.py state=floating
|
||||||
|
bspc rule -a Bitwarden state=floating
|
||||||
|
bspc rule -a Leafpad state=floating
|
||||||
|
bspc rule -a KeePassXC state=floating
|
||||||
|
|
||||||
|
bspc rule -a firefox desktop='^1' follow=on
|
||||||
|
bspc rule -a Chromium desktop='^2' follow=on
|
||||||
|
bspc rule -a Vivaldi-stable desktop='^2' follow=on
|
||||||
|
bspc rule -a Evince desktop='4' follow=on
|
||||||
|
bspc rule -a Soffice desktop='^4' follow=on
|
||||||
|
bspc rule -a Simple-scan='^4' follow=on
|
||||||
|
bspc rule -a Xsane desktop='^4' follow=on state=floating
|
||||||
|
bspc rule -a Alacritty desktop='^6' follow=on
|
||||||
|
bspc rule -a kitty desktop='^6' follow=on
|
||||||
|
bspc rule -a URxvt desktop='^6' follow=on
|
||||||
|
bspc rule -a URxvt:Ranger desktop='^3' follow=on
|
||||||
|
bspc rule -a Thunar desktop='3' follow=on
|
||||||
|
bspc rule -a Steam desktop='^5' follow=on state=floating
|
||||||
|
bspc rule -a Lutris desktop='^5' follow=on state=floating
|
||||||
|
bspc rule -a origin.exe desktop='^5' state=floating
|
||||||
|
bspc rule -a Emacs desktop='^7' follow=on state=fullscreen
|
||||||
|
bspc rule -a Dino desktop='^8'
|
||||||
|
bspc rule -a Gajim desktop='^8'
|
||||||
|
bspc rule -a discord desktop='^8'
|
||||||
|
bspc rule -a Element desktop='^9'
|
||||||
|
bspc rule -a Slack desktop='^9'
|
||||||
|
bspc rule -a teams-for-linux desktop='^9'
|
||||||
|
bspc rule -a thunderbird desktop='^10'
|
||||||
|
bspc rule -a tutanota-desktop desktop='^10'
|
||||||
|
|
||||||
|
### Focus on 1st workspace by default
|
||||||
|
bspc desktop -f 1
|
||||||
|
|
||||||
|
### Autostart
|
||||||
|
grep -x sxhkd > /dev/null || sxhkd &
|
||||||
|
/usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1 &
|
||||||
|
xss-lock -n /usr/lib/xsecurelock/dimmer -l -- xsecurelock &
|
||||||
|
xidlehook --not-when-audio --not-when-fullscreen --timer 120 "killall -q redshift && xrandr --output eDP-1 --brightness .1" "xrandr --output eDP-1 --brightness 1 && redshift -r & disown" --timer 480 "xset s activate" "xrandr --output eDP-1 --brightness 1 && redshift -r & disown" &
|
||||||
|
xsettingsd &
|
||||||
|
sh ~/.fehbg &
|
||||||
|
pa-notify -t 3 &
|
||||||
|
#$HOME/.local/bin/single-polybar-launcher &
|
||||||
|
$HOME/.local/bin/tint2-launcher &
|
||||||
|
redshift -r &
|
||||||
|
picom &
|
||||||
|
dunst &
|
||||||
|
dex -a &
|
||||||
|
cbatticon -u 20 -i standard -c "systemctl hibernate" &
|
||||||
|
birdtray &
|
||||||
|
sleep 10 && nextcloud --background &
|
414
dot_config/dunst/dunstrc
Normal file
414
dot_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 = mouse
|
||||||
|
|
||||||
|
# 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+50"
|
||||||
|
|
||||||
|
# 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 = 0
|
||||||
|
|
||||||
|
# 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 = 4
|
||||||
|
|
||||||
|
# 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 = 3
|
||||||
|
|
||||||
|
# Defines color of the frame around the notification window.
|
||||||
|
frame_color = "#222222"
|
||||||
|
|
||||||
|
# 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 = Hack 11
|
||||||
|
|
||||||
|
# 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. Dunstwill 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 = off
|
||||||
|
|
||||||
|
# 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/gnome/16x16/status/:/usr/share/icons/gnome/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 = do_action
|
||||||
|
mouse_middle_click = close_all
|
||||||
|
mouse_right_click = close_current
|
||||||
|
|
||||||
|
# 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 = false
|
||||||
|
|
||||||
|
[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 = ctrl+space
|
||||||
|
|
||||||
|
# Close all notifications.
|
||||||
|
close_all = ctrl+shift+space
|
||||||
|
|
||||||
|
# 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 = ctrl+grave
|
||||||
|
|
||||||
|
# Context menu.
|
||||||
|
context = ctrl+shift+period
|
||||||
|
|
||||||
|
[urgency_low]
|
||||||
|
# IMPORTANT: colors have to be defined in quotation marks.
|
||||||
|
# Otherwise the "#" and following would be interpreted as a comment.
|
||||||
|
background = "#222222"
|
||||||
|
foreground = "#555555"
|
||||||
|
timeout = 10
|
||||||
|
# Icon for notifications with low urgency, uncomment to enable
|
||||||
|
#icon = /path/to/icon
|
||||||
|
|
||||||
|
[urgency_normal]
|
||||||
|
background = "#222222"
|
||||||
|
foreground = "#dfdfdf"
|
||||||
|
timeout = 10
|
||||||
|
# Icon for notifications with normal urgency, uncomment to enable
|
||||||
|
#icon = /path/to/icon
|
||||||
|
|
||||||
|
[urgency_critical]
|
||||||
|
background = "#222222"
|
||||||
|
foreground = "#8a4644"
|
||||||
|
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
|
||||||
|
|
41
dot_config/kitty/everforest-dark.conf
Normal file
41
dot_config/kitty/everforest-dark.conf
Normal file
|
@ -0,0 +1,41 @@
|
||||||
|
# https://github.com/sainnhe/everforest
|
||||||
|
# https://gist.github.com/sophiabrandt/f013c5980b5f89cd068d8f7f47da2e1c
|
||||||
|
|
||||||
|
foreground #d8cacc
|
||||||
|
background #323d43
|
||||||
|
selection_foreground #3c474d
|
||||||
|
selection_background #525c62
|
||||||
|
url_color #415c6d
|
||||||
|
cursor #7fbbb3
|
||||||
|
|
||||||
|
# black
|
||||||
|
color0 #4a555b
|
||||||
|
color8 #525c62
|
||||||
|
|
||||||
|
# red
|
||||||
|
color1 #e26c6e
|
||||||
|
color9 #e68183
|
||||||
|
|
||||||
|
# green
|
||||||
|
color2 #9bb86f
|
||||||
|
color10 #a7c080
|
||||||
|
|
||||||
|
# yellow
|
||||||
|
color3 #d5b26b
|
||||||
|
color11 #dbbc7f
|
||||||
|
|
||||||
|
# blue
|
||||||
|
color4 #6eb2a9
|
||||||
|
color12 #7fbbb3
|
||||||
|
|
||||||
|
# magenta
|
||||||
|
color5 #cf87a9
|
||||||
|
color13 #d699b6
|
||||||
|
|
||||||
|
# cyan
|
||||||
|
color6 #72b783
|
||||||
|
color14 #83c092
|
||||||
|
|
||||||
|
# white
|
||||||
|
color7 #d0bf9b
|
||||||
|
color15 #d8caac
|
38
dot_config/kitty/gruvbox.conf
Normal file
38
dot_config/kitty/gruvbox.conf
Normal file
|
@ -0,0 +1,38 @@
|
||||||
|
foreground #ebdbb2
|
||||||
|
# background: hard contrast 1d2021, medium 282828, soft 32302f
|
||||||
|
background #1d2021
|
||||||
|
selection_foreground #655b53
|
||||||
|
selection_background #ebdbb2
|
||||||
|
url_color #d65c0d
|
||||||
|
|
||||||
|
# black
|
||||||
|
color0 #272727
|
||||||
|
color8 #928373
|
||||||
|
|
||||||
|
# red
|
||||||
|
color1 #cc231c
|
||||||
|
color9 #fb4833
|
||||||
|
|
||||||
|
# green
|
||||||
|
color2 #989719
|
||||||
|
color10 #b8ba25
|
||||||
|
|
||||||
|
# yellow
|
||||||
|
color3 #d79920
|
||||||
|
color11 #fabc2e
|
||||||
|
|
||||||
|
# blue
|
||||||
|
color4 #448488
|
||||||
|
color12 #83a597
|
||||||
|
|
||||||
|
# magenta
|
||||||
|
color5 #b16185
|
||||||
|
color13 #d3859a
|
||||||
|
|
||||||
|
# cyan
|
||||||
|
color6 #689d69
|
||||||
|
color14 #8ec07b
|
||||||
|
|
||||||
|
# white
|
||||||
|
color7 #a89983
|
||||||
|
color15 #ebdbb2
|
10
dot_config/kitty/kitty.conf
Normal file
10
dot_config/kitty/kitty.conf
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
font_family Hack
|
||||||
|
font_size 10
|
||||||
|
cursor_shape block
|
||||||
|
cursor_stop_blinking_after 10
|
||||||
|
shell_integration enabled no-cursor
|
||||||
|
enable_audio_bell no
|
||||||
|
#background_opacity 0.7
|
||||||
|
window_padding_width 20
|
||||||
|
#background #202020
|
||||||
|
include everforest-dark.conf
|
25
dot_config/kitty/zenburn.conf
Normal file
25
dot_config/kitty/zenburn.conf
Normal file
|
@ -0,0 +1,25 @@
|
||||||
|
# Zenburn by jnurmine, https://github.com/jnurmine/Zenburn
|
||||||
|
# This work is licensed under the terms of the GNU GPL license.
|
||||||
|
# For a copy, see http://www.gnu.org/licenses/gpl.html.
|
||||||
|
|
||||||
|
background #3f3f3f
|
||||||
|
foreground #dcdccc
|
||||||
|
cursor #73635a
|
||||||
|
selection_background #21322f
|
||||||
|
color0 #4d4d4d
|
||||||
|
color8 #709080
|
||||||
|
color1 #b05050
|
||||||
|
color9 #dca3a3
|
||||||
|
color2 #60b48a
|
||||||
|
color10 #c3bf9f
|
||||||
|
color3 #f0deae
|
||||||
|
color11 #dfcf9f
|
||||||
|
color4 #506f8f
|
||||||
|
color12 #94bff3
|
||||||
|
color5 #dc8cc3
|
||||||
|
color13 #ec93d3
|
||||||
|
color6 #8cd0d3
|
||||||
|
color14 #93e0e3
|
||||||
|
color7 #dcdccc
|
||||||
|
color15 #ffffff
|
||||||
|
selection_foreground #3f3f3f
|
417
dot_config/picom/picom.conf
Normal file
417
dot_config/picom/picom.conf
Normal file
|
@ -0,0 +1,417 @@
|
||||||
|
#################################
|
||||||
|
# Shadows #
|
||||||
|
#################################
|
||||||
|
|
||||||
|
|
||||||
|
# Enabled client-side shadows on windows. Note desktop windows
|
||||||
|
# (windows with '_NET_WM_WINDOW_TYPE_DESKTOP') never get shadow,
|
||||||
|
# unless explicitly requested using the wintypes option.
|
||||||
|
#
|
||||||
|
# shadow = false
|
||||||
|
shadow = true;
|
||||||
|
|
||||||
|
# The blur radius for shadows, in pixels. (defaults to 12)
|
||||||
|
# shadow-radius = 12
|
||||||
|
shadow-radius = 7;
|
||||||
|
|
||||||
|
# The opacity of shadows. (0.0 - 1.0, defaults to 0.75)
|
||||||
|
# shadow-opacity = .75
|
||||||
|
|
||||||
|
# The left offset for shadows, in pixels. (defaults to -15)
|
||||||
|
# shadow-offset-x = -15
|
||||||
|
shadow-offset-x = -7;
|
||||||
|
|
||||||
|
# The top offset for shadows, in pixels. (defaults to -15)
|
||||||
|
# shadow-offset-y = -15
|
||||||
|
shadow-offset-y = -7;
|
||||||
|
|
||||||
|
# Red color value of shadow (0.0 - 1.0, defaults to 0).
|
||||||
|
# shadow-red = 0
|
||||||
|
|
||||||
|
# Green color value of shadow (0.0 - 1.0, defaults to 0).
|
||||||
|
# shadow-green = 0
|
||||||
|
|
||||||
|
# Blue color value of shadow (0.0 - 1.0, defaults to 0).
|
||||||
|
# shadow-blue = 0
|
||||||
|
|
||||||
|
# Hex string color value of shadow (#000000 - #FFFFFF, defaults to #000000). This option will override options set shadow-(red/green/blue)
|
||||||
|
# shadow-color = "#000000"
|
||||||
|
|
||||||
|
# Specify a list of conditions of windows that should have no shadow.
|
||||||
|
#
|
||||||
|
# examples:
|
||||||
|
# shadow-exclude = "n:e:Notification";
|
||||||
|
#
|
||||||
|
# shadow-exclude = []
|
||||||
|
shadow-exclude = [
|
||||||
|
"name = 'Notification'",
|
||||||
|
"class_g = 'Conky'",
|
||||||
|
"class_g ?= 'Notify-osd'",
|
||||||
|
"class_g = 'Cairo-clock'",
|
||||||
|
"_GTK_FRAME_EXTENTS@:c"
|
||||||
|
];
|
||||||
|
|
||||||
|
# Specify a list of conditions of windows that should have no shadow painted over, such as a dock window.
|
||||||
|
# clip-shadow-above = []
|
||||||
|
|
||||||
|
# Specify a X geometry that describes the region in which shadow should not
|
||||||
|
# be painted in, such as a dock window region. Use
|
||||||
|
# shadow-exclude-reg = "x10+0+0"
|
||||||
|
# for example, if the 10 pixels on the bottom of the screen should not have shadows painted on.
|
||||||
|
#
|
||||||
|
# shadow-exclude-reg = ""
|
||||||
|
|
||||||
|
# Crop shadow of a window fully on a particular Xinerama screen to the screen.
|
||||||
|
# xinerama-shadow-crop = false
|
||||||
|
|
||||||
|
|
||||||
|
#################################
|
||||||
|
# Fading #
|
||||||
|
#################################
|
||||||
|
|
||||||
|
|
||||||
|
# Fade windows in/out when opening/closing and when opacity changes,
|
||||||
|
# unless no-fading-openclose is used.
|
||||||
|
# fading = false
|
||||||
|
fading = true;
|
||||||
|
|
||||||
|
# Opacity change between steps while fading in. (0.01 - 1.0, defaults to 0.028)
|
||||||
|
# fade-in-step = 0.028
|
||||||
|
fade-in-step = 0.03;
|
||||||
|
|
||||||
|
# Opacity change between steps while fading out. (0.01 - 1.0, defaults to 0.03)
|
||||||
|
# fade-out-step = 0.03
|
||||||
|
fade-out-step = 0.03;
|
||||||
|
|
||||||
|
# The time between steps in fade step, in milliseconds. (> 0, defaults to 10)
|
||||||
|
fade-delta = 5
|
||||||
|
|
||||||
|
# Specify a list of conditions of windows that should not be faded.
|
||||||
|
fade-exclude = [ "class_g = 'xsecurelock'" ];
|
||||||
|
|
||||||
|
# Do not fade on window open/close.
|
||||||
|
# no-fading-openclose = false
|
||||||
|
|
||||||
|
# Do not fade destroyed ARGB windows with WM frame. Workaround of bugs in Openbox, Fluxbox, etc.
|
||||||
|
# no-fading-destroyed-argb = false
|
||||||
|
|
||||||
|
|
||||||
|
#################################
|
||||||
|
# Transparency / Opacity #
|
||||||
|
#################################
|
||||||
|
|
||||||
|
|
||||||
|
# Opacity of inactive windows. (0.1 - 1.0, defaults to 1.0)
|
||||||
|
# inactive-opacity = 1
|
||||||
|
inactive-opacity = 0.95;
|
||||||
|
|
||||||
|
# Opacity of window titlebars and borders. (0.1 - 1.0, disabled by default)
|
||||||
|
# frame-opacity = 1.0
|
||||||
|
frame-opacity = 0.9;
|
||||||
|
|
||||||
|
# Let inactive opacity set by -i override the '_NET_WM_WINDOW_OPACITY' values of windows.
|
||||||
|
# inactive-opacity-override = true
|
||||||
|
inactive-opacity-override = false;
|
||||||
|
|
||||||
|
# Default opacity for active windows. (0.0 - 1.0, defaults to 1.0)
|
||||||
|
# active-opacity = 1.0
|
||||||
|
|
||||||
|
# Dim inactive windows. (0.0 - 1.0, defaults to 0.0)
|
||||||
|
# inactive-dim = 0.0
|
||||||
|
|
||||||
|
# Specify a list of conditions of windows that should never be considered focused.
|
||||||
|
# focus-exclude = []
|
||||||
|
focus-exclude = [ "class_g = 'Cairo-clock'" ];
|
||||||
|
|
||||||
|
# Use fixed inactive dim value, instead of adjusting according to window opacity.
|
||||||
|
# inactive-dim-fixed = 1.0
|
||||||
|
|
||||||
|
# Specify a list of opacity rules, in the format `PERCENT:PATTERN`,
|
||||||
|
# like `50:name *= "Firefox"`. picom-trans is recommended over this.
|
||||||
|
# Note we don't make any guarantee about possible conflicts with other
|
||||||
|
# programs that set '_NET_WM_WINDOW_OPACITY' on frame or client windows.
|
||||||
|
# example:
|
||||||
|
# opacity-rule = [ "80:class_g = 'URxvt'" ];
|
||||||
|
#
|
||||||
|
# opacity-rule = []
|
||||||
|
|
||||||
|
|
||||||
|
#################################
|
||||||
|
# Corners #
|
||||||
|
#################################
|
||||||
|
|
||||||
|
# Sets the radius of rounded window corners. When > 0, the compositor will
|
||||||
|
# round the corners of windows. Does not interact well with
|
||||||
|
# `transparent-clipping`.
|
||||||
|
corner-radius = 0
|
||||||
|
|
||||||
|
# Exclude conditions for rounded corners.
|
||||||
|
rounded-corners-exclude = [
|
||||||
|
"window_type = 'dock'",
|
||||||
|
"window_type = 'desktop'"
|
||||||
|
];
|
||||||
|
|
||||||
|
|
||||||
|
#################################
|
||||||
|
# Background-Blurring #
|
||||||
|
#################################
|
||||||
|
|
||||||
|
|
||||||
|
# Parameters for background blurring, see the *BLUR* section for more information.
|
||||||
|
# blur-method =
|
||||||
|
# blur-size = 12
|
||||||
|
#
|
||||||
|
# blur-deviation = false
|
||||||
|
#
|
||||||
|
# blur-strength = 5
|
||||||
|
|
||||||
|
# Blur background of semi-transparent / ARGB windows.
|
||||||
|
# Bad in performance, with driver-dependent behavior.
|
||||||
|
# The name of the switch may change without prior notifications.
|
||||||
|
#
|
||||||
|
# blur-background = false
|
||||||
|
|
||||||
|
# Blur background of windows when the window frame is not opaque.
|
||||||
|
# Implies:
|
||||||
|
# blur-background
|
||||||
|
# Bad in performance, with driver-dependent behavior. The name may change.
|
||||||
|
#
|
||||||
|
# blur-background-frame = false
|
||||||
|
|
||||||
|
|
||||||
|
# Use fixed blur strength rather than adjusting according to window opacity.
|
||||||
|
# blur-background-fixed = false
|
||||||
|
|
||||||
|
|
||||||
|
# Specify the blur convolution kernel, with the following format:
|
||||||
|
# example:
|
||||||
|
# blur-kern = "5,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1";
|
||||||
|
#
|
||||||
|
# blur-kern = ""
|
||||||
|
blur-kern = "3x3box";
|
||||||
|
|
||||||
|
|
||||||
|
# Exclude conditions for background blur.
|
||||||
|
# blur-background-exclude = []
|
||||||
|
blur-background-exclude = [
|
||||||
|
"window_type = 'dock'",
|
||||||
|
"window_type = 'desktop'",
|
||||||
|
"_GTK_FRAME_EXTENTS@:c"
|
||||||
|
];
|
||||||
|
|
||||||
|
#################################
|
||||||
|
# General Settings #
|
||||||
|
#################################
|
||||||
|
|
||||||
|
# Daemonize process. Fork to background after initialization. Causes issues with certain (badly-written) drivers.
|
||||||
|
# daemon = false
|
||||||
|
|
||||||
|
# Specify the backend to use: `xrender`, `glx`, or `xr_glx_hybrid`.
|
||||||
|
# `xrender` is the default one.
|
||||||
|
#
|
||||||
|
# backend = "glx"
|
||||||
|
backend = "glx";
|
||||||
|
|
||||||
|
# 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_WINDOW_OPACITY' on client windows, useful for window managers
|
||||||
|
# not passing '_NET_WM_WINDOW_OPACITY' of client windows to frame windows.
|
||||||
|
#
|
||||||
|
# detect-client-opacity = false
|
||||||
|
detect-client-opacity = true;
|
||||||
|
|
||||||
|
# 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 = true;
|
||||||
|
|
||||||
|
# GLX backend: Avoid rebinding pixmap on window damage.
|
||||||
|
# Probably could improve performance on rapid window content changes,
|
||||||
|
# but is known to break things on some drivers (LLVMpipe, xf86-video-intel, etc.).
|
||||||
|
# Recommended if it works.
|
||||||
|
#
|
||||||
|
# glx-no-rebind-pixmap = false
|
||||||
|
|
||||||
|
# Disable the use of damage information.
|
||||||
|
# This cause the whole screen to be redrawn everytime, instead of the part of the screen
|
||||||
|
# has actually changed. Potentially degrades the performance, but might fix some artifacts.
|
||||||
|
# The opposing option is use-damage
|
||||||
|
#
|
||||||
|
# no-use-damage = false
|
||||||
|
use-damage = true;
|
||||||
|
|
||||||
|
# Use X Sync fence to sync clients' draw calls, to make sure all draw
|
||||||
|
# calls are finished before picom starts drawing. Needed on nvidia-drivers
|
||||||
|
# with GLX backend for some users.
|
||||||
|
#
|
||||||
|
# xrender-sync-fence = false
|
||||||
|
|
||||||
|
# GLX backend: Use specified GLSL fragment shader for rendering window contents.
|
||||||
|
# See `compton-default-fshader-win.glsl` and `compton-fake-transparency-fshader-win.glsl`
|
||||||
|
# in the source tree for examples.
|
||||||
|
#
|
||||||
|
# glx-fshader-win = ""
|
||||||
|
|
||||||
|
# Force all windows to be painted with blending. Useful if you
|
||||||
|
# have a glx-fshader-win that could turn opaque pixels transparent.
|
||||||
|
#
|
||||||
|
# force-win-blend = false
|
||||||
|
|
||||||
|
# Do not use EWMH to detect fullscreen windows.
|
||||||
|
# Reverts to checking if a window is fullscreen based only on its size and coordinates.
|
||||||
|
#
|
||||||
|
# no-ewmh-fullscreen = false
|
||||||
|
|
||||||
|
# Dimming bright windows so their brightness doesn't exceed this set value.
|
||||||
|
# Brightness of a window is estimated by averaging all pixels in the window,
|
||||||
|
# so this could comes with a performance hit.
|
||||||
|
# Setting this to 1.0 disables this behaviour. Requires --use-damage to be disabled. (default: 1.0)
|
||||||
|
#
|
||||||
|
# max-brightness = 1.0
|
||||||
|
|
||||||
|
# Make transparent windows clip other windows like non-transparent windows do,
|
||||||
|
# instead of blending on top of them.
|
||||||
|
#
|
||||||
|
# transparent-clipping = false
|
||||||
|
|
||||||
|
# Set the log level. Possible values are:
|
||||||
|
# "trace", "debug", "info", "warn", "error"
|
||||||
|
# in increasing level of importance. Case doesn't matter.
|
||||||
|
# If using the "TRACE" log level, it's better to log into a file
|
||||||
|
# using *--log-file*, since it can generate a huge stream of logs.
|
||||||
|
#
|
||||||
|
# log-level = "debug"
|
||||||
|
log-level = "warn";
|
||||||
|
|
||||||
|
# Set the log file.
|
||||||
|
# If *--log-file* is never specified, logs will be written to stderr.
|
||||||
|
# Otherwise, logs will to written to the given file, though some of the early
|
||||||
|
# logs might still be written to the stderr.
|
||||||
|
# When setting this option from the config file, it is recommended to use an absolute path.
|
||||||
|
#
|
||||||
|
# log-file = "/path/to/your/log/file"
|
||||||
|
|
||||||
|
# Show all X errors (for debugging)
|
||||||
|
# show-all-xerrors = false
|
||||||
|
|
||||||
|
# Write process ID to a file.
|
||||||
|
# write-pid-path = "/path/to/your/log/file"
|
||||||
|
|
||||||
|
# Window type settings
|
||||||
|
#
|
||||||
|
# 'WINDOW_TYPE' is one of the 15 window types defined in EWMH standard:
|
||||||
|
# "unknown", "desktop", "dock", "toolbar", "menu", "utility",
|
||||||
|
# "splash", "dialog", "normal", "dropdown_menu", "popup_menu",
|
||||||
|
# "tooltip", "notification", "combo", and "dnd".
|
||||||
|
#
|
||||||
|
# Following per window-type options are available: ::
|
||||||
|
#
|
||||||
|
# fade, shadow:::
|
||||||
|
# Controls window-type-specific shadow and fade settings.
|
||||||
|
#
|
||||||
|
# opacity:::
|
||||||
|
# Controls default opacity of the window type.
|
||||||
|
#
|
||||||
|
# focus:::
|
||||||
|
# Controls whether the window of this type is to be always considered focused.
|
||||||
|
# (By default, all window types except "normal" and "dialog" has this on.)
|
||||||
|
#
|
||||||
|
# full-shadow:::
|
||||||
|
# Controls whether shadow is drawn under the parts of the window that you
|
||||||
|
# normally won't be able to see. Useful when the window has parts of it
|
||||||
|
# transparent, and you want shadows in those areas.
|
||||||
|
#
|
||||||
|
# clip-shadow-above:::
|
||||||
|
# Controls wether shadows that would have been drawn above the window should
|
||||||
|
# be clipped. Useful for dock windows that should have no shadow painted on top.
|
||||||
|
#
|
||||||
|
# redir-ignore:::
|
||||||
|
# Controls whether this type of windows should cause screen to become
|
||||||
|
# redirected again after been unredirected. If you have unredir-if-possible
|
||||||
|
# set, and doesn't want certain window to cause unnecessary screen redirection,
|
||||||
|
# you can set this to `true`.
|
||||||
|
#
|
||||||
|
wintypes:
|
||||||
|
{
|
||||||
|
tooltip = { fade = true; shadow = true; opacity = 0.75; focus = true; full-shadow = false; };
|
||||||
|
dock = { shadow = false; clip-shadow-above = true; }
|
||||||
|
dnd = { shadow = false; }
|
||||||
|
popup_menu = { opacity = 0.9; }
|
||||||
|
dropdown_menu = { opacity = 0.9; }
|
||||||
|
# menu = { shadow = false; };
|
||||||
|
# dropdown_menu = { shadow = false; };
|
||||||
|
# popup_menu = { shadow = false; };
|
||||||
|
# utility = { shadow = false; };
|
||||||
|
};
|
21
dot_config/polybar/colors.ini
Normal file
21
dot_config/polybar/colors.ini
Normal file
|
@ -0,0 +1,21 @@
|
||||||
|
[color]
|
||||||
|
background = ${xrdb:background}
|
||||||
|
foreground = ${xrdb:foreground}
|
||||||
|
sep = ${xrdb:color8}
|
||||||
|
|
||||||
|
white = ${xrdb:color15}
|
||||||
|
black = ${xrdb:color0}
|
||||||
|
dark-grey = ${xrdb:color8}
|
||||||
|
light-grey = ${xrdb:color7}
|
||||||
|
dark-red = ${xrdb:color1}
|
||||||
|
red = ${xrdb:color9}
|
||||||
|
dark-green = ${xrdb:color2}
|
||||||
|
green = ${xrdb:color10}
|
||||||
|
dark-yellow = ${xrdb:color3}
|
||||||
|
yellow = ${xrdb:color11}
|
||||||
|
dark-blue = ${xrdb:color4}
|
||||||
|
blue = ${xrdb:color12}
|
||||||
|
dark-magenta = ${xrdb:color5}
|
||||||
|
magenta = ${xrdb:color13}
|
||||||
|
dark-cyan = ${xrdb:color6}
|
||||||
|
cyan = ${xrdb:color14}
|
132
dot_config/polybar/config.ini
Normal file
132
dot_config/polybar/config.ini
Normal file
|
@ -0,0 +1,132 @@
|
||||||
|
[global/wm]
|
||||||
|
include-file = ~/.config/polybar/colors.ini
|
||||||
|
include-file = ~/.config/polybar/modules.ini
|
||||||
|
include-file = ~/.config/polybar/custom_modules.ini
|
||||||
|
|
||||||
|
margin-bottom = 0
|
||||||
|
margin-top = 0
|
||||||
|
|
||||||
|
[bar/one]
|
||||||
|
monitor = eDP-1
|
||||||
|
monitor-fallback =
|
||||||
|
monitor-strict = false
|
||||||
|
enable-ipc = true
|
||||||
|
override-redirect = true
|
||||||
|
bottom = false
|
||||||
|
fixed-center = true
|
||||||
|
width = 100%
|
||||||
|
height = 72
|
||||||
|
offset-x = 0%
|
||||||
|
offset-y = 0%
|
||||||
|
dpi-x = 216
|
||||||
|
dpi-y = 216
|
||||||
|
background = ${color.background}
|
||||||
|
foreground = ${color.foreground}
|
||||||
|
radius-top = 0.0
|
||||||
|
radius-bottom = 0.0
|
||||||
|
line-size = 0
|
||||||
|
line-color = ${color.background}
|
||||||
|
border-bottom-size = 0
|
||||||
|
border-bottom-color = ${color.foreground}
|
||||||
|
padding = 1
|
||||||
|
module-margin-left = 1
|
||||||
|
module-margin-right = 0
|
||||||
|
seperator =
|
||||||
|
dim-value = 1.0
|
||||||
|
locale = en_US.UTF-8
|
||||||
|
|
||||||
|
font-0 = Hack:size=10;3
|
||||||
|
font-1 = Font Awesome 6 Free:style=Solid:size=12;3
|
||||||
|
font-2 = Font Awesome 6 Free:style=Regular:size=12;3
|
||||||
|
font-3 = Font Awesome 6 Brands:style=Regular:size=12;3
|
||||||
|
|
||||||
|
modules-left = workspaces sep title
|
||||||
|
modules-center = spotify
|
||||||
|
modules-right = keyboard sep pulseaudio-control sep battery0 sep date sep powermenu
|
||||||
|
|
||||||
|
tray-position = right
|
||||||
|
tray-detached = false
|
||||||
|
tray-maxsize = 40
|
||||||
|
tray-background = ${color.background}
|
||||||
|
tray-offset-x = 0
|
||||||
|
tray-offset-y = 0
|
||||||
|
tray-padding = 0
|
||||||
|
tray-scale = 1.0
|
||||||
|
|
||||||
|
wm-name = bspwm
|
||||||
|
wm-restack = bspwm
|
||||||
|
scroll-up = bspwm-desknext
|
||||||
|
scroll-down = bspwm-deskprev
|
||||||
|
click-left =
|
||||||
|
click-middle =
|
||||||
|
click-right =
|
||||||
|
;scroll-up = bspc desktop -f prev.local
|
||||||
|
;scroll-down = bspc desktop -f next.local
|
||||||
|
double-click-left =
|
||||||
|
double-click-middle =
|
||||||
|
double-click-right =
|
||||||
|
cursor-click =
|
||||||
|
cursor-scroll =
|
||||||
|
|
||||||
|
[bar/two]
|
||||||
|
monitor = eDP-1
|
||||||
|
monitor-fallback =
|
||||||
|
monitor-strict = false
|
||||||
|
enable-ipc = true
|
||||||
|
override-redirect = true
|
||||||
|
bottom = true
|
||||||
|
fixed-center = true
|
||||||
|
width = 100%
|
||||||
|
height = 32
|
||||||
|
offset-x = 0%
|
||||||
|
offset-y = 0%
|
||||||
|
background = ${color.background}
|
||||||
|
foreground = ${color.foreground}
|
||||||
|
radius-top = 0.0
|
||||||
|
radius-bottom = 0.0
|
||||||
|
line-size = 0
|
||||||
|
line-color = ${color.background}
|
||||||
|
border-bottom-size = 0
|
||||||
|
border-bottom-color = ${color.foreground}
|
||||||
|
padding = 1
|
||||||
|
module-margin-left = 1
|
||||||
|
module-margin-right = 1
|
||||||
|
seperator =
|
||||||
|
dim-value = 1.0
|
||||||
|
locale = en_US.UTF-8
|
||||||
|
|
||||||
|
font-0 = Hack:size=10;3
|
||||||
|
font-1 = Font Awesome 5 Free:style=Solid:size=12;3
|
||||||
|
font-2 = Font Awesome 5 Free:style=Regular:size=12;3
|
||||||
|
font-3 = Font Awesome 5 Brands:style=Regular:size=12;3
|
||||||
|
|
||||||
|
modules-left = workspaces sep title
|
||||||
|
modules-center = spotify
|
||||||
|
modules-right = cpu sep memory sep filesystem
|
||||||
|
|
||||||
|
tray-position = none
|
||||||
|
tray-detached = false
|
||||||
|
tray-maxsize = 16
|
||||||
|
tray-background = ${color.background}
|
||||||
|
tray-offset-x = 0
|
||||||
|
tray-offset-y = 0
|
||||||
|
tray-padding = 0
|
||||||
|
tray-scale = 1.0
|
||||||
|
|
||||||
|
wm-name = bspwm
|
||||||
|
wm-restack = bspwm
|
||||||
|
scroll-up = bspwm-desknext
|
||||||
|
scroll-down = bspwm-deskprev
|
||||||
|
click-left =
|
||||||
|
click-middle =
|
||||||
|
click-right =
|
||||||
|
;scroll-up = bspc desktop -f prev.local
|
||||||
|
;scroll-down = bspc desktop -f next.local
|
||||||
|
double-click-left =
|
||||||
|
double-click-middle =
|
||||||
|
double-click-right =
|
||||||
|
cursor-click =
|
||||||
|
cursor-scroll =
|
||||||
|
|
||||||
|
[settings]
|
||||||
|
screenchange-reload = false
|
107
dot_config/polybar/custom_modules.ini
Normal file
107
dot_config/polybar/custom_modules.ini
Normal file
|
@ -0,0 +1,107 @@
|
||||||
|
[module/sep]
|
||||||
|
type = custom/text
|
||||||
|
content = |
|
||||||
|
|
||||||
|
content-foreground = ${color.sep}
|
||||||
|
|
||||||
|
[module/powermenu]
|
||||||
|
type = custom/menu
|
||||||
|
|
||||||
|
; If true, <label-toggle> will be to the left of the menu items (default).
|
||||||
|
; If false, it will be on the right of all the items.
|
||||||
|
expand-right = true
|
||||||
|
|
||||||
|
; "menu-LEVEL-N" has the same properties as "label-NAME" with
|
||||||
|
; the additional "exec" property
|
||||||
|
;
|
||||||
|
; Available exec commands:
|
||||||
|
; menu-open-LEVEL
|
||||||
|
; menu-close
|
||||||
|
; Other commands will be executed using "/usr/bin/env sh -c $COMMAND"
|
||||||
|
|
||||||
|
menu-0-0 = " Log Out |"
|
||||||
|
menu-0-0-exec = menu-open-1
|
||||||
|
menu-0-1 = " Suspend |"
|
||||||
|
menu-0-1-exec = menu-open-2
|
||||||
|
menu-0-2 = " Reboot |"
|
||||||
|
menu-0-2-exec = menu-open-3
|
||||||
|
menu-0-3 = " Shutdown "
|
||||||
|
menu-0-3-exec = menu-open-4
|
||||||
|
|
||||||
|
menu-1-0 = " Back |"
|
||||||
|
menu-1-0-exec = menu-open-0
|
||||||
|
menu-1-1 = " Log Out "
|
||||||
|
menu-1-1-exec = loginctl kill-session $XDG_SESSION_ID
|
||||||
|
|
||||||
|
menu-2-0 = " Back |"
|
||||||
|
menu-2-0-exec = menu-open-0
|
||||||
|
menu-2-1 = " Suspend "
|
||||||
|
menu-2-1-exec = systemctl suspend
|
||||||
|
menu-2-2 = " Suspend-then-Hibernate "
|
||||||
|
menu-2-2-exec = systemctl suspend-then-hibernate
|
||||||
|
menu-2-3 = " Hibernate "
|
||||||
|
menu-2-3-exec = systemctl hibernate
|
||||||
|
|
||||||
|
menu-3-0 = " Back |"
|
||||||
|
menu-3-0-exec = menu-open-0
|
||||||
|
menu-3-1 = " Reboot "
|
||||||
|
menu-3-1-exec = systemctl reboot
|
||||||
|
|
||||||
|
menu-4-0 = " Back |"
|
||||||
|
menu-4-0-exec = menu-open-0
|
||||||
|
menu-4-1 = " Shutdown "
|
||||||
|
menu-4-1-exec = systemctl poweroff
|
||||||
|
|
||||||
|
|
||||||
|
; Available tags:
|
||||||
|
; <label-toggle> (default) - gets replaced with <label-(open|close)>
|
||||||
|
; <menu> (default)
|
||||||
|
; Note that if you use <label-toggle> you must also include
|
||||||
|
; the definition for <label-open>
|
||||||
|
|
||||||
|
format = <label-toggle><menu>
|
||||||
|
|
||||||
|
label-open =
|
||||||
|
label-open-foreground = ${color.dark-cyan}
|
||||||
|
label-open-padding = 1
|
||||||
|
label-close =
|
||||||
|
label-close-foreground = ${color.red}
|
||||||
|
label-close-padding = 1
|
||||||
|
|
||||||
|
; Optional item separator
|
||||||
|
; Default: none
|
||||||
|
;label-separator = " | "
|
||||||
|
;label-separator-foreground = ${color.foreground}
|
||||||
|
;label-separator-background = ${color.background-alt}
|
||||||
|
|
||||||
|
;;label-open-foreground = ${color.foreground}
|
||||||
|
;;label-close-foreground = ${color.background}
|
||||||
|
|
||||||
|
[module/pulseaudio-control]
|
||||||
|
type = custom/script
|
||||||
|
tail = true
|
||||||
|
;format-underline = ${colors.cyan}
|
||||||
|
;label-padding = 2
|
||||||
|
;label-foreground = ${color.foreground}
|
||||||
|
label-foreground = ${color.blue}
|
||||||
|
|
||||||
|
# You can copy-paste your options for each possible action, which is more
|
||||||
|
# trouble-free but repetitive, or apply only the relevant ones (for example
|
||||||
|
# --sink-blacklist is only needed for next-sink).
|
||||||
|
exec = pulseaudio-control --icons-volume " , , " --icon-muted " " --node-nicknames-from "device.profile.description" listen
|
||||||
|
#exec = pulseaudio-control --icons-volume " , , " --icon-muted " " --sink-nicknames-from "device.description" --sink-nickname "alsa_output.pci-0000_00_1b.0.analog-stereo: Speakers" --sink-nickname "alsa_output.usb-Kingston_HyperX_Virtual_Surround_Sound_00000000-00.analog-stereo: Headphones" listen
|
||||||
|
click-right = exec pavucontrol &
|
||||||
|
click-left = pulseaudio-control togmute
|
||||||
|
click-middle = pulseaudio-control next-sink
|
||||||
|
#click-middle = pulseaudio-control --sink-blacklist "alsa_output.pci-0000_01_00.1.hdmi-stereo-extra2" next-sink
|
||||||
|
scroll-up = pulseaudio-control --volume-max 130 up
|
||||||
|
scroll-down = pulseaudio-control --volume-max 130 down
|
||||||
|
|
||||||
|
[module/spotify]
|
||||||
|
type = custom/script
|
||||||
|
interval = 1
|
||||||
|
format-prefix = " "
|
||||||
|
format = <label>
|
||||||
|
exec = python /usr/bin/polybar-spotify -f '{artist}: {song}'
|
||||||
|
format-prefix-foreground = ${color.dark-green}
|
||||||
|
;format-underline = ${color.green}
|
897
dot_config/polybar/modules.ini
Normal file
897
dot_config/polybar/modules.ini
Normal file
|
@ -0,0 +1,897 @@
|
||||||
|
[module/alsa]
|
||||||
|
type = internal/alsa
|
||||||
|
|
||||||
|
; Soundcard to be used
|
||||||
|
; Usually in the format hw:# where # is the card number
|
||||||
|
; You can find the different card numbers in `/proc/asound/cards`
|
||||||
|
master-soundcard = default
|
||||||
|
speaker-soundcard = default
|
||||||
|
headphone-soundcard = default
|
||||||
|
|
||||||
|
; Name of the master, speaker and headphone mixers
|
||||||
|
; Use the following command to list available mixer controls:
|
||||||
|
; $ amixer scontrols | sed -nr "s/.*'([[:alnum:]]+)'.*/\1/p"
|
||||||
|
; If master, speaker or headphone-soundcard isn't the default,
|
||||||
|
; use `amixer -c # scontrols` instead where # is the number
|
||||||
|
; of the master, speaker or headphone soundcard respectively
|
||||||
|
;
|
||||||
|
; Default: Master
|
||||||
|
master-mixer = Master
|
||||||
|
|
||||||
|
; Optionally define speaker and headphone mixers
|
||||||
|
; Default: none
|
||||||
|
;speaker-mixer = Speaker
|
||||||
|
; Default: none
|
||||||
|
;headphone-mixer = Headphone
|
||||||
|
|
||||||
|
; NOTE: This is required if headphone_mixer is defined
|
||||||
|
; Use the following command to list available device controls
|
||||||
|
; $ amixer controls | sed -r "/CARD/\!d; s/.*=([0-9]+).*name='([^']+)'.*/printf '%3.0f: %s\n' '\1' '\2'/e" | sort
|
||||||
|
; You may also need to use `amixer -c # controls` as above for the mixer names
|
||||||
|
; Default: none
|
||||||
|
;headphone-id = 9
|
||||||
|
|
||||||
|
; Use volume mapping (similar to amixer -M and alsamixer), where the increase in volume is linear to the ear
|
||||||
|
; Default: false
|
||||||
|
mapped = true
|
||||||
|
|
||||||
|
; Interval for volume increase/decrease (in percent points)
|
||||||
|
; Default: 5
|
||||||
|
interval = 5
|
||||||
|
|
||||||
|
; Available tags:
|
||||||
|
; <label-volume> (default)
|
||||||
|
; <ramp-volume>
|
||||||
|
; <bar-volume>
|
||||||
|
format-volume = <ramp-volume> <label-volume>
|
||||||
|
|
||||||
|
; Available tags:
|
||||||
|
; <label-muted> (default)
|
||||||
|
; <ramp-volume>
|
||||||
|
; <bar-volume>
|
||||||
|
format-muted = <label-muted>
|
||||||
|
format-muted-prefix =
|
||||||
|
format-muted-prefix-foreground = ${color.red}
|
||||||
|
|
||||||
|
; Available tokens:
|
||||||
|
; %percentage% (default)
|
||||||
|
label-volume = %percentage%%
|
||||||
|
|
||||||
|
; Available tokens:
|
||||||
|
; %percentage% (default)
|
||||||
|
label-muted = " Muted"
|
||||||
|
label-muted-foreground = ${color.sep}
|
||||||
|
|
||||||
|
; Only applies if <ramp-volume> is used
|
||||||
|
ramp-volume-0 =
|
||||||
|
ramp-volume-1 =
|
||||||
|
ramp-volume-2 =
|
||||||
|
ramp-volume-foreground = ${color.blue}
|
||||||
|
|
||||||
|
; If defined, it will replace <ramp-volume> when
|
||||||
|
; headphones are plugged in to `headphone_control_numid`
|
||||||
|
; If undefined, <ramp-volume> will be used for both
|
||||||
|
; Only applies if <ramp-volume> is used
|
||||||
|
ramp-headphones-0 =
|
||||||
|
ramp-headphones-1 =
|
||||||
|
ramp-headphones-foreground = ${color.blue}
|
||||||
|
|
||||||
|
[module/battery0]
|
||||||
|
type = internal/battery
|
||||||
|
|
||||||
|
; This is useful in case the battery never reports 100% charge
|
||||||
|
full-at = 99
|
||||||
|
|
||||||
|
; Use the following command to list batteries and adapters:
|
||||||
|
; $ ls -1 /sys/class/power_supply/
|
||||||
|
battery = BAT0
|
||||||
|
adapter = AC
|
||||||
|
|
||||||
|
; If an inotify event haven't been reported in this many
|
||||||
|
; seconds, manually poll for new values.
|
||||||
|
;
|
||||||
|
; Needed as a fallback for systems that don't report events
|
||||||
|
; on sysfs/procfs.
|
||||||
|
;
|
||||||
|
; Disable polling by setting the interval to 0.
|
||||||
|
;
|
||||||
|
; Default: 5
|
||||||
|
poll-interval = 2
|
||||||
|
|
||||||
|
; see "man date" for details on how to format the time string
|
||||||
|
; NOTE: if you want to use syntax tags here you need to use %%{...}
|
||||||
|
; Default: %H:%M:%S
|
||||||
|
time-format = %H:%M
|
||||||
|
|
||||||
|
; Available tags:
|
||||||
|
; <label-charging> (default)
|
||||||
|
; <bar-capacity>
|
||||||
|
; <ramp-capacity>
|
||||||
|
; <animation-charging>
|
||||||
|
format-charging = <animation-charging> <label-charging>
|
||||||
|
; Available tags:
|
||||||
|
; <label-discharging> (default)
|
||||||
|
; <bar-capacity>
|
||||||
|
; <ramp-capacity>
|
||||||
|
; <animation-discharging>
|
||||||
|
format-discharging = <ramp-capacity> <label-discharging>
|
||||||
|
|
||||||
|
; Available tags:
|
||||||
|
; <label-full> (default)
|
||||||
|
; <bar-capacity>
|
||||||
|
; <ramp-capacity>
|
||||||
|
format-full = <label-full>
|
||||||
|
format-full-prefix =
|
||||||
|
format-full-prefix-foreground = ${color.dark-green}
|
||||||
|
|
||||||
|
; Available tokens:
|
||||||
|
; %percentage% (default)
|
||||||
|
; %time%
|
||||||
|
; %consumption% (shows current charge rate in watts)
|
||||||
|
label-charging = %percentage%%
|
||||||
|
|
||||||
|
; Available tokens:
|
||||||
|
; %percentage% (default)
|
||||||
|
; %time%
|
||||||
|
; %consumption% (shows current discharge rate in watts)
|
||||||
|
label-discharging = %percentage%%
|
||||||
|
|
||||||
|
; Available tokens:
|
||||||
|
; %percentage% (default)
|
||||||
|
label-full = " Full"
|
||||||
|
|
||||||
|
; Only applies if <ramp-capacity> is used
|
||||||
|
ramp-capacity-0 =
|
||||||
|
ramp-capacity-1 =
|
||||||
|
ramp-capacity-2 =
|
||||||
|
ramp-capacity-3 =
|
||||||
|
ramp-capacity-4 =
|
||||||
|
ramp-capacity-foreground = ${color.dark-yellow}
|
||||||
|
|
||||||
|
; Only applies if <bar-capacity> is used
|
||||||
|
;bar-capacity-width = 10
|
||||||
|
|
||||||
|
; Only applies if <animation-charging> is used
|
||||||
|
animation-charging-0 =
|
||||||
|
animation-charging-1 =
|
||||||
|
animation-charging-2 =
|
||||||
|
animation-charging-3 =
|
||||||
|
animation-charging-4 =
|
||||||
|
animation-charging-foreground = ${color.green}
|
||||||
|
; Framerate in milliseconds
|
||||||
|
animation-charging-framerate = 750
|
||||||
|
|
||||||
|
; Only applies if <animation-discharging> is used
|
||||||
|
animation-discharging-0 =
|
||||||
|
animation-discharging-1 =
|
||||||
|
animation-discharging-2 =
|
||||||
|
animation-discharging-3 =
|
||||||
|
animation-discharging-4 =
|
||||||
|
; Framerate in milliseconds
|
||||||
|
animation-discharging-framerate = 500
|
||||||
|
|
||||||
|
[module/battery1]
|
||||||
|
type = internal/battery
|
||||||
|
|
||||||
|
; This is useful in case the battery never reports 100% charge
|
||||||
|
full-at = 89
|
||||||
|
|
||||||
|
; Use the following command to list batteries and adapters:
|
||||||
|
; $ ls -1 /sys/class/power_supply/
|
||||||
|
battery = BAT1
|
||||||
|
adapter = AC
|
||||||
|
|
||||||
|
; If an inotify event haven't been reported in this many
|
||||||
|
; seconds, manually poll for new values.
|
||||||
|
;
|
||||||
|
; Needed as a fallback for systems that don't report events
|
||||||
|
; on sysfs/procfs.
|
||||||
|
;
|
||||||
|
; Disable polling by setting the interval to 0.
|
||||||
|
;
|
||||||
|
; Default: 5
|
||||||
|
poll-interval = 2
|
||||||
|
|
||||||
|
; see "man date" for details on how to format the time string
|
||||||
|
; NOTE: if you want to use syntax tags here you need to use %%{...}
|
||||||
|
; Default: %H:%M:%S
|
||||||
|
time-format = %H:%M
|
||||||
|
|
||||||
|
; Available tags:
|
||||||
|
; <label-charging> (default)
|
||||||
|
; <bar-capacity>
|
||||||
|
; <ramp-capacity>
|
||||||
|
; <animation-charging>
|
||||||
|
format-charging = <animation-charging> <label-charging>
|
||||||
|
; Available tags:
|
||||||
|
; <label-discharging> (default)
|
||||||
|
; <bar-capacity>
|
||||||
|
; <ramp-capacity>
|
||||||
|
; <animation-discharging>
|
||||||
|
format-discharging = <ramp-capacity> <label-discharging>
|
||||||
|
|
||||||
|
; Available tags:
|
||||||
|
; <label-full> (default)
|
||||||
|
; <bar-capacity>
|
||||||
|
; <ramp-capacity>
|
||||||
|
format-full = <label-full>
|
||||||
|
format-full-prefix =
|
||||||
|
format-full-prefix-foreground = ${color.dark-green}
|
||||||
|
|
||||||
|
; Available tokens:
|
||||||
|
; %percentage% (default)
|
||||||
|
; %time%
|
||||||
|
; %consumption% (shows current charge rate in watts)
|
||||||
|
label-charging = %percentage%%
|
||||||
|
|
||||||
|
; Available tokens:
|
||||||
|
; %percentage% (default)
|
||||||
|
; %time%
|
||||||
|
; %consumption% (shows current discharge rate in watts)
|
||||||
|
label-discharging = %percentage%%
|
||||||
|
|
||||||
|
; Available tokens:
|
||||||
|
; %percentage% (default)
|
||||||
|
label-full = " Full"
|
||||||
|
|
||||||
|
; Only applies if <ramp-capacity> is used
|
||||||
|
ramp-capacity-0 =
|
||||||
|
ramp-capacity-1 =
|
||||||
|
ramp-capacity-2 =
|
||||||
|
ramp-capacity-3 =
|
||||||
|
ramp-capacity-4 =
|
||||||
|
ramp-capacity-foreground = ${color.dark-yellow}
|
||||||
|
|
||||||
|
; Only applies if <bar-capacity> is used
|
||||||
|
;bar-capacity-width = 10
|
||||||
|
|
||||||
|
; Only applies if <animation-charging> is used
|
||||||
|
animation-charging-0 =
|
||||||
|
animation-charging-1 =
|
||||||
|
animation-charging-2 =
|
||||||
|
animation-charging-3 =
|
||||||
|
animation-charging-4 =
|
||||||
|
animation-charging-foreground = ${color.green}
|
||||||
|
; Framerate in milliseconds
|
||||||
|
animation-charging-framerate = 750
|
||||||
|
|
||||||
|
; Only applies if <animation-discharging> is used
|
||||||
|
animation-discharging-0 =
|
||||||
|
animation-discharging-1 =
|
||||||
|
animation-discharging-2 =
|
||||||
|
animation-discharging-3 =
|
||||||
|
animation-discharging-4 =
|
||||||
|
; Framerate in milliseconds
|
||||||
|
animation-discharging-framerate = 500
|
||||||
|
|
||||||
|
[module/bspwm]
|
||||||
|
type = internal/bspwm
|
||||||
|
|
||||||
|
; Only show workspaces defined on the same output as the bar
|
||||||
|
; NOTE: The bspwm and XRandR monitor names must match, which they do by default.
|
||||||
|
; Default: true
|
||||||
|
pin-workspaces = true
|
||||||
|
|
||||||
|
; Output mode flags after focused state label
|
||||||
|
; Default: false
|
||||||
|
;;inline-mode = false
|
||||||
|
|
||||||
|
; Create click handler used to focus workspace
|
||||||
|
; Default: true
|
||||||
|
enable-click = true
|
||||||
|
|
||||||
|
; Create scroll handlers used to cycle workspaces
|
||||||
|
; Default: true
|
||||||
|
enable-scroll = true
|
||||||
|
|
||||||
|
; Set the scroll cycle direction
|
||||||
|
; Default: true
|
||||||
|
;;reverse-scroll = false
|
||||||
|
|
||||||
|
; Use fuzzy (partial) matching on labels when assigning
|
||||||
|
; icons to workspaces
|
||||||
|
; Example: code;♚ will apply the icon to all workspaces
|
||||||
|
; containing 'code' in the label
|
||||||
|
; Default: false
|
||||||
|
;;fuzzy-match = true
|
||||||
|
|
||||||
|
; ws-icon-[0-9]+ = label;icon
|
||||||
|
; Note that the label needs to correspond with the bspwm workspace name
|
||||||
|
;;ws-icon-0 = code;♚
|
||||||
|
;;ws-icon-1 = office;♛
|
||||||
|
;;ws-icon-2 = graphics;♜
|
||||||
|
;;ws-icon-3 = mail;♝
|
||||||
|
;;ws-icon-4 = web;♞
|
||||||
|
;;ws-icon-default = ♟
|
||||||
|
|
||||||
|
; Available tags:
|
||||||
|
; <label-monitor>
|
||||||
|
; <label-state> - gets replaced with <label-(focused|urgent|occupied|empty)>
|
||||||
|
; <label-mode> - gets replaced with <label-(monocle|tiled|fullscreen|floating|locked|sticky|private)>
|
||||||
|
; Default: <label-state>
|
||||||
|
format = <label-state> <label-mode>
|
||||||
|
|
||||||
|
; Available tokens:
|
||||||
|
; %name%
|
||||||
|
; Default: %name%
|
||||||
|
label-monitor = %name%
|
||||||
|
|
||||||
|
; If any values for label-dimmed-N are defined, the workspace/mode
|
||||||
|
; colors will get overridden with those values if the monitor is out of focus
|
||||||
|
; To only override workspaces in a specific state, use:
|
||||||
|
; label-dimmed-focused
|
||||||
|
; label-dimmed-occupied
|
||||||
|
; label-dimmed-urgent
|
||||||
|
; label-dimmed-empty
|
||||||
|
;;label-dimmed-foreground = #555
|
||||||
|
;;label-dimmed-underline = ${bar/top.background}
|
||||||
|
;;label-dimmed-focused-background = #f00
|
||||||
|
|
||||||
|
; Available tokens:
|
||||||
|
; %name%
|
||||||
|
; %icon%
|
||||||
|
; %index%
|
||||||
|
; Default: %icon% %name%
|
||||||
|
label-focused = %icon%
|
||||||
|
label-focused-foreground = ${color.foreground}
|
||||||
|
label-focused-background = ${color.background}
|
||||||
|
;label-focused-underline = #fba922
|
||||||
|
|
||||||
|
; Available tokens:
|
||||||
|
; %name%
|
||||||
|
; %icon%
|
||||||
|
; %index%
|
||||||
|
; Default: %icon% %name%
|
||||||
|
label-occupied = %icon%
|
||||||
|
;label-occupied-underline = #555555
|
||||||
|
|
||||||
|
; Available tokens:
|
||||||
|
; %name%
|
||||||
|
; %icon%
|
||||||
|
; %index%
|
||||||
|
; Default: %icon% %name%
|
||||||
|
label-urgent = %icon%
|
||||||
|
label-urgent-foreground = ${color.white}
|
||||||
|
label-urgent-background = ${color.red}
|
||||||
|
;label-urgent-underline = #9b0a20
|
||||||
|
|
||||||
|
; Available tokens:
|
||||||
|
; %name%
|
||||||
|
; %icon%
|
||||||
|
; %index%
|
||||||
|
; Default: %icon% %name%
|
||||||
|
label-empty = %icon%
|
||||||
|
label-empty-foreground = ${color.foreground}
|
||||||
|
|
||||||
|
; The following labels will be used to indicate the layout/mode
|
||||||
|
; for the focused workspace. Requires <label-mode>
|
||||||
|
;
|
||||||
|
; Available tokens:
|
||||||
|
; None
|
||||||
|
label-monocle =
|
||||||
|
label-tiled =
|
||||||
|
label-fullscreen =
|
||||||
|
label-floating =
|
||||||
|
label-pseudotiled = P
|
||||||
|
label-locked =
|
||||||
|
label-locked-foreground = #bd2c40
|
||||||
|
label-sticky =
|
||||||
|
label-sticky-foreground = #fba922
|
||||||
|
label-private =
|
||||||
|
label-private-foreground = #bd2c40
|
||||||
|
|
||||||
|
; Separator in between workspaces
|
||||||
|
label-separator = |
|
||||||
|
label-separator-padding = 2
|
||||||
|
label-separator-foreground = ${color.sep}
|
||||||
|
|
||||||
|
[module/cpu]
|
||||||
|
type = internal/cpu
|
||||||
|
|
||||||
|
; Seconds to sleep between updates
|
||||||
|
; Default: 1
|
||||||
|
interval = 1
|
||||||
|
|
||||||
|
; Available tags:
|
||||||
|
; <label> (default)
|
||||||
|
; <bar-load>
|
||||||
|
; <ramp-load>
|
||||||
|
; <ramp-coreload>
|
||||||
|
;;format = <label> <ramp-coreload>
|
||||||
|
format = <label>
|
||||||
|
format-prefix =
|
||||||
|
format-prefix-foreground = ${color.red}
|
||||||
|
|
||||||
|
; Available tokens:
|
||||||
|
; %percentage% (default) - total cpu load averaged over all cores
|
||||||
|
; %percentage-sum% - Cumulative load on all cores
|
||||||
|
; %percentage-cores% - load percentage for each core
|
||||||
|
; %percentage-core[1-9]% - load percentage for specific core
|
||||||
|
label = " %percentage%%"
|
||||||
|
|
||||||
|
; Spacing between individual per-core ramps
|
||||||
|
;;ramp-coreload-spacing = 1
|
||||||
|
;;ramp-coreload-0 = ${cpu.load0}
|
||||||
|
;;ramp-coreload-1 = ${cpu.load1}
|
||||||
|
|
||||||
|
;;ramp-load-0 = ${cpu.load0}
|
||||||
|
;;ramp-load-1 = ${cpu.load1}i
|
||||||
|
|
||||||
|
[module/date]
|
||||||
|
type = internal/date
|
||||||
|
|
||||||
|
; Seconds to sleep between updates
|
||||||
|
interval = 1.0
|
||||||
|
|
||||||
|
; See "http://en.cppreference.com/w/cpp/io/manip/put_time" for details on how to format the date string.
|
||||||
|
; NOTE: if you want to use syntax tags here you need to use %%{...}
|
||||||
|
date = %a, %d %b
|
||||||
|
|
||||||
|
; Optional time format
|
||||||
|
time = at %I:%M %p
|
||||||
|
|
||||||
|
; if `date-alt` or `time-alt` is defined, clicking
|
||||||
|
; the module will toggle between formats
|
||||||
|
;date-alt = It's %A, %d %B %Y
|
||||||
|
;time-alt = at %k:%M:%S
|
||||||
|
|
||||||
|
; Available tags:
|
||||||
|
; <label> (default)
|
||||||
|
format = %{A1:gsimplecal:} <label> %{A}
|
||||||
|
format-prefix = " "
|
||||||
|
format-prefix-foreground = ${color.red}
|
||||||
|
|
||||||
|
; Available tokens:
|
||||||
|
; %date%
|
||||||
|
; %time%
|
||||||
|
; Default: %date%
|
||||||
|
label = %date% %time%
|
||||||
|
|
||||||
|
[module/filesystem]
|
||||||
|
type = internal/fs
|
||||||
|
|
||||||
|
; Mountpoints to display
|
||||||
|
mount-0 = /
|
||||||
|
#mount-1 = /home
|
||||||
|
;mount-2 = /var
|
||||||
|
|
||||||
|
; Seconds to sleep between updates
|
||||||
|
; Default: 30
|
||||||
|
interval = 30
|
||||||
|
|
||||||
|
; Display fixed precision values
|
||||||
|
; Default: false
|
||||||
|
fixed-values = true
|
||||||
|
|
||||||
|
; Spacing between entries
|
||||||
|
; Default: 2
|
||||||
|
spacing = 0
|
||||||
|
|
||||||
|
; Available tags:
|
||||||
|
; <label-mounted> (default)
|
||||||
|
; <bar-free>
|
||||||
|
; <bar-used>
|
||||||
|
; <ramp-capacity>
|
||||||
|
format-mounted = <label-mounted>
|
||||||
|
format-mounted-prefix =
|
||||||
|
format-mounted-prefix-foreground = ${color.dark-green}
|
||||||
|
|
||||||
|
; Available tags:
|
||||||
|
; <label-unmounted> (default)
|
||||||
|
format-unmounted = <label-unmounted>
|
||||||
|
format-unmounted-prefix =
|
||||||
|
format-unmounted-prefix-foreground = ${color.red}
|
||||||
|
|
||||||
|
; Available tokens:
|
||||||
|
; %mountpoint%
|
||||||
|
; %type%
|
||||||
|
; %fsname%
|
||||||
|
; %percentage_free%
|
||||||
|
; %percentage_used%
|
||||||
|
; %total%
|
||||||
|
; %free%
|
||||||
|
; %used%
|
||||||
|
; Default: %mountpoint% %percentage_free%%
|
||||||
|
label-mounted = " %mountpoint% %percentage_used%% Used "
|
||||||
|
|
||||||
|
; Available tokens:
|
||||||
|
; %mountpoint%
|
||||||
|
; Default: %mountpoint% is not mounted
|
||||||
|
label-unmounted = " %mountpoint%: NA"
|
||||||
|
|
||||||
|
[module/memory]
|
||||||
|
type = internal/memory
|
||||||
|
|
||||||
|
; Seconds to sleep between updates
|
||||||
|
; Default: 1
|
||||||
|
interval = 5
|
||||||
|
|
||||||
|
; Available tags:
|
||||||
|
; <label> (default)
|
||||||
|
; <bar-used>
|
||||||
|
; <bar-free>
|
||||||
|
; <ramp-used>
|
||||||
|
; <ramp-free>
|
||||||
|
; <bar-swap-used>
|
||||||
|
; <bar-swap-free>
|
||||||
|
; <ramp-swap-used>
|
||||||
|
; <ramp-swap-free>
|
||||||
|
format = <label>
|
||||||
|
format-prefix =
|
||||||
|
format-prefix-foreground = ${color.blue}
|
||||||
|
|
||||||
|
; Available tokens:
|
||||||
|
; %percentage_used% (default)
|
||||||
|
; %percentage_free%
|
||||||
|
; %gb_used%
|
||||||
|
; %gb_free%
|
||||||
|
; %gb_total%
|
||||||
|
; %mb_used%
|
||||||
|
; %mb_free%
|
||||||
|
; %mb_total%
|
||||||
|
; %percentage_swap_used%
|
||||||
|
; %percentage_swap_free%
|
||||||
|
; %mb_swap_total%
|
||||||
|
; %mb_swap_free%
|
||||||
|
; %mb_swap_used%
|
||||||
|
; %gb_swap_total%
|
||||||
|
; %gb_swap_free%
|
||||||
|
; %gb_swap_used%
|
||||||
|
|
||||||
|
label = " %mb_used%"
|
||||||
|
|
||||||
|
; Only applies if <ramp-used> is used
|
||||||
|
;;ramp-used-0 = ${memory.used0}
|
||||||
|
;;ramp-used-1 = ${memory.used1}
|
||||||
|
;;ramp-used-2 = ${memory.used2}
|
||||||
|
|
||||||
|
; Only applies if <ramp-free> is used
|
||||||
|
;;ramp-free-0 = ${memory.free0}
|
||||||
|
;;ramp-free-1 = ${memory.free1}
|
||||||
|
;;ramp-free-2 = ${memory.free2}
|
||||||
|
|
||||||
|
; If you use both a wired and a wireless network, just add 2 module definitions.
|
||||||
|
[module/wired-network]
|
||||||
|
type = internal/network
|
||||||
|
interface = eth0
|
||||||
|
|
||||||
|
[module/wireless-network]
|
||||||
|
type = internal/network
|
||||||
|
interface = wlp4s0
|
||||||
|
|
||||||
|
; Normal Module
|
||||||
|
[module/network]
|
||||||
|
type = internal/network
|
||||||
|
interface = wlp4s0
|
||||||
|
|
||||||
|
; Seconds to sleep between updates
|
||||||
|
; Default: 1
|
||||||
|
interval = 1.0
|
||||||
|
|
||||||
|
; Test connectivity every Nth update
|
||||||
|
; A value of 0 disables the feature
|
||||||
|
; NOTE: Experimental (needs more testing)
|
||||||
|
; Default: 0
|
||||||
|
;ping-interval = 3
|
||||||
|
|
||||||
|
; @deprecated: Define min width using token specifiers (%downspeed:min% and %upspeed:min%)
|
||||||
|
; Minimum output width of upload/download rate
|
||||||
|
; Default: 3
|
||||||
|
;;udspeed-minwidth = 5
|
||||||
|
|
||||||
|
; Accumulate values from all interfaces
|
||||||
|
; when querying for up/downspeed rate
|
||||||
|
; Default: false
|
||||||
|
accumulate-stats = true
|
||||||
|
|
||||||
|
; Consider an `UNKNOWN` interface state as up.
|
||||||
|
; Some devices have an unknown state, even when they're running
|
||||||
|
; Default: false
|
||||||
|
unknown-as-up = true
|
||||||
|
|
||||||
|
; Available tags:
|
||||||
|
; <label-connected> (default)
|
||||||
|
; <ramp-signal>
|
||||||
|
format-connected = <label-connected>
|
||||||
|
|
||||||
|
; Available tags:
|
||||||
|
; <label-disconnected> (default)
|
||||||
|
format-disconnected = <label-disconnected>
|
||||||
|
format-disconnected-prefix =
|
||||||
|
format-disconnected-prefix-foreground = ${color.dark-yellow}
|
||||||
|
|
||||||
|
; Available tags:
|
||||||
|
; <label-connected> (default)
|
||||||
|
; <label-packetloss>
|
||||||
|
; <animation-packetloss>
|
||||||
|
;;format-packetloss = <animation-packetloss> <label-connected>
|
||||||
|
|
||||||
|
; Available tokens:
|
||||||
|
; %ifname% [wireless+wired]
|
||||||
|
; %local_ip% [wireless+wired]
|
||||||
|
; %local_ip6% [wireless+wired]
|
||||||
|
; %essid% [wireless]
|
||||||
|
; %signal% [wireless]
|
||||||
|
; %upspeed% [wireless+wired]
|
||||||
|
; %downspeed% [wireless+wired]
|
||||||
|
; %linkspeed% [wired]
|
||||||
|
; Default: %ifname% %local_ip%
|
||||||
|
label-connected = " %essid% %downspeed:10%"
|
||||||
|
label-connected-foreground = ${color.magenta}
|
||||||
|
; Available tokens:
|
||||||
|
; %ifname% [wireless+wired]
|
||||||
|
; Default: (none)
|
||||||
|
label-disconnected = "Offline"
|
||||||
|
label-disconnected-foreground = ${color.dark-red}
|
||||||
|
; Available tokens:
|
||||||
|
; %ifname% [wireless+wired]
|
||||||
|
; %local_ip% [wireless+wired]
|
||||||
|
; %local_ip6% [wireless+wired]
|
||||||
|
; %essid% [wireless]
|
||||||
|
; %signal% [wireless]
|
||||||
|
; %upspeed% [wireless+wired]
|
||||||
|
; %downspeed% [wireless+wired]
|
||||||
|
; %linkspeed% [wired]
|
||||||
|
; Default: (none)
|
||||||
|
;label-packetloss = %essid%
|
||||||
|
;label-packetloss-foreground = #eefafafa
|
||||||
|
|
||||||
|
; Only applies if <ramp-signal> is used
|
||||||
|
;ramp-signal-0 =
|
||||||
|
;ramp-signal-1 =
|
||||||
|
;ramp-signal-2 =
|
||||||
|
;ramp-signal-3 =
|
||||||
|
;ramp-signal-foreground = ${color.purple}
|
||||||
|
|
||||||
|
; Only applies if <animation-packetloss> is used
|
||||||
|
;;animation-packetloss-0 = ⚠
|
||||||
|
;;animation-packetloss-0-foreground = #ffa64c
|
||||||
|
;;animation-packetloss-1 = ⚠
|
||||||
|
;;animation-packetloss-1-foreground = #000000
|
||||||
|
; Framerate in milliseconds
|
||||||
|
;;animation-packetloss-framerate = 500
|
||||||
|
|
||||||
|
[module/pulseaudio]
|
||||||
|
type = internal/pulseaudio
|
||||||
|
|
||||||
|
; Sink to be used, if it exists (find using `pacmd list-sinks`, name field)
|
||||||
|
; If not, uses default sink
|
||||||
|
sink = alsa_output.pci-0000_12_00.3.analog-stereo
|
||||||
|
|
||||||
|
; Use PA_VOLUME_UI_MAX (~153%) if true, or PA_VOLUME_NORM (100%) if false
|
||||||
|
; Default: true
|
||||||
|
use-ui-max = true
|
||||||
|
|
||||||
|
; Interval for volume increase/decrease (in percent points)
|
||||||
|
; Default: 5
|
||||||
|
interval = 5
|
||||||
|
|
||||||
|
; Available tags:
|
||||||
|
; <label-volume> (default)
|
||||||
|
; <ramp-volume>
|
||||||
|
; <bar-volume>
|
||||||
|
format-volume = <ramp-volume> <label-volume>
|
||||||
|
|
||||||
|
; Available tags:
|
||||||
|
; <label-muted> (default)
|
||||||
|
; <ramp-volume>
|
||||||
|
; <bar-volume>
|
||||||
|
format-muted = <label-muted>
|
||||||
|
format-muted-prefix =
|
||||||
|
format-muted-prefix-foreground = ${color.red}
|
||||||
|
|
||||||
|
; Available tokens:
|
||||||
|
; %percentage% (default)
|
||||||
|
; %decibels%
|
||||||
|
label-volume = %percentage%%
|
||||||
|
|
||||||
|
; Available tokens:
|
||||||
|
; %percentage% (default)
|
||||||
|
; %decibels%
|
||||||
|
label-muted = " Muted"
|
||||||
|
label-muted-foreground = ${color.sep}
|
||||||
|
|
||||||
|
; Only applies if <ramp-volume> is used
|
||||||
|
ramp-volume-0 =
|
||||||
|
ramp-volume-1 =
|
||||||
|
ramp-volume-2 =
|
||||||
|
ramp-volume-foreground = ${color.dark-blue}
|
||||||
|
|
||||||
|
; Right and Middle click
|
||||||
|
click-right = pavucontrol
|
||||||
|
; click-middle =
|
||||||
|
|
||||||
|
[module/temperature]
|
||||||
|
type = internal/temperature
|
||||||
|
|
||||||
|
; Seconds to sleep between updates
|
||||||
|
; Default: 1
|
||||||
|
interval = 5
|
||||||
|
|
||||||
|
; Thermal zone to use
|
||||||
|
; To list all the zone types, run
|
||||||
|
; $ for i in /sys/class/thermal/thermal_zone*; do echo "$i: $(<$i/type)"; done
|
||||||
|
; Default: 0
|
||||||
|
thermal-zone = 1
|
||||||
|
|
||||||
|
; Full path of temperature sysfs path
|
||||||
|
; Use `sensors` to find preferred temperature source, then run
|
||||||
|
; $ for i in /sys/class/hwmon/hwmon*/temp*_input;
|
||||||
|
; do echo "$(<$(dirname $i)/name): $(cat ${i%_*}_label 2>/dev/null ||
|
||||||
|
; echo $(basename ${i%_*})) $(readlink -f $i)"; done
|
||||||
|
; to find path to desired file
|
||||||
|
; Default reverts to thermal zone setting
|
||||||
|
;;hwmon-path = /sys/devices/platform/coretemp.0/hwmon/hwmon2/temp1_input
|
||||||
|
hwmon-path = /sys/devices/platform/coretemp.0/hwmon/hwmon2/temp1_input
|
||||||
|
;hwmon-path = /sys/class/hwmon/hwmon1/temp1_input
|
||||||
|
|
||||||
|
; Threshold temperature to display warning label (in degrees celsius)
|
||||||
|
; Default: 80
|
||||||
|
warn-temperature = 84
|
||||||
|
|
||||||
|
; Whether or not to show units next to the temperature tokens (°C, °F)
|
||||||
|
; Default: true
|
||||||
|
units = true
|
||||||
|
|
||||||
|
; Available tags:
|
||||||
|
; <label> (default)
|
||||||
|
; <ramp>
|
||||||
|
format = <ramp> <label>
|
||||||
|
|
||||||
|
; Available tags:
|
||||||
|
; <label-warn> (default)
|
||||||
|
; <ramp>
|
||||||
|
format-warn = <ramp> <label-warn>
|
||||||
|
|
||||||
|
; Available tokens:
|
||||||
|
; %temperature% (deprecated)
|
||||||
|
; %temperature-c% (default, temperature in °C)
|
||||||
|
; %temperature-f% (temperature in °F)
|
||||||
|
label = %temperature-c%
|
||||||
|
|
||||||
|
; Available tokens:
|
||||||
|
; %temperature% (deprecated)
|
||||||
|
; %temperature-c% (default, temperature in °C)
|
||||||
|
; %temperature-f% (temperature in °F)
|
||||||
|
label-warn = "%temperature-c%"
|
||||||
|
label-warn-foreground = ${color.red}
|
||||||
|
|
||||||
|
; Requires the <ramp> tag
|
||||||
|
; The icon selection will range from 0 to `warn-temperature`
|
||||||
|
; with the current temperature as index.
|
||||||
|
ramp-0 =
|
||||||
|
ramp-1 =
|
||||||
|
ramp-2 =
|
||||||
|
ramp-3 =
|
||||||
|
ramp-4 =
|
||||||
|
ramp-foreground = ${color.cyan}
|
||||||
|
|
||||||
|
[module/keyboard]
|
||||||
|
type = internal/xkeyboard
|
||||||
|
|
||||||
|
; List of indicators to ignore
|
||||||
|
blacklist-0 = num lock
|
||||||
|
blacklist-1 = scroll lock
|
||||||
|
|
||||||
|
; Available tags:
|
||||||
|
; <label-layout> (default)
|
||||||
|
; <label-indicator> (default)
|
||||||
|
format = <label-layout> <label-indicator>
|
||||||
|
format-prefix =
|
||||||
|
format-prefix-foreground = ${color.magenta}
|
||||||
|
|
||||||
|
; Available tokens:
|
||||||
|
; %layout%
|
||||||
|
; %name%
|
||||||
|
; %number%
|
||||||
|
; Default: %layout%
|
||||||
|
label-layout = " %layout%"
|
||||||
|
|
||||||
|
; Available tokens:
|
||||||
|
; %name%
|
||||||
|
; Default: %name%
|
||||||
|
label-indicator-on = "%name%"
|
||||||
|
label-indicator-on-foreground = ${color.white}
|
||||||
|
label-indicator-on-background = ${color.dark-red}
|
||||||
|
|
||||||
|
[module/title]
|
||||||
|
type = internal/xwindow
|
||||||
|
|
||||||
|
; Available tags:
|
||||||
|
; <label> (default)
|
||||||
|
format = <label>
|
||||||
|
format-prefix =
|
||||||
|
format-foreground = ${color.foreground}
|
||||||
|
|
||||||
|
; Available tokens:
|
||||||
|
; %title%
|
||||||
|
; Default: %title%
|
||||||
|
label = " %title%"
|
||||||
|
label-maxlen = 30
|
||||||
|
|
||||||
|
; Used instead of label when there is no window title
|
||||||
|
label-empty = " Desktop"
|
||||||
|
|
||||||
|
[module/workspaces]
|
||||||
|
type = internal/xworkspaces
|
||||||
|
|
||||||
|
; Only show workspaces defined on the same output as the bar
|
||||||
|
;
|
||||||
|
; Useful if you want to show monitor specific workspaces
|
||||||
|
; on different bars
|
||||||
|
;
|
||||||
|
; Default: false
|
||||||
|
pin-workspaces = true
|
||||||
|
|
||||||
|
; Create click handler used to focus desktop
|
||||||
|
; Default: true
|
||||||
|
enable-click = true
|
||||||
|
|
||||||
|
; Create scroll handlers used to cycle desktops
|
||||||
|
; Default: true
|
||||||
|
enable-scroll = true
|
||||||
|
|
||||||
|
; icon-[0-9]+ = <desktop-name>;<icon>
|
||||||
|
; NOTE: The desktop name needs to match the name configured by the WM
|
||||||
|
; You can get a list of the defined desktops using:
|
||||||
|
; $ xprop -root _NET_DESKTOP_NAMES
|
||||||
|
icon-0 = 1;
|
||||||
|
icon-1 = 2;
|
||||||
|
icon-2 = 3;
|
||||||
|
icon-3 = 4;
|
||||||
|
icon-4 = 5;
|
||||||
|
icon-5 = 6;
|
||||||
|
icon-6 = 7;
|
||||||
|
icon-7 = 8;
|
||||||
|
;
|
||||||
|
icon-8 = 9;
|
||||||
|
icon-9 = 10;
|
||||||
|
icon-default =
|
||||||
|
|
||||||
|
; Available tags:
|
||||||
|
; <label-monitor>
|
||||||
|
; <label-state> - gets replaced with <label-(active|urgent|occupied|empty)>
|
||||||
|
; Default: <label-state>
|
||||||
|
format = <label-state>
|
||||||
|
|
||||||
|
; Available tokens:
|
||||||
|
; %name%
|
||||||
|
; Default: %name%
|
||||||
|
label-monitor = %name%
|
||||||
|
|
||||||
|
; Available tokens:
|
||||||
|
; %name%
|
||||||
|
; %icon%
|
||||||
|
; %index%
|
||||||
|
; Default: %icon% %name%
|
||||||
|
label-active = %icon%
|
||||||
|
label-active-foreground = ${color.red}
|
||||||
|
|
||||||
|
; Available tokens:
|
||||||
|
; %name%
|
||||||
|
; %icon%
|
||||||
|
; %index%
|
||||||
|
; Default: %icon% %name%
|
||||||
|
label-occupied = %icon%
|
||||||
|
label-occupied-foreground = ${color.cyan}
|
||||||
|
|
||||||
|
; Available tokens:
|
||||||
|
; %name%
|
||||||
|
; %icon%
|
||||||
|
; %index%
|
||||||
|
; Default: %icon% %name%
|
||||||
|
label-urgent = %icon%
|
||||||
|
label-urgent-foreground = ${color.dark-red}
|
||||||
|
|
||||||
|
; Available tokens:
|
||||||
|
; %name%
|
||||||
|
; %icon%
|
||||||
|
; %index%
|
||||||
|
; Default: %icon% %name%
|
||||||
|
label-empty = %icon%
|
||||||
|
label-empty-foreground = ${color.foreground}
|
||||||
|
|
||||||
|
label-active-padding = 1
|
||||||
|
label-urgent-padding = 1
|
||||||
|
label-occupied-padding = 1
|
||||||
|
label-empty-padding = 1
|
280
dot_config/private_tint2/tint2rc
Normal file
280
dot_config/private_tint2/tint2rc
Normal file
|
@ -0,0 +1,280 @@
|
||||||
|
#---- Generated by tint2conf aeaf ----
|
||||||
|
# See https://gitlab.com/o9000/tint2/wikis/Configure for
|
||||||
|
# full documentation of the configuration options.
|
||||||
|
|
||||||
|
#-------------------------------------
|
||||||
|
# Gradients
|
||||||
|
|
||||||
|
# Gradient 1: thin film effect
|
||||||
|
gradient = horizontal
|
||||||
|
start_color = #111122 30
|
||||||
|
end_color = #112211 30
|
||||||
|
color_stop = 60 #221111 30
|
||||||
|
|
||||||
|
# Gradient 2: radial glow
|
||||||
|
gradient = radial
|
||||||
|
start_color = #ffffff 20
|
||||||
|
end_color = #ffffff 0
|
||||||
|
|
||||||
|
#-------------------------------------
|
||||||
|
# Backgrounds
|
||||||
|
|
||||||
|
# Background 1: Panel
|
||||||
|
rounded = 0
|
||||||
|
border_width = 0
|
||||||
|
border_sides = TBLR
|
||||||
|
background_color = #323d43 100
|
||||||
|
border_color = #323d43 30
|
||||||
|
background_color_hover = #323d43 70
|
||||||
|
border_color_hover = #323d43 30
|
||||||
|
background_color_pressed = #323d43 100
|
||||||
|
border_color_pressed = #323d43 30
|
||||||
|
|
||||||
|
# Background 2: Default task, Iconified task
|
||||||
|
rounded = 4
|
||||||
|
border_width = 1
|
||||||
|
border_sides = TBLR
|
||||||
|
background_color = #4a555b 20
|
||||||
|
border_color = #525c62 30
|
||||||
|
background_color_hover = #aaaaaa 22
|
||||||
|
border_color_hover = #eaeaea 44
|
||||||
|
background_color_pressed = #555555 4
|
||||||
|
border_color_pressed = #eaeaea 44
|
||||||
|
|
||||||
|
# Background 3: Active task
|
||||||
|
rounded = 4
|
||||||
|
border_width = 1
|
||||||
|
border_sides = TBLR
|
||||||
|
background_color = #7fbbb3 40
|
||||||
|
border_color = #d8caac 40
|
||||||
|
background_color_hover = #aaaaaa 22
|
||||||
|
border_color_hover = #eaeaea 44
|
||||||
|
background_color_pressed = #555555 4
|
||||||
|
border_color_pressed = #eaeaea 44
|
||||||
|
|
||||||
|
# Background 4: Urgent task
|
||||||
|
rounded = 4
|
||||||
|
border_width = 1
|
||||||
|
border_sides = TBLR
|
||||||
|
background_color = #e26c6e 100
|
||||||
|
border_color = #d5b26b 100
|
||||||
|
background_color_hover = #dbbc7f 100
|
||||||
|
border_color_hover = #d5b26b 100
|
||||||
|
background_color_pressed = #555555 4
|
||||||
|
border_color_pressed = #d5b26b 100
|
||||||
|
|
||||||
|
# Background 5: Tooltip
|
||||||
|
rounded = 1
|
||||||
|
border_width = 1
|
||||||
|
border_sides = TBLR
|
||||||
|
background_color = #9bb86f 100
|
||||||
|
border_color = #4a555b 100
|
||||||
|
background_color_hover = #ffffaa 100
|
||||||
|
border_color_hover = #000000 100
|
||||||
|
background_color_pressed = #ffffaa 100
|
||||||
|
border_color_pressed = #000000 100
|
||||||
|
|
||||||
|
#-------------------------------------
|
||||||
|
# Panel
|
||||||
|
panel_items = TEEB:SCP
|
||||||
|
panel_size = 100% 48
|
||||||
|
scale_relative_to_dpi = 216
|
||||||
|
panel_margin = 0 0
|
||||||
|
panel_padding = 2 0 2
|
||||||
|
panel_background_id = 1
|
||||||
|
wm_menu = 1
|
||||||
|
panel_dock = 0
|
||||||
|
panel_position = top center horizontal
|
||||||
|
panel_layer = bottom
|
||||||
|
panel_monitor = all
|
||||||
|
panel_shrink = 0
|
||||||
|
autohide = 0
|
||||||
|
autohide_show_timeout = 0
|
||||||
|
autohide_hide_timeout = 0.5
|
||||||
|
autohide_height = 2
|
||||||
|
strut_policy = follow_size
|
||||||
|
panel_window_name = tint2
|
||||||
|
disable_transparency = 1
|
||||||
|
mouse_effects = 1
|
||||||
|
font_shadow = 0
|
||||||
|
mouse_hover_icon_asb = 100 0 10
|
||||||
|
mouse_pressed_icon_asb = 100 0 0
|
||||||
|
|
||||||
|
#-------------------------------------
|
||||||
|
# Taskbar
|
||||||
|
taskbar_mode = multi_desktop
|
||||||
|
taskbar_hide_if_empty = 1
|
||||||
|
taskbar_padding = 0 0 2
|
||||||
|
taskbar_background_id = 0
|
||||||
|
taskbar_active_background_id = 0
|
||||||
|
taskbar_name = 1
|
||||||
|
taskbar_hide_inactive_tasks = 0
|
||||||
|
taskbar_hide_different_monitor = 0
|
||||||
|
taskbar_hide_different_desktop = 0
|
||||||
|
taskbar_always_show_all_desktop_tasks = 0
|
||||||
|
taskbar_name_padding = 4 2
|
||||||
|
taskbar_name_background_id = 0
|
||||||
|
taskbar_name_active_background_id = 0
|
||||||
|
taskbar_name_font = Hack 18
|
||||||
|
taskbar_name_font_color = #d8caac 100
|
||||||
|
taskbar_name_active_font_color = #d0bf9b 100
|
||||||
|
taskbar_distribute_size = 0
|
||||||
|
taskbar_sort_order = none
|
||||||
|
task_align = left
|
||||||
|
|
||||||
|
#-------------------------------------
|
||||||
|
# Task
|
||||||
|
task_text = 1
|
||||||
|
task_icon = 1
|
||||||
|
task_centered = 1
|
||||||
|
urgent_nb_of_blink = 100000
|
||||||
|
task_maximum_size = 150 35
|
||||||
|
task_padding = 2 4 2
|
||||||
|
task_tooltip = 1
|
||||||
|
task_thumbnail = 0
|
||||||
|
task_thumbnail_size = 210
|
||||||
|
task_font = Hack 10
|
||||||
|
task_font_color = #d8caac 100
|
||||||
|
task_background_id = 2
|
||||||
|
task_active_background_id = 3
|
||||||
|
task_urgent_background_id = 4
|
||||||
|
task_iconified_background_id = 2
|
||||||
|
mouse_left = toggle
|
||||||
|
mouse_middle = none
|
||||||
|
mouse_right = close
|
||||||
|
mouse_scroll_up = prev_task
|
||||||
|
mouse_scroll_down = next_task
|
||||||
|
|
||||||
|
#-------------------------------------
|
||||||
|
# System tray (notification area)
|
||||||
|
systray_padding = 2 4 4
|
||||||
|
systray_background_id = 0
|
||||||
|
systray_sort = ascending
|
||||||
|
systray_icon_size = 28
|
||||||
|
systray_icon_asb = 100 0 0
|
||||||
|
systray_monitor = 1
|
||||||
|
systray_name_filter =
|
||||||
|
|
||||||
|
#-------------------------------------
|
||||||
|
# Launcher
|
||||||
|
launcher_padding = 2 4 2
|
||||||
|
launcher_background_id = 0
|
||||||
|
launcher_icon_background_id = 0
|
||||||
|
launcher_icon_size = 24
|
||||||
|
launcher_icon_asb = 100 0 0
|
||||||
|
launcher_icon_theme_override = 0
|
||||||
|
startup_notifications = 1
|
||||||
|
launcher_tooltip = 1
|
||||||
|
launcher_item_app = tint2conf.desktop
|
||||||
|
launcher_item_app = firefox.desktop
|
||||||
|
launcher_item_app = iceweasel.desktop
|
||||||
|
launcher_item_app = chromium-browser.desktop
|
||||||
|
launcher_item_app = google-chrome.desktop
|
||||||
|
|
||||||
|
#-------------------------------------
|
||||||
|
# Clock
|
||||||
|
time1_format = %H:%M
|
||||||
|
time2_format = %a %d %b
|
||||||
|
time1_font = Hack 14
|
||||||
|
time2_font = Hack 10
|
||||||
|
time1_timezone =
|
||||||
|
time2_timezone =
|
||||||
|
clock_font_color = #d8caac 100
|
||||||
|
clock_padding = 6 0
|
||||||
|
clock_background_id = 0
|
||||||
|
clock_tooltip = %H:%M %A %d %B %Y
|
||||||
|
clock_tooltip_timezone =
|
||||||
|
clock_lclick_command = gsimplecal
|
||||||
|
clock_rclick_command =
|
||||||
|
clock_mclick_command =
|
||||||
|
clock_uwheel_command =
|
||||||
|
clock_dwheel_command =
|
||||||
|
|
||||||
|
#-------------------------------------
|
||||||
|
# Battery
|
||||||
|
battery_tooltip = 1
|
||||||
|
battery_low_status = 10
|
||||||
|
battery_low_cmd = notify-send "Low battery: 10%"
|
||||||
|
battery_full_cmd = notify-send "Battery done charging"
|
||||||
|
bat1_font = Hack 14
|
||||||
|
battery_font_color = #d8caac 100
|
||||||
|
bat1_format = | Bat: %s %p %t
|
||||||
|
bat2_format =
|
||||||
|
battery_padding = 1 0
|
||||||
|
battery_background_id = 0
|
||||||
|
battery_hide = 101
|
||||||
|
battery_lclick_command =
|
||||||
|
battery_rclick_command =
|
||||||
|
battery_mclick_command =
|
||||||
|
battery_uwheel_command =
|
||||||
|
battery_dwheel_command =
|
||||||
|
ac_connected_cmd = notify-send "AC Power connected"
|
||||||
|
ac_disconnected_cmd = "AC Power disconnected"
|
||||||
|
|
||||||
|
#-------------------------------------
|
||||||
|
# Tooltip
|
||||||
|
tooltip_show_timeout = 0.5
|
||||||
|
tooltip_hide_timeout = 0.1
|
||||||
|
tooltip_padding = 4 4
|
||||||
|
tooltip_background_id = 5
|
||||||
|
tooltip_font_color = #4a555b 100
|
||||||
|
tooltip_font = Hack 14
|
||||||
|
|
||||||
|
#-------------------------------------
|
||||||
|
# Separators
|
||||||
|
|
||||||
|
# Separator1
|
||||||
|
separator = new
|
||||||
|
separator_background_id = 0
|
||||||
|
separator_color = #7fbbb3
|
||||||
|
separator_style = dots
|
||||||
|
separator_size = 4
|
||||||
|
separator_padding = 12 0
|
||||||
|
|
||||||
|
# Separator2
|
||||||
|
separator = new
|
||||||
|
separator_background_id = 0
|
||||||
|
separator_color = #7fbbb3 80
|
||||||
|
separator_style = line
|
||||||
|
separator_size = 2
|
||||||
|
separator_padding = 12 0
|
||||||
|
|
||||||
|
# Separator3
|
||||||
|
separator = new
|
||||||
|
separator_background_id = 0
|
||||||
|
separator_color = #7fbbb3
|
||||||
|
separator_style = empty
|
||||||
|
separator_size = 6
|
||||||
|
separator_padding = 12 0
|
||||||
|
|
||||||
|
#-------------------------------------
|
||||||
|
# Executors
|
||||||
|
|
||||||
|
# Exec1
|
||||||
|
# Note the use of "stdbuf -oL" to force the program to flush the output line by line.
|
||||||
|
execp = new
|
||||||
|
execp_command = free -b -s10| stdbuf -oL awk '/^Mem:/ { printf "Mem: %s / \n", $3 }' | stdbuf -oL numfmt --to=iec-i --field=2 -d' '
|
||||||
|
execp_interval = 10
|
||||||
|
execp_continuous = 1
|
||||||
|
execp_font = Hack 14
|
||||||
|
execp_font_color = #d8caac 100
|
||||||
|
|
||||||
|
# Exec2
|
||||||
|
execp = new
|
||||||
|
execp_command = free -b -s10| stdbuf -oL awk '/^Mem:/ { printf "%s %.0f%%\n", $2, 100 * ($2 - $7) / $2 }' | stdbuf -oL numfmt --to=iec-i --field=1 -d' '
|
||||||
|
execp_interval = 10
|
||||||
|
execp_continuous = 1
|
||||||
|
execp_font = Hack 14
|
||||||
|
execp_font_color = #d8caac 100
|
||||||
|
|
||||||
|
#-------------------------------------
|
||||||
|
# Buttons
|
||||||
|
|
||||||
|
#Button1
|
||||||
|
button = new
|
||||||
|
button_text =
|
||||||
|
button_icon = /usr/share/icons/Papirus-Dark/24x24/actions/exit.svg
|
||||||
|
button_background_id = 0
|
||||||
|
button_lclick_command = rofi -dpi 240 -show power-menu -modi power-menu:/usr/bin/rofi-power-menu
|
||||||
|
button_mclick_command = rofi -dpi 240 -show power-menu -modi power-menu:"/usr/bin/rofi-power-menu --choose suspend/hibernate"
|
||||||
|
button_rclick_command = rofi -dpi 240 -show power-menu -modi power-menu:"/usr/bin/rofi-power-menu --choices reboot/shutdown"
|
185
dot_config/rofi/config.rasi
Normal file
185
dot_config/rofi/config.rasi
Normal file
|
@ -0,0 +1,185 @@
|
||||||
|
/* ==========================================================================
|
||||||
|
Everforest dark theme for rofi
|
||||||
|
|
||||||
|
Based on the Everforest color scheme for Vim by sainnhe
|
||||||
|
https://github.com/sainnhe/everforest/
|
||||||
|
========================================================================== */
|
||||||
|
|
||||||
|
* {
|
||||||
|
/* Theme settings */
|
||||||
|
highlight: bold italic;
|
||||||
|
scrollbar: true;
|
||||||
|
|
||||||
|
/* Everforest colors */
|
||||||
|
|
||||||
|
everforest-bg0: #323d43;
|
||||||
|
everforest-bg1: #525c6d;
|
||||||
|
everforest-fg: #d8cacc;
|
||||||
|
everforest-black: #4a555b;
|
||||||
|
everforest-dark-grey: #525c62;
|
||||||
|
everforest-dark-red: #e26c6e;
|
||||||
|
everforest-red: #e68183;
|
||||||
|
everforest-dark-yellow: #d5b26b;
|
||||||
|
everforest-yellow: #dbbc7f;
|
||||||
|
everforest-dark-blue: #6eb2a9;
|
||||||
|
everforest-blue: #7fbbb3;
|
||||||
|
everforest-dark-magenta: #cf87a9;
|
||||||
|
everforest-magenta: #d699b6;
|
||||||
|
everforest-dark-cyan: #72b783;
|
||||||
|
everforest-cyan: #83c092;
|
||||||
|
everforest-light-grey: #d8caac;
|
||||||
|
everforest-white: #d8caac;
|
||||||
|
|
||||||
|
/* Theme colors */
|
||||||
|
background: @everforest-bg0;
|
||||||
|
background-color: @background;
|
||||||
|
foreground: @everforest-fg;
|
||||||
|
border-color: @everforest-dark-yellow;
|
||||||
|
separatorcolor: @border-color;
|
||||||
|
scrollbar-handle: @border-color;
|
||||||
|
|
||||||
|
normal-background: @background;
|
||||||
|
normal-foreground: @foreground;
|
||||||
|
alternate-normal-background: @everforest-bg1;
|
||||||
|
alternate-normal-foreground: @foreground;
|
||||||
|
selected-normal-background: @everforest-dark-cyan;
|
||||||
|
selected-normal-foreground: @everforest-black;
|
||||||
|
|
||||||
|
active-background: @everforest-yellow;
|
||||||
|
active-foreground: @background;
|
||||||
|
alternate-active-background: @active-background;
|
||||||
|
alternate-active-foreground: @active-foreground;
|
||||||
|
selected-active-background: @everforest-cyan;
|
||||||
|
selected-active-foreground: @active-foreground;
|
||||||
|
|
||||||
|
urgent-background: @everforest-dark-red;
|
||||||
|
urgent-foreground: @background;
|
||||||
|
alternate-urgent-background: @urgent-background;
|
||||||
|
alternate-urgent-foreground: @urgent-foreground;
|
||||||
|
selected-urgent-background: @everforest-red;
|
||||||
|
selected-urgent-foreground: @urgent-foreground;
|
||||||
|
}
|
||||||
|
|
||||||
|
window {
|
||||||
|
background-color: @background;
|
||||||
|
border: 2;
|
||||||
|
padding: 2;
|
||||||
|
}
|
||||||
|
|
||||||
|
mainbox {
|
||||||
|
border: 0;
|
||||||
|
padding: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
message {
|
||||||
|
border: 2px 0 0;
|
||||||
|
border-color: @separatorcolor;
|
||||||
|
padding: 1px;
|
||||||
|
}
|
||||||
|
|
||||||
|
textbox {
|
||||||
|
highlight: @highlight;
|
||||||
|
text-color: @foreground;
|
||||||
|
}
|
||||||
|
|
||||||
|
listview {
|
||||||
|
border: 2px solid 0 0;
|
||||||
|
padding: 2px 0 0;
|
||||||
|
border-color: @separatorcolor;
|
||||||
|
spacing: 2px;
|
||||||
|
scrollbar: @scrollbar;
|
||||||
|
}
|
||||||
|
|
||||||
|
element {
|
||||||
|
border: 0;
|
||||||
|
padding: 2px;
|
||||||
|
}
|
||||||
|
|
||||||
|
element.normal.normal {
|
||||||
|
background-color: @normal-background;
|
||||||
|
text-color: @normal-foreground;
|
||||||
|
}
|
||||||
|
|
||||||
|
element.normal.urgent {
|
||||||
|
background-color: @urgent-background;
|
||||||
|
text-color: @urgent-foreground;
|
||||||
|
}
|
||||||
|
|
||||||
|
element.normal.active {
|
||||||
|
background-color: @active-background;
|
||||||
|
text-color: @active-foreground;
|
||||||
|
}
|
||||||
|
|
||||||
|
element.selected.normal {
|
||||||
|
background-color: @selected-normal-background;
|
||||||
|
text-color: @selected-normal-foreground;
|
||||||
|
}
|
||||||
|
|
||||||
|
element.selected.urgent {
|
||||||
|
background-color: @selected-urgent-background;
|
||||||
|
text-color: @selected-urgent-foreground;
|
||||||
|
}
|
||||||
|
|
||||||
|
element.selected.active {
|
||||||
|
background-color: @selected-active-background;
|
||||||
|
text-color: @selected-active-foreground;
|
||||||
|
}
|
||||||
|
|
||||||
|
element.alternate.normal {
|
||||||
|
background-color: @alternate-normal-background;
|
||||||
|
text-color: @alternate-normal-foreground;
|
||||||
|
}
|
||||||
|
|
||||||
|
element.alternate.urgent {
|
||||||
|
background-color: @alternate-urgent-background;
|
||||||
|
text-color: @alternate-urgent-foreground;
|
||||||
|
}
|
||||||
|
|
||||||
|
element.alternate.active {
|
||||||
|
background-color: @alternate-active-background;
|
||||||
|
text-color: @alternate-active-foreground;
|
||||||
|
}
|
||||||
|
|
||||||
|
scrollbar {
|
||||||
|
width: 4px;
|
||||||
|
border: 0;
|
||||||
|
handle-color: @scrollbar-handle;
|
||||||
|
handle-width: 8px;
|
||||||
|
padding: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
mode-switcher {
|
||||||
|
border: 2px 0 0;
|
||||||
|
border-color: @separatorcolor;
|
||||||
|
}
|
||||||
|
|
||||||
|
inputbar {
|
||||||
|
spacing: 0;
|
||||||
|
text-color: @normal-foreground;
|
||||||
|
padding: 2px;
|
||||||
|
children: [ prompt, textbox-prompt-sep, entry, case-indicator ];
|
||||||
|
}
|
||||||
|
|
||||||
|
case-indicator,
|
||||||
|
entry,
|
||||||
|
prompt,
|
||||||
|
button {
|
||||||
|
spacing: 0;
|
||||||
|
text-color: @normal-foreground;
|
||||||
|
}
|
||||||
|
|
||||||
|
button.selected {
|
||||||
|
background-color: @selected-normal-background;
|
||||||
|
text-color: @selected-normal-foreground;
|
||||||
|
}
|
||||||
|
|
||||||
|
textbox-prompt-sep {
|
||||||
|
expand: false;
|
||||||
|
str: ":";
|
||||||
|
text-color: @normal-foreground;
|
||||||
|
margin: 0 0.3em 0 0;
|
||||||
|
}
|
||||||
|
element-text, element-icon {
|
||||||
|
background-color: inherit;
|
||||||
|
text-color: inherit;
|
||||||
|
}
|
180
dot_config/sxhkd/sxhkdrc
Normal file
180
dot_config/sxhkd/sxhkdrc
Normal file
|
@ -0,0 +1,180 @@
|
||||||
|
#
|
||||||
|
# wm independent hotkeys
|
||||||
|
#
|
||||||
|
|
||||||
|
# terminal emulator
|
||||||
|
super + Return
|
||||||
|
kitty
|
||||||
|
|
||||||
|
# program launcher
|
||||||
|
super + @space
|
||||||
|
rofi -dpi 240 -modi drun, run -show drun -show-icons
|
||||||
|
|
||||||
|
# power menu
|
||||||
|
super + @End
|
||||||
|
rofi -dpi 240 -show power-menu -modi power-menu:/usr/bin/rofi-power-menu
|
||||||
|
|
||||||
|
# make sxhkd reload its configuration files:
|
||||||
|
super + Escape
|
||||||
|
pkill -USR1 -x sxhkd
|
||||||
|
|
||||||
|
# Show list of open windows
|
||||||
|
alt + @Tab
|
||||||
|
rofi -show window
|
||||||
|
|
||||||
|
# Lock the screen
|
||||||
|
ctrl + alt + l
|
||||||
|
xset s activate
|
||||||
|
|
||||||
|
# Screenshot
|
||||||
|
Print
|
||||||
|
maim | xclip -selection clipboard -t image/png
|
||||||
|
|
||||||
|
alt + Print
|
||||||
|
maim -s | xclip -selection clipboard -t image/png
|
||||||
|
|
||||||
|
shift + Print
|
||||||
|
maim -i $(xdotool getactivewindow) | xclip -selection clipboard -t image/png
|
||||||
|
|
||||||
|
# bspwm hotkeys
|
||||||
|
#
|
||||||
|
|
||||||
|
# quit/restart bspwm
|
||||||
|
super + alt + {q,r}
|
||||||
|
bspc {quit,wm -r}
|
||||||
|
|
||||||
|
# close and kill
|
||||||
|
super + {_,shift + }q
|
||||||
|
bspc node -{c,k}
|
||||||
|
|
||||||
|
# alternate between the tiled and monocle layout
|
||||||
|
super + m
|
||||||
|
bspc desktop -l next
|
||||||
|
|
||||||
|
# send the newest marked node to the newest preselected node
|
||||||
|
super + y
|
||||||
|
bspc node newest.marked.local -n newest.!automatic.local
|
||||||
|
|
||||||
|
# swap the current node and the biggest window
|
||||||
|
super + g
|
||||||
|
bspc node -s biggest.window
|
||||||
|
|
||||||
|
#
|
||||||
|
# state/flags
|
||||||
|
#
|
||||||
|
|
||||||
|
# set the window state
|
||||||
|
super + {t,shift + t,s,f}
|
||||||
|
bspc node -t {tiled,pseudo_tiled,floating,fullscreen}
|
||||||
|
|
||||||
|
# set the node flags
|
||||||
|
super + ctrl + {m,x,y,z}
|
||||||
|
bspc node -g {marked,locked,sticky,private}
|
||||||
|
|
||||||
|
#
|
||||||
|
# focus/swap
|
||||||
|
#
|
||||||
|
|
||||||
|
# focus the node in the given direction
|
||||||
|
super + {_,shift + }{h,j,k,l}
|
||||||
|
bspc node -{f,s} {west,south,north,east}
|
||||||
|
|
||||||
|
# focus the node for the given path jump
|
||||||
|
super + {p,b,comma,period}
|
||||||
|
bspc node -f @{parent,brother,first,second}
|
||||||
|
|
||||||
|
# focus the next/previous window in the current desktop
|
||||||
|
super + {_,shift + }c
|
||||||
|
bspc node -f {next,prev}.local.!hidden.window
|
||||||
|
|
||||||
|
# focus the next/previous desktop in the current monitor
|
||||||
|
super + bracket{left,right}
|
||||||
|
bspc desktop -f {prev,next}.local
|
||||||
|
|
||||||
|
# focus the last node/desktop
|
||||||
|
super + {grave,Tab}
|
||||||
|
bspc {node,desktop} -f last
|
||||||
|
|
||||||
|
# focus the older or newer node in the focus history
|
||||||
|
super + {o,i}
|
||||||
|
bspc wm -h off; \
|
||||||
|
bspc node {older,newer} -f; \
|
||||||
|
bspc wm -h on
|
||||||
|
|
||||||
|
# focus or send to the given desktop
|
||||||
|
super + {_,shift + }{1-9,0}
|
||||||
|
bspc {desktop -f,node -d} '^{1-9,10}'
|
||||||
|
|
||||||
|
#
|
||||||
|
# preselect
|
||||||
|
#
|
||||||
|
|
||||||
|
# preselect the direction
|
||||||
|
super + ctrl + {h,j,k,l}
|
||||||
|
bspc node -p {west,south,north,east}
|
||||||
|
|
||||||
|
# preselect the ratio
|
||||||
|
super + ctrl + {1-9}
|
||||||
|
bspc node -o 0.{1-9}
|
||||||
|
|
||||||
|
# cancel the preselection for the focused node
|
||||||
|
super + ctrl + space
|
||||||
|
bspc node -p cancel
|
||||||
|
|
||||||
|
# cancel the preselection for the focused desktop
|
||||||
|
super + ctrl + shift + space
|
||||||
|
bspc query -N -d | xargs -I id -n 1 bspc node id -p cancel
|
||||||
|
|
||||||
|
#
|
||||||
|
# move/resize
|
||||||
|
#
|
||||||
|
|
||||||
|
# expand a window by moving one of its side outward
|
||||||
|
super + alt + {h,j,k,l}
|
||||||
|
bspc node -z {left -20 0,bottom 0 20,top 0 -20,right 20 0}
|
||||||
|
|
||||||
|
# contract a window by moving one of its side inward
|
||||||
|
super + alt + shift + {h,j,k,l}
|
||||||
|
bspc node -z {right -20 0,top 0 20,bottom 0 -20,left 20 0}
|
||||||
|
|
||||||
|
# move a floating window
|
||||||
|
super + {Left,Down,Up,Right}
|
||||||
|
bspc node -v {-20 0,0 20,0 -20,20 0}
|
||||||
|
|
||||||
|
### Function Keys
|
||||||
|
|
||||||
|
XF86AudioMute
|
||||||
|
pactl set-sink-mute @DEFAULT_SINK@ toggle
|
||||||
|
|
||||||
|
XF86AudioLowerVolume
|
||||||
|
pactl set-sink-volume @DEFAULT_SINK@ -5%
|
||||||
|
|
||||||
|
XF86AudioRaiseVolume
|
||||||
|
pactl set-sink-volume @DEFAULT_SINK@ +5%
|
||||||
|
|
||||||
|
XF86AudioMicMute
|
||||||
|
pactl set-source-mute @DEFAULT_SOURCE@ toggle
|
||||||
|
|
||||||
|
XF86MonBrightnessDown
|
||||||
|
xbacklight -dec 2
|
||||||
|
|
||||||
|
XF86MonBrightnessUp
|
||||||
|
xbacklight -inc 2
|
||||||
|
|
||||||
|
XF86Display
|
||||||
|
mirror-outputs
|
||||||
|
|
||||||
|
XF86WLAN
|
||||||
|
toggle-wifi
|
||||||
|
|
||||||
|
XF86Tools
|
||||||
|
lxappearance
|
||||||
|
|
||||||
|
XF86Search
|
||||||
|
pamac-manager
|
||||||
|
|
||||||
|
XF86LaunchA
|
||||||
|
rofi -show window
|
||||||
|
|
||||||
|
XF86Explorer
|
||||||
|
thunar
|
6
dot_config/xsettingsd/xsettingsd.conf
Normal file
6
dot_config/xsettingsd/xsettingsd.conf
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
Net/IconThemeName "Papirus-Dark"
|
||||||
|
Net/ThemeName "vimix-dark-beryl"
|
||||||
|
Xft/Hinting 1
|
||||||
|
Xft/HintStyle "hintfull"
|
||||||
|
Xft/Antialias 1
|
||||||
|
Xft/RGBA "rgb"
|
0
dot_emacs.d/.keep
Normal file
0
dot_emacs.d/.keep
Normal file
763
dot_emacs.d/init.el
Normal file
763
dot_emacs.d/init.el
Normal file
|
@ -0,0 +1,763 @@
|
||||||
|
; Disable package.el early so it won't start loading packages before init is loaded
|
||||||
|
(setq package-enable-at-startup nil)
|
||||||
|
|
||||||
|
;; No thanks
|
||||||
|
(setq inhibit-startup-message t) ; Disable startup message
|
||||||
|
(scroll-bar-mode -1) ; Disable visible scrollbar
|
||||||
|
(tool-bar-mode -1) ; Disable the toolbar
|
||||||
|
(tooltip-mode -1) ; Disable tooltips
|
||||||
|
(set-fringe-mode 10) ; Add come extra space to the left/right sides
|
||||||
|
(menu-bar-mode -1) ; Disable the menu bar
|
||||||
|
(setq-default custom-file null-device) ; Write customizations not in this file to the null device (AKA stop littering in my init.el)
|
||||||
|
(setq confirm-kill-processes nil) ; Stop asking about running processes on exit
|
||||||
|
|
||||||
|
;; Visible bell
|
||||||
|
(setq visible-bell t)
|
||||||
|
|
||||||
|
; Font - Does nothing if mixed-pitch package is used
|
||||||
|
;(set-face-attribute 'default nil :font "ibm plex mono light" :height 100)
|
||||||
|
|
||||||
|
;; Make ESC quit prompts
|
||||||
|
(global-set-key (kbd "<escape>") 'keyboard-escape-quit)
|
||||||
|
|
||||||
|
;; paren/bracket pairs
|
||||||
|
(show-paren-mode t)
|
||||||
|
(setq-default show-paren-style 'parenthesis)
|
||||||
|
(electric-pair-mode 1)
|
||||||
|
|
||||||
|
;; Profile emacs startup
|
||||||
|
(add-hook 'emacs-startup-hook
|
||||||
|
(lambda ()
|
||||||
|
(message "*** Emacs loaded in %s with %d garbage collections."
|
||||||
|
(format "%.2f seconds"
|
||||||
|
(float-time
|
||||||
|
(time-subtract after-init-time before-init-time)))
|
||||||
|
gcs-done)))
|
||||||
|
|
||||||
|
;; Change the user-emacs-directory to keep ~/.emacs.d clean
|
||||||
|
(setq user-emacs-directory (expand-file-name "~/.cache/emacs/")
|
||||||
|
url-history-file (expand-file-name "url/history" user-emacs-directory))
|
||||||
|
|
||||||
|
;; No annoying Windows errors
|
||||||
|
(set-default-coding-systems 'utf-8)
|
||||||
|
|
||||||
|
;; Disable suspend-frame shortcut
|
||||||
|
(define-key global-map "\C-z" nil)
|
||||||
|
|
||||||
|
;; More reasonable keybinds for resizing windows
|
||||||
|
(global-set-key (kbd "S-C-<left>") 'shrink-window-horizontally)
|
||||||
|
(global-set-key (kbd "S-C-<right>") 'enlarge-window-horizontally)
|
||||||
|
(global-set-key (kbd "S-C-<down>") 'shrink-window)
|
||||||
|
(global-set-key (kbd "S-C-<up>") 'enlarge-window)
|
||||||
|
|
||||||
|
;; scrolling
|
||||||
|
(setq mouse-wheel-scroll-amount '(4 ((shift) . 1))) ; 1: lines to scroll, 2: while holding shift
|
||||||
|
(setq mouse-wheel-progressive-speed nil) ; acceleration
|
||||||
|
(setq mouse-wheel-follow-mouse 't) ; scroll window under cursor
|
||||||
|
(setq scroll-step 1) ; keyboard scrolling
|
||||||
|
|
||||||
|
;; Tabs
|
||||||
|
(setq-default indent-tabs-mode nil)
|
||||||
|
(setq-default tab-width 4)
|
||||||
|
(setq indent-line-function 'insert-tab)
|
||||||
|
|
||||||
|
;; Line numbers
|
||||||
|
(setq column-number-mode t)
|
||||||
|
(dolist (mode '(text-mode-hook
|
||||||
|
prog-mode-hook
|
||||||
|
conf-mode-hook))
|
||||||
|
(add-hook mode (lambda () (display-line-numbers-mode 1))))
|
||||||
|
|
||||||
|
;; Show vertical line at column 80 in prog-mode
|
||||||
|
(setq-default fill-column 80)
|
||||||
|
(add-hook 'prog-mode-hook #'display-fill-column-indicator-mode)
|
||||||
|
|
||||||
|
;; Install and load straight.el
|
||||||
|
(defvar bootstrap-version)
|
||||||
|
(let ((bootstrap-file
|
||||||
|
(expand-file-name "straight/repos/straight.el/bootstrap.el" user-emacs-directory))
|
||||||
|
(bootstrap-version 5))
|
||||||
|
(unless (file-exists-p bootstrap-file)
|
||||||
|
(with-current-buffer
|
||||||
|
(url-retrieve-synchronously
|
||||||
|
"https://raw.githubusercontent.com/radian-software/straight.el/develop/install.el"
|
||||||
|
'silent 'inhibit-cookies)
|
||||||
|
(goto-char (point-max))
|
||||||
|
(eval-print-last-sexp)))
|
||||||
|
(load bootstrap-file nil 'nomessage))
|
||||||
|
|
||||||
|
;;;;;;;;;;;;;; Not needed when using straight.el ;;;;;;;;;;;;;;
|
||||||
|
;; Initialize package sources
|
||||||
|
;(require 'package)
|
||||||
|
|
||||||
|
;(setq package-archives '(("melpa" . "https://melpa.org/packages/")
|
||||||
|
; ("org" . "https://orgmode.org/elpa/")
|
||||||
|
; ("elpa" . "https://elpa.gnu.org/packages/")))
|
||||||
|
|
||||||
|
;(package-initialize)
|
||||||
|
;(unless package-archive-contents
|
||||||
|
; (package-refresh-contents))
|
||||||
|
|
||||||
|
;; Initialize use-package on non-Linux platforms
|
||||||
|
;(unless (package-installed-p 'use-package)
|
||||||
|
; (package-install 'use-package))
|
||||||
|
|
||||||
|
;(require 'use-package)
|
||||||
|
;(setq use-package-always-ensure t)
|
||||||
|
;;;;;;;;;;;;;;
|
||||||
|
|
||||||
|
;; Install use-package
|
||||||
|
(straight-use-package 'use-package)
|
||||||
|
|
||||||
|
;; Make use-package use straight.el
|
||||||
|
(use-package straight
|
||||||
|
:custom (straight-use-package-by-default t))
|
||||||
|
|
||||||
|
;; Theme
|
||||||
|
|
||||||
|
(setq custom-safe-themes t)
|
||||||
|
|
||||||
|
;; (use-package everforest
|
||||||
|
;; :straight (:type git :repo "https://git.sr.ht/~theorytoe/everforest-theme"))
|
||||||
|
|
||||||
|
(add-to-list 'custom-theme-load-path "~/.cache/emacs/custom/everforest-theme")
|
||||||
|
(load-theme 'everforest-hard-dark t)
|
||||||
|
|
||||||
|
;; Help distinguish work buffers from others like sidebars and terminal
|
||||||
|
;; (use-package solaire-mode
|
||||||
|
;; :init
|
||||||
|
;; (solaire-global-mode t))
|
||||||
|
|
||||||
|
;; Icons
|
||||||
|
(use-package all-the-icons)
|
||||||
|
|
||||||
|
;; Modeline
|
||||||
|
|
||||||
|
(use-package minions
|
||||||
|
:hook (doom-modeline-mode . minions-mode)
|
||||||
|
(simple-modeline-mode . minions-mode))
|
||||||
|
|
||||||
|
(use-package doom-modeline
|
||||||
|
:init (doom-modeline-mode)
|
||||||
|
:custom
|
||||||
|
(doom-modeline-height 30)
|
||||||
|
(doom-modeline-bar-width .75)
|
||||||
|
(doom-modeline-window-width-limit fill-column)
|
||||||
|
(doom-modeline-lsp t)
|
||||||
|
(doom-modeline-minor-modes t)
|
||||||
|
(doom-modeline-persp-name nil)
|
||||||
|
(doom-modeline-buffer-file-name-style 'truncate-upto-project)
|
||||||
|
(doom-modeline-major-mode-icon t)
|
||||||
|
(doom-modeline-major-mode-color-icon t)
|
||||||
|
(doom-modeline-enable-word-count t)
|
||||||
|
(doom-modeline-env-version t)
|
||||||
|
(doom-modeline-env-load-string "..."))
|
||||||
|
|
||||||
|
;; Don't remind me about some minor modes
|
||||||
|
(use-package diminish)
|
||||||
|
|
||||||
|
;; Automatically set paths to the new user-emacs-directory
|
||||||
|
(use-package no-littering)
|
||||||
|
|
||||||
|
;; Automatically clean whitespace
|
||||||
|
(use-package ws-butler
|
||||||
|
:hook ((text-mode . ws-butler-mode)
|
||||||
|
(prog-mode . ws-butler-mode)))
|
||||||
|
|
||||||
|
;; Overview of keybindings available based on prefix keys
|
||||||
|
(use-package which-key
|
||||||
|
:init (which-key-mode)
|
||||||
|
:config
|
||||||
|
(setq which-key-idle-delay 0.3))
|
||||||
|
|
||||||
|
;; Save history over restarts
|
||||||
|
(use-package savehist
|
||||||
|
:init
|
||||||
|
(savehist-mode))
|
||||||
|
|
||||||
|
;; Completion with vertico/consult
|
||||||
|
|
||||||
|
(use-package vertico
|
||||||
|
:init
|
||||||
|
(vertico-mode)
|
||||||
|
|
||||||
|
;; Different scroll margin
|
||||||
|
;; (set vertico-scroll-margin 0)
|
||||||
|
|
||||||
|
;; Show more candidates
|
||||||
|
;; (setq vertico-count 20)
|
||||||
|
|
||||||
|
;; Grow and shrink the Vertico minibuffer
|
||||||
|
;; (setq vertico-resize t)
|
||||||
|
|
||||||
|
;; Optionally enable cycling for `vertico-next' and `vertico-previous'.
|
||||||
|
;; (setq vertico-cycle t)
|
||||||
|
)
|
||||||
|
|
||||||
|
(use-package emacs
|
||||||
|
:init
|
||||||
|
;; Add prompt indicator to `completing-read-multiple'.
|
||||||
|
(defun crm-indicator (args)
|
||||||
|
(cons (format "[CRM%s] %s"
|
||||||
|
(replace-regexp-in-string
|
||||||
|
"\\`\\[.*?]\\*\\|\\[.*?]\\*\\'" ""
|
||||||
|
crm-separator)
|
||||||
|
(car args))
|
||||||
|
(cdr args)))
|
||||||
|
(advice-add #'completing-read-multiple :filter-args #'crm-indicator)
|
||||||
|
;; Do not allow the cursor in the minibuffer prompt
|
||||||
|
(setq minibuffer-prompt-properties
|
||||||
|
'(read-only t cursor-intangible t face minibuffer-prompt))
|
||||||
|
(add-hook 'minibuffer-setup-hook #'cursor-intangible-mode)
|
||||||
|
;; Emacs 28: Hide commands in M-x which do not work in the current mode.
|
||||||
|
;; Vertico commands are hidden in normal buffers.
|
||||||
|
(setq read-extended-command-predicate
|
||||||
|
#'command-completion-default-include-p)
|
||||||
|
(setq enable-recursive-minibuffers t))
|
||||||
|
|
||||||
|
(use-package consult
|
||||||
|
:bind (;; C-c bindings (mode-specific-map)
|
||||||
|
("C-c h" . consult-history)
|
||||||
|
("C-c m" . consult-mode-command)
|
||||||
|
("C-c k" . consult-kmacro)
|
||||||
|
;; C-x bindings (ctl-x-map)
|
||||||
|
("C-x M-:" . consult-complex-command) ;; orig. repeat-complex-command
|
||||||
|
("C-x b" . consult-buffer) ;; orig. switch-to-buffer
|
||||||
|
("C-x 4 b" . consult-buffer-other-window) ;; orig. switch-to-buffer-other-window
|
||||||
|
("C-x 5 b" . consult-buffer-other-frame) ;; orig. switch-to-buffer-other-frame
|
||||||
|
("C-x r b" . consult-bookmark) ;; orig. bookmark-jump
|
||||||
|
("C-x p b" . consult-project-buffer) ;; orig. project-switch-to-buffer
|
||||||
|
;; Custom M-# bindings for fast register access
|
||||||
|
("M-#" . consult-register-load)
|
||||||
|
("M-'" . consult-register-store) ;; orig. abbrev-prefix-mark (unrelated)
|
||||||
|
("C-M-#" . consult-register)
|
||||||
|
;; Other custom bindings
|
||||||
|
("M-y" . consult-yank-pop) ;; orig. yank-pop
|
||||||
|
("<help> a" . consult-apropos) ;; orig. apropos-command
|
||||||
|
;; M-g bindings (goto-map)
|
||||||
|
("M-g e" . consult-compile-error)
|
||||||
|
;; ("M-g f" . consult-flymake) ;; Alternative: consult-flycheck
|
||||||
|
("M-g f" . consult-flycheck)
|
||||||
|
("M-g g" . consult-goto-line) ;; orig. goto-line
|
||||||
|
("M-g M-g" . consult-goto-line) ;; orig. goto-line
|
||||||
|
("M-g o" . consult-outline) ;; Alternative: consult-org-heading
|
||||||
|
("M-g m" . consult-mark)
|
||||||
|
("M-g k" . consult-global-mark)
|
||||||
|
("M-g i" . consult-imenu)
|
||||||
|
("M-g I" . consult-imenu-multi)
|
||||||
|
;; M-s bindings (search-map)
|
||||||
|
("M-s d" . consult-find)
|
||||||
|
("M-s D" . consult-locate)
|
||||||
|
("M-s g" . consult-grep)
|
||||||
|
("M-s G" . consult-git-grep)
|
||||||
|
("M-s r" . consult-ripgrep)
|
||||||
|
("M-s l" . consult-line)
|
||||||
|
("M-s L" . consult-line-multi)
|
||||||
|
("M-s m" . consult-multi-occur)
|
||||||
|
("M-s k" . consult-keep-lines)
|
||||||
|
("M-s u" . consult-focus-lines)
|
||||||
|
;; Isearch integration
|
||||||
|
("M-s e" . consult-isearch-history)
|
||||||
|
:map isearch-mode-map
|
||||||
|
("M-e" . consult-isearch-history) ;; orig. isearch-edit-string
|
||||||
|
("M-s e" . consult-isearch-history) ;; orig. isearch-edit-string
|
||||||
|
("M-s l" . consult-line) ;; needed by consult-line to detect isearch
|
||||||
|
("M-s L" . consult-line-multi) ;; needed by consult-line to detect isearch
|
||||||
|
;; Minibuffer history
|
||||||
|
:map minibuffer-local-map
|
||||||
|
("M-s" . consult-history) ;; orig. next-matching-history-element
|
||||||
|
("M-r" . consult-history)) ;; orig. previous-matching-history-element
|
||||||
|
|
||||||
|
;; Enable automatic preview at point in the *Completions* buffer. This is
|
||||||
|
;; relevant when you use the default completion UI.
|
||||||
|
:hook (completion-list-mode . consult-preview-at-point-mode)
|
||||||
|
|
||||||
|
;; The :init configuration is always executed (Not lazy)
|
||||||
|
:init
|
||||||
|
|
||||||
|
;; Optionally configure the register formatting. This improves the register
|
||||||
|
;; preview for `consult-register', `consult-register-load',
|
||||||
|
;; `consult-register-store' and the Emacs built-ins.
|
||||||
|
(setq register-preview-delay 0.5
|
||||||
|
register-preview-function #'consult-register-format)
|
||||||
|
|
||||||
|
;; Optionally tweak the register preview window.
|
||||||
|
;; This adds thin lines, sorting and hides the mode line of the window.
|
||||||
|
(advice-add #'register-preview :override #'consult-register-window)
|
||||||
|
|
||||||
|
;; Use Consult to select xref locations with preview
|
||||||
|
(setq xref-show-xrefs-function #'consult-xref
|
||||||
|
xref-show-definitions-function #'consult-xref)
|
||||||
|
|
||||||
|
;; Configure other variables and modes in the :config section,
|
||||||
|
;; after lazily loading the package.
|
||||||
|
:config
|
||||||
|
|
||||||
|
;; Optionally configure preview. The default value
|
||||||
|
;; is 'any, such that any key triggers the preview.
|
||||||
|
;; (setq consult-preview-key 'any)
|
||||||
|
(setq consult-preview-key (kbd "M-."))
|
||||||
|
;; (setq consult-preview-key (list (kbd "<S-down>") (kbd "<S-up>")))
|
||||||
|
;; For some commands and buffer sources it is useful to configure the
|
||||||
|
;; :preview-key on a per-command basis using the `consult-customize' macro.
|
||||||
|
(consult-customize
|
||||||
|
consult-theme :preview-key '(:debounce 0.2 any)
|
||||||
|
consult-ripgrep consult-git-grep consult-grep
|
||||||
|
consult-bookmark consult-recent-file consult-xref
|
||||||
|
consult--source-bookmark consult--source-file-register
|
||||||
|
consult--source-recent-file consult--source-project-recent-file
|
||||||
|
;; :preview-key (kbd "M-.")
|
||||||
|
:preview-key '(:debounce 0.4 any))
|
||||||
|
|
||||||
|
;; Optionally configure the narrowing key.
|
||||||
|
;; Both < and C-+ work reasonably well.
|
||||||
|
(setq consult-narrow-key "<") ;; (kbd "C-+")
|
||||||
|
|
||||||
|
;; Optionally make narrowing help available in the minibuffer.
|
||||||
|
;; You may want to use `embark-prefix-help-command' or which-key instead.
|
||||||
|
;; (define-key consult-narrow-map (vconcat consult-narrow-key "?") #'consult-narrow-help)
|
||||||
|
|
||||||
|
;; By default `consult-project-function' uses `project-root' from project.el.
|
||||||
|
;; Optionally configure a different project root function.
|
||||||
|
;; There are multiple reasonable alternatives to chose from.
|
||||||
|
;;;; 1. project.el (the default)
|
||||||
|
;; (setq consult-project-function #'consult--default-project--function)
|
||||||
|
;;;; 2. projectile.el (projectile-project-root)
|
||||||
|
;; (autoload 'projectile-project-root "projectile")
|
||||||
|
;; (setq consult-project-function (lambda (_) (projectile-project-root)))
|
||||||
|
;;;; 3. vc.el (vc-root-dir)
|
||||||
|
;; (setq consult-project-function (lambda (_) (vc-root-dir)))
|
||||||
|
;;;; 4. locate-dominating-file
|
||||||
|
;; (setq consult-project-function (lambda (_) (locate-dominating-file "." ".git")))
|
||||||
|
)
|
||||||
|
|
||||||
|
(use-package consult-flycheck)
|
||||||
|
|
||||||
|
(use-package consult-git-log-grep
|
||||||
|
:custom
|
||||||
|
(consult-git-log-grep-open-function #'magit-show-commit))
|
||||||
|
|
||||||
|
(use-package consult-company
|
||||||
|
:bind
|
||||||
|
(:map company-mode-map
|
||||||
|
([remap completion-at-point] . consult-company)))
|
||||||
|
|
||||||
|
(use-package consult-lsp
|
||||||
|
:bind
|
||||||
|
(:map lsp-mode-map
|
||||||
|
([remap xref-find-apropos] . consult-lsp-symbols)))
|
||||||
|
|
||||||
|
;; (use-package consult-projectile)
|
||||||
|
|
||||||
|
(use-package consult-yasnippet)
|
||||||
|
|
||||||
|
;; Alternate completion style
|
||||||
|
|
||||||
|
(use-package orderless
|
||||||
|
:init
|
||||||
|
;; Configure a custom style dispatcher (see the Consult wiki)
|
||||||
|
;; (setq orderless-style-dispatchers '(+orderless-dispatch)
|
||||||
|
;; orderless-component-separator #'orderless-escapable-split-on-space)
|
||||||
|
(setq completion-styles '(orderless basic)
|
||||||
|
completion-category-defaults nil
|
||||||
|
completion-category-overrides '((file (styles partial-completion)))))
|
||||||
|
|
||||||
|
;; Contextual actions
|
||||||
|
|
||||||
|
(use-package marginalia
|
||||||
|
:config
|
||||||
|
(marginalia-mode))
|
||||||
|
|
||||||
|
(use-package embark
|
||||||
|
:bind
|
||||||
|
(("C-." . embark-act) ;; pick some comfortable binding
|
||||||
|
("C-;" . embark-dwim) ;; good alternative: M-.
|
||||||
|
("C-h B" . embark-bindings)) ;; alternative for `describe-bindings'
|
||||||
|
:init
|
||||||
|
;; Optionally replace the key help with a completing-read interface
|
||||||
|
(setq prefix-help-command #'embark-prefix-help-command)
|
||||||
|
:config
|
||||||
|
;; Hide the mode line of the Embark live/completions buffers
|
||||||
|
(add-to-list 'display-buffer-alist
|
||||||
|
'("\\`\\*Embark Collect \\(Live\\|Completions\\)\\*"
|
||||||
|
nil
|
||||||
|
(window-parameters (mode-line-format . none)))))
|
||||||
|
|
||||||
|
(use-package embark-consult
|
||||||
|
:hook
|
||||||
|
(embark-collect-mode . consult-preview-at-point-mode))
|
||||||
|
|
||||||
|
;; Org-mode
|
||||||
|
|
||||||
|
; No line numbers in org-mode
|
||||||
|
(dolist (mode '(org-mode-hook))
|
||||||
|
(add-hook mode (lambda () (display-line-numbers-mode 0))))
|
||||||
|
|
||||||
|
(setq org-startup-indented t ; Indentation
|
||||||
|
org-pretty-entities t ; Rich text/Special chars
|
||||||
|
org-hide-emphasis-markers t ; Hide markup - see org-appear
|
||||||
|
org-startup-with-inline-images t ; Image previews
|
||||||
|
org-image-actual-width '(300))
|
||||||
|
|
||||||
|
(use-package org-appear
|
||||||
|
:hook (org-mode . org-appear-mode))
|
||||||
|
|
||||||
|
(use-package mixed-pitch
|
||||||
|
:hook
|
||||||
|
(text-mode . mixed-pitch-mode)
|
||||||
|
:config
|
||||||
|
(set-face-attribute 'default nil :font "IBM Plex Mono Light" :height 105)
|
||||||
|
(set-face-attribute 'fixed-pitch nil :font "IBM Plex Mono Light")
|
||||||
|
(set-face-attribute 'variable-pitch nil :font "DejaVu Sans"))
|
||||||
|
;(add-hook 'mixed-pitch-mode-hook #'solaire-mode-reset)
|
||||||
|
|
||||||
|
(use-package org-superstar
|
||||||
|
:hook
|
||||||
|
(org-mode . org-superstar-mode)
|
||||||
|
:config
|
||||||
|
(setq org-superstar-special-todo-items t))
|
||||||
|
|
||||||
|
;; LSP
|
||||||
|
|
||||||
|
(use-package lsp-mode
|
||||||
|
:init
|
||||||
|
(setq lsp-keymap-prefix "C-c l")
|
||||||
|
:commands (lsp lsp-deferred)
|
||||||
|
:hook
|
||||||
|
((c-mode . lsp)
|
||||||
|
(c++-mode . lsp)
|
||||||
|
(go-mode . lsp)
|
||||||
|
(java-mode . lsp)
|
||||||
|
(js-mode . lsp)
|
||||||
|
(latex-mode . lsp)
|
||||||
|
(python-mode . lsp)
|
||||||
|
(rust-mode . lsp)
|
||||||
|
(tex-mode . lsp)
|
||||||
|
(typescript-mode . lsp)
|
||||||
|
(web-mode . lsp)
|
||||||
|
(zig-mode . lsp)
|
||||||
|
(lsp-mode . lsp-enable-which-key-integration))
|
||||||
|
:custom
|
||||||
|
(lsp-eldoc-render-all t)
|
||||||
|
(lsp-idle-delay 0.6)
|
||||||
|
;; (lsp-rust-analyzer-cargo-watch-command "clippy")
|
||||||
|
;; (lsp-rust-analyzer-server-display-inlay-hints t)
|
||||||
|
;; (lsp-rust-analyzer-display-lifetime-elision-hints-enable "skip_trivial")
|
||||||
|
;; (lsp-rust-analyzer-display-chaining-hints t)
|
||||||
|
;; (lsp-rust-analyzer-display-lifetime-elision-hints-use-parameter-names nil)
|
||||||
|
;; (lsp-rust-analyzer-display-closure-return-type-hints t)
|
||||||
|
;; (lsp-rust-analyzer-display-parameter-hints nil)
|
||||||
|
;; (lsp-rust-analyzer-display-reborrow-hints nil)
|
||||||
|
:config
|
||||||
|
(setq lsp-prefer-flymake nil)) ; prefer lsp-ui (flycheck) to flymake
|
||||||
|
; (setq lsp-disabled-clients '(clangd))) ; prefer ccls to clangd
|
||||||
|
; :bind
|
||||||
|
; (:map lsp-mode-map
|
||||||
|
; ("TAB" . completion-at-point)))
|
||||||
|
|
||||||
|
(use-package lsp-ui
|
||||||
|
:requires lsp-mode flycheck
|
||||||
|
:hook (lsp-mode . lsp-ui-mode)
|
||||||
|
:commands lsp-ui-mode
|
||||||
|
:config
|
||||||
|
(setq lsp-ui-doc-enable t)
|
||||||
|
(setq lsp-ui-doc-use-childframe t)
|
||||||
|
(setq lsp-ui-doc-position 'bottom-and-right)
|
||||||
|
(setq lsp-ui-doc-include-signature t)
|
||||||
|
(setq lsp-ui-sideline-enable t)
|
||||||
|
(setq lsp-ui-sideline-show-hover t)
|
||||||
|
(setq lsp-ui-flycheck-enable t)
|
||||||
|
(setq lsp-ui-flycheck-list-position 'right)
|
||||||
|
(setq lsp-ui-flycheck-live-reporting t)
|
||||||
|
(setq lsp-ui-peek-enable t)
|
||||||
|
(setq lsp-ui-peek-list-width 60)
|
||||||
|
(setq lsp-ui-peek-peek-height 25)
|
||||||
|
(lsp-ui-doc-show))
|
||||||
|
|
||||||
|
|
||||||
|
;; Text completion
|
||||||
|
|
||||||
|
(use-package company
|
||||||
|
:config
|
||||||
|
(global-company-mode 1)
|
||||||
|
(setq company-global-modes '(not gud-mode))
|
||||||
|
:custom
|
||||||
|
(company-idle-delay 0)
|
||||||
|
(company-minimum-prefix-length 1)
|
||||||
|
(company-tooltip-align-annotations t)
|
||||||
|
:bind
|
||||||
|
(:map company-active-map
|
||||||
|
("RET" . nil)
|
||||||
|
("[return]" . nil)
|
||||||
|
("TAB" . company-complete-selection)
|
||||||
|
("<tab>" . company-complete-selection)
|
||||||
|
("C-n" . company-select-next)
|
||||||
|
("C-p" . company-select-previous)))
|
||||||
|
|
||||||
|
;; Debugging
|
||||||
|
|
||||||
|
(use-package dap-mode
|
||||||
|
:after lsp-mode
|
||||||
|
:commands dap-debug
|
||||||
|
:config
|
||||||
|
(dap-ui-mode 1)
|
||||||
|
(dap-tooltip-mode 1)
|
||||||
|
(eval-when-compile
|
||||||
|
(require 'cl-lib))
|
||||||
|
(require 'dap-python)
|
||||||
|
;(require 'dap-node)
|
||||||
|
(require 'dap-lldb)
|
||||||
|
(require 'dap-gdb-lldb)
|
||||||
|
(dap-gdb-lldb-setup)
|
||||||
|
(dap-register-debug-template
|
||||||
|
"Rust :: LLDB Run Configuration"
|
||||||
|
(list :type "lldb"
|
||||||
|
:request "launch"
|
||||||
|
:name "LLDB::Run"
|
||||||
|
:gdbpath "rust-lldb"))
|
||||||
|
:bind
|
||||||
|
(:map dap-mode-map
|
||||||
|
("<f5>" . dap-debug)
|
||||||
|
("<f10>" . dap-next)
|
||||||
|
("<f11>" . dap-step-in)
|
||||||
|
("S-<f5>" . dap-disconnect)
|
||||||
|
("C-S-<f5>" . dap-debug-restart)))
|
||||||
|
|
||||||
|
(use-package realgud)
|
||||||
|
|
||||||
|
(use-package realgud-lldb)
|
||||||
|
|
||||||
|
;; Treemacs
|
||||||
|
(use-package treemacs
|
||||||
|
:bind
|
||||||
|
(:map global-map
|
||||||
|
("M-0" . treemacs-select-window)
|
||||||
|
("C-x t 1" . treemacs-delete-other-windows)
|
||||||
|
("C-x t t" . treemacs)
|
||||||
|
("C-x t B" . treemacs-bookmark)
|
||||||
|
("C-x t C-t" . treemacs-find-file)
|
||||||
|
("C-x t M-t" . treemacs-find-tag)))
|
||||||
|
|
||||||
|
(use-package lsp-treemacs
|
||||||
|
:config
|
||||||
|
(lsp-treemacs-sync-mode 1))
|
||||||
|
|
||||||
|
;; Syntax checking
|
||||||
|
(use-package flycheck
|
||||||
|
:hook (lsp-mode . flycheck-mode)
|
||||||
|
:config
|
||||||
|
(setq flycheck-python-flake8-executable "flake8"))
|
||||||
|
|
||||||
|
;; Git
|
||||||
|
(use-package magit
|
||||||
|
:bind ("C-M-;" . magit-status)
|
||||||
|
:commands (magit-status magit-get-current-branch)
|
||||||
|
:custom
|
||||||
|
(magit-display-buffer-function #'magit-display-buffer-same-window-except-diff-v1))
|
||||||
|
|
||||||
|
;;; Languages/Tools
|
||||||
|
|
||||||
|
;; Highlighting/Formatting
|
||||||
|
|
||||||
|
(use-package apheleia
|
||||||
|
:init
|
||||||
|
(apheleia-global-mode +1))
|
||||||
|
|
||||||
|
(use-package tree-sitter
|
||||||
|
:config
|
||||||
|
(global-tree-sitter-mode)
|
||||||
|
(add-hook 'tree-sitter-after-on-hook #'tree-sitter-hl-mode))
|
||||||
|
|
||||||
|
(use-package tree-sitter-langs
|
||||||
|
:after tree-sitter)
|
||||||
|
|
||||||
|
;; C/C++
|
||||||
|
|
||||||
|
(setq dap-lldb-debug-program '("/usr/bin/lldb-vscode"))
|
||||||
|
(setq-default c-default-style "k&r")
|
||||||
|
(setq-default c-basic-offset 2)
|
||||||
|
|
||||||
|
;; (use-package ccls
|
||||||
|
;; :hook ((c-mode c++-mode objc-mode cuda-mode) .
|
||||||
|
;; (lambda () (require 'ccls) (lsp))))
|
||||||
|
|
||||||
|
;(use-package modern-cpp-font-lock
|
||||||
|
; :config
|
||||||
|
; (modern-c++-font-lock-global-mode))
|
||||||
|
|
||||||
|
;; Golang
|
||||||
|
|
||||||
|
;; (use-package go-mode
|
||||||
|
;; :config
|
||||||
|
;; (add-hook 'before-save-hook #'lsp-organize-imports))
|
||||||
|
|
||||||
|
;; Java
|
||||||
|
|
||||||
|
;(use-package lsp-java)
|
||||||
|
|
||||||
|
;; JavaScript/TypeScript, HTML, CSS
|
||||||
|
|
||||||
|
(setq css-indent-level 2)
|
||||||
|
(setq css-indent-offset 2)
|
||||||
|
(setq js-indent-level 2)
|
||||||
|
|
||||||
|
(add-to-list 'auto-mode-alist '("\\.mjs\\'" . js-mode))
|
||||||
|
|
||||||
|
(use-package js2-mode
|
||||||
|
:config
|
||||||
|
(add-to-list 'interpreter-mode-alist '("#!/usr/bin/env node" . js2-mode))
|
||||||
|
;(setq js2-strict-missing-semi-warning t)
|
||||||
|
(setq js2-mode-show-strict-warnings t)
|
||||||
|
:hook (js-mode . js2-minor-mode))
|
||||||
|
|
||||||
|
(use-package typescript-mode
|
||||||
|
:config
|
||||||
|
(setq typescript-indent-level 2)
|
||||||
|
:mode ("\\.ts\\'" . typescript-mode)
|
||||||
|
("\\.tsx\\'" . typescript-mode))
|
||||||
|
|
||||||
|
;; (use-package restclient
|
||||||
|
;; :init
|
||||||
|
;; (use-package company-restclient)
|
||||||
|
;; :mode ("\\.http\\'" . restclient-mode))
|
||||||
|
|
||||||
|
(use-package rainbow-mode
|
||||||
|
:hook
|
||||||
|
((js-mode . rainbow-mode)
|
||||||
|
(typescript-mode . rainbow-mode)
|
||||||
|
(web-mode . rainbow-mode)))
|
||||||
|
|
||||||
|
;; (use-package skewer-mode
|
||||||
|
;; :init
|
||||||
|
;; (setq httpd-port 8080)
|
||||||
|
;; :hook
|
||||||
|
;; (('js-mode-hook 'skewer-mode)
|
||||||
|
;; ('css-mode-hook 'skewer-css-mode)
|
||||||
|
;; ('html-mode-hook 'skewer-html-mode)))
|
||||||
|
|
||||||
|
;; (use-package skewer-reload-stylesheets
|
||||||
|
;; :hook
|
||||||
|
;; (('css-mode-hook 'skewer-reload-stylesheets-start-editing)
|
||||||
|
;; ('scss-mode-hook 'skewer-reload-stylesheets-start-editing)))
|
||||||
|
|
||||||
|
;; (use-package simple-httpd)
|
||||||
|
|
||||||
|
(use-package web-mode
|
||||||
|
:config
|
||||||
|
(setq web-mode-code-indent-offset 2)
|
||||||
|
(setq web-mode-markup-indent-offset 2)
|
||||||
|
(setq web-mode-attribute-indent-offset 2)
|
||||||
|
:mode
|
||||||
|
(("\\.phtml\\'" . web-mode)
|
||||||
|
("\\.tpl\\.php\\'" . web-mode)
|
||||||
|
("\\.jsp\\'" . web-mode)
|
||||||
|
("\\.as[cp]x\\'" . web-mode)
|
||||||
|
("\\.erb\\'" . web-mode)
|
||||||
|
("\\.mustache\\'" . web-mode)
|
||||||
|
("\\.djhtml\\'" . web-mode)
|
||||||
|
("\\.jst.ejs\\'" . web-mode)
|
||||||
|
("\\.html?\\'" . web-mode)))
|
||||||
|
|
||||||
|
(use-package jsdoc
|
||||||
|
:straight (jsdoc :type git :host github :repo "isamert/jsdoc.el")
|
||||||
|
:bind ("C-c C-n" . jsdoc))
|
||||||
|
|
||||||
|
;; LaTeX
|
||||||
|
|
||||||
|
;; (use-package lsp-latex)
|
||||||
|
|
||||||
|
;; (setq lsp-tex-server 'digestif)
|
||||||
|
|
||||||
|
|
||||||
|
;; Protocol Buffers
|
||||||
|
|
||||||
|
;; (use-package protobuf-mode)
|
||||||
|
|
||||||
|
;; Python
|
||||||
|
|
||||||
|
(setq dap-python-debugger 'debugpy)
|
||||||
|
|
||||||
|
(use-package lsp-pyright
|
||||||
|
:hook (python-mode . (lambda ()
|
||||||
|
(require 'lsp-pyright)
|
||||||
|
(lsp)))) ; or lsp-deferred
|
||||||
|
|
||||||
|
(use-package numpydoc
|
||||||
|
:after python
|
||||||
|
:bind (:map python-mode-map
|
||||||
|
("C-c C-n" . numpydoc-generate))
|
||||||
|
:config
|
||||||
|
(setq numpydoc-insert-examples-block nil))
|
||||||
|
|
||||||
|
(use-package conda
|
||||||
|
:init
|
||||||
|
(setq conda-anaconda-home (expand-file-name "/opt/miniconda3"))
|
||||||
|
(setq conda-env-home-directory (expand-file-name "~/.conda/envs"))
|
||||||
|
(conda-env-initialize-interactive-shells)
|
||||||
|
;(conda-env-autoactivate-mode)
|
||||||
|
:hook
|
||||||
|
('find-file-hook . (lambda ()
|
||||||
|
(when (bound-and-true-p conda-project-env-path)
|
||||||
|
(conda-env-activate-for-buffer)))))
|
||||||
|
|
||||||
|
;; Rust
|
||||||
|
|
||||||
|
(use-package rustic
|
||||||
|
:ensure
|
||||||
|
:bind (:map rustic-mode-map
|
||||||
|
("M-j" . lsp-ui-imenu)
|
||||||
|
("M-?" . lsp-find-references)
|
||||||
|
("C-c C-c l" . flycheck-list-errors)
|
||||||
|
("C-c C-c a" . lsp-execute-code-action)
|
||||||
|
("C-c C-c r" . lsp-rename)
|
||||||
|
("C-c C-c q" . lsp-workspace-restart)
|
||||||
|
("C-c C-c Q" . lsp-workspace-shutdown)
|
||||||
|
("C-c C-c s" . lsp-rust-analyzer-status)
|
||||||
|
("C-c C-c e" . lsp-rust-analyzer-expand-macro)
|
||||||
|
("C-c C-c d" . dap-hydra)
|
||||||
|
("C-c C-c h" . lsp-ui-doc-glance)))
|
||||||
|
:config
|
||||||
|
;; uncomment for less flashiness
|
||||||
|
;; (setq lsp-eldoc-hook nil)
|
||||||
|
;; (setq lsp-enable-symbol-highlighting nil)
|
||||||
|
;; (setq lsp-signature-auto-activate nil)
|
||||||
|
|
||||||
|
;; comment to disable rustfmt on save
|
||||||
|
;; (add-hook 'rustic-mode-hook 'rk/rustic-mode-hook))
|
||||||
|
|
||||||
|
;; (defun rk/rustic-mode-hook ()
|
||||||
|
;; ;; so that run C-c C-c C-r works without having to confirm, but don't try to
|
||||||
|
;; ;; save rust buffers that are not file visiting. Once
|
||||||
|
;; ;; https://github.com/brotzeit/rustic/issues/253 has been resolved this should
|
||||||
|
;; ;; no longer be necessary.
|
||||||
|
;; (when buffer-file-name
|
||||||
|
;; (setq-local buffer-save-without-query t))
|
||||||
|
;; (add-hook 'before-save-hook 'lsp-format-buffer nil t))
|
||||||
|
|
||||||
|
;; TOML config files
|
||||||
|
|
||||||
|
(use-package toml-mode)
|
||||||
|
|
||||||
|
;; Zig
|
||||||
|
|
||||||
|
;(use-package zig-mode
|
||||||
|
; :custom (zig-format-on-save nil)
|
||||||
|
; :config
|
||||||
|
; (add-to-list 'lsp-language-id-configuration '(zig-mode . "zig"))
|
||||||
|
; (make-lsp-client
|
||||||
|
; :new-connection (lsp-stdio-connection "/usr/bin/zls")
|
||||||
|
; :major-modes '(zig-mode)
|
||||||
|
; :server-id 'zls))
|
||||||
|
|
||||||
|
;; Templating
|
||||||
|
(use-package yasnippet
|
||||||
|
:bind
|
||||||
|
("C-c y s" . yas-insert-snippet)
|
||||||
|
("C-c y v" . yas-visit-snippet-file)
|
||||||
|
:config
|
||||||
|
(add-to-list 'yas-snippet-dirs "~/.emacs.d/snippets")
|
||||||
|
(yas-reload-all)
|
||||||
|
(yas-global-mode))
|
||||||
|
|
||||||
|
(use-package yasnippet-snippets)
|
||||||
|
;;; End init.el
|
11
dot_gitconfig
Normal file
11
dot_gitconfig
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
[user]
|
||||||
|
name = Andrew Scott
|
||||||
|
email = git@andyscott.me
|
||||||
|
signingKey = 7CD5A5977E4931C1
|
||||||
|
[init]
|
||||||
|
defaultBranch = main
|
||||||
|
[commit]
|
||||||
|
pgpsign = true
|
||||||
|
gpgsign = true
|
||||||
|
[pull]
|
||||||
|
rebase = false
|
3
dot_local/bin/executable_killall-redshift
Normal file
3
dot_local/bin/executable_killall-redshift
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
killall -q redshift
|
6
dot_local/bin/executable_mirror-outputs
Normal file
6
dot_local/bin/executable_mirror-outputs
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
#!/bin/bash
|
||||||
|
## Simple script to mirror all connected displays for presentations
|
||||||
|
|
||||||
|
RESOLUTION=3840x2160
|
||||||
|
|
||||||
|
xrandr --listmonitors | sed -n '1!p' | sed -e 's/\s[0-9].*\s\([a-zA-Z0-9\-]*\)$/\1/g' | xargs -n 1 -- bash -xc 'xrandr --output $0 --mode '$RESOLUTION' --pos 0x0 --rotate normal'
|
13
dot_local/bin/executable_single-polybar-launcher
Normal file
13
dot_local/bin/executable_single-polybar-launcher
Normal file
|
@ -0,0 +1,13 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# Terminate already running bar instances
|
||||||
|
killall -q polybar
|
||||||
|
|
||||||
|
# Wait until the processes have been shut down
|
||||||
|
while pgrep -u $UID -x polybar >/dev/null; do sleep 1; done
|
||||||
|
|
||||||
|
# Launch Polybar, using default config location ~/.config/polybar/config
|
||||||
|
polybar one -r --config=~/.config/polybar/config.ini &
|
||||||
|
#polybar two -r --config=~/.config/polybar/config.ini &
|
||||||
|
|
||||||
|
echo "Polybar launched..."
|
18
dot_local/bin/executable_tint2-launcher
Normal file
18
dot_local/bin/executable_tint2-launcher
Normal file
|
@ -0,0 +1,18 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# Terminate already running bar instances
|
||||||
|
killall -q tint2
|
||||||
|
|
||||||
|
# Wait until the processes have been shut down
|
||||||
|
while pgrep -u $UID -x tint2 >/dev/null; do sleep 1; done
|
||||||
|
|
||||||
|
# Launch tint2
|
||||||
|
tint2 & disown
|
||||||
|
|
||||||
|
# Final command won't work without sleep
|
||||||
|
sleep 1 &&
|
||||||
|
|
||||||
|
# Keep tint2 below other windows in fullscreen
|
||||||
|
if pgrep -x "tint2" > /dev/null ; then
|
||||||
|
xdo above -t "$(xdo id -N Bspwm -n root | sort | head -n 1)" $(xdo id -n tint2)
|
||||||
|
fi
|
9
dot_local/bin/executable_toggle-wifi
Normal file
9
dot_local/bin/executable_toggle-wifi
Normal file
|
@ -0,0 +1,9 @@
|
||||||
|
#!/bin/sh
|
||||||
|
## A simple script to turn wifi on/off
|
||||||
|
|
||||||
|
if [ $(nmcli radio wifi | awk '/led/ {print}') = 'enabled' ] ; then
|
||||||
|
nmcli radio wifi off
|
||||||
|
else
|
||||||
|
nmcli radio wifi on
|
||||||
|
fi
|
||||||
|
|
16
dot_profile
Normal file
16
dot_profile
Normal file
|
@ -0,0 +1,16 @@
|
||||||
|
# make Java behave when not using a DE
|
||||||
|
export _JAVA_AWT_WM_NONREPARENTING=1
|
||||||
|
# move $GOPATH to .local
|
||||||
|
export GOPATH="$HOME/.local/opt/go"
|
||||||
|
export PATH="$HOME/.local/opt/go/bin:$PATH"
|
||||||
|
# add .local/bin to $PATH
|
||||||
|
export PATH="$HOME/.local/bin:$PATH"
|
||||||
|
# make GTK apps scale correctly on hidpi
|
||||||
|
export GDK_SCALE=2 GDK_DPI_SCALE=0.50 thunar
|
||||||
|
export GDK_SCALE=2 GDK_DPI_SCALE="0.50 Simple-scan"
|
||||||
|
export GDK_SCALE=2 GDK_DPI_SCALE=0.50 lutris
|
||||||
|
export GDK_SCALE=2 GDK_DPI_SCALE=0.50 spotify
|
||||||
|
export GDK_SCALE=2 GDK_DPI_SCALE=0.50 pinta
|
||||||
|
export GDK_SCALE=2 GDK_DPI_SCALE=0.50 Gajim
|
||||||
|
export GDK_SCALE=2 GDK_DPI_SCALE=0.50 Ristretto
|
||||||
|
export GDK_SCALE=2 GDK_DPI_SCALE=0.50 ghex
|
52
dot_xinitrc
Normal file
52
dot_xinitrc
Normal file
|
@ -0,0 +1,52 @@
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
userresources=$HOME/.Xresources
|
||||||
|
usermodmap=$HOME/.Xmodmap
|
||||||
|
sysresources=/etc/X11/xinit/.Xresources
|
||||||
|
sysmodmap=/etc/X11/xinit/.Xmodmap
|
||||||
|
|
||||||
|
# merge in defaults and keymaps
|
||||||
|
|
||||||
|
if [ -f $sysresources ]; then
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
xrdb -merge $sysresources
|
||||||
|
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -f $sysmodmap ]; then
|
||||||
|
xmodmap $sysmodmap
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -f "$userresources" ]; then
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
xrdb -merge "$userresources"
|
||||||
|
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -f "$usermodmap" ]; then
|
||||||
|
xmodmap "$usermodmap"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# start some nice programs
|
||||||
|
|
||||||
|
if [ -d /etc/X11/xinit/xinitrc.d ] ; then
|
||||||
|
for f in /etc/X11/xinit/xinitrc.d/?*.sh ; do
|
||||||
|
[ -x "$f" ] && . "$f"
|
||||||
|
done
|
||||||
|
unset f
|
||||||
|
fi
|
||||||
|
|
||||||
|
xsetroot -cursor_name left_ptr &
|
||||||
|
exec bspwm
|
Loading…
Reference in a new issue