dotfiles/stow_home/spectrwm/.config/spectrwm/spectrwm.conf

245 lines
7.2 KiB
Plaintext

# Initial setup config
workspace_limit = 9
focus_mode = manual
focus_close = previous
focus_close_wrap = 0
focus_default = last
spawn_position = next
workspace_clamp = 1
warp_focus = 0
warp_pointer = 0
# Window decorations & boundaries
border_width = 3
color_focus = rgb:b4/8e/ad
color_unfocus = rgb:2e/34/40
region_padding = 5
tile_gap = 5
boundary_width = 50
# Bar configuration
bar_enabled = 1
bar_border_width = 1
bar_border[1] = rgb:18/18/18
bar_border_unfocus[1] = rgb:18/18/18
bar_color[1] = rgb:2e/34/40,rgb:eb/cb/8b,rgb:a3/be/8c,rgb:bf/61/6a,rgb:b4/8e/ad,rgb:88/c0/d0,rgb:d0/87/70,rgb:3b/42/52,rgb:4c/56/6a
bar_color_selected[1] = rgb:88/c0/d0
bar_font_color[1] = rgb:ec/ef/f4,rgb:2e/34/40,rgb:2e/34/40,rgb:eb/cb/8b,rgb:a3/be/8c,rgb:bf/61/6a,rgb:b4/8e/ad,rgb:88/c0/d0,rgb:d0/87/70,rgb:3b/42/52,rgb:4c/56/6a
bar_font = Blex Mono Nerd Font:pixelsize=15:antialias=true
bar_action = ~/.config/spectrwm/baraction.sh
bar_action_expand = 1
bar_justify = right
bar_format = +|L +@bg=0;+S +L +@bg=0; +@bg=8; +C +@fg=0; +|2R +A +@bg=0;+@fg=0; %a, %b %d %R +<
bar_at_bottom = 0
workspace_indicator = listall,markcurrent
stack_enabled = 1
clock_enabled = 1
clock_format = %a, %b %d %R
iconic_enabled = 1
maximize_hide_bar = 0
window_class_enabled = 1
window_instance_enabled = 1
window_name_enabled = 0
verbose_layout = 0
urgent_enabled = 1
urgent_collapse = 0
# Autorunning applications
autorun = ws[1]:nitrogen --restore
autorun = ws[1]:alacritty
autorun = ws[1]:pipewire
autorun = ws[1]:pipewire-pulse
autorun = ws[1]:volumeicon
autorun = ws[1]:xfce4-power-manager
autorun = ws[1]:syncthing
autorun = ws[1]:nm-applet &
autorun = ws[1]:lxpolkit &
autorun = ws[1]:setxkbmap -layout latam
autorun = ws[1]:picom &
# Workspace names and modkey
layout = ws[1]:4:0:0:0:vertical
name = ws[1]:WEB
name = ws[2]:DEV
name = ws[3]:MAIL
name = ws[4]:FILE
name = ws[5]:CHAT
name = ws[6]:SSH
name = ws[7]:EMACS
name = ws[8]:TERM
name = ws[9]:ETC
# ", " ", " ", " ", " ", " ", " ", " ", " ", " "
modkey = Mod4
# Quirks and custom per program behavior
quirk[firefox:Dialog] = FLOAT + MINIMALBORDER + TRANSSZ
quirk[Image Lounge] = FLOAT
quirk[firefox] = IGNOREPID + TRANSSZ + ANYWHERE
quirk[Thunderbird] = ANYWHERE + IGNORESPAWNWS + IGNOREPID + TRANSSZ
quirk[Claws-mail] = ANYWHERE + IGNORESPAWNWS + IGNOREPID + TRANSSZ
quirk[file-roller] = ANYWHERE + IGNORESPAWNWS + IGNOREPID + TRANSSZ
quirk[Xarchiver] = ANYWHERE + IGNORESPAWNWS + IGNOREPID + TRANSSZ
quirk[Lxappearance] = FLOAT
quirk[Pavucontrol] = FLOAT
quirk[Volumeicon] = FLOAT + ANYWHERE + IGNORESPAWNWS + IGNOREPID
quirk[discord:Discord Updater] = FLOAT + IGNOREPID
quirk[stalonetray] = FLOAT + ANYWHERE
quirk[trayer] = FLOAT + ANYWHERE + NOFOCUSCYCLE + MINIMALBORDER + NOFOCUSONMAP
quirk[Lxpolkit] = FLOAT + IGNOREPID +FOCUSPREV + IGNORESPAWNWS
quirk[Xfce4-power-manager-settings] = FLOAT + ANYWHERE
quirk[Nm-connection-editor] = ANYWHERE + IGNORESPAWNWS + FLOAT
quirk[Pcmanfm] = ANYWHERE + IGNORESPAWNWS
quirk[Thunar] = ANYWHERE + IGNORESPAWNWS
quirk[Mousepad] = ANYWHERE + IGNORESPAWNWS
# General keybindings
bind[] = MOD+x
bind[] = MOD+v
bind[bar_toggle] = MOD+b
bind[bar_toggle_ws] = MOD+Shift+b
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[fullscreen_toggle] = MOD+Shift+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+Control+q
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_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+q
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_all] = MOD+Right
bind[ws_next] = MOD+Up
bind[ws_next_move] = MOD+Shift+Right
bind[ws_prev_all] = MOD+Left
bind[ws_prev] = MOD+Down
bind[ws_prev_move] = MOD+Shift+Left
bind[ws_prior] = MOD+a
# Custom program keybindings
program[Discord] = firefox https://discord.com/
bind[Discord] = MOD+mod1+d
program[term] = alacritty
bind[term] = MOD+Return
program[rofi_run] = rofi -show run
bind[rofi_run] = MOD+r
program[post] = ~/.config/rofi/scripts/qpost.sh
bind[post] = MOD+mod1+p
program[rofi_pass] = rofi-pass
bind[rofi_pass] = MOD+mod1+k
program[tab_switch] = rofi -show window
bind[tab_switch] = Mod1+Tab
program[rofi] = rofi -show drun
bind[rofi] = MOD+p
program[power_menu] = ~/.config/rofi/scripts/power-menu.sh
bind[power_menu] = MOD+Shift+q
program[screenshot] = flameshot gui
bind[screenshot] = MOD+Shift+s
program[firefox] = firefox
bind[firefox] = MOD+Mod1+b
program[pcmanfm] = thunar
bind[pcmanfm] = MOD+Mod1+f
program[pulsemixer] = alacritty -e pulsemixer
bind[pulsemixer] = MOD+mod1+v
program[brightup] = brightnessctl set +15
bind[brightup] = XF86MonBrightnessUp
program[brightdown] = brightnessctl set 15-
bind[brightdown] = XF86MonBrightnessDown
program[lock] = slock
bind[lock] = MOD+Shift+l