set $mod Mod4
bindsym $mod+2 exec "pavucontrol"
-bindsym $mod+3 exec "abrowser"
-#bindsym $mod+3 exec "abrowser -no-remote -P sfw"
+# ian: dunno why but i needed this version at some point, then
+# it mysteriously stopped working, but works on the cli. 2022-12
+#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+6 exec "/a/bin/redshift.sh"
# 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
bindsym $mod+t layout toggle split
-bindsym $mod+Shift+t move workspace to output right
+bindsym $mod+Shift+t move workspace to output up
+#bindsym $mod+Shift+t move workspace to output right
bindsym $mod+g layout tabbed
# Use Mouse+$mod to drag floating windows to their wanted position
# 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