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

set $mod Mod4
floating_modifier $mod

font pango:Noto Sans 10

# kill focused window
bindsym $mod+apostrophe kill
bindsym Mod1+F4 kill

# move focused window
bindsym $mod+Left move left
bindsym $mod+Down move down
bindsym $mod+Up move up
bindsym $mod+Right move right

# split in horizontal orientation
bindsym $mod+h split h
bindsym $mod+t split v

# enter fullscreen mode for the focused container
bindsym $mod+f fullscreen toggle

# change container layout (stacked, tabbed, toggle split)
bindsym $mod+o layout stacking
bindsym $mod+comma layout tabbed
bindsym $mod+period layout toggle split

# toggle tiling / floating
bindsym $mod+u floating toggle

# focus the parent container
bindsym $mod+a focus parent
bindsym $mod+d focus child

#  Screen configs  #
set    $left   "DP-1.1"
set    $centre "DP-1.2.1"
set    $right  "DP-1.2.2"
set    $top    "HDMI-0"

# Workspace -> Screen
workspace 1 output $left
workspace 2 output $centre
workspace 3 output $right
workspace 4 output $top

# switch to workspace
bindsym $mod+1 workspace 1
bindsym $mod+2 workspace 2
bindsym $mod+3 workspace 3
bindsym $mod+4 workspace 4
bindsym $mod+5 workspace 5
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

# move focused container to workspace
bindsym $mod+Shift+1 move container to workspace 1
bindsym $mod+Shift+2 move container to workspace 2
bindsym $mod+Shift+3 move container to workspace 3
bindsym $mod+Shift+4 move container to workspace 4
bindsym $mod+Shift+5 move container to workspace 5
bindsym $mod+Shift+6 move container to workspace 6
bindsym $mod+Shift+7 move container to workspace 7
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

# exit i3 (logs you out of your X session)
bindsym $mod+Shift+Escape exec --no-startup-id ~/.config/i3/powermenu.sh

set $bg-color            #2f343f
set $inactive-bg-color   #2f343f
set $text-color          #f3f4f5
set $inactive-text-color #676E7D
set $urgent-bg-color     #E53935

# window colors
#                       border              background         text                 indicator
client.focused          $bg-color           $bg-color          $text-color          $bg-color
client.unfocused        $inactive-bg-color  $inactive-bg-color $inactive-text-color $bg-color
client.focused_inactive $inactive-bg-color  $inactive-bg-color $inactive-text-color $bg-color
client.urgent           $urgent-bg-color    $urgent-bg-color   $text-color          $bg-color

bar {
    status_command i3blocks -c ~/.config/i3/blocks/config

    workspace_buttons yes
    strip_workspace_numbers yes
    tray_output primary
    tray_padding 2
    height 22

    output $centre
    position top

    colors {
        separator #757575
        background #2f343f
        #                  border             background         text
        focused_workspace  $bg-color          $bg-color          $text-color
        inactive_workspace $inactive-bg-color $inactive-bg-color $inactive-text-color
        urgent_workspace   $urgent-bg-color   $urgent-bg-color   $text-color
    }
}

new_window pixel 6
new_float none

gaps inner 10
gaps outer 2
#smart_gaps on

# Do not follow the mouse
focus_follows_mouse yes

# keybindings
bindsym $mod+Shift+j reload
bindsym $mod+Shift+p restart
bindsym $mod+c       exec google-chrome-stable
bindsym $mod+v       exec "i3-sensible-terminal -e \\"$SHELL -c vim;$SHELL\\""
bindsym Mod1+Tab     exec ~/.config/i3/alt-tab.sh
bindsym $mod+Return  exec i3-sensible-terminal
bindsym $mod+l       exec ~/.config/i3/lock.sh
bindsym $mod+space   exec rofi -show run -fg "#D3DAE3" -bg "#383C4A" -hlbg "#5294E2"
bindsym --release Print        exec imgur-screenshot -s
bindsym --release $mod+Print   exec imgur-screenshot
bindsym $mod+Shift+Return exec --no-startup-id ~/.config/i3/cycleaudio.py && pkill -RTMIN+10 i3blocks

# Media player controls
bindsym XF86AudioPlay  exec --no-startup-id mpc toggle
bindsym XF86AudioPause exec --no-startup-id mpc pause
bindsym XF86AudioStop  exec --no-startup-id mpc stop
bindsym XF86AudioNext  exec --no-startup-id mpc next
bindsym XF86AudioPrev  exec --no-startup-id mpc previous
bindsym XF86AudioRaiseVolume exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ +5% && pkill -RTMIN+10 i3blocks
bindsym XF86AudioLowerVolume exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ -5% && pkill -RTMIN+10 i3blocks
bindsym XF86AudioMute        exec --no-startup-id pactl set-sink-mute   @DEFAULT_SINK@ toggle && pkill -RTMIN+10 i3blocks

# app launch shortcuts
exec --no-startup-id ~/.fehbg
exec --no-startup-id ~/.config/i3/disable-standby-fs.py
exec xautolock -time 10 -locker /usr/bin/lock.sh

exec --no-startup-id pulseaudio
exec --no-startup-id dropbox
exec --no-startup-id insync start
exec --no-startup-id nm-applet
exec --no-startup-id blueman-applet
exec --no-startup-id redshift
exec --no-startup-id xbindkeys
exec --no-startup-id compton -b --config ~/.config/compton.conf
exec --no-startup-id google-chrome-stable --no-startup-window

exec i3-msg 'workspace 2; exec i3-sensible-terminal'
exec i3-msg 'workspace 3; exec sleep 2 && google-chrome-stable'

# vim:ft=i3