############################################################################### # VARIABLES # ############################################################################### #!nobracket set $mod Mod4 # Super key set $term alacritty set $mv 20px # amount to resize windows (also used for how far to set $mvppt 2ppt # move floating windows with mod+shift+hjkl) font pango:SauceCodePro Nerd Font 10 floating_modifier $mod focus_follows_mouse no force_focus_wrapping yes ############################################################################### # KEYBINDS # ############################################################################### group "default" { # launching bindsym $mod+backslash exec --no-startup-id $term bindsym $mod{,+Shift}+d exec --no-startup-id rofi \ -show {drun,run} # window management bindsym $mod{2|,+Shift}+{1|h,j,k,l,\ # focused window manipulation, Left,Down,Up,Right} {2|focus,move} \ # vikeys and arrow key support {1|left,down,up,right}{2|, $mv} bindsym $mod+{equal,minus} split {h,v} # horizontal and vertical split bindsym $mod+f fullscreen toggle # fullscreen bindsym $mod+{q,w,e} \ # change container layout layout {stacking,tabbed,toggle split} bindsym $mod{,+Shift}+semicolon \ # floating toggle and focus {focus mode_,floating }toggle bindsym $mod+{a,s} focus {parent,child} # focus parent/child bindsym $mod+Shift+q kill # workspaces bindsym $mod{2|,+Shift}+{1|1..9,0} \ {2|,move container to }\ workspace number {1|1..10} # reload/exit # restarting/exiting bindsym $mod+Shift+c \ # run ppi3 and reload config exec ppi3 ~/.config/i3/config.ppi3 ~/.config/i3/config \ && i3-msg reload bindsym $mod+Shift+r restart bindsym $mod+Shift+e exit } # dual-monitor setup bindsym $mod{,+Shift}+slash {focus,move} \ # other monitor output right bindsym $mod+Shift+equal {{?\\}} # shoot all workspaces over to my workspace number {2..10}; move \ # large monitor except 1 workspace to output HDMI2; {{?\\}} nop bindsym $mod+period move workspace to \ # toggle workspace between monitors output left # media keys bindsym XF86Audio{Raise,Lower}Volume exec --no-startup-id pactl set-sink-volume 0 {+,-}5% bindsym XF86AudioMute exec --no-startup-id pactl set-sink-mute 0 toggle bindsym XF86MonBrightness{Up,Down} exec --no-startup-id xbacklight -{inc,dec} 10 ############################################################################### # MODES # ############################################################################### mode "resize" { bindsym {h,j,k,l,Left,Down,Up,Right} resize \ {shrink width,grow height,shrink height,grow width} $mv or $mvppt bindsym Shift+{h,j,k,l,Left,Down,Up,Right} resize \ {shrink width,grow height,shrink height,grow width} 1px or 1ppt bindsym {Return,Escape,space,$mod+r} mode "default" } bindsym $mod+r mode "resize" ############################################################################### # COLORS AND APPEARANCE # ############################################################################### gaps inner 12 gaps outer 0 smart_gaps on default_border pixel 2 default_floating_border none hide_edge_borders both set_from_resource $bg color0 set_from_resource $bg-alt color14 set_from_resource $fg color15 set_from_resource $fg-alt color2 set_from_resource $hl color13 # class #border client.focused $fg-alt $bg $hl $fg-alt $hl client.focused_inactive $fg-alt $bg $fg $fg-alt $fg-alt client.unfocused $fg-alt $bg $fg $fg-alt $fg-alt client.urgent $fg-alt $bg $fg $fg-alt $fg-alt client.placeholder $fg-alt $bg $fg $fg-alt $fg-alt client.background $fg-alt $bg $fg $fg-alt $fg-alt ############################################################################### # STARTUP # ############################################################################### exec --no-startup-id systemd-notify --ready