Skip to content

Instantly share code, notes, and snippets.

@emiller
Last active October 25, 2015 01:13
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save emiller/c9bd8f5b2f0039e5a93e to your computer and use it in GitHub Desktop.
Save emiller/c9bd8f5b2f0039e5a93e to your computer and use it in GitHub Desktop.
i3config
#
# i3 config
#
# Written under the assumption that capslock is rebound via
# the following .Xmodmap config:
#
# clear mod3
# clear lock
# remove mod1 = Hyper_L
# remove mod2 = Hyper_L
# remove mod3 = Hyper_L
# remove mod4 = Hyper_L
# keycode 66 = Hyper_L
# add mod3 = Hyper_L
#
# @author emiller
# @date 2014-09-09
#
set $mod Mod3
floating_modifier $mod
#
# blocks
#
mode "exit (l)ogout, (r)eboot, (s)hutdown" {
bindsym $mod+l exit
bindsym $mod+r exec "dbus-send --system --print-reply --dest='org.freedesktop.ConsoleKit' /org/freedesktop/ConsoleKit/Manager org.freedesktop.ConsoleKit.Manager.Restart"
bindsym $mod+s exec "dbus-send --system --print-reply --dest='org.freedesktop.ConsoleKit' /org/freedesktop/ConsoleKit/Manager org.freedesktop.ConsoleKit.Manager.Stop"
bindsym Return mode "default"
bindsym Escape mode "default"
}
mode "resize" {
bindsym h resize grow left 1 px or 1 ppt
bindsym Shift+H resize shrink left 1 px or 1 ppt
bindsym j resize grow down 1 px or 1 ppt
bindsym Shift+J resize shrink down 1 px or 1 ppt
bindsym k resize grow up 1 px or 1 ppt
bindsym Shift+K resize shrink up 1 px or 1 ppt
bindsym l resize grow right 1 px or 1 ppt
bindsym Shift+L resize shrink right 1 px or 1 ppt
bindsym Return mode "default"
bindsym Escape mode "default"
}
exec "x-startup"
exec_always "xmodmap ~/.Xmodmap"
exec_always "xset r rate 225 75"
exec_always "hsetroot -clear -solid '#000000' -alpha 1"
exec_always "xsetroot -bg black -fg black"
#
# general styling and behavior
#
bar {
colors {
statusline #729FCF
separator #555555
}
font "-*-terminus-medium-*-normal-*-12-120-72-72-c-60-iso10646-*"
status_command i3status -c ~/.i3/status
}
client.background #000000 #000000 #000000
client.focused #111111 #000000 #00CC00
client.unfocused #000000 #000000 #CCCCCC
client.focused_inactive #000000 #000000 #CCCCCC
client.urgent #424242 #424242 #ee0000
focus_follows_mouse no
font "pango:Terminus 9"
force_focus_wrapping no
hide_edge_borders both
new_window normal
popup_during_fullscreen leave_fullscreen
workspace_layout stacking
#
# sound, media and misc bindings
#
bindsym $mod+Shift+E mode "exit (l)ogout, (r)eboot, (s)hutdown"
bindsym $mod+Shift+C reload
bindsym $mod+Shift+Escape restart
bindsym $mod+r exec "dmenu_run -fn '-*-terminus-medium-*-normal-*-12-120-72-72-c-60-iso10646-*' -nb black -i -nf '#ccc' -sf '#f6f6f6' -l 10 -sb '#222'"
bindsym $mod+Return exec "i3-sensible-terminal"
bindsym $mod+minus exec "amixer set Master toggle"
bindsym $mod+plus exec "amixer set Master 2dB+"
bindsym $mod+Shift+equal exec "amixer set Master 2dB-"
bindsym XF86AudioRaiseVolume exec "amixer set Master 2dB+"
bindsym XF86AudioLowerVolume exec "amixer set Master 2dB-"
bindsym XF86AudioMute exec "amixer set Master toggle"
bindsym XF86AudioNext exec "dbus-send --print-reply --dest=net.kevinmehall.Pithos /net/kevinmehall/Pithos net.kevinmehall.Pithos.SkipSong"
bindsym XF86AudioPlay exec "dbus-send --print-reply --dest=net.kevinmehall.Pithos /net/kevinmehall/Pithos net.kevinmehall.Pithos.PlayPause"
#
# window bindings and behavior
#
bindsym $mod+q kill
bindsym $mod+s layout stacking
bindsym $mod+t layout tabbed
bindsym $mod+d layout default
bindsym $mod+m layout toggle split
bindsym $mod+h focus left
bindsym $mod+j focus down
bindsym $mod+k focus up
bindsym $mod+l focus right
bindsym $mod+a focus parent
bindsym $mod+c focus child
bindsym $mod+space focus mode_toggle
bindsym $mod+Shift+h move left
bindsym $mod+Shift+j move down
bindsym $mod+Shift+k move up
bindsym $mod+Shift+l move right
bindsym $mod+f fullscreen
bindsym $mod+v split v
bindsym $mod+Shift+V split h
bindsym $mod+Shift+space floating toggle
bindsym $mod+Shift+r mode "resize"
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
bindsym Mod1+Tab workspace back_and_forth
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
for_window [class="Gnome-keyring-prompt-3"] floating enable, border normal, focus
for_window [class="Gnome-control-center" ] floating enable, border normal
for_window [class="Gnome-system-monitor" ] floating enable, border normal
for_window [class="Gtkdialog" ] floating enable, border normal, focus
for_window [class="Update-manager" ] floating enable, border normal
for_window [class="Apport-gtk" ] floating enable, border normal
for_window [class="rdesktop" ] floating enable, border normal, focus mode_toggle
for_window [class="VirtualBox" ] floating enable, border normal, focus mode_toggle
for_window [class="VBoxSDL" ] floating enable, border normal, focus mode_toggle
for_window [class="Mousepad" ] floating enable, border normal
for_window [class="pithos" ] floating enable, border normal
for_window [class="Pithos" ] floating enable, border normal
for_window [class=".*Notify.*" ] floating enable, border 3 pixel, focus mode_toggle
for_window [window_role="pop-up" ] floating enable, border normal, focus
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment