Skip to content

Instantly share code, notes, and snippets.

@MeanEYE
Created July 8, 2014 07:54
Show Gist options
  • Save MeanEYE/8eb7711853dd1b1ea7d8 to your computer and use it in GitHub Desktop.
Save MeanEYE/8eb7711853dd1b1ea7d8 to your computer and use it in GitHub Desktop.
i3 config
# set modifier to Super key
set $mod Mod4
# workspaces
set $ws_chat 1: Chat
set $ws_web 2: Web
set $ws_code 3: Code
set $ws_misc 4: Misc
set $ws_fm 5: FM
# orange theme
set $focused_fg #ff950e
set $focused_bg #343434
set $inactive_fg #808080
set $inactive_bg #141414
set $normal_fg #606060
set $normal_bg #000000
set $urgent_fg #ffff00
set $urgent_bg #900000
# lime theme
set $focused_fg #9fbc00
set $focused_bg #343434
set $inactive_fg #808080
set $inactive_bg #141414
set $normal_fg #808080
set $normal_bg #000000
set $urgent_fg #ffff00
set $urgent_bg #900000
# blue theme
set $focused_fg #ffffff
set $focused_bg #336698
set $inactive_fg #a0a0a0
set $inactive_bg #22333d
set $normal_fg #b0b0b0
set $normal_bg #22333d
set $urgent_fg #ffff00
set $urgent_bg #900000
# basic configuration
focus_follows_mouse no
floating_modifier $mod
# class border backgr. text indicator
client.focused $focused_bg $focused_bg $focused_fg $focused_bg
client.focused_inactive $inactive_bg $inactive_bg $inactive_fg $inactive_bg
client.unfocused $normal_bg $normal_bg $normal_fg $normal_bg
client.urgent $urgent_bg $urgent_bg $urgent_fg $urgent_bg
# font for window titles. ISO 10646 = Unicode
font -misc-fixed-medium-*-normal-*-14-*-*-*-*-*-iso10646-*
font pango:M+1m 11
# window confirguration
new_window normal 2
new_float pixel 2
force_display_urgency_hint 500 ms
# multimedia keys
bindsym XF86AudioRaiseVolume exec --no-startup-id pactl set-sink-volume 0 -- +10% && killall -SIGUSR1 i3status
bindsym XF86AudioLowerVolume exec --no-startup-id pactl set-sink-volume 0 -- -10% && killall -SIGUSR1 i3status
bindsym XF86MonBrightnessUp exec --no-startup-id xbacklight -inc 10
bindsym XF86MonBrightnessDown exec --no-startup-id xbacklight -dec 10
bindsym XF86Launch1 exec --no-startup-id i3lock -i ~/.wallpaper.png && sudo pm-suspend
# custom application shortcuts
bindsym Mod4+F1 exec gnome-terminal
bindsym Mod4+Shift+F1 exec gnome-terminal -t "Scratchpad"
bindsym Mod4+F2 exec gvim
bindsym Mod4+F5 exec gksu update-manager
bindsym Mod4+F6 exec google-chrome
bindsym Mod4+F7 exec steam
bindsym Mod1+F2 exec dmenu_run -p 'command:' -nb '$inactive_bg' -nf '$inactive_fg' -sb '$focused_bg' -sf '$focused_fg' -l 10 -fn '-misc-fixed-medium-*-normal-*-14-*-*-*-*-*-*-*'
bindsym Mod1+Shift+F2 exec i3-dmenu-desktop --dmenu="dmenu -i -p 'command:' -l 10 -fn '-misc-fixed-medium-*-normal-*-14-*-*-*-*-*-*-*'"
# i3 shortcuts
bindsym Mod1+F4 kill
bindsym $mod+Shift+C reload
bindsym $mod+Shift+R restart
bindsym $mod+Shift+E exec ~/.i3/dmenu_session.sh
bindsym $mod+B border toggle
bindsym $mod+I bar mode toggle
# change focus
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+Left move left
bindsym $mod+Shift+Down move down
bindsym $mod+Shift+Up move up
bindsym $mod+Shift+Right move right
bindsym $mod+Shift+q move scratchpad
# show scratchpad
bindsym $mod+q scratchpad show
# splits
bindsym $mod+h split h
bindsym $mod+v split v
# enter fullscreen mode for the focused container
bindsym $mod+f fullscreen
# change container layout (stacked, tabbed, default)
bindsym $mod+s layout stacking
bindsym $mod+w layout tabbed
bindsym $mod+e layout default
bindsym $mod+Shift+h layout splith
bindsym $mod+Shift+v layout splitv
# 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+u focus parent
bindsym $mod+d focus child
# focus previous workspace
bindsym $mod+Tab workspace back_and_forth
# toggle logging
bindsym $mod+l shmlog toggle
# laptop workspace configuration
workspace "$ws_chat" output LVDS1
workspace "$ws_code" output LVDS1
workspace "$ws_misc" output LVDS1
workspace "$ws_web" output HDMI1
workspace "$ws_fm" output HDMI1
# desktop workspace configuration
workspace "$ws_chat" output HDMI-0
workspace "$ws_code" output HDMI-0
workspace "$ws_misc" output HDMI-0
workspace "$ws_web" output DVI-I-1
workspace "$ws_fm" output DVI-I-1
# switch to workspace
bindsym $mod+1 workspace $ws_chat
bindsym $mod+2 workspace $ws_web
bindsym $mod+3 workspace $ws_code
bindsym $mod+4 workspace $ws_misc
bindsym $mod+5 workspace $ws_fm
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 Ctrl+Mod1+Left workspace prev
bindsym Ctrl+Mod1+Right workspace next
# move focused container to workspace
bindsym $mod+Shift+exclam move workspace $ws_chat
bindsym $mod+Shift+at move workspace $ws_web
bindsym $mod+Shift+numbersign move workspace $ws_code
bindsym $mod+Shift+dollar move workspace $ws_misc
bindsym $mod+Shift+percent move workspace $ws_fm
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
# configure and assign windows to workspaces
assign [instance="Devtools" class="Iceweasel"] $ws_misc
assign [instance="Navigator" class="Iceweasel"] $ws_web
assign [instance="Devtools" class="Firefox"] $ws_misc
assign [instance="Navigator" class="Firefox"] $ws_web
assign [class="Google-chrome" window_role="browser"] $ws_web
assign [class="Google-chrome" window_role="pop-up" title="Developer Tools"] $ws_misc
assign [class="Icedove"] $ws_misc
assign [class="Pidgin"] $ws_chat
assign [class="Empathy"] $ws_chat
assign [class="Xchat"] $ws_chat
assign [title="Music Player"] $ws_chat
assign [class="Audacious"] $ws_chat
assign [class="Gimp"] $ws_misc
assign [class="Sunflower"] $ws_fm
assign [class="Steam"] $ws_misc
for_window [instance="Navigator" class="Iceweasel"] border none
for_window [instance="Navigator" class="Firefox"] border none
for_window [class="Google-chrome" window_role="browser"] border none
for_window [class="Xchat"] border pixel 2
for_window [title="Music Player"] border pixel 2
for_window [class="Audacious"] border pixel 2
for_window [class="Gvim"] border pixel 2
for_window [class="Sunflower" title="Viewer"] floating enable
for_window [class="Update-manager"] floating enable
for_window [class="Steam"] border pixel 2
for_window [class="Steam"] floating enable
for_window [class="Steam" title="^Steam$"] floating disable
for_window [class="Gnome-terminal" title="Scratchpad"] move scratchpad
for_window [class="Gnome-terminal" title="Scratchpad"] border pixel 2
for_window [class="Icedove" window_role="EMailBrowser"] floating enable
for_window [class="Icedove" window_role="Msgcompose"] floating enable
for_window [class="Icedove" window_role="CompEditor"] floating enable
# configure individual windows
for_window [class="Pidgin" title="Buddy List"] resize shrink width 100 px or 35 ppt
# resize window (you can also use the mouse for that)
bindsym $mod+r mode "resize"
mode "resize" {
bindsym Left resize grow left 10 px or 10 ppt
bindsym Shift+Left resize shrink left 10 px or 10 ppt
bindsym Down resize grow down 10 px or 10 ppt
bindsym Shift+Down resize shrink down 10 px or 10 ppt
bindsym Up resize grow up 10 px or 10 ppt
bindsym Shift+Up resize shrink up 10 px or 10 ppt
bindsym Right resize grow right 10 px or 10 ppt
bindsym Shift+Right resize shrink right 10 px or 10 ppt
# back to normal: Enter or Escape
bindsym Return mode "default"
bindsym Escape mode "default"
}
bar {
# bar operating mode, either dock or hide
mode dock
hidden_state hide
# bas position
position bottom
# system tray position
tray_output primary
# we use conky for status bar
status_command i3status --config ~/.i3/status.conf
font -misc-fixed-medium-*-normal-*-14-*-*-*-*-*-iso10646-*
font pango:M+1m 11
colors {
# lime theme
statusline $normal_fg
background $inactive_bg
# other themes
focused_workspace $focused_fg $focused_bg $focused_fg
active_workspace $focused_bg $focused_bg $focused_fg
inactive_workspace $inactive_bg $inactive_bg $inactive_fg
urgent_workspace $urgent_fg $urgent_bg $urgent_fg
# blue theme
focused_workspace $focused_bg $focused_bg $focused_fg
active_workspace $inactive_bg $inactive_bg $focused_fg
inactive_workspace $inactive_bg $inactive_bg $inactive_fg
urgent_workspace $urgent_bg $urgent_bg $urgent_fg
}
}
exec pa-applet
exec bluetooth-applet
exec --no-startup-id ~/.mouse.sh
exec --no-startup-id sleep 5; xchat
exec gnome-terminal -t "Scratchpad"
exec pidgin
exec google-chrome
exec --no-startup-id sleep 10; xmodmap ~/.i3/xmodmap
exec --no-startup-id sleep 11; xcape -e 'Control_L=Escape'
exec nitrogen --restore
general {
colors = true
interval = 5
color_good = "#b0b0b0"
color_bad = "#606060"
color_degraded = "#606060"
color_separator = "#a0a0a0"
output_format = "i3bar"
}
order += "wireless wlan0"
order += "ethernet eth0"
order += "wireless wwan0"
order += "battery 0"
order += "load"
order += "cpu_usage"
order += "cpu_temperature 0"
order += "volume master"
order += "time"
wireless wlan0 {
format_up = " W: %ip "
format_down = " W: down "
}
ethernet eth0 {
format_up = " E: %ip "
format_down = " E: down "
}
wireless wwan0 {
format_up = " M: %ip "
format_down = " M: down "
}
battery 0 {
format = " ↯ %status %percentage ⚡ %remaining "
last_full_capacity = true
low_threshold = 10
threshold_type = percentage
}
time {
format = " %a %e. %b %H:%M ⋮ "
}
load {
format = " ☸ %1min %5min %15min "
}
cpu_usage {
format = " ⌗ %usage "
}
cpu_temperature 0 {
format = " ⇣ %degrees°C "
}
volume master {
format = " ☊ %volume "
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment