# PLEASE READ THE MAN PAGE BEFORE EDITING THIS FILE!
# https://htmlpreview.github.io/?https://github.com/conformal/spectrwm/blob/master/spectrwm.html
# NOTE: all rgb color values in this file are in hex! see XQueryColor for examples

workspace_limit	= 8
focus_mode		= manual
focus_close		= previous
focus_close_wrap	= 0
focus_default		= last
spawn_position		= next
workspace_clamp		= 1
warp_focus		= 1
warp_pointer		= 1

# Window Decoration
border_width		= 2
color_focus		= rgb:ee/ee/ee
color_focus_maximized	= rgb:44/88/aa
color_unfocus		= rgb:00/00/00
color_unfocus_maximized	= rgb:00/00/00
region_padding		= 6
tile_gap		= 6

# Region containment
# Distance window must be dragged/resized beyond the region edge before it is
# allowed outside the region.
# boundary_width 		= 50

# Remove window border when bar is disabled and there is only one window in workspace
disable_border		= 1

# Bar Settings
bar_enabled		= 1
bar_action_expand	= 1
bar_border_width	= 1
bar_border[1]		= rgb:00/00/00
bar_border_unfocus[1]	= rgb:00/40/40
bar_color[1]		= rgb:30/38/48
bar_color_selected[1]	= rgb:00/80/80
bar_font_color[1]	= rgb:e0/e6/e8, rgb:66/aa/dc
bar_font_color_selected	= rgb:d0/d0/44
bar_font		= Noto Sans:size=8
bar_action		= /home/dave/.config/spectrwm/spectr-bar.sh
bar_justify		= center
# bar_format		= +N:+I +S <+D>+4<%a %b %d %R %Z %Y+8<+A+4<+V
bar_format		= [+L]+8< +@fg=1;+S+@fg=0;+8< +A
workspace_indicator	= listcurrent,listactive,markcurrent
bar_at_bottom		= 0
stack_enabled		= 1
clock_enabled		= 0
clock_format		= %a %b %d %R %Z %Y
iconic_enabled		= 0
maximize_hide_bar	= 1
window_class_enabled	= 0
window_instance_enabled	= 0
window_name_enabled	= 0
verbose_layout		= 1
urgent_enabled		= 1

# Dialog box size ratio when using TRANSSZ quirk; 0.3 < dialog_ratio <= 1.0
# dialog_ratio		= 0.6

# Split a non-RandR dual head setup into one region per monitor
# (non-standard driver-based multihead is not seen by spectrwm)
# region		= screen[1]:1280x1024+0+0
# region		= screen[1]:1280x1024+1280+0

# Launch applications in a workspace of choice
# autorun		= ws[1]:urxvt
# autorun		= ws[2]:xombrero http://www.openbsd.org

# Customize workspace layout at start
# layout		= ws[1]:4:0:0:0:vertical
# layout		= ws[2]:0:0:0:0:horizontal
# layout		= ws[3]:0:0:0:0:fullscreen
# layout		= ws[4]:4:0:0:0:vertical_flip
# layout		= ws[5]:0:0:0:0:horizontal_flip

# Set workspace name at start
# name			= ws[1]:term
# name			= ws[2]:Email
# name			= ws[3]:Browse
# name			= ws[10]:Music

# Mod key, (Windows key is Mod4) (Apple key on OSX is Mod2)
modkey = Mod4

# This allows you to include pre-defined key bindings for your keyboard layout.
# keyboard_mapping = ~/.spectrwm_us.conf

# PROGRAMS

# Validated default programs:
program[lock]		= i3lock -c 223040 -f
program[term]		= urxvt
program[menu]		= rofi.sh



# To disable validation of the above, free the respective binding(s):
# bind[]		= MOD+Shift+Delete	# disable lock
# bind[]		= MOD+Return	# disable term
# bind[]		= MOD+p			# disable menu
bind[]			= MOD+w

bind[bar_toggle]	= MOD+b
bind[bar_toggle_ws]	= MOD+Shift+b
bind[button2]		= MOD+v
bind[cycle_layout]	= MOD+space
bind[flip_layout]	= MOD+Shift+backslash
bind[float_toggle]	= MOD+t
bind[focus_main]	= MOD+m
bind[focus_next]	= MOD+j
bind[focus_next]	= MOD+Down
bind[focus_prev]	= MOD+k
bind[focus_prev]	= MOD+Up
bind[focus_urgent]	= MOD+u
bind[height_grow]	= MOD+Shift+equal
bind[height_shrink]	= MOD+Shift+minus
# bind[iconify]		= MOD+w
bind[initscr]		= MOD+Shift+i
bind[lock]		= MOD+l
bind[master_add]	= MOD+comma
bind[master_del]	= MOD+period
bind[master_grow]	= MOD+Right
bind[master_shrink]	= MOD+Left
bind[maximize_toggle]	= MOD+f
bind[menu]		= MOD+p
bind[move_down]		= MOD+Shift+bracketright
bind[move_left]		= MOD+bracketleft
bind[move_right]	= MOD+bracketright
bind[move_up]		= MOD+Shift+bracketleft
bind[mvrg_1]		= MOD+Shift+KP_End
bind[mvrg_2]		= MOD+Shift+KP_Down
bind[mvrg_3]		= MOD+Shift+KP_Next
bind[mvrg_4]		= MOD+Shift+KP_Left
bind[mvrg_5]		= MOD+Shift+KP_Begin
bind[mvrg_6]		= MOD+Shift+KP_Right
bind[mvrg_7]		= MOD+Shift+KP_Home
bind[mvrg_8]		= MOD+Shift+KP_Up
bind[mvrg_9]		= MOD+Shift+KP_Prior
bind[mvws_1]		= MOD+Shift+1
bind[mvws_2]		= MOD+Shift+2
bind[mvws_3]		= MOD+Shift+3
bind[mvws_4]		= MOD+Shift+4
bind[mvws_5]		= MOD+Shift+5
bind[mvws_6]		= MOD+Shift+6
bind[mvws_7]		= MOD+Shift+7
bind[mvws_8]		= MOD+Shift+8
bind[mvws_9]		= MOD+Shift+9
bind[mvws_10]		= MOD+Shift+0
bind[name_workspace]	= MOD+Shift+slash
bind[quit]		= MOD+Shift+q
bind[raise_toggle]	= MOD+Shift+r
bind[restart]		= MOD+r
bind[rg_1]		= MOD+KP_End
bind[rg_2]		= MOD+KP_Down
bind[rg_3]		= MOD+KP_Next
bind[rg_4]		= MOD+KP_Left
bind[rg_5]		= MOD+KP_Begin
bind[rg_6]		= MOD+KP_Right
bind[rg_7]		= MOD+KP_Home
bind[rg_8]		= MOD+KP_Up
bind[rg_9]		= MOD+KP_Prior
bind[rg_next]		= MOD+Shift+Right
bind[rg_prev]		= MOD+Shift+Left
bind[screenshot_all]	= MOD+s
bind[screenshot_wind]	= MOD+Shift+s
# bind[search_win]	= MOD+f
bind[search_workspace]	= MOD+slash
bind[stack_dec]		= MOD+Shift+period
bind[stack_inc]		= MOD+Shift+comma
bind[stack_reset]	= MOD+Shift+space
bind[swap_main]		= MOD+Return
bind[swap_next]		= MOD+Shift+Down
bind[swap_prev]		= MOD+Shift+Up
bind[term]		= MOD+Return
bind[uniconify]		= MOD+Shift+w
bind[version]		= MOD+Shift+v
bind[width_grow]	= MOD+equal
bind[width_shrink]	= MOD+minus
bind[wind_del]		= MOD+q
bind[wind_kill]		= MOD+Shift+x
bind[ws_1]		= MOD+1
bind[ws_2]		= MOD+2
bind[ws_3]		= MOD+3
bind[ws_4]		= MOD+4
bind[ws_5]		= MOD+5
bind[ws_6]		= MOD+6
bind[ws_7]		= MOD+7
bind[ws_8]		= MOD+8
bind[ws_9]		= MOD+9
bind[ws_10]		= MOD+0
#bind[ws_next]		= MOD+Right
#bind[ws_next_all]	= MOD+Up
#bind[ws_next_move]	= MOD+Shift+Up
#bind[ws_prev]		= MOD+Left
#bind[ws_prev_all]	= MOD+Down
#bind[ws_prev_move]	= MOD+Shift+Down
#bind[ws_prior]		= MOD+a



# Optional default programs that will only be validated if you override:
# program[screenshot_all]	= scrot	# optional
# program[screenshot_wind]	= screenshot.sh window	# optional
# program[initscr]	= initscreen.sh			# optional

# EXAMPLE: Define 'firefox' action and bind to key.
# program[firefox]	= firefox http://spectrwm.org/
# bind[firefox]		= MOD+Shift+b

program[volumeup]	= volume up
bind[volumeup]		= MOD+F12

program[volumedown]	= volume down
bind[volumedown]	 MOD+F11

program[volumemute]	= volume mute
bind[volumemute]	 MOD+F10

# QUIRKS
quirk[.*] 		= IGNORESPAWNWS + IGNOREPID
quirk[Thunar:Thunar:File Operation Progress]	= FLOAT


# Default quirks, remove with: quirk[class:name] = NONE
# quirk[MPlayer:xv]			= FLOAT + FULLSCREEN + FOCUSPREV
# quirk[OpenOffice.org 2.4:VCLSalFrame]	= FLOAT
# quirk[OpenOffice.org 3.0:VCLSalFrame]	= FLOAT
# quirk[OpenOffice.org 3.1:VCLSalFrame]	= FLOAT
# quirk[Firefox-bin:firefox-bin]		= TRANSSZ
# quirk[Firefox:Dialog]			= FLOAT
quirk[Gimp:gimp]			= FLOAT + ANYWHERE
# quirk[XTerm:xterm]			= XTERM_FONTADJ
# quirk[xine:Xine Window]			= FLOAT + ANYWHERE
# quirk[Xitk:Xitk Combo]			= FLOAT + ANYWHERE
# quirk[xine:xine Panel]			= FLOAT + ANYWHERE
# quirk[Xitk:Xine Window]			= FLOAT + ANYWHERE
# quirk[xine:xine Video Fullscreen Window] = FULLSCREEN + FLOAT
# quirk[pcb:pcb]				= FLOAT
