guest@dotshare [~/groups/wms/bspwm] $ ls bspwm-polybar/ | cat

bspwm + polybar (scrot)

miika Sep 18, 2020 (wms/bspwm)

bspwmrc(raw, dl)

SCROT

 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 &

CLICK TO VIEW

x

sxhkdrc(raw, dl)

 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

polybar_config(raw, dl)

  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.