# This file has been auto-generated by i3-config-wizard(1). # It will not be overwritten, so edit it as you like. # # Should you change your keyboard layout some time, delete # this file and re-run i3-config-wizard(1). # # i3 config file (v4) # # Please see https://i3wm.org/docs/userguide.html for a complete reference! # {{{ FONT }}} font pango:Hack 8 # 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:DejaVu Sans Mono 8 # Before i3 v4.8, we used to recommend this one as the default: # font -misc-fixed-medium-r-normal--13-120-75-75-C-70-iso10646-1 # The font above is very space-efficient, that is, it looks good, sharp and # clear in small sizes. However, its unicode glyph coverage is limited, the old # X core fonts rendering does not support right-to-left and this being a bitmap # font, it doesn’t scale on retina/hidpi displays. # {{{ USBGUARD APPLET }}} for_window [class="usbguard-applet-qt"] floating enable for_window [class="usbguard-applet-qt"] border normal 2 # {{{ DROPDOWN TERMINAL }}} for_window [instance="dropdown"] floating enable for_window [instance="dropdown"] resize set 800 600 for_window [instance="dropdown"] move scratchpad for_window [instance="dropdown"] border pixel 1 exec --no-startup-id $TERMINAL -name dropdown # Use Mouse+$mod to drag floating windows to their wanted position floating_modifier $mod # {{{ KEYBINDINGS }}} # start a terminal bindsym $mod+Return exec $TERMINAL bindsym $mod+Shift+Return exec $TERMINAL -name forced_term # kill focused window bindsym $mod+Shift+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 # Change split orientation bindsym $mod+v split v bindsym $mod+Shift+v split h # 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+Ctrl+space floating toggle # change focus between tiling / floating windows bindsym $mod+space focus mode_toggle # focus the parent container bindsym $mod+a focus parent # focus the child container bindsym $mod+Shift+a focus child # switch to workspace bindsym $mod+1 workspace $ws1 bindsym $mod+2 workspace $ws2 bindsym $mod+3 workspace $ws3 bindsym $mod+4 workspace $ws4 bindsym $mod+5 workspace $ws5 bindsym $mod+6 workspace $ws6 bindsym $mod+7 workspace $ws7 bindsym $mod+8 workspace $ws8 bindsym $mod+9 workspace $ws9 bindsym $mod+0 workspace $ws10 # move focused container to workspace bindsym $mod+Shift+1 move container to workspace $ws1 bindsym $mod+Shift+2 move container to workspace $ws2 bindsym $mod+Shift+3 move container to workspace $ws3 bindsym $mod+Shift+4 move container to workspace $ws4 bindsym $mod+Shift+5 move container to workspace $ws5 bindsym $mod+Shift+6 move container to workspace $ws6 bindsym $mod+Shift+7 move container to workspace $ws7 bindsym $mod+Shift+8 move container to workspace $ws8 bindsym $mod+Shift+9 move container to workspace $ws9 bindsym $mod+Shift+0 move container to workspace $ws10 # 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 i3 (logs you out of your X session) bindsym $mod+Shift+e exec "i3-nagbar -t warning -m 'You pressed the exit shortcut. Do you really want to exit i3? This will end your X session.' -b 'Yes, exit i3' 'i3-msg exit'" # BIND DROPDOWN TERMINAL TO F1 bindsym F1 [instance="dropdown"] scratchpad show; [instance="dropdown"] move position center # Ranger Terminal bindsym $mod+F2 exec "urxvt -name ranger -e ranger" # Urgent window bindsym $mod+x [urgent=latest] focus # MEDIA KEYS bindsym XF86AudioRaiseVolume exec --no-startup-id amixer set Master 1%+ bindsym XF86AudioLowerVolume exec --no-startup-id amixer set Master 1%- bindsym Ctrl+XF86AudioRaiseVolume exec --no-startup-id amixer set Master 10%+ bindsym Ctrl+XF86AudioLowerVolume exec --no-startup-id amixer set Master 10%- bindsym XF86AudioMute exec --no-startup-id amixer set Master toggle bindsym XF86AudioPlay exec --no-startup-id mpc toggle bindsym XF86AudioNext exec --no-startup-id mpc next bindsym XF86AudioPrev exec --no-startup-id mpc prev bindsym XF86AudioStop exec --no-startup-id mpc stop # Screensaver || ThinkVantage bindsym XF86ScreenSaver exec xautolock -locknow bindsym XF86Battery exec xautolock -locknow bindsym XF86Launch1 exec "xautolock -locknow; sync; systemctl suspend-then-hibernate" # Lock screen bindsym $mod+Ctrl+l exec "xautolock -locknow; sleep 1; xset dpms force off" # Screenshot bindsym Print exec ~/.config/i3/scripts/screenshot.sh # {{{ RESIZE MODE }}} mode "resize" { # These bindings trigger as soon as you enter the resize mode bindsym h resize grow width 10 px or 10 ppt bindsym j resize grow height 10 px or 10 ppt bindsym k resize shrink height 10 px or 10 ppt bindsym l resize shrink width 10 px or 10 ppt # back to normal: Enter or Escape or $mod+r bindsym Return mode "default" bindsym Escape mode "default" bindsym $mod+r mode "default" } bindsym $mod+r mode "resize" # {{{ GAPS MODE }}} mode "gaps" { bindsym h gaps outer all plus 5 bindsym j gaps inner all plus 5 bindsym k gaps inner all minus 5 bindsym l gaps outer all minus 5 bindsym i gaps inner all set $gap_inner bindsym o gaps outer all set $gap_outer bindsym u gaps inner all set 0 bindsym p gaps outer all set 0 bindsym Shift+h gaps outer current plus 5 bindsym Shift+j gaps inner current plus 5 bindsym Shift+k gaps inner current minus 5 bindsym Shift+l gaps outer current minus 5 bindsym Shift+i gaps inner current set $gap_inner bindsym Shift+o gaps outer current set $gap_outer bindsym Shift+u gaps inner current set 0 bindsym Shift+p gaps outer current set 0 bindsym Return mode "default" bindsym Escape mode "default" } bindsym $mod+g mode "gaps" # {{{ GAPS }}} gaps inner $gap_inner gaps outer $gap_outer # {{{ NO BORDERS }}} default_border none default_floating_border normal