#------------------------------------------------------------------------#
## Basically basic ##
#------------------------------------------------------------------------#
set $spn PRETTY=notify
set $mod Mod4
floating_modifier $mod
mouse_warping none
hide_edge_borders vertical
font pango:DejaVu Sans Mono 11
# 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
# 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 in horizontal orientation
bindsym $mod+g split h
# split in vertical orientation
bindsym $mod+v split v
# enter fullscreen mode for the focused container
bindsym $mod+f fullscreen
# change container layout (stacked, tabbed, toggle split)
bindsym $mod+s layout stacking
bindsym $mod+w layout tabbed
bindsym $mod+e layout toggle split
# toggle tiling / floating
bindsym $mod+Shift+space floating toggle
# change focus between tiling / floating windows
bindsym $mod+space focus mode_toggle
# focus the parent container
bindsym $mod+a focus parent
bindsym $mod+Shift+a focus child
# assign workspace names
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 $w0 10
# 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 $w0
bindsym $mod+Page_Up workspace prev_on_output
bindsym $mod+Page_Down workspace next_on_output
# move focused container to workspace
bindsym $mod+Shift+1 move container to workspace $w1
bindsym $mod+Shift+2 move container to workspace $w2
bindsym $mod+Shift+3 move container to workspace $w3
bindsym $mod+Shift+4 move container to workspace $w4
bindsym $mod+Shift+5 move container to workspace $w5
bindsym $mod+Shift+6 move container to workspace $w6
bindsym $mod+Shift+7 move container to workspace $w7
bindsym $mod+Shift+8 move container to workspace $w8
bindsym $mod+Shift+9 move container to workspace $w9
bindsym $mod+Shift+0 move container to workspace $w0
bindsym $mod+Shift+Page_Up move container to workspace prev_on_output
bindsym $mod+Shift+Page_Down move container to workspace next_on_output
bindsym $mod+Shift+Tab move scratchpad
bindsym $mod+Tab scratchpad show
bindsym $mod+Shift+r restart
#------------------------------------------------------------------------#
## Maybe Modes ##
#------------------------------------------------------------------------#
bindsym $mod+backslash mode "mark"
mode "mark" {
#
#
set $neutral " %title"
set $runn " %title"
set $pass " %title"
set $warn " %title"
set $fail " %title"
set $strike "%title"
set $unders "%title"
set $italic "%title"
set $normal "%title"
set $list " %title"
set $item " %title"
set $favorite " %title"
bindsym m exec i3-winmark mark ; mode "default"
bindsym u exec i3-winmark unmark ; mode "default"
bindsym g exec i3-winmark goto ; mode "default"
bindsym Page_Up [workspace=__focused__] \
title_format $neutral; mode "default"
bindsym Page_Down [workspace=__focused__] \
title_format $normal ; mode "default"
bindsym p title_format $pass ; mode "default"
bindsym bracketleft title_format $warn ; mode "default"
bindsym bracketright title_format $fail ; mode "default"
bindsym apostrophe title_format $runn ; mode "default"
bindsym semicolon title_format $neutral; mode "default"
bindsym comma title_format $favorite ; mode "default"
bindsym period title_format $item ; mode "default"
bindsym slash title_format $list ; mode "default"
bindsym BackSpace title_format $strike ; mode "default"
bindsym equal title_format $unders ; mode "default"
bindsym minus title_format $italic ; mode "default"
bindsym space title_format $normal ; mode "default"
bindsym backslash title_format $normal ; mode "default"
bindsym $mod+backslash mode "default"
bindsym Escape mode "default"
bindsym Return mode "default"
}
bindsym $mod+r mode "resize"
mode "resize" {
bindsym Left resize shrink width 200 px or 12 ppt
bindsym Down resize grow height 200 px or 12 ppt
bindsym Up resize shrink height 200 px or 12 ppt
bindsym Right resize grow width 200 px or 12 ppt
bindsym Shift+Left resize shrink width 25 px or 2 ppt
bindsym Shift+Down resize grow height 25 px or 2 ppt
bindsym Shift+Up resize shrink height 25 px or 2 ppt
bindsym Shift+Right resize grow width 25 px or 2 ppt
bindsym $mod+r mode "default"
bindsym Return mode "default"
bindsym Escape mode "default"
}
bar {
status_command i3status
bindsym button2 exec thunar
bindsym button3 exec "$spn xclose"
separator_symbol "•"
# other suggestions:
# ‧•┇╻╹╹╿═╎╏◆◾║︙⎪∣∕⟘⟙∙∼⦀⦑⦒⦚⧸⧹▓▒░⧻⧺┆˘͡͡ːˌ˷|・፧።
}
bindsym Caps_Lock mode "caps"
bindsym Shift+Caps_Lock mode "caps"
bindsym Ctrl+Caps_Lock mode "caps"
bindsym $mod+Caps_Lock mode "caps"
mode "caps" {
bindsym Caps_Lock mode "default"
bindsym Shift+Caps_Lock mode "default"
bindsym Ctrl+Caps_Lock mode "default"
bindsym $mod+Caps_Lock mode "default"
}
#------------------------------------------------------------------------#
## Openers ##
#------------------------------------------------------------------------#
bindsym $mod+Return exec "urxvt"
bindsym $mod+Shift+Return exec "xfce4-terminal"
bindsym $mod+Home exec "$spn bmo menu home"
bindsym $mod+Shift+Home exec "thunar"
bindsym $mod+p exec "$spn bmo menu run"
bindsym $mod+Shift+p exec "$spn bmo menu run_hist"
#------------------------------------------------------------------------#
## WWW magic mind readers ##
#------------------------------------------------------------------------#
bindsym $mod+b exec "$spn bmo wish -c -1 -a"
bindsym $mod+c exec "$spn bmo wish -c -1 -a -B"
bindsym $mod+Shift+b exec "$spn bmo wish -c"
bindsym $mod+Shift+c exec "$spn bmo wish -c -B"
bindsym $mod+i exec "$spn bmo menu uris"
bindsym $mod+Shift+i exec "$spn bmo menu www_hist"
bindsym $mod+q exec "$spn bmo wish -c -q g"
bindsym $mod+Shift+q exec "$spn bmo wish -c -Q"
bindsym $mod+t exec "acclive"
#------------------------------------------------------------------------#
## Killers ##
#------------------------------------------------------------------------#
bindsym $mod+Delete kill
bindsym $mod+Shift+Delete exec "i3-nagbar -t warning -m 'You pressed the exit shortcut. Do you really want to exit i3? This will end your X session.' -b 'Yes, exit' 'i3-msg exit'"
#------------------------------------------------------------------------#
## Desktop states ##
#------------------------------------------------------------------------#
bindsym $mod+Escape exec "$spn bmo iam afk"
bindsym $mod+Shift+Escape exec "$spn bmo iam gone"
bindsym $mod+m exec "$spn bmo menu status"
bindsym $mod+Shift+m exec "i3-dmenu-desktop --dmenu='bmo dmenu'"
bindsym $mod+o exec "$spn bmo menu context"
#------------------------------------------------------------------------#
## Desktop-ey other stuff ##
#------------------------------------------------------------------------#
bindsym $mod+n exec "$spn bmo kb home"
bindsym $mod+Shift+n exec "$spn bmo kb next"
bindsym $mod+Insert exec "$spn bmo clip save"
bindsym $mod+Shift+Insert exec "$spn bmo clip open"
bindsym $mod+d exec "xbacklight -dec 49"
bindsym $mod+Shift+d exec "xbacklight -inc 5"
bindsym XF86AudioRaiseVolume exec "$spn bmo au up"
bindsym XF86AudioLowerVolume exec "$spn bmo au down"
bindsym XF86AudioMute exec "$spn bmo au flip"
#------------------------------------------------------------------------#
## Typing macros wow ##
#------------------------------------------------------------------------#
bindsym --release $mod+Ctrl+apostrophe exec "xdotool .i3/macros/apostrophe.xdotool"
bindsym --release $mod+Ctrl+asterisk exec "xdotool .i3/macros/asterisk.xdotool"
bindsym --release $mod+Ctrl+slash exec "xdotool .i3/macros/slash.xdotool"
bindsym --release $mod+Ctrl+comma exec "xdotool .i3/macros/comma.xdotool"
bindsym --release $mod+Ctrl+semicolon exec "xdotool .i3/macros/semicolon.xdotool"
bindsym --release $mod+Ctrl+period exec "xdotool .i3/macros/period.xdotool"
bindsym --release $mod+Ctrl+9 exec "xdotool .i3/macros/9.xdotool"
bindsym --release $mod+Ctrl+grave exec "xdotool .i3/macros/grave.xdotool"
bindsym --release $mod+Ctrl+bracketleft exec "xdotool .i3/macros/bracketleft.xdotool"
bindsym --release $mod+Ctrl+bracketright exec "xdotool .i3/macros/bracketright.xdotool"
#------------------------------------------------------------------------#
## Less smart apps ##
#------------------------------------------------------------------------#
for_window [class="Shutter"] floating enable
for_window [class="Orage"] floating enable
#------------------------------------------------------------------------#
## autoexec.bat ##
#------------------------------------------------------------------------#
exec "newfeh"
exec "dunst"
exec "psi-plus"
exec "dropbox start"
exec "urxvt -e weechat"
exec "nm-applet"
exec "shutter --min_at_startup"
exec "QSyncthingTray"