# 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 = 10 # focus_mode = default # focus_close = previous # focus_close_wrap = 1 # focus_default = last # spawn_position = next # workspace_clamp = 1 # warp_focus = 1 # warp_pointer = 1 # Window Decoration border_width = 1 color_focus = rgb:bb/c5/ff color_focus_maximized = yellow color_unfocus = rgb:88/88/88 color_unfocus_maximized = rgb:88/88/00 region_padding = 8 tile_gap = 8 # 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_action = ~/.config/polybar/launch-spectrwm.sh bar_action_expand = 1 bar_enabled = 1 bar_border_width = 5 bar_border[1] = rgb:28/2a/36 bar_border_unfocus[1] = rgb:28/2a/36 bar_color[1] = rgb:28/2a/36, rgb:00/80/80 bar_color_selected[1] = rgb:00/80/80 bar_delay = 5 bar_font_color[1] = rgb:bb/c5/ff, rgb:e1/ac/ff, rgb:dd/ff/a7, rgb:ff/8b/92, rgb:ff/e5/85, rgb:89/dd/ff bar_font_color_selected = black #bar_font = Mononoki Nerd Font:size=9, JoyPixels:size=9 #bar_font = Mononoki Nerd Font:size=9 bar_font = Noto Sans Font:size=9 bar_justify = center # Don't touch #bar_format = +|L+1<+N:+I +S (+D) +P +|R+A+1< # Bars on the sides #bar_format = +|L+1<+N:+I +S (+D) +W +|R+A+1< # Bars on the sides + window titles bar_format = +N:+I +S (+D) +P +4< +8<+A+4<+V # Bar in the center #bar_format = +N:+I +S (+D) +C +4< +8<+A+4<+V # Bar in the center (more simple) #bar_format = +N:+I +S <+D>+4< +8<+A+4<+V # Bar in the center (minimal) workspace_indicator = listcurrent,listactive,markcurrent,printnames bar_at_bottom = 0 stack_enabled = 1 #clock_enabled = 1 #clock_format = %a %b %d %R %Z %Y iconic_enabled = 0 maximize_hide_bar = 0 window_class_enabled = 1 window_instance_enabled = 1 window_name_enabled = 1 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]:xterm # autorun = ws[2]:xombrero http://www.openbsd.org autorun = ws[1]:~/.config/spectrwm/startwallpaper.sh # Configure screens and resolution autorun = ws[1]:~/.config/spectrwm/startxrandr.sh # Load compton of picom autorun = ws[1]:~/.config/spectrwm/startcompositor.sh # Start screensaver autorun = ws[1]:~/.config/spectrwm/startscreensaver.sh # Autostart script autorun = ws[1]:~/.config/spectrwm/autostart.sh # Autostart tray on Workspace 7 #autorun = ws[7]:~/.config/spectrwm/showtray.sh # 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]:www name = ws[3]:chat name = ws[4]:files name = ws[5]:media name = ws[6]:game name = ws[7]:mail name = ws[8]:dev name = ws[9]:vm name = ws[10]:all # 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] = xlock program[term] = kitty program[menu] = dmenu_run $dmenu_bottom -fn $bar_font -nb $bar_color -nf $bar_font_color -sb $bar_color_selected -sf $bar_font_color_selected #program[search] = dmenu $dmenu_bottom -i -fn $bar_font -nb $bar_color -nf $bar_font_color -sb $bar_color_selected -sf $bar_font_color_selected #program[name_workspace] = dmenu $dmenu_bottom -p Workspace -fn $bar_font -nb $bar_color -nf $bar_font_color -sb $bar_color_selected -sf $bar_font_color_selected # Key bindings for United States (us) keyboards # unbind with: bind[] = #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+Tab bind[focus_prev] = MOD+k bind[focus_prev] = MOD+Shift+Tab #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+Shift+Delete #bind[master_add] = MOD+Shift+comma #bind[master_del] = MOD+Shift+period #bind[master_grow] = MOD+l #bind[master_shrink] = MOD+h bind[maximize_toggle] = MOD+e 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[mvws_11] = MOD+Shift+F1 bind[mvws_12] = MOD+Shift+F2 bind[mvws_13] = MOD+Shift+F3 bind[mvws_14] = MOD+Shift+F4 bind[mvws_15] = MOD+Shift+F5 bind[mvws_16] = MOD+Shift+F6 bind[mvws_17] = MOD+Shift+F7 bind[mvws_18] = MOD+Shift+F8 bind[mvws_19] = MOD+Shift+F9 bind[mvws_20] = MOD+Shift+F10 bind[mvws_21] = MOD+Shift+F11 bind[mvws_22] = MOD+Shift+F12 bind[name_workspace] = MOD+Shift+slash #bind[quit] = MOD+Shift+q bind[quit] = MOD+Shift+Delete bind[raise_toggle] = MOD+Control+r bind[restart] = MOD+Shift+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+period bind[rg_prev] = MOD+comma #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+j #bind[swap_prev] = MOD+Shift+k #bind[uniconify] = MOD+Shift+w bind[version] = MOD+Shift+v bind[width_grow] = MOD+equal bind[width_shrink] = MOD+minus bind[wind_del] = MOD+Shift+c 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_11] = MOD+F1 bind[ws_12] = MOD+F2 bind[ws_13] = MOD+F3 bind[ws_14] = MOD+F4 bind[ws_15] = MOD+F5 bind[ws_16] = MOD+F6 bind[ws_17] = MOD+F7 bind[ws_18] = MOD+F8 bind[ws_19] = MOD+F9 bind[ws_20] = MOD+F10 bind[ws_21] = MOD+F11 bind[ws_22] = MOD+F12 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 # To disable validation of the above, free the respective binding(s): # bind[] = MOD+Shift+Delete # disable lock # bind[] = MOD+Shift+Return # disable term # bind[] = MOD+p # disable menu bind[] = MOD+Shift+q # Disable close session bind[] = MOD+q # Disable restart spectrwm (Use Win+Shift+r) # Optional default programs that will only be validated if you override: # program[screenshot_all] = screenshot.sh full # optional # program[screenshot_wind] = screenshot.sh window # optional # program[initscr] = initscreen.sh # optional ## Volume Bindings program[volup] = pactl set-sink-volume @DEFAULT_SINK@ +5% program[voldown] = pactl set-sink-volume @DEFAULT_SINK@ -5% program[mute] = pactl set-sink-mute @DEFAULT_SINK@ toggle bind[volup] = XF86_AudioRaiseVolume bind[voldown] = XF86_AudioLowerVolume bind[mute] = XF86_AudioMute ## Brightmess Bindings program[brightup] = light -A 10 #program[brightup] = xrandr --output HDMI1 --brightness 1.0 program[brightdown] = light -U 10 #program[brightdown] = xrandr --output HDMI1 --brightness 0.75 bind[brightup] = XF86_MonBrightnessUp bind[brightdown] = XF86_MonBrightnessDown # EXAMPLE: Define 'firefox' action and bind to key. program[firefox] = firefox bind[firefox] = MOD+b # Choose between NetworkManager or Connman program[connection] = nm-connection-editor #program[connection] = connman-gtk --no-icon bind[connection] = MOD+c program[pavucontrol] = pavucontrol bind[pavucontrol] = MOD+v program[kitty] = kitty bind[kitty] = MOD+Return program[terminal] = xterm bind[terminal] = MOD+u program[downscreen] = ~/.config/spectrwm/down-screen.sh bind[downscreen] = MOD+Delete program[pcmanfm] = pcmanfm bind[pcmanfm] = MOD+n program[rofirun] = rofi -show run bind[rofirun] = MOD+p program[rofitheme] = rofi-theme-selector bind[rofitheme] = MOD+d program[rofidrun] = rofi -modi drun,run -show drun bind[rofidrun] = MOD+o program[rofiwindow] = rofi -show window bind[rofiwindow] = MOD+Shift+w program[lxappearance] = lxappearance bind[lxappearance] = MOD+i program[lxrandr] = lxrandr bind[lxrandr] = MOD+x program[xfce4-screenshooter] = xfce4-screenshooter bind[xfce4-screenshooter] = MOD+s program[nitrogen] = nitrogen bind[nitrogen] = MOD+z program[showtray] = ~/.config/polybar/launch-spectrwm.sh bind[showtray] = MOD+Shift+t # QUIRKS # Default quirks, remove with: quirk[class:name] = NONE quirk[Nitrogen:nitrogen] = FLOAT quirk[Lxrandr:lxrandr] = FLOAT quirk[Connman-gtk:connman-gtk] = FLOAT quirk[Nm-connection-editor:nm-connection-editor] = FLOAT quirk[Pavucontrol:pavucontrol] = FLOAT quirk[Lxappearance:lxappearance] = FLOAT quirk[vlc:vlc] = FLOAT quirk[mpv:gl] = FLOAT quirk[Engrampa:engrampa] = FLOAT quirk[Xarchiver:xarchiver] = FLOAT quirk[Ristretto:ristretto] = FLOAT quirk[Gimp:gimp] = FLOAT + ANYWHERE quirk[Gimp-2.10:gimp-2.10] = FLOAT + ANYWHERE quirk[Mozilla VPN:mozillavpn] = FLOAT quirk[VirtualBoxVM:VirtualBoxVM] = FLOAT + ANYWHERE quirk[VirtualBox Machine:VirtualBox Machine] = FLOAT + ANYWHERE quirk[Conky:Conky] = FLOAT # 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