Skip to content

Commit

Permalink
bspwm config
Browse files Browse the repository at this point in the history
  • Loading branch information
biocoderh committed Oct 11, 2023
1 parent ce876e6 commit 9416828
Show file tree
Hide file tree
Showing 3 changed files with 308 additions and 0 deletions.
15 changes: 15 additions & 0 deletions .config/bspwm/bspwmrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
#! /bin/sh

pgrep -x sxhkd > /dev/null || sxhkd &
pgrep -x polybar > /dev/null || polybar &

bspc monitor -d I II III IV V VI VII VIII IX X

bspc config border_width 0
bspc config window_gap 0

bspc config split_ratio 0
bspc config borderless_monocle true
bspc config gapless_monocle true

xsetroot -solid "#000000"
172 changes: 172 additions & 0 deletions .config/polybar/config.ini
Original file line number Diff line number Diff line change
@@ -0,0 +1,172 @@
;==========================================================
;
;
; ██████╗ ██████╗ ██╗ ██╗ ██╗██████╗ █████╗ ██████╗
; ██╔══██╗██╔═══██╗██║ ╚██╗ ██╔╝██╔══██╗██╔══██╗██╔══██╗
; ██████╔╝██║ ██║██║ ╚████╔╝ ██████╔╝███████║██████╔╝
; ██╔═══╝ ██║ ██║██║ ╚██╔╝ ██╔══██╗██╔══██║██╔══██╗
; ██║ ╚██████╔╝███████╗██║ ██████╔╝██║ ██║██║ ██║
; ╚═╝ ╚═════╝ ╚══════╝╚═╝ ╚═════╝ ╚═╝ ╚═╝╚═╝ ╚═╝
;
;
; To learn more about how to configure Polybar
; go to https://github.com/polybar/polybar
;
; The README contains a lot of information
;
;==========================================================

[colors]
background = #282A2E
background-alt = #373B41
foreground = #C5C8C6
primary = #F0C674
secondary = #8ABEB7
alert = #A54242
disabled = #707880

[bar/example]
width = 100%
height = 16pt
radius = 0

; dpi = 96

background = ${colors.background}
foreground = ${colors.foreground}

line-size = 3pt

border-size = 0pt
border-color = #00000000

padding-left = 0
padding-right = 0

module-margin = 0

separator = |
separator-foreground = ${colors.disabled}

font-0 = monospace;2

modules-left = xworkspaces xwindow
modules-right = filesystem network memory cpu temperature pulseaudio xkeyboard date

cursor-click = pointer
cursor-scroll = ns-resize

enable-ipc = true

; tray-position = right

; wm-restack = generic
wm-restack = bspwm
; wm-restack = i3

; override-redirect = true

tray-position = right

[module/xworkspaces]
type = internal/xworkspaces

label-active = %name%
label-active-background = ${colors.background-alt}
label-active-underline= ${colors.primary}
label-active-padding = 1

label-occupied = %name%
label-occupied-padding = 1

label-urgent = %name%
label-urgent-background = ${colors.alert}
label-urgent-padding = 1

label-empty = %name%
label-empty-foreground = ${colors.disabled}
label-empty-padding = 1

[module/xwindow]
type = internal/xwindow
label = %title:0:60:...%

[module/filesystem]
type = internal/fs
interval = 25

mount-0 = /
mount-1 = /media

label-mounted = %{F#F0C674}%mountpoint%%{F-} %percentage_used%%

label-unmounted = %mountpoint% not mounted
label-unmounted-foreground = ${colors.disabled}

[module/pulseaudio]
type = internal/pulseaudio

format-volume-prefix = "VOL "
format-volume-prefix-foreground = ${colors.primary}
format-volume = <label-volume>

label-volume = %percentage%%

label-muted = muted
label-muted-foreground = ${colors.disabled}

[module/xkeyboard]
type = internal/xkeyboard
blacklist-0 = num lock

label-layout = %layout%
label-layout-foreground = ${colors.primary}

label-indicator-padding = 2
label-indicator-margin = 1
label-indicator-foreground = ${colors.background}
label-indicator-background = ${colors.secondary}

[module/memory]
type = internal/memory
interval = 2
format-prefix = "RAM "
format-prefix-foreground = ${colors.primary}
label = %percentage_used:2%%

[module/cpu]
type = internal/cpu
interval = 2
format-prefix = "CPU "
format-prefix-foreground = ${colors.primary}
label = %percentage:2%%

[module/temperature]
type = internal/temperature
thermal-zone = 2
format-prefix = "TEMP "
format-prefix-foreground = ${colors.primary}

[module/network]
type = internal/network
interface-type = wired
format-connected = <label-connected>
format-disconnected = <label-disconnected>
label-connected = %{F#F0C674}%local_ip%%{F-} %netspeed%
label-disconnected = %{F#F0C674}%ifname%%{F#707880} disconnected

[module/date]
type = internal/date
interval = 1

date = %H:%M
date-alt = %Y-%m-%d %H:%M:%S

label = %date%
label-foreground = ${colors.primary}

[settings]
screenchange-reload = true
pseudo-transparency = true

; vim:ft=dosini
121 changes: 121 additions & 0 deletions .config/sxhkd/sxhkdrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,121 @@
#
# wm independent hotkeys
#

# terminal emulator
super + Return
urxvt

# 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}

0 comments on commit 9416828

Please sign in to comment.