X-Git-Url: https://iankelling.org/git/?a=blobdiff_plain;f=i3-sway%2Fcommon.conf;h=8ad41a1df713ad50c12262b7aa2444c473b4c9d4;hb=HEAD;hp=2cc2d1c881e756b48982f53ccc01a5d39bc2b957;hpb=e6cd2e555df3af0cf23da016b833529a34ffc84c;p=distro-setup diff --git a/i3-sway/common.conf b/i3-sway/common.conf index 2cc2d1c..8d0d5d9 100644 --- a/i3-sway/common.conf +++ b/i3-sway/common.conf @@ -9,6 +9,7 @@ # todo: think whether this is useful: https://github.com/tmfink/i3-wk-switch # todo: see comment by Jakstern551 here for tip about jumping to windows +# https://old.reddit.com/r/i3wm/comments/k8m4k4/share_your_i3_tips_and_tricks_that_you_have/ # https://i3wm.org/docs/userguide.html#keybindings #To get the current mapping of your keys, use xmodmap -pke. To @@ -19,21 +20,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 $ex "/b/ds/i3-split-maybe"; exec "abrowser" +# unused. todo: consider binding this to some key on the right side of keyboard. +#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 $ex "/b/ds/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+4 $ex "i3-split-maybe"; exec "abrowser -no-remote -P firefox-main-profile" bindsym $mod+5 $ex "/a/bin/ds/stream-interlude" -bindsym $mod+6 $ex "/b/ds/i3-split-maybe"; exec "/usr/local/bin/start-tor-browser" -bindsym $mod+7 $ex "/a/bin/ds/laptop-xrandr" +bindsym $mod+6 $ex "i3-split-maybe"; exec "/usr/local/bin/start-tor-browser" +bindsym $mod+7 $ex "/a/bin/ds/myx" #bindsym $mod+6 $ex "/a/bin/redshift.sh" # bindsym $mod+equal $ex "t s w; t in" # bindsym $mod+Home $ex "t out" @@ -43,64 +43,65 @@ bindsym $mod+7 $ex "/a/bin/ds/laptop-xrandr" 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 "/a/exe/i3-set-layout splith" + +# note, i used to have a key: "floating toggle; floating toggle" to +# as undo split, as suggested here https://github.com/i3/i3/issues/3808 +# but something +# +bindsym $mod+grave floating toggle +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 # WM_CLASS(STRING) = "irssi", "URxvt" # xprop |& grep WM_CLASS -bindsym $mod+w $ex i3-pull abrowser +bindsym $mod+w $ex "/a/exe/i3-abrowser" bindsym $mod+shift+w fullscreen toggle -bindsym $mod+e $ex i3-pull emacs -bindsym $mod+shift+e unmark emacs; mark emacs +bindsym $mod+e $ex "/a/exe/i3-emacs" +# unused +#bindsym $mod+shift+e bindsym $mod+r $ex "/a/bin/ds/xl" -# todo, in newer i3, make this toggle split tabbed. -bindsym $mod+t $ex "/a/exe/i3-set-layout splitv" -#bindsym $mod+Shift+t move workspace to output up -bindsym $mod+Shift+t move workspace to output right - -# todo: consider a command that moves a window, and erases any single -# container window left behind. - -# todo: port /b/ds/i3-maybe-double-move into python. - -# 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+t $ex "i3-set-layout splitv" -bindsym $mod+g $ex "/a/exe/i3-set-layout tabbed" +bindsym $mod+g $ex "i3-set-layout tabbed" -bindsym $mod+shift+g $ex "/b/ds/i3-auto-layout-toggle" # 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" -bindsym $mod+Shift+a move container to workspace 4 -bindsym $mod+a workspace 4 +# 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+s move container to workspace 3 -bindsym $mod+s workspace 3 +bindsym $mod+Shift+a move container to workspace 1 +bindsym $mod+a workspace 1 -bindsym $mod+Shift+d move container to workspace 2 -bindsym $mod+d workspace 2 -bindsym $mod+Shift+f move container to workspace 1 -bindsym $mod+f workspace 1 +bindsym $mod+Shift+s move container to workspace 4 +bindsym $mod+s workspace 4 + +bindsym $mod+Shift+d move container to workspace 3 +bindsym $mod+d workspace 3 + +bindsym $mod+Shift+f move container to workspace 2 +bindsym $mod+f workspace 2 bindsym $mod+Shift+z move container to workspace 5 bindsym $mod+z workspace 5 @@ -108,15 +109,28 @@ bindsym $mod+z workspace 5 bindsym $mod+Shift+x move container to workspace 6 bindsym $mod+x workspace 6 - -# todo, in newer i3, make this split toggle bindsym $mod+v split vertical -bindsym $mod+Shift+v split horizontal -# +bindsym $mod+Shift+v move workspace to output BIG-LEFT + +# 122 = XF86AudioLowerVolume, keyboardio function + t +bindcode 122 $ex "toggle-mute unmute"; mode "ptt" +mode "ptt" { +# normally, if we hold down a button, it will start automatically +# repeating itself, up and down events. But this stops that from +# happening. Based on testing, making mode be 1st or 2nd doesn't matter. +bindcode --release 122 $ex "toggle-mute mute"; mode "default" +} +# 171 = XF86AudioNext, keyboardio function + g +bindcode 171 $ex "toggle-mute unmute" + ## temp for testing, add antying here -##bindsym $mod+shift+g -bindsym $mod+b $ex i3-pull term +#bindsym $mod+shift+5 $ex "/a/a.sh" + + +bindsym $mod+b $ex "/a/exe/i3-konsole" bindsym $mod+shift+b unmark term; mark term + + # for use to cleanup extra emacs windows # 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 @@ -128,9 +142,9 @@ bindsym $mod+shift+6 [class="Emacs" title="^(?!#[a-zA-Z][a-zA-Z-]*$)"] move work bindsym $mod+c kill - -bindsym $mod+Shift+Home move container to workspace 7 -bindsym $mod+Home workspace 7 +bindsym $mod+Home split horizontal +bindsym $mod+Shift+End move container to workspace 7 +bindsym $mod+End workspace 7 bindsym $mod+Shift+q move container to workspace 8 bindsym $mod+q workspace 8 @@ -157,13 +171,11 @@ bindcode $mod+65 $ex obs-auto-scene-switch-toggle; floating toggle; sticky enabl # change focus between tiling / floating windows 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 /b/ds/stream-clip hc -bindsym $mod+j $ex "/b/ds/i3-split-maybe"; exec emacsclient -c +bindsym $mod+j $ex "i3-split-maybe"; exec emacsclient -c bindsym $mod+shift+j $ex /b/ds/stream-clip up -bindsym $mod+k $ex "/b/ds/i3-split-maybe"; exec konsole +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 /b/ds/stream-clip steady @@ -172,27 +184,31 @@ bindsym $mod+shift+semicolon $ex /b/ds/stream-clip sad # keybinds will screw up other laptop brightness keys. bindsym XF86MonBrightnessUp $ex brightnessctl s +5% bindsym XF86MonBrightnessDown $ex brightnessctl s 5%- +for_window [class="copyq" instance="copyq" window_type="normal"] floating enable +# eh, dont really like web page titles + a long browser name string. +for_window [class="firefox" instance="Navigator" window_role="browser"] title_format "b" +bindsym $mod+y $ex copyq-restart +bindsym $mod+shift+y $ex "/a/exe/i3-chat" # Font for window titles. Will also be used by the bar unless a different font # is used in the bar {} block below. font pango:monospace 7 -hide_edge_borders vertical +# not helpful when i have split screen from myx +#hide_edge_borders vertical #exec --no-startup-id /usr/lib/x86_64-linux-gnu/libexec/kdeconnectd # Start clipster daemon #exec --no-startup-id /a/opt/clipster/clipster -d - -# shortcut to selection widget (primary) -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 + +# default border is like 2 pixels +default_border pixel 2 # for debugging -default_border normal 10 +#default_border normal 10 # I dont see a way to make processing windows act like normal windows, # this does it. @@ -205,6 +221,6 @@ default_border normal 10 # 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 #B8C8CD +client.unfocused #333333 #222222 #888888 #292d2e #B8C8CD