switched to bspwm + fonts + pywal auto theming

This commit is contained in:
fanyx 2021-10-04 15:00:37 +02:00
parent cfd299287f
commit c79bed2fb3
6 changed files with 416 additions and 0 deletions

48
.config/bspwm/bspwmrc Executable file
View File

@ -0,0 +1,48 @@
#! /bin/bash
[ -z "$WALLPAPER" ] && export WALLPAPER="/mnt/win/d/Nextcloud/Pictures/Wallpapers/365242.jpg"
pgrep -x sxhkd > /dev/null || sxhkd &
pgrep -x redshift > /dev/null || redshift &
pgrep -x picom > /dev/null || picom &
$HOME/.config/polybar/launch.sh
xwallpaper --zoom $WALLPAPER
xsetroot -cursor_name left_ptr &
wpg -s "$WALLPAPER"
xrdb -merge "$HOME/.cache/wal/colors.Xresources"
setxkbmap -model evdev -layout us -variant altgr-intl
bspc monitor DP-4 -d I II III IV V
bspc monitor HDMI-0 -d VI VII VIII IX X
bspc config border_width 2
bspc config window_gap 12
bspc config split_ratio 0.5
bspc config borderless_monocle true
bspc config gapless_monocle true
# Default to float
bspc rule -a \* state=floating
#
# Define rules for all other windows
#
# Terminal / Kitty
bspc rule -a kitty state=tiled
# Firefox
bspc rule -a Firefox state=tiled
bspc rule -a "Firefox:Save Image" state=floating
# Discord => Workspace 7
bspc rule -a discord state=tiled desktop=VII
# Steam => Workspace 4
bspc rule -a Steam state=tiled desktop=IV
# sxiv => Fullscreen
bspc rule -a Sxiv state=fullscreen

238
.config/polybar/config Normal file
View File

@ -0,0 +1,238 @@
;==========================================================
;
; ██████╗ ██████╗ ██╗ ██╗ ██╗██████╗ █████╗ ██████╗
; ██╔══██╗██╔═══██╗██║ ╚██╗ ██╔╝██╔══██╗██╔══██╗██╔══██╗
; ██████╔╝██║ ██║██║ ╚████╔╝ ██████╔╝███████║██████╔╝
; ██╔═══╝ ██║ ██║██║ ╚██╔╝ ██╔══██╗██╔══██║██╔══██╗
; ██║ ╚██████╔╝███████╗██║ ██████╔╝██║ ██║██║ ██║
; ╚═╝ ╚═════╝ ╚══════╝╚═╝ ╚═════╝ ╚═╝ ╚═╝╚═╝ ╚═╝
;
;
; To learn more about how to configure Polybar
; go to https://github.com/polybar/polybar
;
; The README contains a lot of information
;
;==========================================================
[colors]
background = ${xrdb:color0:#222}
foreground = ${xrdb:color7:#555}
background-alt = ${xrdb:color1:#222}
foreground-alt = ${xrdb:color7:#555}
primary = ${xrdb:color1:#222}
secondary = ${xrdb:color2:#222}
alert = ${xrdb:color3:#222}
[bar/main]
monitor = ${env:MONITOR:}
width = 100%
height = 28
fixed-center = false
background = ${colors.background}
foreground = ${colors.foreground}
line-size = 3
line-color = #f00
border-size = 4
border-color = #00000000
padding-left = 0
padding-right = 2
module-margin-left = 1
module-margin-right = 1
font-0 = JetBrains Mono:pixelsize=10:style=Bold;1
modules-left = bspwm date
modules-center = xwindow
modules-right = filesystem pulseaudio memory cpu eth powermenu
separator = |
tray-position = right
tray-padding = 2
tray-background = ${colors.xcolor4}
cursor-click = pointer
cursor-scroll = ns-resize
wm-restack = bspwm
[module/xwindow]
type = internal/xwindow
label = %title:0:50:...%
format-underline = ${colors.secondary}
[module/filesystem]
type = internal/fs
interval = 25
mount-0 = /
mount-1 = /mnt/win/c
mount-2 = /mnt/win/d
mount-3 = /mnt/win/e
label-mounted = %{F#739E81}%mountpoint%%{F-}: %percentage_used%%
label-unmounted = %mountpoint% not mounted
label-unmounted-foreground = ${colors.foreground-alt}
[module/bspwm]
type = internal/bspwm
label-focused = %index%
label-focused-background = ${colors.background-alt}
label-focused-underline = ${colors.primary}
label-focused-padding = 2
label-occupied = %index%
label-occupied-padding = 2
label-urgent = %index%!
label-urgent-background = ${colors.alert}
label-urgent-padding = 2
label-empty = %index%
label-empty-foreground = ${colors.foreground-alt}
label-empty-padding = 2
; Separator in between workspaces
; label-separator = |
[module/mpd]
type = internal/mpd
format-online = <label-song> <icon-prev> <icon-stop> <toggle> <icon-next>
icon-prev = 
icon-stop = 
icon-play = 
icon-pause = 
icon-next = 
label-song-maxlen = 25
label-song-ellipsis = true
[module/cpu]
type = internal/cpu
interval = 2
format-prefix = " "
format-prefix-foreground = ${colors.foreground-alt}
format-underline = ${colors.secondary}
label = %percentage:2%%
[module/memory]
type = internal/memory
interval = 2
format-prefix = " "
format-prefix-foreground = ${colors.foreground-alt}
format-underline = ${colors.secondary}
label = %percentage_used%%
[module/eth]
type = internal/network
interface = enp6s0
interval = 3.0
format-connected-underline = ${colors.secondary}
format-connected-prefix = " "
format-connected-prefix-foreground = ${colors.foreground-alt}
label-connected = %local_ip%
format-disconnected =
;format-disconnected = <label-disconnected>
;format-disconnected-underline = ${self.format-connected-underline}
;label-disconnected = %ifname% disconnected
;label-disconnected-foreground = ${colors.foreground-alt}
[module/date]
type = internal/date
interval = 1
date =
date-alt = " %Y-%m-%d"
time = %H:%M
time-alt = %H:%M:%S
format-prefix = 
format-prefix-foreground = ${colors.foreground-alt}
;format-underline = ${colors.secondary}
label = %date% %time%
[module/pulseaudio]
type = internal/pulseaudio
format-volume = <label-volume> <bar-volume>
label-volume = VOL %percentage%%
label-volume-foreground = ${root.foreground}
label-muted = 🔇 muted
label-muted-foreground = #666
bar-volume-width = 10
bar-volume-foreground-0 = ${colors.primary}
bar-volume-foreground-1 = ${colors.primary}
bar-volume-foreground-2 = ${colors.primary}
bar-volume-foreground-3 = ${colors.primary}
bar-volume-foreground-4 = ${colors.primary}
bar-volume-foreground-5 = ${colors.primary}
bar-volume-foreground-6 = ${colors.primary}
bar-volume-gradient = false
bar-volume-indicator = |
bar-volume-indicator-font = 2
bar-volume-fill = ─
bar-volume-fill-font = 2
bar-volume-empty = ─
bar-volume-empty-font = 2
bar-volume-empty-foreground = ${colors.foreground-alt}
[module/powermenu]
type = custom/menu
expand-right = true
format-spacing = 1
label-open = 
label-open-foreground = ${colors.secondary}
label-close =  cancel
label-close-foreground = ${colors.secondary}
label-separator = |
label-separator-foreground = ${colors.foreground-alt}
menu-0-0 = reboot
menu-0-0-exec = menu-open-1
menu-0-1 = power off
menu-0-1-exec = menu-open-2
menu-1-0 = cancel
menu-1-0-exec = menu-open-0
menu-1-1 = reboot
menu-1-1-exec = sudo reboot
menu-2-0 = power off
menu-2-0-exec = sudo poweroff
menu-2-1 = cancel
menu-2-1-exec = menu-open-0
[settings]
screenchange-reload = true
;compositing-background = xor
;compositing-background = screen
;compositing-foreground = source
;compositing-border = over
;pseudo-transparency = false
[global/wm]
margin-top = 5
margin-bottom = 5
; vim:ft=dosini

13
.config/polybar/launch.sh Executable file
View File

@ -0,0 +1,13 @@
#!/bin/bash
pkill polybar
if type "xrandr"; then
for m in $(xrandr --query | grep " connected" | cut -d" " -f1); do
MONITOR=$m polybar --reload main &
done
else
polybar --reload main &
fi
echo "Polybar launched."

117
.config/sxhkd/sxhkdrc Normal file
View File

@ -0,0 +1,117 @@
# wm independent hotkeys
# terminal emulator
super + Return
kitty
# program launcher
super + space
dmenu_run
# make sxhkd reload its configuration files:
super + Escape
pkill -USR1 -x sxhkd
# bspwm hotkeys
# quit/restart bspwm
super + alt + {q,r}
bspc {quit,wm -r}
# close and kill
super + {_,shift + }w
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}

Binary file not shown.

BIN
.fonts/rodin.otf Normal file

Binary file not shown.