# 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 bindsym $mod+Shift+Space floating toggle # change focus between tiling / floating windows bindsym $mod+Space 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 rofi -show drun -sorting fzf -matching fuzzy # window switcher bindsym $mod+Tab exec --no-startup-id rofi -show window -sorting fzf -matching fuzzy # keyboard config exec_always "setxkbmap -model pc105 -layout us,se -variant , -option altwin:swap_lalt_lwin -option caps:swapescape -option grp:win_space_toggle" focus_follows_mouse no default_border pixel 3 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 bar { id main font pango:Source Code Pro SemiBold, FontAwesome 10 position top # status_command .cargo/bin/i3status-simple status_command i3status tray_output none colors { # class border background text focused_workspace $active_color $active_color #ffffff active_workspace #333333 #333333 #ffffff inactive_workspace #333333 #333333 #888888 urgent_workspace #ef4444 #ef4444 #ffffff separator #666666 background #222222 statusline #dddddd } } # 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 # Start applications exec --no-startup-id firefox exec --no-startup-id code exec --no-startup-id discord exec --no-startup-id slack exec --no-startup-id signal exec --no-startup-id spotify