Skip to content

Instantly share code, notes, and snippets.

@jmervine
Created March 21, 2014 22:43
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
Star You must be signed in to star a gist
Save jmervine/9698027 to your computer and use it in GitHub Desktop.
# 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 somewhen, delete
# this file and re-run i3-config-wizard(1).
#
# i3 config file (v4)
#
# Please see http://i3wm.org/docs/userguide.html for a complete reference!
set $mod Mod4
# font for window titles. ISO 10646 = Unicode
font -misc-fixed-medium-r-normal--13-120-75-75-C-70-iso10646-1
# workspace layout
workspace_layout tabbed
# Use Mouse+$mod to drag floating windows to their wanted position
floating_modifier $mod
# start a terminal
bindsym $mod+t exec i3-sensible-terminal
# kill focused window
bindsym $mod+Shift+Q kill
# start dmenu (a program launcher)
bindsym $mod+d exec dmenu_run
bindsym $mod+space exec dmenu_run
# 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
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 $mod+Shift+Left move left
bindsym $mod+Shift+Down move down
bindsym $mod+Shift+Up move up
bindsym $mod+Shift+Right move right
# split in horizontal orientation
bindsym $mod+backslash split h
# split in vertical orientation
bindsym $mod+minus split v
# enter fullscreen mode for the focused container
bindsym $mod+Return fullscreen
# change container layout (stacked, tabbed, default)
bindsym $mod+s layout stacking
bindsym $mod+w layout tabbed
bindsym $mod+e layout default
# toggle tiling / floating
bindsym $mod+Shift+space floating toggle
# change focus between tiling / floating windows
bindsym $mod+Shift+F focus mode_toggle
# focus the parent container
bindsym $mod+a focus parent
# focus the child container
#bindcode $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+exclam move workspace 1
bindsym $mod+Shift+at move workspace 2
bindsym $mod+Shift+numbersign move workspace 3
bindsym $mod+Shift+dollar move workspace 4
bindsym $mod+Shift+percent move workspace 5
bindsym $mod+Shift+asciicircum move workspace 6
bindsym $mod+Shift+ampersand move workspace 7
bindsym $mod+Shift+asterisk move workspace 8
bindsym $mod+Shift+parenleft move workspace 9
bindsym $mod+Shift+parenright move 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 $mod+Shift+R restart
# exit i3 (logs you out of your X session)
bindsym $mod+Shift+E exit
# resize window (you can also use the mouse for that)
mode "resize" {
# These bindings trigger as soon as you enter the resize mode
# They resize the border in the direction you pressed, e.g.
# when pressing left, the window is resized so that it has
# more space on its left
bindsym h resize shrink left 10 px or 10 ppt
bindsym Shift+H resize grow left 10 px or 10 ppt
bindsym j resize shrink down 10 px or 10 ppt
bindsym Shift+J resize grow down 10 px or 10 ppt
bindsym k resize shrink up 10 px or 10 ppt
bindsym Shift+K resize grow up 10 px or 10 ppt
bindsym l resize shrink right 10 px or 10 ppt
bindsym Shift+L resize grow right 10 px or 10 ppt
# same bindings, but for the arrow keys
bindsym Left resize shrink left 10 px or 10 ppt
bindsym Shift+Left resize grow left 10 px or 10 ppt
bindsym Down resize shrink down 10 px or 10 ppt
bindsym Shift+Down resize grow down 10 px or 10 ppt
bindsym Up resize shrink up 10 px or 10 ppt
bindsym Shift+Up resize grow up 10 px or 10 ppt
bindsym Right resize shrink right 10 px or 10 ppt
bindsym Shift+Right resize grow right 10 px or 10 ppt
# back to normal: Enter or Escape
bindsym Return mode "default"
bindsym Escape mode "default"
}
bindsym $mod+r mode "resize"
################################################################################
# CUSTOM
################################################################################
# Start i3bar to display a workspace bar (plus the system information i3status
# finds out, if available)
bar {
status_command ~/.i3/i3status.sh
position bottom
workspace_buttons yes
}
# bindings
bindsym $mod+Shift+S exec sudo pm-suspend
bindsym $mod+b exec chromium-browser
bindsym $mod+m exec remmina
bindsym $mod+g exec gvim
bindsym $mod+c exec gnome-control-center
bindsym $mod+p exec pidgin
bindsym $mod+Shift+X exec lxlock
#bindsym $mod+Shift+? exec i3-sensible-pager ~/.i3/keybindings.txt
# auto exec
exec nm-applet
exec gnome-sound-applet
exec_always xmodmap ~/.xmodmap
exec_always ~/Scripts/display_setup.sh
exec --no-startup-id xsetroot -solid "#333333"
i3status -c /home/jmervine/.i3/status.conf | while :
do
read line
if test "$(ifconfig tun0 2> /dev/null)"; then
echo "vpn: on | $line" || exit 1
else
echo "vpn: off | $line" || exit 1
fi
done
APPLICATIONS
======================================
M-space : Application Menu
M-t : Terminal
M-b : Google Chrome
M-m : Remmina
M-g : GVim
M-c : Control Center
M-p : Pidgin
i3
======================================
M-? : This Menu
M-S-l : Lock Screen
M-S-s : Suspend
M-S-e : Exit i3
M-S-c : Reload Configuration
M-S-r : Restart i3
WINDOWS
======================================
M-S-q : Kill Window
M-h : Focus Left
M-j : Focus Down
M-k : Focus Up
M-l : Focus Right
M-S-h : Move Window Left
M-S-j : Move Window Down
M-S-k : Move Window Up
M-S-l : Move Window Right
M-- : Toggle Verticle Split
M-\ : Toggle Horizontal Split
M-Return : Fullscreen
M-s : Stacking Format
M-w : Tabbed Layout
M-e : Default Layout
M-# : Go to Workspace
M-S-# : Move Window to Workspace
RESIZE
======================================
M-r : Enter Resize Mode
h : Shrink Left
S-h : Grow Left
j : Shrink Down
S-j : Grow Down
k : Shrink Up
S-k : Grow Up
l : Shrink Right
S-l : Grow Right
ESC : Exit Resize Mode
general {
interval = 5
}
order += "disk /"
order += "wireless wlan0"
order += "battery 0"
order += "cpu_usage"
order += "volume master"
order += "time"
wireless wlan0 {
format_up = "wifi: %essid [%quality]"
format_down = "w: down"
}
battery 0 {
format = "battery: %percentage"
path = "/sys/class/power_supply/BAT1/uevent"
}
volume master {
format = "♪: %volume"
device = "default"
mixer = "Master"
mixer_idx = 0
}
cpu_usage {
format = "cpu: %usage"
}
time {
format = "%Y-%m-%d %r"
}
disk "/" {
format = "hdd: %free"
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment