## Mod set $mod Mod4 floating_modifier $mod ## Font font pango:monospace 10 ## Wrapping focus_wrapping no ## Focus window bindsym $mod+h focus left bindsym $mod+j focus down bindsym $mod+k focus up bindsym $mod+l focus right ## Move window bindsym $mod+Shift+h move left bindsym $mod+Shift+j move down bindsym $mod+Shift+k move up bindsym $mod+Shift+l move right ## Resize window bindsym $mod+Control+h resize shrink width 10 px or 10 ppt bindsym $mod+Control+j resize grow height 10 px or 10 ppt bindsym $mod+Control+k resize shrink height 10 px or 10 ppt bindsym $mod+Control+l resize grow width 10 px or 10 ppt ## Focus parent bindsym $mod+a focus parent ## Focus child bindsym $mod+z focus child ## Split bindsym $mod+v split h bindsym $mod+s split v ## Layout bindsym $mod+q layout stacking bindsym $mod+w layout tabbed bindsym $mod+e layout toggle split ## Toggle fullscreen bindsym $mod+f fullscreen toggle ## Toggle floating focus bindsym $mod+Shift+f focus mode_toggle ## Toggle floating bindsym $mod+Control+f floating toggle ## Automatic floating for_window [instance="(^|-)floating(-|$)"] floating enable ## Kill bindsym $mod+Shift+q kill ## Reload bindsym $mod+Shift+r reload ## Restart bindsym $mod+Control+r restart ## Exit # bindsym $mod+Control+e exit ## Terminal bindsym $mod+Return exec --no-startup-id $TERMINAL ## Launcher bindsym $mod+d exec --no-startup-id rofi -show drun ## Rename workspace bindsym $mod+x exec --no-startup-id i3-workspace-rename rofi -dmenu -l 0 -filter ## Switch workspace bindsym $mod+1 workspace number 1 bindsym $mod+2 workspace number 2 bindsym $mod+3 workspace number 3 bindsym $mod+4 workspace number 4 bindsym $mod+5 workspace number 5 bindsym $mod+6 workspace number 6 bindsym $mod+7 workspace number 7 bindsym $mod+8 workspace number 8 bindsym $mod+9 workspace number 9 bindsym $mod+0 workspace number 10 bindsym $mod+Tab workspace next bindsym $mod+Shift+Tab workspace prev bindsym $mod+Control+Tab workspace back_and_forth ## Move to workspace bindsym $mod+Shift+1 move container to workspace number 1 bindsym $mod+Shift+2 move container to workspace number 2 bindsym $mod+Shift+3 move container to workspace number 3 bindsym $mod+Shift+4 move container to workspace number 4 bindsym $mod+Shift+5 move container to workspace number 5 bindsym $mod+Shift+6 move container to workspace number 6 bindsym $mod+Shift+7 move container to workspace number 7 bindsym $mod+Shift+8 move container to workspace number 8 bindsym $mod+Shift+9 move container to workspace number 9 bindsym $mod+Shift+0 move container to workspace number 10 ## Move and switch to workspace bindsym $mod+Control+1 move container to workspace number 1; workspace number 1 bindsym $mod+Control+2 move container to workspace number 2; workspace number 2 bindsym $mod+Control+3 move container to workspace number 3; workspace number 3 bindsym $mod+Control+4 move container to workspace number 4; workspace number 4 bindsym $mod+Control+5 move container to workspace number 5; workspace number 5 bindsym $mod+Control+6 move container to workspace number 6; workspace number 6 bindsym $mod+Control+7 move container to workspace number 7; workspace number 7 bindsym $mod+Control+8 move container to workspace number 8; workspace number 8 bindsym $mod+Control+9 move container to workspace number 9; workspace number 9 bindsym $mod+Control+0 move container to workspace number 10; workspace number 10 ## Mark bindsym $mod+m mode "mark" mode "mark" { bindsym Escape mode "default" bindsym Control+c mode "default" bindsym $mod+a mark --add --toggle a; mode "default" bindsym $mod+b mark --add --toggle b; mode "default" bindsym $mod+c mark --add --toggle c; mode "default" bindsym $mod+d mark --add --toggle d; mode "default" bindsym $mod+e mark --add --toggle e; mode "default" bindsym $mod+f mark --add --toggle f; mode "default" bindsym $mod+g mark --add --toggle g; mode "default" bindsym $mod+h mark --add --toggle h; mode "default" bindsym $mod+i mark --add --toggle i; mode "default" bindsym $mod+j mark --add --toggle j; mode "default" bindsym $mod+k mark --add --toggle k; mode "default" bindsym $mod+l mark --add --toggle l; mode "default" bindsym $mod+m mark --add --toggle m; mode "default" bindsym $mod+n mark --add --toggle n; mode "default" bindsym $mod+o mark --add --toggle o; mode "default" bindsym $mod+p mark --add --toggle p; mode "default" bindsym $mod+q mark --add --toggle q; mode "default" bindsym $mod+r mark --add --toggle r; mode "default" bindsym $mod+s mark --add --toggle s; mode "default" bindsym $mod+t mark --add --toggle t; mode "default" bindsym $mod+u mark --add --toggle u; mode "default" bindsym $mod+v mark --add --toggle v; mode "default" bindsym $mod+w mark --add --toggle w; mode "default" bindsym $mod+x mark --add --toggle x; mode "default" bindsym $mod+y mark --add --toggle y; mode "default" bindsym $mod+z mark --add --toggle z; mode "default" bindsym $mod+1 mark --add --toggle 1; mode "default" bindsym $mod+2 mark --add --toggle 2; mode "default" bindsym $mod+3 mark --add --toggle 3; mode "default" bindsym $mod+4 mark --add --toggle 4; mode "default" bindsym $mod+5 mark --add --toggle 5; mode "default" bindsym $mod+6 mark --add --toggle 6; mode "default" bindsym $mod+7 mark --add --toggle 7; mode "default" bindsym $mod+8 mark --add --toggle 8; mode "default" bindsym $mod+9 mark --add --toggle 9; mode "default" bindsym $mod+0 mark --add --toggle 0; mode "default" bindsym a [con_mark="a"] focus; mode "default" bindsym b [con_mark="b"] focus; mode "default" bindsym c [con_mark="c"] focus; mode "default" bindsym d [con_mark="d"] focus; mode "default" bindsym e [con_mark="e"] focus; mode "default" bindsym f [con_mark="f"] focus; mode "default" bindsym g [con_mark="g"] focus; mode "default" bindsym h [con_mark="h"] focus; mode "default" bindsym i [con_mark="i"] focus; mode "default" bindsym j [con_mark="j"] focus; mode "default" bindsym k [con_mark="k"] focus; mode "default" bindsym l [con_mark="l"] focus; mode "default" bindsym m [con_mark="m"] focus; mode "default" bindsym n [con_mark="n"] focus; mode "default" bindsym o [con_mark="o"] focus; mode "default" bindsym p [con_mark="p"] focus; mode "default" bindsym q [con_mark="q"] focus; mode "default" bindsym r [con_mark="r"] focus; mode "default" bindsym s [con_mark="s"] focus; mode "default" bindsym t [con_mark="t"] focus; mode "default" bindsym u [con_mark="u"] focus; mode "default" bindsym v [con_mark="v"] focus; mode "default" bindsym w [con_mark="w"] focus; mode "default" bindsym x [con_mark="x"] focus; mode "default" bindsym y [con_mark="y"] focus; mode "default" bindsym z [con_mark="z"] focus; mode "default" bindsym 1 [con_mark="1"] focus; mode "default" bindsym 2 [con_mark="2"] focus; mode "default" bindsym 3 [con_mark="3"] focus; mode "default" bindsym 4 [con_mark="4"] focus; mode "default" bindsym 5 [con_mark="5"] focus; mode "default" bindsym 6 [con_mark="6"] focus; mode "default" bindsym 7 [con_mark="7"] focus; mode "default" bindsym 8 [con_mark="8"] focus; mode "default" bindsym 9 [con_mark="9"] focus; mode "default" bindsym 0 [con_mark="0"] focus; mode "default" } ## Floating for_window [title="^xzoom x[0-9]+$"] floating enable ## Borders default_border pixel 0 default_floating_border pixel 0 for_window [class=".*"] border pixel 0 ## Gaps gaps inner 10 gaps outer -5 # gaps top 21 # gaps bottom 21 ## DEBUG # bindsym $mod+Shift+w border pixel 1; gaps inner all set 0; gaps outer all set 0; # bindsym $mod+Shift+e border pixel 0; gaps inner all set 10; gaps outer all set -5; bindsym $mod+Shift+w border pixel 1 bindsym $mod+Shift+e border pixel 0 ## Colors # https://notes.rcrnstn.net/colors.md # RGBA # TODO: `set_from_resource` (with fallback)? # hex(round(0xff*0.75)) = hex(floor(0xff*0.75)) = '0xbf' # hex(round(0xff*0.75*0.90)) = hex(floor(0xff*0.75*0.90)) = '0xac' set $bgnone #00000000 set $bginactive #000000bf set $bgactive #000000ac # OKLCH # Lightness: 0.0, 0.3740, 0.5609, 0.7479 # Chroma 0.0, 0.0645, 0.1289 # Hue: 29.23, 89.23, 149.23, 209.23, 269.23, 329.23 set $bgblack #000000ff set $bgred #5e332cff set $bggreen #264a2eff set $bgyellow #4e3f12ff set $bgblue #333f63ff set $bgmagenta #543451ff set $bgcyan #004a53ff set $bgwhite #414141ff set $fgblack #757575ff set $fgred #f48c7dff set $fggreen #6ec480ff set $fgyellow #cea93fff set $fgblue #8ca9ffff set $fgmagenta #da8fd5ff set $fgcyan #01c3d9ff set $fgwhite #adadadff # Unkown (Lch_uv?) # set $bgblack #000000ff # set $bgred #553535ff # set $bggreen #26442aff # set $bgyellow #453d1eff # set $bgblue #323e55ff # set $bgmagenta #51344eff # set $bgcyan #044545ff # set $bgwhite #3e3e3eff # set $fgblack #797979ff # set $fgred #ffa6a7ff # set $fggreen #7bd188ff # set $fgyellow #d3be67ff # set $fgblue #9dbfffff # set $fgmagenta #f3a3ecff # set $fgcyan #00d3d4ff # set $fgwhite #bebebeff # border background text indicator child_border client.focused $fgwhite $bginactive $fgwhite $fgblack $fgwhite client.focused_inactive $fgblack $bginactive $fgwhite $fgblack $fgblack client.unfocused $fgblack $bginactive $fgblack $fgblack $fgblack client.placeholder $fgblack $bginactive $fgblack $fgblack $fgblack client.urgent $fgblack $bginactive $fgred $fgblack $fgblack client.background $bgnone