dotfiles/.config/spectrwm/spectrwm.conf
2024-12-23 11:45:57 +01:00

295 lines
8.2 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# __
# _________ ___ _____/ /_______ ______ ___
# / ___/ __ \/ _ \/ ___/ __/ ___/ | /| / / __ `__ \
# (__ ) /_/ / __/ /__/ /_/ / | |/ |/ / / / / / /
# /____/ .___/\___/\___/\__/_/ |__/|__/_/ /_/ /_/
# /_/ C-O-D-E-V-O-I-D C-O-N-F-I-G
#
# +--------------------------------------------------
# | WINDOW DECORATION
# +--------------------------------------------------
border_width = 1
tile_gap = 16
region_padding = 16
color_focus = rgb:AF/5F/00
color_focus_maximized = rgb:AF/5F/00
color_focus_maximized_free = rgb:AF/5F/00
color_focus_free = rgb:AF/5F/00
color_unfocus = rgb:44/44/44
color_unfocus_free = rgb:55/35/00
disable_border = 0
maximize_hide_bar = 0
# +--------------------------------------------------
# | BAR SETTINGS
# +--------------------------------------------------
bar_enabled = 1
bar_border_width = 2
bar_border = rgb:18/18/18
bar_border_unfocus = rgb:18/18/18
bar_border_free = rgb:18/18/18
bar_color = rgb:18/18/18,rgb:90/40/00,rgb:18/18/18,rgb:58/00/00,rgb:45/20/00
bar_color_free = rgb:18/18/18,rgb:90/40/00,rgb:18/18/18,rgb:58/00/00,rgb:45/20/00
bar_color_selected = rgb:18/24/28
bar_font_color = rgb:99/99/99
bar_font_color_free = rgb:99/99/99
bar_font_color_selected = rgb:ff/ff/ff
bar_font = Terminess Nerd Font:size=17:style=bold
bar_font_pua = JetBrainsMonoNerdFont:size=12
bar_action = cbar
bar_action_expand = 0
bar_at_bottom = 0
# +< Pad with a space
# +A Output of the external script
# +C Window class (from WM_CLASS)
# +D Workspace name
# +F Focus status indicator
# +I Workspace index
# +L Workspace list indicator
# +M Number of iconic (minimized) windows in workspace
# +N Screen number
# +P Window class and instance separated by a colon
# +R Region index
# +S Stacking algorithm
# +T Window instance (from WM_CLASS)
# +U Urgency hint
# +V Program version
# +w Number of windows in workspace
# +W Window name (from _NET_WM_NAME/WM_NAME)
# ++ A literal +
# +@ Prefix for text markup sequences
bar_format = +S +@bg=2;+L+@bg=0; i:+M +W +|R +A
# +--------------------------------------------------
# | WORKSPACE LAYOUT
# +--------------------------------------------------
workspace_indicator = listactive,listcurrent,listurgent,listempty,markactive,markcurrent,markurgent,markempty,printnames,noindex
workspace_mark_current = '+@bg=1; '
workspace_mark_current_suffix = ' +@bg=2;'
workspace_mark_active = '+@bg=4; '
workspace_mark_active_suffix = ' +@bg=2;'
workspace_mark_urgent = '+@bg=3; '
workspace_mark_urgent_suffix = ' +@bg=2;'
workspace_mark_empty = '+@bg=2; '
workspace_mark_empty_suffix = ' +@bg=2;'
# hack to fix https://github.com/conformal/spectrwm/issues/547
# can be removed with 3.5.2
name = ws[1]:1
name = ws[2]:2
name = ws[3]:3
name = ws[4]:4
name = ws[5]:5
name = ws[6]:6
name = ws[7]:7
name = ws[8]:8
name = ws[9]:9
name = ws[10]:0
workspace_limit = 10
stack_mark_horizontal = 'v'
stack_mark_horizontal_flip = '^'
stack_mark_vertical = '>'
stack_mark_vertical_flip = '<'
stack_mark_max = 'F'
stack_mark_floating = '~'
verbose_layout = 0
urgent_enabled = 1
# +--------------------------------------------------
# | FOCUS BEHAVIOR
# +--------------------------------------------------
workspace_clamp = 1
workspace_autorotate = 1
warp_focus = 0
warp_pointer = 0
cycle_visible = 0
focus_close_wrap = 1
focus_close = prior
focus_mode = default
click_to_raise = 1
# +--------------------------------------------------
# | QUIRKS
# +--------------------------------------------------
quirk[mpv] = FLOAT + ANYWHERE + FOCUSPREV
quirk[hl] = FLOAT + ANYWHERE + FOCUSPREV
quirk[hashlink] = FLOAT + ANYWHERE + FOCUSPREV
quirk[scratchpad] = FLOAT + ANYWHERE + FOCUSPREV + ICONIFY
quirk[XConsole:xconsole] = FLOAT + ANYWHERE + NOFOCUSCYCLE + NOFOCUSONMAP + ICONIFY
quirk[Xmessage:xmessage] = FLOAT + ANYWHERE + FOCUSONMAP_SINGLE
# +--------------------------------------------------
# | RESET ALL KEYBOARD MAPPINGS
# +--------------------------------------------------
keyboard_mapping = /dev/null
# +--------------------------------------------------
# | REGISTERED PROGRAMS
# +--------------------------------------------------
program[sterm] = sterm
bind[sterm] = MOD+Return
program[bterm] = bterm
bind[bterm] = MOD+Shift+Return
program[hterm] = hterm
bind[hterm] = MOD+Control+Return
program[mixer] = texec cmixer
bind[mixer] = MOD+Shift+M
# +--------------------------------------------------
# | DMENU BINDINGS
# +--------------------------------------------------
program[exec] = dexec
bind[exec] = MOD+D
program[texec] = dexec_term
bind[texec] = MOD+Shift+D
program[browser] = dexec_browser
bind[browser] = MOD+Shift+F
program[pass] = dexec_pass
bind[pass] = MOD+Shift+P
program[pim] = dexec_pim
bind[pim] = MOD+P
program[vpn] = dexec_vpn
bind[vpn] = MOD+V
program[ssh] = dexec_ssh
bind[ssh] = MOD+S
program[ssh] = dexec_man
bind[ssh] = MOD+Shift+M
program[apps] = dexec_apps
bind[apps] = MOD+A
# OTHERS
program[scratchpad] = scratchpad
bind[scratchpad] = MOD+minus
program[xconsole] = xcons
bind[xconsole] = MOD+Shift+minus
program[screenshot_wind] = sshot
bind[screenshot_wind] = MOD+Super_L
# program[xcolor] = xcolorcopy
# bind[xcolor] = MOD+Super_L
#program[xmenu] = myxmenu
#bind[xmenu] = MOD+Super_L
program[lock] = /usr/bin/false
# autorun = ws[10]:xcons
# +--------------------------------------------------
# | KEYBOARD MAPPING
# +--------------------------------------------------
# BAR
bind[bar_toggle] = MOD+b
bind[bar_toggle_ws] = MOD+Shift+b
# LAYOUT
bind[cycle_layout] = MOD+l
bind[flip_layout] = MOD+Shift+l
bind[float_toggle] = MOD+space
bind[free_toggle] = MOD+Shift+space
# FOCUS
bind[focus_main] = MOD+m
bind[focus_next] = MOD+Down
#bind[focus_next] = MOD+Tab
bind[focus_prev] = MOD+Up
bind[focus_prev] = MOD+Shift+Tab
bind[focus_urgent] = MOD+u
#bind[focus_free] = Super_L
# ICONFIY / HIDE
bind[iconify] = MOD+i
bind[uniconify] = MOD+Shift+i
# MASTER
bind[master_add] = MOD+comma
bind[master_del] = MOD+period
bind[master_shrink] = MOD+Left
bind[master_grow] = MOD+Right
bind[stack_dec] = MOD+Shift+comma
bind[stack_inc] = MOD+Shift+period
#bind[stack_reset] = MOD+Shift+space
bind[maximize_toggle] = MOD+F
bind[fullscreen_toggle] = MOD+Control+F
# WS NAVIGATION
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_empty] = MOD+e
bind[ws_next_all] = MOD+Page_Down
bind[ws_prev_all] = MOD+Page_Up
bind[rg_next] = MOD+dead_circumflex
bind[ws_prior] = MOD+Tab
# MOVE WINDOW TO OTHER WS
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[ws_empty_move] = MOD+Shift+e
bind[ws_next_move] = MOD+Shift+Page_Down
bind[ws_prev_move] = MOD+Shift+Page_Up
bind[rg_move_next] = MOD+Shift+dead_circumflex
# RENAME WS
bind[name_workspace] = MOD+r
# MOVE WINDOW WITHIN WS
bind[swap_main] = MOD+M
bind[swap_next] = MOD+Shift+Down
bind[swap_prev] = MOD+Shift+Up
# DELETE WINDOW
bind[wind_del] = MOD+q
bind[wind_kill] = MOD+Shift+q
# RESTART WM
bind[restart] = MOD+Shift+r