Created
July 22, 2013 21:35
-
-
Save matejc/6057922 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Please see http://i3wm.org/docs/userguide.html for a complete reference! | |
#{{{ Main | |
set $mod Mod4 | |
# monitors | |
# LVDS1 | |
set $mon_lap LVDS | |
set $mon_ext VGA-0 | |
set $mon_ext1 HDMI1 | |
set $mon_ext2 HDMI2 | |
set $snd_card 1 | |
# > horizontal | vertical | auto | |
default_orientation horizontal | |
# > default | stacking | tabbed | |
workspace_layout tabbed | |
# > normal | 1pixel | none | |
new_window normal | |
# Use Mouse+$mod to drag floating windows to their wanted position | |
floating_modifier $mod | |
#}}} | |
#{{{ Modes | |
#{{{ Monitor mode | |
mode "monitor_select" { | |
# only one | |
bindsym 1 exec --no-startup-id xrandr --output $mon_ext --off --output $mon_lap --auto; mode "default" | |
bindsym 2 exec --no-startup-id xrandr --output $mon_lap --off --output $mon_ext --auto; mode "default" | |
# left and right | |
bindsym l exec --no-startup-id xrandr --output $mon_lap --auto --output $mon_ext1 --auto --left-of $mon_lap ; mode "default" | |
bindsym r exec --no-startup-id xrandr --output $mon_lap --auto --output $mon_ext1 --auto --right-of $mon_lap ; mode "default" | |
# up and down | |
bindsym u exec --no-startup-id xrandr --output $mon_lap --auto --output $mon_ext1 --auto --above $mon_lap ; mode "default" | |
bindsym d exec --no-startup-id xrandr --output $mon_lap --auto --output $mon_ext1 --auto --below $mon_lap ; mode "default" | |
# clone | |
bindsym c exec --no-startup-id xrandr --output $mon_lap --auto --output $mon_ext --auto --same-as $mon_lap ; mode "default" | |
# presentation | |
bindsym p exec --no-startup-id xrandr --output $mon_lap --auto --output $mon_ext1 --auto --left-of $mon_lap ; mode "default" | |
# back to normal: Enter or Escape | |
bindsym Return mode "default" | |
bindsym Escape mode "default" | |
} | |
#}}} | |
#}}} | |
#{{{ Fonts | |
# font for window titles. ISO 10646 = Unicode | |
# font -misc-fixed-medium-r-normal--13-120-75-75-C-70-iso10646-1 | |
#font -*-terminus-medium-r-normal-*-14-*-*-*-c-*-iso10646-1 | |
# font -*-terminus-medium-r-normal-*-12-120-72-72-c-60-iso10646-1 | |
font pango:DejaVu Sans Mono 10 | |
#}}} | |
#{{{ Workspaces | |
set $w1 1 | |
set $w2 2 | |
set $w3 3 | |
set $w4 4 | |
set $w5 5 | |
set $w6 6 | |
set $w7 7 | |
set $w8 8 | |
set $w9 9 | |
set $w10 10 | |
#workspace "$w1" output $mon_ext | |
#workspace "$w2" output $mon_ext | |
#workspace "$w3" output $mon_ext | |
#workspace "$w4" output $mon_ext | |
#workspace "$w5" output $mon_lap | |
#workspace "$w6" output $mon_lap | |
#workspace "$w7" output $mon_lap | |
#workspace "$w8" output $mon_lap | |
#workspace "$w9" output $mon_ext | |
#workspace "$w10" output $mon_ext | |
# switch to workspace | |
bindsym $mod+1 workspace $w1 | |
bindsym $mod+2 workspace $w2 | |
bindsym $mod+3 workspace $w3 | |
bindsym $mod+4 workspace $w4 | |
bindsym $mod+5 workspace $w5 | |
bindsym $mod+6 workspace $w6 | |
bindsym $mod+7 workspace $w7 | |
bindsym $mod+8 workspace $w8 | |
bindsym $mod+9 workspace $w9 | |
bindsym $mod+0 workspace $w10 | |
# move focused container to workspace | |
bindsym $mod+Shift+exclam move workspace $w1 | |
bindsym $mod+Shift+at move workspace $w2 | |
bindsym $mod+Shift+numbersign move workspace $w3 | |
bindsym $mod+Shift+dollar move workspace $w4 | |
bindsym $mod+Shift+percent move workspace $w5 | |
bindsym $mod+Shift+asciicircum move workspace $w6 | |
bindsym $mod+Shift+ampersand move workspace $w7 | |
bindsym $mod+Shift+asterisk move workspace $w8 | |
bindsym $mod+Shift+parenleft move workspace $w9 | |
bindsym $mod+Shift+parenright move workspace $w10 | |
bindsym $mod+Tab workspace back_and_forth | |
bindsym $mod+grave workspace prev | |
bindsym $mod+minus workspace prev | |
bindsym $mod+equal workspace next | |
bindsym $mod+m mode "monitor_select" | |
#}}} | |
#{{{ Windows | |
#{{{ Change focus | |
# 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 | |
# focus the parent container | |
#bindsym $mod+a focus parent | |
# focus the child container | |
#bindcode $mod+d focus child | |
#}}} | |
#{{{ Move | |
# 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 | |
#split in horizontal orientation | |
bindsym $mod+x split h | |
# split in vertical orientation | |
bindsym $mod+z split v | |
#}}} | |
#{{{ Resize | |
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 j resize shrink left 10 px or 10 ppt | |
bindsym Shift+J resize grow left 10 px or 10 ppt | |
bindsym k resize shrink down 10 px or 10 ppt | |
bindsym Shift+K resize grow down 10 px or 10 ppt | |
bindsym l resize shrink up 10 px or 10 ppt | |
bindsym Shift+L resize grow up 10 px or 10 ppt | |
bindsym semicolon resize shrink right 10 px or 10 ppt | |
bindsym Shift+colon 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" | |
#}}} | |
#{{{ Tiling / Floating / Fullscreen | |
# toggle tiling / floating | |
bindsym $mod+Shift+space floating toggle | |
# change focus between tiling / floating windows | |
#bindsym $mod+space focus mode_toggle | |
# enter fullscreen mode for the focused container | |
bindsym $mod+f fullscreen | |
#}}} | |
#{{{ Layout | |
# change container layout (stacked, tabbed, default) | |
bindsym $mod+e layout stacking | |
bindsym $mod+w layout tabbed | |
bindsym $mod+q layout default | |
#}}} | |
#{{{ Other | |
bindsym $mod+t border normal | |
bindsym $mod+y border 1pixel | |
bindsym $mod+u border none | |
#}}} | |
#}}} | |
#{{{ Applications | |
#{{{ Shortcuts | |
# start dmenu (a program launcher) | |
#bindsym $mod+d exec dmenu_run | |
bindsym $mod+space exec --no-startup-id ~/bin/dmenu | |
#dmenu_run -l 7 -p ">>>" -fn "7x14" | |
# start a terminal | |
bindsym $mod+Return exec i3-sensible-terminal | |
# start gvim | |
bindsym $mod+Shift+Return exec gvim | |
# ipython | |
#bindsym $mod+Shift+i [instance="ipython"] scratchpad show | |
#for_window [instance="ipython"] move scratchpad | |
#for_window [instance="ipython"] floating enable | |
# alot | |
#bindsym $mod+Shift+m [instance="alot"] scratchpad show | |
#for_window [instance="alot"] move scratchpad | |
#for_window [instance="alot"] floating enable | |
# todo | |
#bindsym $mod+Shift+t [instance="todo"] scratchpad show | |
#for_window [instance="todo"] move scratchpad | |
#for_window [instance="todo"] floating enable | |
# calendar | |
#bindsym $mod+Shift+y [instance="calendar"] scratchpad show | |
#for_window [instance="calendar"] move scratchpad | |
#for_window [instance="calendar"] floating enable | |
# ncmpcpp | |
#bindsym $mod+Shift+n [instance="ncmpcpp"] scratchpad show | |
#for_window [instance="ncmpcpp"] move scratchpad | |
#for_window [instance="ncmpcpp"] floating enable | |
#}}} | |
#{{{ Assigns | |
#assign [class="Opera"] $w3 | |
#assign [class="Chromium"] $w3 | |
#assign [class="Firefox"] $w3 | |
#assign [class="Nightly"] $w3 | |
#assign [class="Gvim"] $w2 | |
#}}} | |
#{{{ Other shortcuts | |
# Make the currently focused window a scratchpad | |
#bindsym $mod+Ctrl+BackSpace move scratchpad | |
# Show the first scratchpad window | |
#bindsym $mod+BackSpace scratchpad show | |
# kill focused window | |
bindsym $mod+Shift+Q kill | |
# focus the parent container | |
bindsym $mod+a focus parent | |
# focus the child container | |
#bindcode $mod+d focus child | |
# 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 | |
# matejc's key bindings | |
bindsym Mod1+Shift+Tab focus left | |
bindsym Mod1+Tab focus right | |
bindsym Ctrl+Mod1+Left exec i3-msg workspace $(/home/matej/sync/bin/i3_workspace.py left) | |
bindsym Ctrl+Mod1+Right exec i3-msg workspace $(/home/matej/sync/bin/i3_workspace.py right) | |
bindsym Ctrl+Mod1+Shift+Left exec WSNUM=$(/home/matej/sync/bin/i3_workspace.py left) && i3-msg move workspace $WSNUM && i3-msg workspace $WSNUM | |
bindsym Ctrl+Mod1+Shift+Right exec WSNUM=$(/home/matej/sync/bin/i3_workspace.py right) && i3-msg move workspace $WSNUM && i3-msg workspace $WSNUM | |
bindcode 179 exec /run/current-system/sw/bin/vlc /home/matej/Dropbox/matej/workarea/radios/favorites.m3u8 | |
bindcode 121 exec /home/matej/bin/volume $snd_card toggle | |
bindcode 122 exec /home/matej/bin/volume $snd_card decrease | |
bindcode 123 exec /home/matej/bin/volume $snd_card increase | |
bindsym Ctrl+Mod1+space exec /run/current-system/sw/bin/dmenu_run -l 10 -p run: -b | |
bindsym Ctrl+Mod1+l exec /home/matej/sync/bin/lockscreen | |
bindsym Ctrl+Mod1+h exec /run/current-system/sw/bin/dbus-launch /run/current-system/sw/bin/thunar /home/matej | |
bindsym Ctrl+Mod1+s exec /run/current-system/sw/bin/sublime | |
bindsym Ctrl+Mod1+t exec /run/current-system/sw/bin/xfce4-terminal | |
bindsym Ctrl+Mod1+w exec "/run/current-system/sw/bin/feh --bg-fill $(/run/current-system/sw/bin/python /home/matej/Dropbox/matej/workarea/pys/randimage.py /home/matej/Pictures/wallpapers/)" | |
bindsym Mod1+F4 kill | |
# }}} | |
#}}} | |
#{{{ Colors | |
# class border backgr. text | |
#client.focused #c0c0c0 #c0c0c0 #595959 | |
#client.focused_inactive #292929 #292929 #c0c0c0 | |
client.unfocused #292929 #292929 #c9c9c9 | |
#client.urgent #ff4500 #ff4500 #c0c0c0 | |
#client.background #000000 | |
#}}} | |
#{{{ i3bar | |
# Start i3bar to display a workspace bar (plus the system information i3status | |
# finds out, if available) | |
bar { | |
status_command i3status | |
position bottom | |
#tray_output $mon_ext | |
#tray_output $mon_lap | |
#{{{ i3bar colors | |
colors { | |
background #0e0e0e | |
statusline #c0c0c0 | |
focused_workspace #ffffff #0e3e9e | |
inactive_workspace #a0a0a0 #0e0e0e | |
urgent_workspace #000033 #ff4500 | |
#active_workspace #696969 #0e0e0e | |
} | |
#}}} | |
} | |
#}}} | |
#{{{ Autostart | |
#exec --no-startup-id urxvtc -name ipython -e ipython | |
#exec --no-startup-id urxvtc -name alot -e alot | |
#exec --no-startup-id urxvtc -name todo -e todo | |
#exec --no-startup-id urxvtc -name calendar -e cal -y | |
#exec --no-startup-id urxvtc -name ncmpcpp -e ncmpcpp | |
exec --no-startup-id "/run/current-system/sw/bin/supervisord -c /home/matej/.supervisord.conf" | |
exec --no-startup-id /run/current-system/sw/bin/setxkbmap -layout "si" | |
#exec --no-startup-id "/run/current-system/sw/bin/xfsettingsd" | |
#exec --no-startup-id "/run/current-system/sw/bin/nm-applet" | |
exec --no-startup-id "/home/matej/sync/bin/autolock" | |
#exec --no-startup-id "/run/current-system/sw/bin/dropbox" | |
#exec --no-startup-id "/home/matej/bin/btsync-wrapper" | |
#exec --no-startup-id /bin/sh -c "sleep 5; /run/current-system/sw/bin/xrandr --output LVDS --mode 1366x768 --pos 0x0 --output VGA-0 --mode 1920x1080 --pos 1366x0" & | |
#exec --no-startup-id /bin/sh -c "sleep 5; /run/current-system/sw/bin/xrandr --output VGA-0 --mode 1920x1080 --output LVDS --mode 1366x768 --left-of VGA-0" & | |
#exec --no-startup-id /bin/sh -c "sleep 5; /run/current-system/sw/bin/xrandr --output VGA-0 --mode 1920x1080 --output LVDS --off" & | |
exec --no-startup-id /bin/sh -c "sleep 5; /run/current-system/sw/bin/xrandr --output LVDS --auto" & | |
exec --no-startup-id /bin/sh -c "sleep 8; /run/current-system/sw/bin/feh --bg-fill $(/run/current-system/sw/bin/python /home/matej/Dropbox/matej/workarea/pys/randimage.py /home/matej/Pictures/wallpapers/); /run/current-system/sw/bin/i3-msg restart" & | |
# }}} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment