1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 | #!/bin/sh
# .config/bspwm/bspwmrc by Miika Nissi
# https://github.com/miikanissi
# https://miikanissi.com
# make sure all processes are killed
killall -q compton
killall -q sxhkd
killall -q dunst
killall -q signal-desktop
killall -q polybar
# wait until the processes have been shut down (just in case)
while pgrep -u $UID -x compton >/dev/null; do sleep 1; done
while pgrep -u $UID -x sxhkd >/dev/null; do sleep 1; done
while pgrep -u $UID -x dunst >/dev/null; do sleep 1; done
while pgrep -u $UID -x signal-desktop >/dev/null; do sleep 1; done
while pgrep -u $UID -x polybar >/dev/null; do sleep 1; done
### AUTOSTART ###
polybar top &
compton -b -c &
sxhkd &
dunst -config ~/.config/dunst/dunstrc &
signal-desktop --start-in-tray --use-tray-icon --no-sandbox %U &
light-locker &
xrdb .Xresources &
xset r rate 300 50 & # makes key repeat faster
.local/bin/144.sh & # sets 144hz refresh rate
.local/bin/setbg.sh & # sets wallpaper
### BSPC ###
bspc monitor -d 1 2 3 4 5
bspc config pointer_modifier mod4
bspc config border_width 2
bspc config window_gap 8
bspc config split_ratio 0.52
bspc config top_padding 32
bspc config borderless_monocle true
bspc config gapless_monocle true
bspc config single_monocle true
bspc config focus_follows_pointer true
bspc config focused_border_color "#c85e7c"
bspc rule -a net-runelite-launcher-Launcher state=pseudo_tiled private=on
# bspc rule -a cmus desktop='^5' state=floating follow=on
bspc rule -a URxvt:ncmpcpp desktop='^5' state=floating follow=on
bspc rule -a Gimp desktop='^3' state=floating follow=on
bspc rule -a Emacs state=tiled
bspc rule -a Zathura state=tiled
xsetroot -cursor-name left_ptr &
|
x
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 | # .config/sxhkd/sxhkdrc by Miika Nissi
# https://github.com/miikanissi
# https://miikanissi.com
### PROGRAM LAUNCHERS ###
# launch programs (q,f,t,h,n,p,space,greater,less taken by bspc and cmus)
super + {Return, w, e, g, m, c, b}
{rxvt, brave-browser, evolution, emacs, rxvt -name ncmpcpp -e ncmpcpp, pcmanfm, rxvt -name newsboat -e newsboat}
# print screen script with maim
super + Print
~/.local/bin/screenshot.sh
# launch rofi
super + d
rofi -show run
# launch rofi emoji
super + shift + d
rofi -show emoji -modi emoji
#### CMUS HOTKEYS (uncomment to use) ###
## pause cmus
#super + space
# cmus-remote --pause
#
## adjust volume
#super + {greater, less}
# cmus-remote --volume {+2%, -2%}
#
## change song
#super + {n, p}
# cmus-remote {--next, --prev}
#
### MPD HOTKEYS ###
# pause mpd
super + space
mpc toggle
# adjust mpd volume
super + {greater, less}
mpc volume {+, -}2
# change song
super + {n, p}
mpc {next, prev}
### BSPC HOTKEYS ###
# restart everything (not working properly)
super + q
bspc wm -r
# exit bspwm
super + shift + q
bspc quit
# close current window
super + shift + c
bspc node -c
# swap the current node and the biggest node
super + shift + Return
bspc node -s biggest
# set the window state
super + {t,shift + t,h,f}
bspc node -t {tiled,pseudo_tiled,floating,fullscreen}
# focus the node in the given direction, shift swaps nodes
super + {_,shift +}{Left,Down,Up,Right}
bspc node -{f,s} {west,south,north,east}
# focus or send to the given desktop
super + {_,shift +}{1-5}
bspc {desktop -f,node -d} '^{1-5}'
# expand a window by moving one of its side outward
super + alt + {Left,Down,Up,Right}
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 + ctrl + {Left,Down,Up,Right}
bspc node -z {right -20 0,top 0 20,bottom 0 -20,left 20 0}
|
x
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 | ;; .config/polybar/config by Miika Nissi
;; https://github.com/miikanissi
;; https://miikanissi.com
[colors]
background = ${xrdb:color0:#05060A}
background-alt = ${xrdb:color10}
foreground = ${xrdb:color7:#f4dfbd}
;;${xrdb:foreground:#fff}
foreground-alt = #555555
primary = ${xrdb:color5}
secondary = ${xrdb:color1}
alert = #bd2c40
[bar/top]
monitor = ${env:MONITOR:DVI-D-0}
monitor_fallback =
monitor-strict = false
monitor-exact = true
enable-ipc = true
width = 100%
height = 32
radius = 0.0
fixed-center = true
background = ${colors.background}
foreground = ${colors.foreground}
line-size = 3
line-color = #f00
border-size = 0
border-color = #00000000
padding-right = 2
font-0 = DejaVuSansMono:pixelsize=10;3
font-1 = FontAwesome:style=Regular:size=16;4
font-2 = Symbola:size=14;2
font-3 = Symbola:size=20;4
modules-left = bspwm mpd
modules-center =
modules-right = weather_icon weather cputemp pulseaudio date network powermenu
wm-restack = bspwm
override-redirect = true
format-underline = {colors.secondary}
; scroll-up = i3wm-wsnext
; scroll-down = i3wm-wsprev
scroll-up = bspwm-desknext
scroll-down = bspwm-deskprev
cursor-click = pointer
; cursor-scroll = ns-resize
[module/sep]
type = custom/text
content = |
content-background = ${colors.background}
content-foreground = ${colors.primary}
[module/i3]
type = internal/i3
ws-icon-0 = "1;1"
ws-icon-1 = "2;2"
ws-icon-2 = "3;3"
ws-icon-3 = "4;4"
ws-icon-4 = "5;5"
ws-icon-5 = "6;6"
ws-icon-6 = "7;7"
ws-icon-7 = "8;8"
ws-icon-8 = "9;9"
label-focused = %icon%
label-focused-background = ${colors.background-alt}
label-focused-underline= ${colors.secondary}
label-focused-padding = 2
label-occupied = %icon%
label-occupied-overline = ${colors.primary}
label-occupied-padding = 2
label-urgent = %icon%!
label-urgent-background = ${colors.alert}
label-urgent-padding = 2
label-empty = %icon%
label-empty-foreground = ${colors.foreground-alt}
label-empty-padding = 2
format-padding = 0
[module/bspwm]
type = internal/bspwm
ws-icon-0 = "1;1"
ws-icon-1 = "2;2"
ws-icon-2 = "3;3"
ws-icon-3 = "4;4"
ws-icon-4 = "5;5"
ws-icon-5 = "6;6"
ws-icon-6 = "7;7"
ws-icon-7 = "8;8"
ws-icon-8 = "9;9"
label-focused = %icon%
label-focused-background = ${colors.background-alt}
label-focused-underline= ${colors.secondary}
label-focused-padding = 2
label-occupied = %icon%
label-occupied-overline = ${colors.primary}
label-occupied-padding = 2
label-urgent = %icon%!
label-urgent-background = ${colors.alert}
label-urgent-padding = 2
label-empty = %icon%
label-empty-foreground = ${colors.foreground-alt}
label-empty-padding = 2
format-padding = 0
[module/xwindow]
type = internal/xwindow
label = " %title:0:...% "
label-maxlen = 50
[module/mpd]
type = internal/mpd
host = localhost
port = 6600
interval = 2
format-online = <icon-prev> <toggle> <icon-next> <icon-repeat> <icon-random> <label-time> <label-song>
label-song = "
|
x
Notes
Github: https://github.com/miikanissi/dotfiles
You can find my other dotfiles and scripts I use there.