spectrwm.conf 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284
  1. ##### My (demuredemeanor) spectrwm.conf
  2. # Uses tabstop=4; shiftwidth=4 tabs; foldmarker={{{,}}};
  3. # https://notabug.org/demure/dotfiles/
  4. # legacy repo http://github.com/demure/dotfiles
  5. # PLEASE READ THE MAN PAGE BEFORE EDITING THIS FILE!
  6. # http://opensource.conformal.com/cgi-bin/man-cgi?spectrwm
  7. ## Note:
  8. # option[x] = 1 # '[x]' will either mean screen or workspace 'x'
  9. ### Main Settings ### {{{
  10. disable_border = 1 # Disable border if one window and no bar
  11. #border_width = 1 # Set window border width
  12. #verbose_layout = 1
  13. #focus_mode = default
  14. ## Colors for focussed and unfocussed window borders
  15. # NOTE: all colors in this file are in hex! see XQueryColor for examples
  16. # color_focus = red
  17. # color_unfocus = rgb:88/88/88 # Border color of unfocused window
  18. # color_focus_maximized = xxx # Border color of maximized window
  19. ### End Main ### }}}
  20. ### Bar Settings ### {{{
  21. #bar_enabled = 1 # Enable bar
  22. #bar_enabled_ws[x] = 1 # Enable bar in workspace [x]
  23. #bar_border_width = 1 # Bar boarder width
  24. #bar_border[1] = rgb:00/80/80 # Bar board color in screen [x]
  25. #bar_color[1] = black # Bar background color in screen [x]
  26. #bar_border_unfocus[1] = xxx # Bar unfocus color in in screen [x]
  27. ### Bar Font ### {{{
  28. #bar_font_color[1] = rgb:a0/a0/a0
  29. bar_font_color[1] = rgb:99/99/99
  30. bar_font = Symbola:pixelsize=16:antialias=true
  31. #bar_font = Terminus:pixelsize=14:antialias=true
  32. #bar_font = Unifont:pixelsize=14:antialias=true
  33. #bar_font = PragmataPro:pixelsize=12:antialias=true
  34. #bar_font = PragmataPro:style=Regular:pixelsize=12:antialias=true
  35. ### End Font ### }}}
  36. ## Point at .../dotfiles/conky/spectrwm-conky by linking to ~/.conkyrc
  37. bar_action = conky
  38. #bar_justify = left # Justify bar left/center/right. Non-left may break output
  39. #bar_at_bottom = 0 # Move bar to bottom
  40. #stack_enabled = 1 # Enable showing stack method in bar
  41. #clock_enabled = 1 # Enable clock in bar. Disable to let script do date
  42. clock_format = %a %d%b%Y %R# ## In strftime format. Note # location
  43. #clock_format = %a %b %d %R %Y
  44. #title_name_enabled = 1 # Show active window title
  45. #title_class_enabled = 1 # Show active window classes
  46. #window_name_enabled = 0
  47. #urgent_enabled = 0 # Show urgent \a screens in bar. Too Big
  48. #urgent_collapse = 0 # Hides non-urgent. Makes smaller, still ~8 chars
  49. ### End Bar ### }}}
  50. ### Workspace Settings ### {{{
  51. name ws[1]:comp
  52. name ws[2]:dd
  53. name ws[3]:web
  54. name ws[4]:mail
  55. name ws[7]:file
  56. ### End Workspace Settings ### }}}
  57. ### Application Settings ### {{{
  58. ### Spawn Apps ### {{{
  59. program[term] = x-terminal-emulator
  60. program[screenshot_all] = /home/demure/bin/screenshot.sh full
  61. program[screenshot_wind] = /home/demure/bin/screenshot.sh window
  62. program[lock] = i3lock -c 2E3436
  63. program[file] = spacefm
  64. #program[file] = thunar
  65. program[office] = libreoffice
  66. program[menu] = rofi -sidebar-mode -modi "run,ssh" -show run -font 'Pragmata Pro 10' -fg \#505050 -bg \#000000 -bgalt \#101010 -hlfg \#008080 -hlbg \#000000 -bc \#008080 -bw 1 -location 2 -width 100 -de -padding 0 -lines 10 -no-disable-history -no-levenshtein-sort
  67. program[back-inc] = xbacklight -inc 1
  68. program[back-dec] = xbacklight -dec 1
  69. program[vol-inc] = amixer set Master 1%+ >/dev/null
  70. program[vol-dec] = amixer set Master 1%- >/dev/null
  71. #program[editor] = gvim
  72. ### control-pianobar Commands ### {{{
  73. program[piano-play] = ~/.config/pianobar/control-pianobar.sh play
  74. program[piano-quit] = ~/.config/pianobar/control-pianobar.sh quit
  75. program[piano-hist] = ~/.config/pianobar/control-pianobar.sh history
  76. program[piano-next] = ~/.config/pianobar/control-pianobar.sh next
  77. program[piano-tired] = ~/.config/pianobar/control-pianobar.sh tired
  78. program[piano-ss] = ~/.config/pianobar/control-pianobar.sh switchstation
  79. program[piano-ps] = ~/.config/pianobar/control-pianobar.sh previousstation
  80. program[piano-ns] = ~/.config/pianobar/control-pianobar.sh nextstation
  81. program[piano-love] = ~/.config/pianobar/control-pianobar.sh love
  82. program[piano-ban] = ~/.config/pianobar/control-pianobar.sh ban
  83. program[piano-expl] = ~/.config/pianobar/control-pianobar.sh explain
  84. program[piano-curr] = ~/.config/pianobar/control-pianobar.sh current
  85. ### End control-pianobar Commandss ### }}}
  86. ### Example Apps ### {{{
  87. #program[menu] = dmenu_run -fn $bar_font -nb $bar_color -nf $bar_font_color -sb $bar_border -sf $bar_color
  88. #program[initscr] = initscreen.sh
  89. #spawn_term = x-terminal-emulator
  90. ### End Exapmple ### }}}
  91. ### End Spawn ### }}}
  92. # dialog box size ratio .3 >= r < 1
  93. # dialog_ratio = 0.6
  94. # Split a non-Xrandr dual head setup into one region per monitor
  95. # (non-standard driver-based multihead is not seen by spectrwm)
  96. # region = screen[1]:1280x1024+0+0
  97. # region = screen[1]:1280x1024+1280+0
  98. ### Auto run ### {{{
  99. ## Launch applications in a workspace of choice
  100. autorun = ws[1]:x-terminal-emulator
  101. autorun = ws[1]:stalonetray
  102. autorun = ws[1]:nm-applet
  103. autorun = ws[1]:clipit
  104. autorun = ws[1]:cryptkeeper
  105. autorun = ws[1]:volumeicon
  106. autorun = ws[1]:dropbox start
  107. #autorun = ws[2]:xxxterm http://www.openbsd.org
  108. autorun = ws[3]:chromium
  109. autorun = ws[4]:icedove
  110. autorun = ws[7]:spacefm
  111. ### End Auto ### }}}
  112. ### Workspace Layout ### {{{
  113. #layout = ws[1]:4:0:0:0:vertical
  114. #layout = ws[2]:0:0:0:0:horizontal
  115. #layout = ws[3]:0:0:0:0:fullscreen
  116. ### End Layout ### }}}
  117. ### End Application ### }}}
  118. ### Keys ### {{{
  119. ## Read https://github.com/conformal/spectrwm/blob/master/spectrwm.1
  120. # to see all real defaults!!!
  121. ## Mod key, (windows key is Mod4) (apple key on OSX is Mod2)
  122. modkey = Mod4
  123. ## Clear key bindings and load new key bindings from the specified file.
  124. # This allows you to load pre-defined key bindings for your keyboard layout.
  125. #keyboard_mapping = ~/.spectrwm_us.conf
  126. ### Bindings ### {{{
  127. ### Added Bindings ### {{{
  128. bind[back-inc] = MOD+o
  129. bind[back-dec] = MOD+i
  130. bind[vol-inc] = MOD+Shift+o
  131. bind[vol-dec] = MOD+Shift+i
  132. ### control-pianobar Keys ### {{{
  133. bind[piano-play] = MOD+F12
  134. bind[piano-quit] = MOD+F11
  135. bind[piano-hist] = MOD+F9
  136. bind[piano-next] = MOD+F1
  137. bind[piano-tired] = MOD+F2
  138. bind[piano-ss] = MOD+F7
  139. #bind[piano-ps] = MOD+F
  140. #bind[piano-ns] = MOD+F
  141. bind[piano-love] = MOD+F3
  142. bind[piano-ban] = MOD+F5
  143. #bind[piano-expl] = MOD+F
  144. bind[piano-curr] = MOD+F8
  145. ### End control-pianobar Keys ### }}}
  146. ### End Added ###}}}
  147. ## Unbind with: bind[] = <keys>
  148. #bind[term] = MOD+Shift+Return
  149. bind[menu] = MOD+p
  150. #bind[quit] = MOD+Shift+q
  151. #bind[restart] = MOD+q
  152. #bind[cycle_layout] = MOD+space
  153. #bind[flip_layout] = MOD+Shift+\
  154. #bind[stack_reset] = MOD+Shift+space
  155. #bind[master_shrink] = MOD+h
  156. #bind[master_grow] = MOD+l
  157. #bind[master_add] = MOD+comma
  158. #bind[master_del] = MOD+period
  159. #bind[stack_inc] = MOD+Shift+comma
  160. #bind[stack_dec] = MOD+Shift+period
  161. #bind[swap_main] = MOD+Return
  162. #bind[focus_next] = MOD+j, MOD+Tab
  163. #bind[focus_prev] = MOD+k, MOD+Shift+Tab
  164. #bind[focus_main] = MOD+m
  165. #bind[swap_next] = MOD+Shift+j,
  166. #bind[swap_prev] = MOD+Shift+k,
  167. #bind[bar_toggle] = MOD+b
  168. #bind[bar_toggle_ws] = MOD+Shift+b
  169. #bind[wind_del] = MOD+c
  170. #bind[wind_kill] = MOD+Shift+c
  171. #bind[ws_1] = MOD+1
  172. #bind[ws_2] = MOD+2
  173. #bind[ws_3] = MOD+3
  174. #bind[ws_4] = MOD+4
  175. #bind[ws_5] = MOD+5
  176. #bind[ws_6] = MOD+6
  177. #bind[ws_7] = MOD+7
  178. #bind[ws_8] = MOD+8
  179. #bind[ws_9] = MOD+9
  180. #bind[ws_10] = MOD+0
  181. #bind[mvws_1] = MOD+Shift+1
  182. #bind[mvws_2] = MOD+Shift+2
  183. #bind[mvws_3] = MOD+Shift+3
  184. #bind[mvws_4] = MOD+Shift+4
  185. #bind[mvws_5] = MOD+Shift+5
  186. #bind[mvws_6] = MOD+Shift+6
  187. #bind[mvws_7] = MOD+Shift+7
  188. #bind[mvws_8] = MOD+Shift+8
  189. #bind[mvws_9] = MOD+Shift+9
  190. #bind[mvws_10] = MOD+Shift+0
  191. ## MISSING rg_
  192. ## MISSING mvrg_
  193. #bind[ws_next] = MOD+Right
  194. #bind[ws_prev] = MOD+Left
  195. #bind[ws_next_all] = MOD+Up
  196. #bind[ws_prev_all] = MOD+Down
  197. #bind[ws_next_move] = MOD+a
  198. #bind[ws_prev_move] = MOD+Shift+Left
  199. #bind[ws_prior] = MOD+Shift+Up
  200. #bind[rg_next] = MOD+Shift+Right
  201. #bind[rg_prev] = MOD+Shift+Left
  202. bind[screenshot_all] = MOD+s
  203. bind[screenshot_wind] = MOD+Shift+s
  204. #bind[version] = MOD+Shift+v
  205. #bind[float_toggle] = MOD+t
  206. #bind[lock] = MOD+Shift+Delete
  207. #bind[initscr] = MOD+Shift+i
  208. #bind[iconify] = MOD+w
  209. #bind[uniconify] = MOD+Shift+w
  210. #bind[maximize_toggle] = MOD+e
  211. #bind[always_raise] = MOD+Shift+r
  212. #bind[button2] = MOD+v
  213. #bind[width_shrink] = MOD+-
  214. #bind[width_grow] = MOD+=
  215. #bind[height_shrink] = MOD+Shift+-
  216. #bind[height_grow] = MOD+Shift+=
  217. #bind[move_left] = MOD+[
  218. #bind[move_right] = MOD+]
  219. #bind[move_up] = MOD+Shift+[
  220. #bind[mode_down] = MOD+Shift+]
  221. #bind[name_workspace] = MOD+Shift+/
  222. #bind[search_workspace] = MOD+/
  223. #bind[search_win] = MOD+f
  224. ### End Binds ### }}}
  225. ### End Keys ### }}}
  226. ### Quirks ### {{{
  227. ## Remove with: quirk[class:name] = NONE
  228. ### Video Quriks ### {{{
  229. quirk[MPlayer:xv] = FLOAT + FULLSCREEN + FOCUSPREV
  230. quirk[mpv:xv] = FLOAT + FULLSCREEN + FOCUSPREV
  231. quirk[mpv:gl] = FLOAT + FULLSCREEN + FOCUSPREV
  232. quirk[SMPlayer:xv] = FLOAT + FULLSCREEN + FOCUSPREV
  233. quirk[Vlc:vlc] = FLOAT + FULLSCREEN + FOCUSPREV
  234. ### End Video ### }}}
  235. quirk[Clipit:clipit] = FLOAT + IGNORESPAWNWS
  236. quirk[Gimp:gimp] = FLOAT + ANYWHERE
  237. quirk[stalonetray:stalonetray] = WS[1] + FLOAT + ANYWHERE + NOFOCUSONMAP
  238. quirk[feh:feh] = FLOAT + ANYWHERE
  239. ### Example Quirks ### {{{
  240. #quirk[OpenOffice.org 2.4:VCLSalFrame] = FLOAT
  241. #quirk[OpenOffice.org 3.0:VCLSalFrame] = FLOAT
  242. #quirk[OpenOffice.org 3.1:VCLSalFrame] = FLOAT
  243. #quirk[Firefox-bin:firefox-bin] = TRANSSZ
  244. #quirk[Firefox:Dialog] = FLOAT
  245. #quirk[XTerm:xterm] = XTERM_FONTADJ
  246. #quirk[xine:Xine Window] = FLOAT + ANYWHERE
  247. #quirk[Xitk:Xitk Combo] = FLOAT + ANYWHERE
  248. #quirk[xine:xine Panel] = FLOAT + ANYWHERE
  249. #quirk[Xitk:Xine Window] = FLOAT + ANYWHERE
  250. #quirk[xine:xine Video Fullscreen Window] = FULLSCREEN + FLOAT
  251. #quirk[pcb:pcb] = FLOAT
  252. ### End Example ###}}}
  253. ### End Quirks ### }}}
  254. ## EXAMPLE: define firefox program and bind to key
  255. #program[firefox] = firefox http://spectrwm.org/
  256. #bind[firefox] = MOD+Shift+b