# i3 config file (v4) # # Please see http://i3wm.org/docs/userguide.html for a complete reference! # default modifier key is Alt set $mod Mod1 # alternate modifier key is Win set $modb Mod4 # Font for window titles. Will also be used by the bar unless a different font # is used in the bar {} block below. ISO 10646 = Unicode 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, if you need a lot of unicode glyphs or # right-to-left text rendering, you should instead use pango for rendering and # chose a FreeType font, such as: # font pango:DejaVu Sans Mono 10 font pango:Liberation Sans 10 # Disable focus-follows-mouse focus_follows_mouse no mouse_warping none # Use Mouse+$mod to drag floating windows to their wanted position floating_modifier $mod # start a terminal #bindsym $mod+Return exec i3-sensible-terminal & # kill focused window bindsym $mod+Shift+q kill # start dmenu (a program launcher) #bindsym $mod+d exec dmenu_run bindsym $modb+space exec exec dmenu_run -fn 'Liberation Mono-10' & # 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+d exec --no-startup-id i3-dmenu-desktop # start a dmenu for i3-msg commands bindsym $modb+$mod+space exec i3-input # 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 $modb+Left focus left bindsym $modb+Down focus down bindsym $modb+Up focus up bindsym $modb+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 $modb+Shift+Left move left bindsym $modb+Shift+Down move down bindsym $modb+Shift+Up move up bindsym $modb+Shift+Right move right # move workspace to another output bindsym $mod+Shift+Ctrl+h move workspace to output left bindsym $mod+Shift+Ctrl+j move workspace to output down bindsym $mod+Shift+Ctrl+k move workspace to output up bindsym $mod+Shift+Ctrl+l move workspace to output right # split in horizontal orientation bindsym $mod+b split h # split in vertical orientation bindsym $mod+v split v # enter fullscreen mode for the focused container bindsym $mod+F11 fullscreen # change container layout (tabbed, toggle split) 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+d 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 # reload the configuration file bindsym $mod+Shift+c reload # restart i3 inplace (preserves your layout/session, can be used to upgrade i3) bindsym $modb+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'" #bindsym $modb+Shift+Escape exit # Send the current window to the scratchpad bindsym $mod+Shift+minus move scratchpad # show the window in the scratchpad bindsym $mod+minus scratchpad show # 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 h resize shrink width 10 px or 5 ppt bindsym j resize grow height 10 px or 5 ppt bindsym k resize shrink height 10 px or 5 ppt bindsym l resize grow width 10 px or 5 ppt bindsym Shift+h resize shrink width 5 px or 2 ppt bindsym Shift+j resize grow height 5 px or 2 ppt bindsym Shift+k resize shrink height 5 px or 2 ppt bindsym Shift+l resize grow width 5 px or 2 ppt # same bindings, but for the arrow keys bindsym Left resize shrink width 10 px or 5 ppt bindsym Down resize grow height 10 px or 5 ppt bindsym Up resize shrink height 10 px or 5 ppt bindsym Right resize grow width 10 px or 5 ppt # back to normal: Enter or Escape bindsym Return mode "default" bindsym Escape mode "default" } mode "wow" { bindsym $mod+Escape mode "default" } bindsym $mod+p mode "wow" bindsym $mod+r mode "resize" # Start i3bar to display a workspace bar (plus the system information i3status # finds out, if available) bar { i3bar_command exec i3bar tray_output primary status_command exec py3status -c ~/.config/i3/i3status -i ~/.config/i3/py3status -b } # Colors # class border backgr text client.focused #000000 #000000 #FFFFFF # per-window settings for_window [class="Synapse"] border none for_window [window_role="Preferences"] floating enable for_window [window_role="addressbook"] floating enable for_window [window_role="page-info"] floating enable for_window [class="Gnome-keyring-prompt"] floating enable for_window [class="Virt-manager" title=".*Connection Details"] floating enable for_window [title="Open Database File"] floating enable for_window [title="Select key file manually"] floating enable for_window [window_role="buddy_list"] floating enable for_window [title="VPN Connection"] floating enable for_window [class="Pavucontrol"] floating enable for_window [title="Microsoft Silverlight"] floating enable for_window [title="^vimpc$"] move scratchpad for_window [title="myNoise.net Minified Player"] floating enable for_window [class="Galculator"] floating enable for_window [class="Audacious"] floating enable for_window [class="Pinentry"] floating enable for_window [window_role="GvimNotes"] floating enable assign [window_role="conversation"] 3 # multimedia keys bindsym XF86AudioMute exec pactl info | awk -F: '/Default Sink/{print $2}' | xargs -I{} pactl set-sink-mute {} toggle #bindsym XF86AudioMute exec amixer -D hw sset Master toggle #bindsym XF86AudioLowerVolume exec mpc volume -1 #bindsym XF86AudioRaiseVolume exec mpc volume +1 #bindsym XF86AudioStop exec mpc stop #bindsym XF86AudioPrev exec mpc prev #bindsym XF86AudioPlay exec mpc toggle #bindsym XF86AudioNext exec mpc next #bindsym Control+XF86AudioStop exec mpc stop-after-current #bindsym Control+XF86AudioNext exec mpd-random-pl-album.py # launcher shortcuts bindsym $modb+a exec i3-sensible-terminal & bindsym $modb+e exec pcmanfm & bindsym $mod+Shift+F12 exec xrandr --output Virtual1 --mode 1280x768 bindsym Print exec screenshot bindsym $modb+t exec exec passmenu bindsym $modb+g exec exec dmenu_snips bindsym $modb+XF86AudioPlay exec exec audacious bindsym $modb+v exec exec cachedpass ${USER} bindsym $modb+n exec exec gvimnotes