-# i3 config file (v4)
-# Please see http://i3wm.org/docs/userguide.html for a complete reference!
-# Font for window titles. Will also be used by the bar unless a different font
-# is used in the bar {} block below.
+# master modifier key
+set $mod Mod4
+
+### important binds ###
+# reload the configuration file
+bindsym $mod+Shift+c reload
+# restart i3 inplace
+bindsym $mod+Shift+r restart
+# exit i3
+bindsym $mod+Shift+e exec --no-startup-id i3-nagbar -t warning -m Exit? -b Yes 'i3-msg exit'
-font pango:Dina, DejaVu Sans Mono, monospace 7
+### applications ###
+# x220t bezel buttons
+bindcode 198 exec --no-startup-id rotate set normal
+bindcode 204 exec --no-startup-id rotate right
-# This font is widely installed, provides lots of unicode glyphs, right-to-left
-# text rendering and scalability on retina/hidpi displays (thanks to pango).
-#font pango:DejaVu Sans Mono 8
+# terminal
+bindsym $mod+Return exec --no-startup-id i3-sensible-terminal
-# Before i3 v4.8, we used to recommend this one as the default:
-# 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, its unicode glyph coverage is limited, the old
-# X core fonts rendering does not support right-to-left and this being a bitmap
-# font, it doesn’t scale on retina/hidpi displays.
+# dmenu
+bindsym $mod+d exec --no-startup-id $HOME/bin/dmenu_runsmart -p "%"
-# Modifier key
-set $mod Mod4
+# mpc
+bindsym XF86AudioPlay exec --no-startup-id mpc -h /var/mpd/socket play
+bindsym XF86AudioStop exec --no-startup-id mpc -h /var/mpd/socket pause
+bindsym XF86AudioPrev exec --no-startup-id mpc -h /var/mpd/socket cdprev
+bindsym XF86AudioNext exec --no-startup-id mpc -h /var/mpd/socket next
-# use these keys for focus, movement, and resize directions
+
+### window management ###
+# directional keys
set $up k
set $down j
set $left h
set $right l
-# and arrow keys
+# arrow keys for completeness
set $up2 Up
set $down2 Down
set $left2 Left
set $right2 Right
-# use Mouse+$mod to drag floating windows to their wanted position
-floating_modifier $mod
-
-# start a terminal
-bindsym $mod+Return exec --no-startup-id i3-sensible-terminal
-
-# kill focused window
-bindsym $mod+Shift+q kill
-
-# start dmenu
-bindsym $mod+d exec --no-startup-id $HOME/bin/dmenu_runsmart -p "%"
-
# change focus
bindsym $mod+$left focus left
bindsym $mod+$down focus down
bindsym $mod+$down2 focus down
bindsym $mod+$up2 focus up
bindsym $mod+$right2 focus right
-
# move focused window
bindsym $mod+Shift+$left move left
bindsym $mod+Shift+$down move down
# split in horizontal orientation
bindsym $mod+i split h
-
# split in vertical orientation
bindsym $mod+o split v
+# mouse+$mod to drag floating windows
+floating_modifier $mod
+
# enter fullscreen mode for the focused container
bindsym $mod+f fullscreen toggle
bindsym $mod+Shift+f fullscreen toggle global
# focus the child container
bindsym $mod+z focus child
+# kill focused window
+bindsym $mod+Shift+q kill
+
# move the currently focused window to the scratchpad
bindsym $mod+Shift+minus move scratchpad
bindsym $mod+8 workspace 8
bindsym $mod+9 workspace 9
bindsym $mod+0 workspace 10
+# repeat workspace to go back
+workspace_auto_back_and_forth yes
# move focused container to workspace
bindsym $mod+Shift+1 move container to workspace 1
bindsym $mod+Shift+9 move container to workspace 9
Bindsym $mod+Shift+0 move container to workspace 10
-# rename current window
-bindsym $mod+t --no-startup-id xrename
-
-# reload the configuration file
-bindsym $mod+Shift+c reload
-# restart i3 inplace
-bindsym $mod+Shift+r restart
-# exit i3
-bindsym $mod+Shift+e exec --no-startup-id i3-nagbar -t warning -m Exit? -b Yes 'i3-msg exit'
-
-# x220t bezel buttons
-bindcode 198 exec --no-startup-id rotate set normal
-bindcode 204 exec --no-startup-id rotate right
-
-# volume buttons
-bindsym XF86AudioMute exec --no-startup-id mixer vol 0
-bindsym XF86AudioLowerVolume exec --no-startup-id mixer vol -5
-bindsym XF86AudioRaiseVolume exec --no-startup-id mixer vol +5
-
# move and resize [floating] windows
mode "translate" {
- bindsym $left resize shrink width 20 px
- bindsym $down resize grow height 20 px
- bindsym $up resize shrink height 20 px
- bindsym $right resize grow width 20 px
+ bindsym $left resize shrink width 20 px
+ bindsym $down resize grow height 20 px
+ bindsym $up resize shrink height 20 px
+ bindsym $right resize grow width 20 px
bindsym $left2 resize shrink width 20 px
bindsym $down2 resize grow height 20 px
bindsym $up2 resize shrink height 20 px
bindsym $right2 resize grow width 20 px
- bindsym Shift+$left move left 20 px
- bindsym Shift+$down move down 20 px
- bindsym Shift+$up move up 20 px
- bindsym Shift+$right move right 20 px
+ bindsym Shift+$left move left 20 px
+ bindsym Shift+$down move down 20 px
+ bindsym Shift+$up move up 20 px
+ bindsym Shift+$right move right 20 px
bindsym Shift+$left2 move left 20 px
bindsym Shift+$down2 move down 20 px
bindsym Shift+$up2 move up 20 px
bindsym Shift+$right2 move right 20 px
# smaller movements
- bindsym Control+$left resize shrink width 1 px or 1 ppt
- bindsym Control+$down resize grow height 1 px or 1 ppt
- bindsym Control+$up resize shrink height 1 px or 1 ppt
- bindsym Control+$right resize grow width 1 px or 1 ppt
+ bindsym Control+$left resize shrink width 1 px or 1 ppt
+ bindsym Control+$down resize grow height 1 px or 1 ppt
+ bindsym Control+$up resize shrink height 1 px or 1 ppt
+ bindsym Control+$right resize grow width 1 px or 1 ppt
bindsym Control+$left2 resize shrink width 1 px or 1 ppt
bindsym Control+$down2 resize grow height 1 px or 1 ppt
bindsym Control+$up2 resize shrink height 1 px or 1 ppt
bindsym Control+$right2 resize grow width 1 px or 1 ppt
- bindsym Control+Shift+$left move left 1 px
- bindsym Control+Shift+$down move down 1 px
- bindsym Control+Shift+$up move up 1 px
- bindsym Control+Shift+$right move right 1 px
+ bindsym Control+Shift+$left move left 1 px
+ bindsym Control+Shift+$down move down 1 px
+ bindsym Control+Shift+$up move up 1 px
+ bindsym Control+Shift+$right move right 1 px
bindsym Control+Shift+$left2 move left 1 px
bindsym Control+Shift+$down2 move down 1 px
bindsym Control+Shift+$up2 move up 1 px
bindsym $mod+z focus child
# back to normal: Enter, Escape, or original key
- bindsym return mode default
- bindsym escape mode default
+ bindsym Return mode default
+ bindsym Escape mode default
bindsym $mod+r mode default
}
bindsym $mod+r mode "translate"
+
+### appearance ###
+# font
+font pango:monospace 7
+
+# windows
+for_window [class="Gsimplecal"] floating enable
+for_window [class="XMixer"] floating enable
+
# borders
hide_edge_borders smart
-#new_window normal 1
new_window pixel 1
gaps inner 6
smart_gaps on
-# misc
-workspace_auto_back_and_forth yes
-force_display_urgency_hint 2000 ms
-
# color definitions
-# class border backgr. text indicator child_border
-set $focused #cc6600 #aa5500 #eee8d5 #4466ff #cc6600
-set $inactive #884400 #221100 #93a1a1 #264bd2 #884400
-set $urgent #ff4444 #dc322f #000000 #4466ff #ff4444
-set $blue #4466ff #264bd2 #fdf6e3 #264db2 #4466ff
-
-bar {
- position top
- tray_output primary
- status_command i3status
- separator_symbol "|"
-
- colors {
- background #110800
- statusline #93a1a1
- separator #268bd2
-
- # class border backgr. text
- focused_workspace $focused
- active_workspace $inactive
- inactive_workspace $inactive
- urgent_workspace $urgent
- binding_mode $blue
- }
-}
-
-# colors
+# generic
+set $bg #110800
+set $fg #93a1a1
+# focused
+set $f_bdr #cc6600
+set $f_bg #aa5500
+set $f_fg #eee8d5
+set $f_ind #4466ff
+set $f_chb #cc6600
+# inactive
+set $i_bdr #884400
+set $i_bg #221100
+set $i_fg $fg
+set $i_ind #264bd2
+set $i_chb #884400
+# urgent
+set $u_bdr #ff4444
+set $u_bg #dc322f
+set $u_fg #000000
+set $u_ind #4466ff
+set $u_chb #ff4444
+# blue
+set $b_bdr #4466ff
+set $b_bg #268bd2
+set $b_fg #fdf6e3
+set $b_ind #264db2
+set $b_chb #4466ff
+
+# deprecated in favor of tint2
+#bar {
+# position top
+# output LVDS1
+# tray_output primary
+# status_command i3status
+# separator_symbol "|"
+#
+# colors {
+# background $bg
+# statusline $fg
+# separator $b_ind
+#
+# # class border backgr. text
+# focused_workspace $f_bdr $f_bg $f_fg
+# active_workspace $i_bdr $i_bg $i_fg
+# inactive_workspace $i_bdr $i_bg $i_fg
+# urgent_workspace $u_bdr $u_bg $u_fg
+# binding_mode $b_bdr $b_bg $b_fg
+# }
+#}
+
+# apply colors
# class border backgr. text indicator child_border
-client.focused $focused
-client.focused_inactive $inactive
-client.unfocused $inactive
-client.urgent $urgent
-client.placeholder $blue
-
+client.focused $f_bdr $f_bg $f_fg $f_ind $f_chb
+client.focused_inactive $i_bdr $i_bg $i_fg $i_ind $i_chb
+client.unfocused $i_bdr $i_bg $i_fg $i_ind $i_chb
+client.urgent $u_bdr $u_bg $u_fg $u_ind $u_chb
+client.placeholder $b_bdr $b_bg $b_fg $b_ind $b_chb
client.background #221100
+# keep urgent colors around longer
+force_display_urgency_hint 2000 ms