# vim:set foldmethod=indent:
# vim:set foldignore=:
# This file has been auto-generated by i3-config-wizard(1).
# It will not be overwritten, so edit it as you like.
#
# Should you change your keyboard layout somewhen, delete
# this file and re-run i3-config-wizard(1).
#

# i3 config file (v4)
#
# Please see http://i3wm.org/docs/userguide.html for a complete reference!

################################################################################
### VARIABLES ##################################################################
################################################################################

    # Use the win-key as modifier
    set $mod Mod4

    # The default terminal
    set $terminal urxvt

    # Path to the exit script
    set $path_i3exit ~/.i3/scripts/i3exit.bash

    # Keys for the exit mode
    set $key_lock      l
    set $key_logout    e
    set $key_suspend   s
    set $key_hibernate h
    set $key_reboot    r
    set $key_shutdown  Shift+S

    set $signal_lock      lock
    set $signal_logout    logout
    set $signal_suspend   suspend
    set $signal_hibernate hibernate
    set $signal_reboot    reboot
    set $signal_shutdown  shutdown

    set $workspace1  1
    set $workspace2  2
    set $workspace3  3
    set $workspace4  4
    set $workspace5  5
    set $workspace6  6
    set $workspace7  7
    set $workspace8  8
    set $workspace9  9
    set $workspace10 10

    set $key_workspace1  1
    set $key_workspace2  2
    set $key_workspace3  3
    set $key_workspace4  4
    set $key_workspace5  5
    set $key_workspace6  6
    set $key_workspace7  7
    set $key_workspace8  8
    set $key_workspace9  9
    set $key_workspace10 0

    set $left  h
    set $down  j
    set $up    k
    set $right l

    set $splith c
    set $splitv v
    set $split_toggle x

    set $fullscreen f

    set $layout_stacking s
    set $layout_tabbed   w
    set $layout_default  e

    set $focus_parent q
    set $focus_child  a

    set $floating_toggle   Shift+space
    set $focus_mode_toggle space

    set $prev_on_output u
    set $next_on_output i

    set $workspace_back_and_forth asciicircum

    set $reload  Shift+C
    set $restart Shift+R
    set $exit    Shift+E

    set $kill Shift+Q

    set $redshift_latitude 49.5
    set $redshift_longitude 11
    set $redshift_colortemp_day 6500
    set $redshift_colortemp_night 4500

################################################################################
### KEYBINDINGS ################################################################
##################9#############################################################

    ### MOVING AND WINDOW BEHAVIOUR ############################################
    bindsym $mod+$kill kill

    bindsym $mod+$left  focus left
    bindsym $mod+$down  focus down
    bindsym $mod+$up    focus up
    bindsym $mod+$right focus right

    bindsym $mod+Left   focus left
    bindsym $mod+Down   focus down
    bindsym $mod+Up     focus up
    bindsym $mod+Right  focus right

    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+Left   move left
    bindsym $mod+Shift+Down   move down
    bindsym $mod+Shift+Up     move up
    bindsym $mod+Shift+Right  move right

    bindsym $mod+$splith split h
    bindsym $mod+$splitv split v

    bindsym $mod+$fullscreen fullscreen

    bindsym $mod+$layout_stacking layout stacking
    bindsym $mod+$layout_tabbed   layout tabbed
    bindsym $mod+$layout_default  layout default

    bindsym $mod+$split_toggle layout toggle split

    bindsym $mod+$floating_toggle   floating toggle
    bindsym $mod+$focus_mode_toggle focus mode_toggle

    bindsym $mod+$focus_parent focus parent
    bindsym $mod+$focus_child  focus child

    bindsym $mod+$key_workspace1  workspace $workspace1
    bindsym $mod+$key_workspace2  workspace $workspace2
    bindsym $mod+$key_workspace3  workspace $workspace3
    bindsym $mod+$key_workspace4  workspace $workspace4
    bindsym $mod+$key_workspace5  workspace $workspace5
    bindsym $mod+$key_workspace6  workspace $workspace6
    bindsym $mod+$key_workspace7  workspace $workspace7
    bindsym $mod+$key_workspace8  workspace $workspace8
    bindsym $mod+$key_workspace9  workspace $workspace9
    bindsym $mod+$key_workspace10 workspace $workspace10

    bindsym $mod+Shift+$key_workspace1  move container to workspace $workspace1
    bindsym $mod+Shift+$key_workspace2  move container to workspace $workspace2
    bindsym $mod+Shift+$key_workspace3  move container to workspace $workspace3
    bindsym $mod+Shift+$key_workspace4  move container to workspace $workspace4
    bindsym $mod+Shift+$key_workspace5  move container to workspace $workspace5
    bindsym $mod+Shift+$key_workspace6  move container to workspace $workspace6
    bindsym $mod+Shift+$key_workspace7  move container to workspace $workspace7
    bindsym $mod+Shift+$key_workspace8  move container to workspace $workspace8
    bindsym $mod+Shift+$key_workspace9  move container to workspace $workspace9
    bindsym $mod+Shift+$key_workspace10 move container to workspace $workspace10

    bindsym $mod+$prev_on_output workspace prev_on_output
    bindsym $mod+$next_on_output workspace next_on_output

    bindsym $mod+$workspace_back_and_forth workspace back_and_forth

    bindsym $mod+Shift+$prev_on_output move container to workspace prev_on_output
    bindsym $mod+Shift+$next_on_output move container to workspace next_on_output

    # regenerate and reload the configuration file
    # if genconfig gets any paramters, it will invoke i3-msg reload
    bindsym $mod+$reload exec --no-startup-id bash ~/.i3/scripts/genconfig.bash 1

    bindsym $mod+$restart restart
    bindsym $mod+$exit    exit

    ### START APPLICATIONS #####################################################

    bindsym $mod+d exec j4-dmenu-desktop --dmenu="dmenu -b -i -l 10 -p '>' -nb '#222222' -nf '#ffffff' -sb '#e16b40' -sf '#000000'"
    bindsym $mod+Return exec $terminal
    bindsym $mod+F1 exec firefox

################################################################################
### MODES ######################################################################
################################################################################

    # resize window (you can also use the mouse for that)
    mode "resize" {
            # These bindings trigger as soon as you enter the resize mode

            # Pressing left will shrink the window’s width.
            # Pressing right will grow the window’s width.
            # Pressing up will shrink the window’s height.
            # Pressing down will grow the window’s height.
            bindsym $left  resize shrink width 10 px or 10 ppt
            bindsym $down  resize grow height 10 px or 10 ppt
            bindsym $up    resize shrink height 10 px or 10 ppt
            bindsym $right resize grow width 10 px or 10 ppt

            # same bindings, but for the arrow keys
            bindsym 113 resize shrink width 10 px or 10 ppt
            bindsym 116 resize grow height 10 px or 10 ppt
            bindsym 111 resize shrink height 10 px or 10 ppt
            bindsym 114 resize grow width 10 px or 10 ppt

            # back to normal: Enter or Escape
            bindsym Return mode "default"
            bindsym Escape mode "default"
    }
    bindsym $mod+r mode "resize"

    # Enabling a mode to shutdown, reboot, lock screen and so on
    set $mode_system System (l) lock, (e) logout, (s) suspend, (h) hibernate, (r) reboot, (Shift+s) shutdown
    mode "$mode_system" {
        bindsym $key_lock exec --no-startup-id $path_i3exit $signal_lock, mode "default"
        bindsym $key_logout exec --no-startup-id $path_i3exit $signal_logout, mode "default"
        bindsym $key_suspend exec --no-startup-id $path_i3exit $signal_suspend, mode "default"
        bindsym $key_hibernate exec --no-startup-id $path_i3exit $signal_hibernate, mode "default"
        bindsym $key_reboot exec --no-startup-id $path_i3exit $signal_reboot, mode "default"
        bindsym $key_shutdown exec --no-startup-id $path_i3exit $signal_shutdown, mode "default"

        # back to normal: Enter or Escape
        bindsym Return mode "default"
        bindsym Escape mode "default"
    }
    bindsym $mod+Pause mode "$mode_system"
    bindsym Pause exec --no-startup-id $path_i3exit lock

################################################################################
### GENERAL SETUP ##############################################################
################################################################################

    #workspace $workspace1 output VBOX0
    #workspace $workspace2 output VBOX0
    #workspace $workspace3 output VBOX0
    #workspace $workspace4 output VBOX0
    #workspace $workspace5 output VBOX0
    #workspace $workspace6 output VBOX0
    #workspace $workspace7 output VBOX0
    #workspace $workspace8 output VBOX0
    #workspace $workspace9 output VBOX0
    #workspace $workspace10 output VBOX1

    # Default orientation for new workspaces will be derived from aspect ratio
    default_orientation auto

    # New containers will start in tiling mode
    workspace_layout default

    # Draw normal borders around all windows with 1-pixel borders
    new_window 1pixel
    new_float normal 1

    # Do show borders at the screen edges
    hide_edge_borders none

    focus_follows_mouse no

    # Only map a popup in fullscreen mode if it belongs to the fullscreen window
    # <smart|ignore|leave_fullscreen>
    popup_during_fullscreen leave_fullscreen

    # Do not always wrap but change to a container on the same level instead
    force_focus_wrapping no

    force_xinerama no

    # Hit the current workspace button again to return to the previous workspace
    workspace_auto_back_and_forth yes

    # Draw a window as urgent when switching to its workspace, even if focused, for
    # 500 ms
    force_display_urgency_hint 500 ms

    # Use Mouse+$mod to drag floating windows to their wanted position
    floating_modifier $mod

    floating_minimum_size 0 x 0
    floating_maximum_size 0 x 0

################################################################################
### COLOR SETTINGS #############################################################
################################################################################

# class                 border  backgr. text    indicator
client.focused          #E16B40 #E16B40 #000000 #FF0000
client.focused_inactive #333333 #5f676a #ffffff #484e50
client.unfocused        #333333 #202020 #cccccc #292d2e
client.urgent           #2f343a #900000 #ffffff #900000

################################################################################
### APPLICATION SPECIFIC SETTINGS ##############################################
################################################################################

    for_window [class="^Wicd-client.py$"] floating enable
    for_window [class="^Xfce4-notifyd$"] floating enable , border none
    for_window [class="^Conky$"] floating enable
    for_window [class="^Terminator$"] border 1pixel
    for_window [class="^Firefox$"] border none
    for_window [class="^Truecrypt$"] floating enable
    for_window [class="^URxvt$"] border 1pixel
    for_window [class="^Cairo-dock$"] floating enable , border none
    for_window [class="^Pavucontrol$"] floating enable , border normal
    for_window [title="^Skype.*for Linux$" ] floating enable , border none
    for_window [class="^Chromium$" ] border none
    for_window [class="^yad-status$" ] floating enable , border none
    for_window [class="^Docky$" ] floating enable , border none
    for_window [class="^Skype$" ] border 1pixel
    for_window [class="^Steam$" ] border none
    for_window [class="^Eclipse$" ] border none
    #for_window [class="^Steam$" title="^Friends$" ] border 1pixel , floating enable , floating_maximum_size 200 x 700
    #for_window [class="^Steam$" title="Chat$" ] border 1pixel , floating enable
    for_window [class="^sublime-text$" ] border none
    for_window [class="^Evince$" ] border none
    for_window [class="^Designer$" ] border none
    for_window [class="^main\.py$" ] floating enable
    for_window [class="^Xfce4-panel$"] floating enable



