i3 improvements wip
[distro-setup] / i3-sway / common.conf
index 9e4cedcccf44836336889f260cf61d62c4a94a00..fc3236be81cf7af0215fb5d3c5267759389889ec 100644 (file)
@@ -19,20 +19,20 @@ set $mod Mod4
 # for non-gui apps, use this.
 set $ex exec --no-startup-id
 
-bindsym $mod+2 $ex "/b/ds/i3-split-maybe"; exec "pavucontrol"
+bindsym $mod+2 $ex "i3-split-maybe"; 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"
+bindsym $mod+3 $ex "i3-split-maybe"; 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+4 $ex "i3-split-maybe"; exec "abrowser -no-remote -P firefox-main-profile"
 # todo: figure out a stream delay & way to cut the stream.
 # settings, advanced, stream delay
-bindsym $mod+5 $ex "/a/bin/ds/obs-i3-interlude"
-bindsym $mod+6 exec "/usr/local/bin/start-tor-browser"
+bindsym $mod+5 $ex "/a/bin/ds/stream-interlude"
+bindsym $mod+6 $ex "i3-split-maybe"; exec "/usr/local/bin/start-tor-browser"
 bindsym $mod+7 $ex "/a/bin/ds/laptop-xrandr"
 #bindsym $mod+6 $ex "/a/bin/redshift.sh"
 # bindsym $mod+equal $ex "t s w; t in"
@@ -45,7 +45,7 @@ bindsym $mod+1 focus parent
 bindsym $mod+shift+1 focus child
 # undo split: https://github.com/i3/i3/issues/3808
 bindsym $mod+grave floating toggle; floating toggle
-bindsym $mod+equal $ex "dunstctl close-all"
+bindsym $mod+equal $ex "i3-set-layout splith"
 # move firefox to current workspace.
 # https://i3wm.org/docs/userguide.html#keybindings
 # get class with xprop, example output
@@ -57,27 +57,43 @@ bindsym $mod+shift+w fullscreen toggle
 bindsym $mod+e $ex i3-pull emacs
 bindsym $mod+shift+e unmark emacs; mark emacs
 bindsym $mod+r $ex "/a/bin/ds/xl"
-# todo, in newer i3, make this toggle split tabbed
-bindsym $mod+t layout toggle splith splitv tabbed
+
+bindsym $mod+t $ex "i3-set-layout splitv"
 #bindsym $mod+Shift+t move workspace to output up
 bindsym $mod+Shift+t move workspace to output right
-# there's a bug about this. it is not logical that there is no "split
-# tabbed", but you accomplish that by doing this.
-bindsym $mod+g split vertical, layout tabbed
-bindsym $mod+shift+g $ex "/b/ds/i3-auto-layout-toggle"
+
+# todo: consider a command that moves a window, and erases any single
+# container window left behind.
+
+# todo: consider a command which alters things as if the current window
+# had been created into a single window split. For horizontal split,
+# this would be like: focus left, split vertical, focus right, move
+# left. With that, we could totally eliminate single window containers.
+
+bindsym $mod+g $ex "i3-set-layout tabbed"
+
 
 # Use Mouse+$mod to drag floating windows to their wanted position
 floating_modifier $mod
 
 bindsym $mod+u focus left; $ex "i3-mouse-warp"
+# i dont expect to use this much
+bindsym $mod+shift+u $ex "i3-auto-layout-toggle"
 bindsym $mod+i focus right; $ex "i3-mouse-warp"
 bindsym $mod+o focus up; $ex "i3-mouse-warp"
 bindsym $mod+p focus down; $ex "i3-mouse-warp"
 
-bindsym $mod+Left $ex "/a/exe/i3-maybe-double-move left"
-bindsym $mod+Right $ex "i3-maybe-double-move right"
-bindsym $mod+Up $ex "i3-maybe-double-move up"
-bindsym $mod+Down $ex "i3-maybe-double-move down"
+bindsym $mod+Left $ex "i3-split-push left"
+bindsym $mod+Right $ex "i3-split-push right"
+bindsym $mod+Up $ex "i3-split-push up"
+bindsym $mod+Down $ex "i3-split-push down"
+
+# for testing in case there is a problem with above.
+# these could be rebound to other things.
+bindsym $mod+shift+Left move left
+bindsym $mod+shift+Right move right
+bindsym $mod+shift+Up move up
+bindsym $mod+shift+Down move down
 
 bindsym $mod+Shift+a move container to workspace 4
 bindsym $mod+a workspace 4
@@ -103,7 +119,11 @@ bindsym $mod+v split vertical
 bindsym $mod+Shift+v split horizontal
 #
 ## temp for testing, add antying here
-##bindsym $mod+shift+g
+#bindsym $mod+shift+5
+
+
+
+
 bindsym $mod+b $ex i3-pull term
 bindsym $mod+shift+b unmark term; mark term
 # for use to cleanup extra emacs windows
@@ -128,6 +148,7 @@ bindsym $mod+8 workspace 9
 bindsym $mod+Shift+9 move container to workspace 10
 bindsym $mod+9 workspace 10
 
+bindsym $mod+m $ex "dunstctl close-all"
 bindsym $mod+Shift+m border toggle
 
 # 65 = space.
@@ -148,14 +169,14 @@ bindcode $mod+shift+65 focus mode_toggle
 # Use Mouse+$mod to drag floating windows to their wanted position
 floating_modifier $mod
 
-bindsym $mod+shift+h $ex clip-hc
-bindsym $mod+j $ex emacsclient -c
-bindsym $mod+shift+j $ex clip-up
-bindsym $mod+k $ex konsole
-bindsym $mod+shift+k $ex mpv --profile=a /a/bin/data/clips/enter-in.flac
+bindsym $mod+shift+h $ex /b/ds/stream-clip hc
+bindsym $mod+j $ex "i3-split-maybe"; exec emacsclient -c
+bindsym $mod+shift+j $ex /b/ds/stream-clip up
+bindsym $mod+k $ex "i3-split-maybe"; exec konsole
+bindsym $mod+shift+k $ex /b/ds/stream-clip intro
 bindsym $mod+l $ex dmenu_run
-bindsym $mod+shift+l $ex mpv --profile=a /a/bin/data/clips/tokyo-eye.flac
-bindsym $mod+shift+semicolon $ex clip-sad
+bindsym $mod+shift+l $ex /b/ds/stream-clip steady
+bindsym $mod+shift+semicolon $ex /b/ds/stream-clip sad
 # note default is 27% on my system76. not sure if these
 # keybinds will screw up other laptop brightness keys.
 bindsym XF86MonBrightnessUp $ex brightnessctl s +5%
@@ -165,7 +186,6 @@ bindsym XF86MonBrightnessDown $ex brightnessctl s 5%-
 # is used in the bar {} block below.
 font pango:monospace 7
 
-# todo: only available in newer i3n
 hide_edge_borders vertical
 
 #exec --no-startup-id /usr/lib/x86_64-linux-gnu/libexec/kdeconnectd
@@ -175,11 +195,13 @@ hide_edge_borders vertical
 
 
 # shortcut to selection widget (primary)
-bindsym $mod+End $ex /a/opt/clipster/clipster -sp
+bindsym $mod+End $ex "/b/ds/toggle-mute"
 
 # title bars but no borders. i tried this out a bit
 #default_border normal 0
 default_border pixel 4
+# for debugging
+default_border normal 10
 
 # I dont see a way to make processing windows act like normal windows,
 # this does it.
@@ -192,6 +214,6 @@ default_border pixel 4
 # this is the processing window for my app named focus.
 for_window [class="focus" instance="focus"] floating disable
 
-client.focused          #4c7899 #285577 #ffffff #2e9ef4   #ff4400
-client.focused_inactive #333333 #5f676a #ffffff #484e50   #DBEEF4
-client.unfocused        #333333 #222222 #888888 #292d2e   #B8C8CD
+client.focused          #4c7899 #285577 #ffffff #2e9ef4   #ff4400
+client.focused_inactive #333333 #5f676a #ffffff #484e50   #DBEEF4
+client.unfocused        #333333 #222222 #888888 #292d2e   #B8C8CD