set $mod Mod4
bindsym $mod+2 exec "pavucontrol"
-bindsym $mod+3 exec "abrowser"
+bindsym $mod+3 exec "abroswer"
#bindsym $mod+3 exec "abrowser -no-remote -P sfw"
bindsym $mod+4 exec "abrowser -no-remote -P firefox-main-profile"
bindsym $mod+5 exec "/usr/local/bin/start-tor-browser"
# bindsym $mod+grave exec "t s lunch; t in; t out -a '45 minutes from now'"
-bindsym $mod+w focus parent
+bindsym $mod+equal focus parent
+# move firefox to current workspace.
+# https://i3wm.org/docs/userguide.html#keybindings
+# get class with xprop, example output
+# WM_CLASS(STRING) = "irssi", "URxvt"
+# xprop |& grep WM_CLASS
+bindsym $mod+w [class="abrowser"] move workspace current
+
bindsym $mod+e fullscreen toggle
bindsym $mod+r exec "/a/bin/ds/xl"
# todo, in newer i3, make this toggle split tabbed
# todo, in newer i3, make this split toggle
bindsym $mod+v split vertical
-bindsym $mod+b split horizontal
+bindsym $mod+Shift+v split horizontal
+# https://faq.i3wm.org/question/7662/reverse-perl-matches-in-criteria-in-i3-config.1.html
+# I found their regex slightly wrong. This is a hacky way to
+# ignore my irc emacs instances, their window titles
+# are irc room names. Another way would be to hack on the
+# window title, or xprop stuff, but I figure I'm switching
+# to wayland soon, lets wait and see how things work there.
+bindsym $mod+b [class="Emacs" title="^(?!#[a-zA-Z][a-zA-Z-]*$)"] move workspace current
bindsym $mod+c kill
# random keybind, feel free to change
bindsym $mod+Shift+m border toggle
+# toggle tiling / floating
+bindcode $mod+Shift+65 floating toggle
+
+# change focus between tiling / floating windows
+bindcode $mod+65 focus mode_toggle
+# Use Mouse+$mod to drag floating windows to their wanted position
+floating_modifier $mod
+
bindsym $mod+j exec emacsclient -c
bindsym $mod+k exec konsole
bindsym $mod+l exec dmenu_run