set $mod Mod4
bindsym $mod+2 exec "pavucontrol"
+# calling without -no-remote makes this to be the instance that links
+# will open in from other applications.
bindsym $mod+3 exec "abrowser"
+# calling just abrowser mysteriously stopped working,
+# so I figured out this is how to get output, but then
+# it suddenly started working again.
+#bindsym $mod+3 exec "abrowser 2>&1 >/tmp/l"
#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
bindsym $mod+t layout toggle split
+#bindsym $mod+Shift+t move workspace to output up
bindsym $mod+Shift+t move workspace to output right
bindsym $mod+g layout 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
+# 65 = space.
+# 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 kitty
+bindsym $mod+k exec konsole
bindsym $mod+l exec dmenu_run
# note default is 27% on my system76. not sure if these
# keybinds will screw up other laptop brightness keys.
# file:///usr/share/doc/i3-wm/userguide.html#_border_style_for_new_windows
new_window none
+
+# I dont see a way to make processing windows act like normal windows,
+# this does it.
+# https://unix.stackexchange.com/questions/450700/opening-a-programme-in-a-floating-window-in-i3
+#
+# This is the info for a processing window launched from the ide.
+# I'm not sure I want it like this, so commenting it out for now.
+#for_window [class="processing-core-PApplet" instance="processing-core-PApplet"] floating disable
+
+# this is the processing window for my app named focus.
+for_window [class="focus" instance="focus"] floating disable