# i3wm configured for vim-like keybindings # ----------------------------------------------------------------------------- # Global settings # ----------------------------------------------------------------------------- # set modifier key to super (windows logo) set $mod Mod4 # use mod + mouse to drag windows floating_modifier $mod # default font font pango: Terminus, Icons 8 # disable window titles new_window pixel 2 hide_edge_borders both # enable floating for pop-up windows for_window [window_role="pop-up"] floating enable for_window [window_role="task_dialog"] floating enable # ----------------------------------------------------------------------------- # Application keybindings # ----------------------------------------------------------------------------- # start a terminal bindsym $mod+Return exec i3-sensible-terminal # lock with xscreensaver bindsym $mod+x exec xscreensaver-command --lock # kill focused window bindsym $mod+Shift+q kill # start dmenu (a program launcher) bindsym $mod+d exec dmenu_run bindsym XF86AudioRaiseVolume exec pactl set-sink-volume 0 +5% bindsym XF86AudioLowerVolume exec pactl set-sink-volume 0 -- -5% bindsym XF86AudioMute exec pactl set-sink-mute 0 toggle # ----------------------------------------------------------------------------- # Autostart status bar # ----------------------------------------------------------------------------- # start the i3 bar bar { status_command i3status position top font pango: Terminus, Icons 9 colors { background #080808 statusline #A5A5A5 separator #A5A5A5 focused_workspace #080808 #222222 #808080 active_workspace #080808 #080808 #797979 inactive_workspace #080808 #080808 #4F4F4F urgent_workspace #080808 #080808 #EA4C59 } } # ----------------------------------------------------------------------------- # Window navigation # ----------------------------------------------------------------------------- # 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 # split horizontal/vertical (like in vim) bindsym $mod+s split v bindsym $mod+v split h # enter fullscreen mode for the focused container bindsym $mod+f fullscreen # change container layout (stacked, tabbed, toggle split) bindsym $mod+w layout stacking bindsym $mod+t 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/child container bindsym $mod+p focus parent bindsym $mod+c focus child # 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 # bindings for resize mode mode "resize" { bindsym h resize shrink 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 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" # ----------------------------------------------------------------------------- # WM management # ----------------------------------------------------------------------------- # reload configuration bindsym $mod+Shift+c reload # restart i3 bindsym $mod+Shift+r restart # display the exit i3 bar 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'" exec_always --no-startup-id ~/bin/i3-shutdown.py