# This font is widely installed, provides lots of unicode glyphs, right-to-left # text rendering and scalability on retina/hidpi displays (thanks to pango). font pango:$font $font_size # Colors # class border backgr. text indicator child_border client.focused #1297e0 #0057a0 #ffffff #ff6ca8 #0057a0 client.focused_inactive #0067b0 #102770 #ffffff #102770 #102770 client.unfocused #4c5a69 #1c2a39 #9caab9 #1c2a39 #1c2a39 client.urgent #FF8C7C #E74C3C #ffffff #E74C3C #E74C3C client.background #ab69c6 # Use Mouse+$mod to drag floating windows to their wanted position floating_modifier $mod # start a browser bindsym $mod+b exec $browser # start a terminal bindsym $mod+Return exec $terminal # kill focused window bindsym $mod+q kill # start dmenu (a program launcher) bindsym $mod+Control+x exec dmenu_run -i -fn '$font-$dmenu_font_size' # There also is the (new) i3-dmenu-desktop which only displays applications # shipping a .desktop file. It is a wrapper around dmenu, so you need that # installed. bindsym $mod+x exec --no-startup-id i3-dmenu-desktop --dmenu="dmenu -i -fn '$font-$dmenu_font_size'" # 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, vim keys bindsym $mod+Shift+h move left bindsym $mod+Shift+j move down bindsym $mod+Shift+k move up bindsym $mod+Shift+l move right # move focused window, 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 # toggle split orientation bindsym $mod+z split toggle bindsym $mod+Shift+w split toggle bindsym $mod+v split toggle # enter fullscreen mode for the focused container bindsym $mod+f fullscreen toggle # change container layout (stacked, tabbed, toggle split) bindsym $mod+s layout stacking bindsym $mod+w layout tabbed bindsym $mod+e layout toggle split # toggle tiling / floating bindsym $mod+space floating toggle # change focus between tiling / floating windows bindsym $mod+Tab focus mode_toggle # focus the parent container bindsym $mod+Control+a focus parent # Make the currently focused window a scratchpad bindsym $mod+n move scratchpad # Show the first scratchpad window bindsym $mod+Control+n scratchpad show # Restore the first scratchpad window bindsym $mod+m scratchpad show, floating toggle # switch previous/next workspace bindsym $mod+a workspace prev bindsym $mod+d workspace next bindsym $mod+Control+Left workspace prev bindsym $mod+Control+Right workspace next bindsym $mod+Control+h workspace prev bindsym $mod+Control+l workspace next # Define names for default workspaces for which we configure key bindings later on. # We use variables to avoid repeating the names in multiple places. 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" set $ws11 "11" set $ws12 "12" set $ws13 "13" set $ws14 "14" set $ws15 "15" set $ws16 "16" set $ws17 "17" set $ws18 "18" set $ws19 "19" set $ws20 "20" set $ws21 "21" set $ws22 "22" # 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 bindsym $mod+F1 workspace number $ws11 bindsym $mod+F2 workspace number $ws12 bindsym $mod+F3 workspace number $ws13 bindsym $mod+F4 workspace number $ws14 bindsym $mod+F5 workspace number $ws15 bindsym $mod+F6 workspace number $ws16 bindsym $mod+F7 workspace number $ws17 bindsym $mod+F8 workspace number $ws18 bindsym $mod+F9 workspace number $ws19 bindsym $mod+F10 workspace number $ws20 bindsym $mod+F11 workspace number $ws21 bindsym $mod+F12 workspace number $ws22 # 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 bindsym $mod+Shift+F1 move container to workspace number $ws11 bindsym $mod+Shift+F2 move container to workspace number $ws12 bindsym $mod+Shift+F3 move container to workspace number $ws13 bindsym $mod+Shift+F4 move container to workspace number $ws14 bindsym $mod+Shift+F5 move container to workspace number $ws15 bindsym $mod+Shift+F6 move container to workspace number $ws16 bindsym $mod+Shift+F7 move container to workspace number $ws17 bindsym $mod+Shift+F8 move container to workspace number $ws18 bindsym $mod+Shift+F9 move container to workspace number $ws19 bindsym $mod+Shift+F10 move container to workspace number $ws20 bindsym $mod+Shift+F11 move container to workspace number $ws21 bindsym $mod+Shift+F12 move container to workspace number $ws22 # reload the configuration file bindsym $mod+Shift+c reload # restart i3 inplace (preserves your layout/session, can be used to upgrade i3) bindsym $mod+Shift+r restart # Exit control bindsym $mod+Shift+e exec --no-startup-id dmenuexit # Resize window bindsym $mod+y resize shrink width 5 px or 5 ppt bindsym $mod+u resize grow height 5 px or 5 ppt bindsym $mod+i resize shrink height 5 px or 5 ppt bindsym $mod+o resize grow width 5 px or 5 ppt # Start i3bar to display a workspace bar (plus the system information i3status # finds out, if available) bar { status_command i3status tray_output primary }