set $mod Mod4 font pango:monospace 8 # Use Mouse+$mod to drag floating windows to their wanted position floating_modifier $mod set $tlterm st -c tl-main-term -e tmux -u2 new -As0 # start tl main terminal with $mod+Return bindsym $mod+Return exec $tlterm # always assign my main term to workspace 3 (only on startup) assign [class="tl-main-term"] 3 # start a secondary terminal with $mod+Shift+t bindsym $mod+Shift+t exec i3-sensible-terminal # kill focused window bindsym $mod+Shift+q kill # start dmenu bindsym $mod+d exec dmenu_run # or passmenu bindsym $mod+p exec passmenu --type # change focus bindsym $mod+h focus left bindsym $mod+j focus down bindsym $mod+k focus up bindsym $mod+l focus right # alternatively, you can use the cursor keys: bindsym $mod+Left focus left bindsym $mod+Down focus down bindsym $mod+Up focus up bindsym $mod+Right 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 # alternatively, you can use the cursor keys: bindsym $mod+Shift+Left move left bindsym $mod+Shift+Down move down bindsym $mod+Shift+Up move up bindsym $mod+Shift+Right move right # split in horizontal orientation bindsym $mod+Shift+v split h # split in vertical orientation bindsym $mod+v split v # enter fullscreen mode for the focused container bindsym $mod+f fullscreen toggle # Layout (stacked, tabbed, toggle split) workspace_layout tabbed 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 # focus the parent container bindsym $mod+a focus parent # switch to workspace bindsym $mod+1 workspace 1 bindsym $mod+2 workspace 2 bindsym $mod+3 workspace 3 bindsym $mod+4 workspace 4 bindsym $mod+5 workspace 5 bindsym $mod+6 workspace 6 bindsym $mod+7 workspace 7 bindsym $mod+8 workspace 8 bindsym $mod+9 workspace 9 bindsym $mod+0 workspace 10 # move focused container to workspace bindsym $mod+Shift+1 move container to workspace 1 bindsym $mod+Shift+2 move container to workspace 2 bindsym $mod+Shift+3 move container to workspace 3 bindsym $mod+Shift+4 move container to workspace 4 bindsym $mod+Shift+5 move container to workspace 5 bindsym $mod+Shift+6 move container to workspace 6 bindsym $mod+Shift+7 move container to workspace 7 bindsym $mod+Shift+8 move container to workspace 8 bindsym $mod+Shift+9 move container to workspace 9 bindsym $mod+Shift+0 move container to workspace 10 # rebuild and reload the configuration file bindsym $mod+Shift+c exec "j4-make-config -r -a $HOSTNAME.config archlinux" # restart i3 inplace (preserves your layout/session, can be used to upgrade i3) bindsym $mod+Shift+r restart # exit i3 (logs you out of your X session) bindsym $mod+Shift+e exit # resize window (you can also use the mouse for that) mode "resize" { # These bindings trigger as soon as you enter the resize mode # Pressing left will shrink the window’s width. # Pressing right will grow the window’s width. # Pressing up will shrink the window’s height. # Pressing down will grow the window’s height. bindsym j resize shrink width 10 px or 10 ppt bindsym k resize grow height 10 px or 10 ppt bindsym l resize shrink height 10 px or 10 ppt bindsym semicolon resize grow width 10 px or 10 ppt # same bindings, but for the arrow keys bindsym Left resize shrink width 10 px or 10 ppt bindsym Down resize grow height 10 px or 10 ppt bindsym Up resize shrink height 10 px or 10 ppt bindsym Right resize grow width 10 px or 10 ppt # back to normal: Enter or Escape bindsym Return mode "default" bindsym Escape mode "default" } bindsym $mod+r mode "resize" bindsym $mod+Shift+b border toggle # mod+m to move workspace to next display bindsym $mod+m move workspace to output left # Ctrl+Alt+L to lock the screen # Locker is set in ~/.xinitrc bindsym Mod1+Control+l exec "xautolock -locknow" # Start all windows with no border. Still able to toggle through them with $mod+Shift+B new_window none new_float pixel # Sreen brightness controls (requires light(1) from the AUR) bindsym XF86MonBrightnessUp exec light -A 10 # increase screen brightness bindsym XF86MonBrightnessDown exec light -U 10 # decrease screen brightness # Music Player controls bindsym XF86AudioPlay exec --no-startup-id playerctl play-pause bindsym XF86AudioNext exec --no-startup-id playerctl next bindsym XF86AudioPrev exec --no-startup-id playerctl previous # Scratchpad # $mod+` (backtick) toggles through scratchpad windows bindsym $mod+grave scratchpad show # $mod+Shift+` (backtick) sends currently focussed window to scratchpad bindsym $mod+Shift+grave move scratchpad # Calculator: Launch into scratchpad on start for_window [class="Qalculate-gtk"] floating enable for_window [class="Qalculate-gtk"] move scratchpad exec qalculate-gtk # $mod+c moves calculator out of scratchpad bindsym $mod+c [class="Qalculate-gtk"] scratchpad show # $mod+Alt+c moves calculator back to scratchpad regardless of position/focus bindsym $mod+Mod1+c [class="Qalculate-gtk"] scratchpad show # XF86Tools moves Spotify in and out of scratchpad bindsym XF86Tools [class="Spotify"] scratchpad show