# i3 config file (v4) set $mod Mod4 # Font for window titles. Will also be used by the bar unless a different font # is used in the bar {} block below. font pango:DejaVu Sans Mono 8 # Use Mouse+$mod to drag floating windows to their wanted position floating_modifier $mod # start a terminal bindsym $mod+Return exec urxvt # start dmenu (a program launcher) bindsym $mod+d exec --no-startup-id i3-dmenu-desktop --entry-type=name bindsym $mod+Shift+d exec --no-startup-id surf-menu # kill focused window bindsym $mod+q kill # bar toggle, hide or show bindsym $mod+m bar mode toggle # 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 in horizontal orientation bindsym $mod+g split h # split in vertical orientation bindsym $mod+v split v # enter fullscreen mode for the focused container bindsym $mod+f fullscreen toggle # Scratchpad bindsym $mod+Tab scratchpad show bindsym $mod+Shift+Tab move scratchpad # 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+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 # focus the child container bindsym $mod+Shift+a focus child # Output moving bindsym $mod+x move container to output right bindsym $mod+z move container to output left bindsym $mod+Shift+x move workspace to output right bindsym $mod+Shift+z move workspace to output left # 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 bindsym $mod+grave workspace web bindsym $mod+underscore workspace t # 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 bindsym $mod+Shift+grave move container to workspace web bindsym $mod+Shift+underscore move container to workspace t # Set Pidgin to scratchpad for_window [class="Pidgin"] move scratchpad # 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 set $mode_system System (l) lock, (e) logout, (s) suspend, (r) reboot, (Shift+s) shutdown mode "$mode_system" { bindsym l exec --no-startup-id myi3lock, mode "default" bindsym e exec --no-startup-id i3-msg exit, mode "default" bindsym s exec --no-startup-id sudo pm-suspend, mode "default" bindsym r exec --no-startup-id sudo reboot, mode "default" bindsym Shift+s exec --no-startup-id ~/.config/i3/scripts/shutdown, mode "default" bindsym Return mode "default" bindsym Escape mode "default" } bindsym $mod+Shift+q mode "$mode_system" set $displays (d)efault, toggle: 1:eDP 2:HDMI 3:VGA mode "$displays" { bindsym d exec --no-startup-id mxrandr, mode "default" bindsym 1 exec --no-startup-id mxrandr toggle eDP1, mode "default" bindsym 2 exec --no-startup-id mxrandr toggle HDMI1, mode "default" bindsym 3 exec --no-startup-id mxrandr toggle VGA1, mode "default" bindsym Return mode "default" bindsym Escape mode "default" } bindsym $mod+Shift+w mode "$displays" set $xshot Xshot: (w)indow or (d)desktop mode "$xshot" { # Note: xshot window is for some reason broken. # It won't run when not spawned in terminal bindsym w exec xshot window, mode "default" bindsym d exec --no-startup-id xshot desktop, mode "default" bindsym Return mode "default" bindsym Escape mode "default" } bindsym $mod+Shift+s mode "$xshot" # resize window 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" # Switch keyboard layout bindsym Mod1+space exec --no-startup-id ~/.config/i3/scripts/keyboard_switch # Pulse audio control bindsym XF86AudioRaiseVolume exec --no-startup-id pactl set-sink-volume 0 +5% && pkill -RTMIN+10 i3blocks bindsym XF86AudioLowerVolume exec --no-startup-id pactl set-sink-volume 0 -5% && pkill -RTMIN+10 i3blocks bindsym XF86AudioMute exec --no-startup-id pactl set-sink-mute 0 toggle && pkill -RTMIN+10 i3blocks # Sreen brightness controls bindsym XF86MonBrightnessUp exec --no-startup-id xbacklight -inc 20 # increase screen brightness bindsym XF86MonBrightnessDown exec --no-startup-id xbacklight -dec 20 # decrease screen brightness # Keyboard backlight (asus only) bindsym XF86KbdBrightnessUp exec --no-startup-id asus-kbd-backlight up bindsym XF86KbdBrightnessDown exec --no-startup-id asus-kbd-backlight down # Media player controls bindsym XF86AudioPlay exec --no-startup-id mpc toggle && pkill -RTMIN+12 i3blocks bindsym XF86AudioStop exec --no-startup-id mpc stop && pkill -RTMIN+12 i3blocks bindsym XF86AudioNext exec --no-startup-id mpc next && pkill -RTMIN+12 i3blocks bindsym XF86AudioPrev exec --no-startup-id mpc prev && pkill -RTMIN+12 i3blocks # Run media player control app bindsym $mod+Shift+m exec urxvt -title "Music player daemon client" -e ncmpcpp # Start i3blocks to display a workspace bar bar { position top status_command i3blocks tray_output primary } # Start daemons exec --no-startup-id dunst # Set background exec --no-startup-id i3background # Start pidgin exec pidgin