# set left alt to mod key set $mod Mod4 # drag windows with left alt + mouse floating_modifier $mod font pango:Source Code Pro SemiBold 10 # restart i3 bindsym $mod+Shift+r restart # start a terminal bindsym $mod+Return exec alacritty # kill focused window bindsym $mod+q kill # change focus bindsym $mod+h focus left bindsym $mod+j focus down bindsym $mod+k focus up bindsym $mod+l focus right # move focused 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 # horizontal split mode bindsym $mod+z split h # vertical split mode bindsym $mod+v split v # fullscreen toggle of focused window bindsym $mod+f fullscreen toggle # change container layout bindsym $mod+s layout stacking bindsym $mod+w layout tabbed bindsym $mod+e layout toggle split # toggle tiling / floating bindcode $mod+Shift+65 floating toggle # change focus between tiling / floating windows bindcode $mod+65 focus mode_toggle # define names for default workspaces so that they can be referenced later set $ws1 "1" set $ws2 "2" set $ws3 "3" set $ws4 "4" set $ws5 "5" set $ws6 "6" set $ws7 "7" set $ws8 "8" set $ws9 "9" set $ws10 "10" # switch to workspace bindsym $mod+1 workspace number $ws1 bindsym $mod+2 workspace number $ws2 bindsym $mod+3 workspace number $ws3 bindsym $mod+4 workspace number $ws4 bindsym $mod+5 workspace number $ws5 bindsym $mod+6 workspace number $ws6 bindsym $mod+7 workspace number $ws7 bindsym $mod+8 workspace number $ws8 bindsym $mod+9 workspace number $ws9 bindsym $mod+0 workspace number $ws10 # move focused container to workspace bindsym $mod+Shift+1 move container to workspace number $ws1 bindsym $mod+Shift+2 move container to workspace number $ws2 bindsym $mod+Shift+3 move container to workspace number $ws3 bindsym $mod+Shift+4 move container to workspace number $ws4 bindsym $mod+Shift+5 move container to workspace number $ws5 bindsym $mod+Shift+6 move container to workspace number $ws6 bindsym $mod+Shift+7 move container to workspace number $ws7 bindsym $mod+Shift+8 move container to workspace number $ws8 bindsym $mod+Shift+9 move container to workspace number $ws9 bindsym $mod+Shift+0 move container to workspace number $ws10 # resize window with keyboard mode "resize" { # decrease width bindsym h resize shrink width 1 px or 1 ppt bindsym $mod+h resize shrink width 1 px or 4 ppt # increase height bindsym j resize grow height 1 px or 1 ppt bindsym $mod+j resize grow height 1 px or 4 ppt # decrease height bindsym k resize shrink height 1 px or 1 ppt bindsym $mod+k resize shrink height 1 px or 4 ppt # increase width bindsym l resize grow width 1 px or 1 ppt bindsym $mod+l resize grow width 1 px or 4 ppt # back to normal bindsym Escape mode "default" bindsym $mod+r mode "default" } bindsym $mod+r mode "resize" # application launcher bindsym $mod+d exec --no-startup-id ~/.config/polybar/docky/scripts/launcher.sh # window switcher bindsym $mod+Tab exec --no-startup-id ~/.config/polybar/docky/scripts/window-switcher.sh exec_always --no-startup-id ~/.config/polybar/launch.sh # keyboard config exec_always --no-startup-id "setxkbmap -option altwin:swap_lalt_lwin -option caps:swapescape" focus_follows_mouse no default_border pixel 3 for_window [all] border pixel 3 # workaround for https://github.com/i3/i3/issues/5149 default_floating_border none mouse_warping none title_align center # switch to workspace with urgent window automatically for_window [urgent=latest] focus set $active_color "#47a7a6" set $inactive_color "#0c4443" # class border background text indicator child_border client.focused #000000 #285577 #ffffff $active_color $active_color client.focused_inactive #000000 #5f676a #ffffff $inactive_color $inactive_color client.unfocused #000000 #222222 #888888 $inactive_color #0c4443 client.urgent #000000 #900000 #ffffff $inactive_color #ff0000 client.placeholder #000000 #0c0c0c #ffffff $inactive_color #000000 client.background #ffffff bindsym $mod+Shift+s exec flameshot gui for_window [class="code"] move container to workspace $ws2 for_window [class="discord"] move container to workspace $ws9 for_window [class="slack"] move container to workspace $ws9 for_window [class="signal"] move container to workspace $ws9 for_window [class="spotify"] move container to workspace $ws10 # screen brightness controls bindsym XF86MonBrightnessUp exec light -A 5 # increase screen brightness bindsym XF86MonBrightnessDown exec light -U 5 # decrease screen brightness # media player controls bindsym XF86AudioPlay exec playerctl play-pause bindsym XF86AudioNext exec playerctl next bindsym XF86AudioPrev exec playerctl previous # volume controls bindsym XF86AudioRaiseVolume exec pamixer -i 4 bindsym XF86AudioLowerVolume exec pamixer -d 4 bindsym XF86AudioMute exec pamixer -t # Set background image exec --no-startup-id feh --bg-scale $HOME/.wallpapers/simplistic-mountain.jpg # Update lock screen bg cache exec --no-startup-id betterlockscreen -u $HOME/.wallpapers/blue-whale.png # Lock after 5 minutes exec --no-startup-id xset s 300 600 exec --no-startup-id xss-lock $HOME/.config/i3/scripts/lock.sh exec --no-startup-id fcitx5 -d # Start applications exec --no-startup-id discord exec --no-startup-id slack exec --no-startup-id signal exec --no-startup-id spotify exec --no-startup-id nextcloud --background