]> git.sev.monster Git - dotfiles.git/blobdiff - xdg/i3/config
add tridactyl native updater, trim i3 config
[dotfiles.git] / xdg / i3 / config
index d37b5d7ca0c036481c1975aa36cb9d6110eca169..af19cae2c18532bfcbae463d07c2a31f3844a804 100644 (file)
@@ -1,48 +1,45 @@
-# 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
 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
 
 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
 # change focus
 bindsym $mod+$left focus left
 bindsym $mod+$down focus down
@@ -52,7 +49,6 @@ bindsym $mod+$left2 focus left
 bindsym $mod+$down2 focus down
 bindsym $mod+$up2 focus up
 bindsym $mod+$right2 focus right
 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
 # move focused window
 bindsym $mod+Shift+$left move left
 bindsym $mod+Shift+$down move down
@@ -65,10 +61,12 @@ bindsym $mod+Shift+$right2 move right
 
 # split in horizontal orientation
 bindsym $mod+i split h
 
 # split in horizontal orientation
 bindsym $mod+i split h
-
 # split in vertical orientation
 bindsym $mod+o split v
 
 # 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
 # enter fullscreen mode for the focused container
 bindsym $mod+f fullscreen toggle
 bindsym $mod+Shift+f fullscreen toggle global
@@ -90,6 +88,9 @@ bindsym $mod+a focus parent
 # focus the child container
 bindsym $mod+z focus child
 
 # 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
 
 # move the currently focused window to the scratchpad
 bindsym $mod+Shift+minus move scratchpad
 
@@ -108,6 +109,8 @@ bindsym $mod+7 workspace 7
 bindsym $mod+8 workspace 8
 bindsym $mod+9 workspace 9
 bindsym $mod+0 workspace 10
 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
 
 # move focused container to workspace
 bindsym $mod+Shift+1 move container to workspace 1
@@ -121,59 +124,40 @@ 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
 
 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" {
 # 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 $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 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+$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 Control+Shift+$left2  move left  1 px
        bindsym Control+Shift+$down2  move down  1 px
        bindsym Control+Shift+$up2    move up    1 px
@@ -192,56 +176,85 @@ mode "translate" {
        bindsym $mod+z focus child
 
        # back to normal: Enter, Escape, or original key
        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"
 
        bindsym $mod+r mode default
 }
 bindsym $mod+r mode "translate"
 
+
+### appearance ###
+# font
+font pango:Dina 7
+
+# windows
+for_window [class="Gsimplecal"] floating enable
+for_window [class="XMixer"] floating enable
+
 # borders
 hide_edge_borders smart
 # borders
 hide_edge_borders smart
-#new_window normal 1
 new_window pixel 1
 gaps inner 6
 smart_gaps on
 
 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
 # 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
-
+# 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
+
+# TODO: deprecate in favor of tint2
 bar {
        position top
 bar {
        position top
+       output LVDS1
        tray_output primary
        status_command i3status
        separator_symbol "|"
 
        colors {
        tray_output primary
        status_command i3status
        separator_symbol "|"
 
        colors {
-               background #110800
-               statusline #93a1a1
-               separator  #268bd2
+               background $bg
+               statusline $fg
+               separator  $b_ind
 
                # class            border  backgr. text
 
                # class            border  backgr. text
-               focused_workspace  $focused
-               active_workspace   $inactive
-               inactive_workspace $inactive
-               urgent_workspace   $urgent
-               binding_mode       $blue
+               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
        }
 }
 
        }
 }
 
-# colors
+# apply colors
 # class                 border  backgr. text    indicator child_border
 # 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
 client.background       #221100
+# keep urgent colors around longer
+force_display_urgency_hint 2000 ms
This page took 0.045169 seconds and 4 git commands to generate.