SXHKD experimentation, vesktop added, audio profile switching utility, shchemes installer, etc.
This commit is contained in:
2
config/sxhkd/moderc
Normal file
2
config/sxhkd/moderc
Normal file
@@ -0,0 +1,2 @@
|
||||
r
|
||||
sxhkd-mode-exit
|
||||
73
config/sxhkd/status
Executable file
73
config/sxhkd/status
Executable file
@@ -0,0 +1,73 @@
|
||||
#!/bin/sh
|
||||
|
||||
# tail -f test-out | awk -v qt='""' '
|
||||
# $1 ~ "HSuper_L" { checkstart=1 }
|
||||
# /^BBegin chain/ && checkstart {
|
||||
# checkstart=0
|
||||
# print "rofi -normal-window -e " qt "sxhkd: Super ;" qt
|
||||
# }
|
||||
# /^EEnd chain/ {
|
||||
# print "kill " qt "$pid" qt
|
||||
# }'
|
||||
|
||||
checkstart=false
|
||||
theme='
|
||||
window {
|
||||
anchor: southwest;
|
||||
location: southwest;
|
||||
x-offset: 4;
|
||||
y-offset: -4;
|
||||
width: 200;
|
||||
}
|
||||
|
||||
listview {
|
||||
border-color: @blue;
|
||||
}'
|
||||
|
||||
display_message() {
|
||||
rofi \
|
||||
-normal-window \
|
||||
-e "sxhkd: $1" \
|
||||
-theme-str "$theme" &
|
||||
pid=$!
|
||||
}
|
||||
|
||||
close_message() {
|
||||
[ -n "$pid" ] && kill "$pid"
|
||||
pid=""
|
||||
}
|
||||
|
||||
tail -f test-out | while read -r line; do
|
||||
case $line in
|
||||
HSuper_L)
|
||||
checkstart=true
|
||||
;;
|
||||
|
||||
HSuper_L*)
|
||||
if [ "$inchain" = "false" ]; then
|
||||
continue
|
||||
fi
|
||||
echo "Extra chain"
|
||||
close_message
|
||||
display_message "$line"
|
||||
;;
|
||||
|
||||
"BBegin chain")
|
||||
if [ "$checkstart" = "false" ]; then
|
||||
continue
|
||||
fi
|
||||
echo "In chain"
|
||||
checkstart=false
|
||||
inchain=true
|
||||
display_message "HSuper_L"
|
||||
;;
|
||||
|
||||
"EEnd chain")
|
||||
if [ "$inchain" = "false" ]; then
|
||||
continue
|
||||
fi
|
||||
echo "End chain"
|
||||
close_message
|
||||
;;
|
||||
esac
|
||||
done
|
||||
@@ -54,6 +54,14 @@ super + t
|
||||
super + Print
|
||||
xfce4-screenshooter -r
|
||||
|
||||
# Manage audio profiles[57362;10u]
|
||||
super + shift + Pause
|
||||
le-audio
|
||||
|
||||
# Cycle audio profile on default sink
|
||||
super + Pause
|
||||
le-audio -afc
|
||||
|
||||
#
|
||||
# bspwm hotkeys
|
||||
#
|
||||
@@ -142,11 +150,7 @@ super + {_,shift + }{1-6}
|
||||
# preselect the direction
|
||||
super + ctrl + shift {h,j,k,l,Left,Down,Up,Right}
|
||||
bspc node -p {west,south,north,east,west,south,north,east}
|
||||
|
||||
# preselect the ratio
|
||||
super + ctrl + {1-9}
|
||||
bspc node -o 0.{1-9}
|
||||
|
||||
|
||||
# cancel the preselection for the focused node
|
||||
super + ctrl + space
|
||||
bspc node -p cancel
|
||||
@@ -155,6 +159,10 @@ super + ctrl + space
|
||||
super + ctrl + shift + space
|
||||
bspc query -N -d | xargs -I id -n 1 bspc node id -p cancel
|
||||
|
||||
# swap current window with preselection
|
||||
super + p
|
||||
bspc node -n last.\!automatic -t tiled
|
||||
|
||||
#
|
||||
# move/resize
|
||||
#
|
||||
@@ -171,26 +179,8 @@ super + {h,j,k,l}
|
||||
|
||||
# move a window
|
||||
super + shift + {h,j,k,l,Left,Down,Up,Right}
|
||||
bsp-smove {west,south,north,east,west,south,north,east}
|
||||
bsp-smove {west,south,north,east,west,south,north,east}
|
||||
|
||||
#
|
||||
# tabs
|
||||
#
|
||||
|
||||
# move in/out of tabbed container
|
||||
super + ctrl + {h,j,k,l,Left,Down,Up,Right}
|
||||
tabc-smart-detach {west,south,north,east,west,south,north,east}
|
||||
|
||||
# tab/untab window
|
||||
super + t
|
||||
id=$(bspc query -N -n); \
|
||||
[[ "$(tabc printclass $id)" == "tabbed" ]] \
|
||||
&& tabc detach $id \
|
||||
|| tabc create $id
|
||||
|
||||
# toggle autoattach in tabbed container
|
||||
super + shift + t
|
||||
tabc autoattach $(bspc query -N -n)
|
||||
|
||||
#
|
||||
# Program launching binds
|
||||
|
||||
162
config/sxhkd/sxhkdrc.old
Normal file
162
config/sxhkd/sxhkdrc.old
Normal file
@@ -0,0 +1,162 @@
|
||||
#
|
||||
# wm independent hotkeys
|
||||
#
|
||||
|
||||
Super_L ; Return
|
||||
kitty
|
||||
|
||||
# # Open kitty
|
||||
# super + Return
|
||||
# kitty
|
||||
|
||||
# Open floating kitty
|
||||
# Super_L ; shift + Return
|
||||
# bsp-float kitty
|
||||
|
||||
# launch program (drun)
|
||||
Super_L ; @space
|
||||
rofi -show drun -show-icons
|
||||
|
||||
# launch program (standard run)
|
||||
# Super_L ; shift + @space
|
||||
# rofi -show run
|
||||
|
||||
# make sxhkd reload its configuration files:
|
||||
Super_L ; Escape
|
||||
pkill -USR1 -x sxhkd && notify-send 'Key daemon reloaded'
|
||||
|
||||
super + alt + Menu
|
||||
le-keyboard && notify-send 'Remapped Keyboard'
|
||||
|
||||
# Start a qutebrowser search
|
||||
Super_L ; o
|
||||
qutesearch
|
||||
|
||||
# Show keybinds
|
||||
Super_L ; slash
|
||||
sxhkd-help
|
||||
|
||||
# Show clipmenu
|
||||
Super_L ; v
|
||||
xfce4-popup-clipman
|
||||
|
||||
# Exit session
|
||||
# Super_L ; shift + q
|
||||
# xfce4-session-logout
|
||||
|
||||
# Lock screen
|
||||
Super_L ; q
|
||||
xflock4
|
||||
|
||||
# Open task manager
|
||||
Super_L ; t
|
||||
# Arguable how valuable this is tbh
|
||||
bsp-float xfce4-taskmanager
|
||||
|
||||
# Screenshot region
|
||||
Super_L ; Print
|
||||
xfce4-screenshooter -r
|
||||
|
||||
#
|
||||
# bspwm hotkeys
|
||||
#
|
||||
|
||||
# close and kill
|
||||
Super_L ; {_,shift + }w
|
||||
bspc node -{c,k}
|
||||
|
||||
# superernate between the tiled and monocle layout
|
||||
F3
|
||||
bspc desktop -l next
|
||||
|
||||
# send the newest marked node to the newest preselected node
|
||||
Super_L ; y
|
||||
bspc node newest.marked.local -n newest.!automatic.local
|
||||
|
||||
# Plumb selected text
|
||||
Super_L ; c
|
||||
zsh -c "$(sselp | goawk $(cat ~/plumber.awk))"
|
||||
|
||||
#
|
||||
# state/flags
|
||||
#
|
||||
|
||||
# set the window state
|
||||
Super_L ; {z,shift + z,x,f}
|
||||
bspc node -t {tiled,pseudo_tiled,floating,fullscreen}
|
||||
|
||||
#
|
||||
# focus/swap
|
||||
#
|
||||
|
||||
# focus the node in the given direction
|
||||
super + {w,a,s,d,j,k,i,l,Left,Down,Up,Right}
|
||||
bspc node -f {west,south,north,east,west,south,north,east,west,south,north,east}
|
||||
|
||||
# Change window, counterclockwise/clockwise
|
||||
{F1,F2}
|
||||
bspc node -f {prev,next}.local.!hidden.window
|
||||
|
||||
# focus the next/previous desktop in the current monitor
|
||||
super + bracket{left,right}
|
||||
bspc desktop -f {prev,next}.local
|
||||
|
||||
# focus the last node/desktop
|
||||
super + {grave,Tab}
|
||||
bspc {node,desktop} -f last
|
||||
|
||||
# focus or send to the given desktop
|
||||
super + {_,shift + }{1-6}
|
||||
bspc {desktop -f,node -d} '^{1-6}'
|
||||
|
||||
#
|
||||
# preselect
|
||||
#
|
||||
|
||||
# preselect the direction
|
||||
super + ctrl + shift {h,j,k,l,Left,Down,Up,Right}
|
||||
bspc node -p {west,south,north,east,west,south,north,east}
|
||||
|
||||
# preselect the ratio
|
||||
super + ctrl + {1-9}
|
||||
bspc node -o 0.{1-9}
|
||||
|
||||
# cancel the preselection for the focused node
|
||||
super + ctrl + space
|
||||
bspc node -p cancel
|
||||
|
||||
# cancel the preselection for the focused desktop
|
||||
super + ctrl + shift + space
|
||||
bspc query -N -d | xargs -I id -n 1 bspc node id -p cancel
|
||||
|
||||
#
|
||||
# move/resize
|
||||
#
|
||||
|
||||
|
||||
# Resize a window by moving one of its side outward/inward
|
||||
# Super_L ; {w,a,s,d,j,k,i,l,Left,Down,Up,Right}
|
||||
# STEP=20; SELECTION={1,2,3,4,1,2,3,4,1,2,3,4}; \
|
||||
# bspc node -z $(echo "left -$STEP 0,bottom 0 $STEP,top 0 -$STEP,right $STEP 0" | cut -d',' -f$SELECTION) || \
|
||||
# bspc node -z $(echo "right -$STEP 0,top 0 $STEP,bottom 0 -$STEP,left $STEP 0" | cut -d',' -f$SELECTION)
|
||||
|
||||
# move a floating window
|
||||
super + {h,j,k,l}
|
||||
bspc node -v {-30 0,0 20,0 -30,20 0}
|
||||
|
||||
# move a window
|
||||
super + shift + {w,s,a,d,j,k,i,l,Left,Down,Up,Right}
|
||||
bsp-smove {west,south,north,east,west,south,north,east,west,south,north,east}
|
||||
|
||||
#
|
||||
# Program launching binds
|
||||
#
|
||||
|
||||
super + 8
|
||||
vesktop
|
||||
|
||||
super + 9
|
||||
bitwarden
|
||||
|
||||
super + 0
|
||||
kitty --hold sh -c micro
|
||||
121
config/sxhkd/sxhkdrc.save
Executable file
121
config/sxhkd/sxhkdrc.save
Executable file
@@ -0,0 +1,121 @@
|
||||
#
|
||||
# wm independent hotkeys
|
||||
#
|
||||
|
||||
# terminal emulator
|
||||
super + Return
|
||||
kitty
|
||||
|
||||
# program launcher
|
||||
super + @space
|
||||
|
||||
|
||||
# make sxhkd reload its configuration files:
|
||||
super + Escape
|
||||
pkill -USR1 -x sxhkd
|
||||
|
||||
#
|
||||
# bspwm hotkeys
|
||||
#
|
||||
|
||||
# quit/restart bspwm
|
||||
super + alt + {q,r}
|
||||
bspc {quit,wm -r}
|
||||
|
||||
# close and kill
|
||||
super + {_,shift + }w
|
||||
bspc node -{c,k}
|
||||
|
||||
# alternate between the tiled and monocle layout
|
||||
super + m
|
||||
bspc desktop -l next
|
||||
|
||||
# send the newest marked node to the newest preselected node
|
||||
super + y
|
||||
bspc node newest.marked.local -n newest.!automatic.local
|
||||
|
||||
# swap the current node and the biggest window
|
||||
super + g
|
||||
bspc node -s biggest.window
|
||||
|
||||
#
|
||||
# state/flags
|
||||
#
|
||||
|
||||
# set the window state
|
||||
super + {t,shift + t,s,f}
|
||||
bspc node -t {tiled,pseudo_tiled,floating,fullscreen}
|
||||
|
||||
# set the node flags
|
||||
super + ctrl + {m,x,y,z}
|
||||
bspc node -g {marked,locked,sticky,private}
|
||||
|
||||
#
|
||||
# focus/swap
|
||||
#
|
||||
|
||||
# focus the node in the given direction
|
||||
super + {_,shift + }{h,j,k,l}
|
||||
bspc node -{f,s} {west,south,north,east}
|
||||
|
||||
# focus the node for the given path jump
|
||||
super + {p,b,comma,period}
|
||||
bspc node -f @{parent,brother,first,second}
|
||||
|
||||
# focus the next/previous window in the current desktop
|
||||
super + {_,shift + }c
|
||||
bspc node -f {next,prev}.local.!hidden.window
|
||||
|
||||
# focus the next/previous desktop in the current monitor
|
||||
super + bracket{left,right}
|
||||
bspc desktop -f {prev,next}.local
|
||||
|
||||
# focus the last node/desktop
|
||||
super + {grave,Tab}
|
||||
bspc {node,desktop} -f last
|
||||
|
||||
# focus the older or newer node in the focus history
|
||||
super + {o,i}
|
||||
bspc wm -h off; \
|
||||
bspc node {older,newer} -f; \
|
||||
bspc wm -h on
|
||||
|
||||
# focus or send to the given desktop
|
||||
super + {_,shift + }{1-9,0}
|
||||
bspc {desktop -f,node -d} '^{1-9,10}'
|
||||
|
||||
#
|
||||
# preselect
|
||||
#
|
||||
|
||||
# preselect the direction
|
||||
super + ctrl + {h,j,k,l}
|
||||
bspc node -p {west,south,north,east}
|
||||
|
||||
# preselect the ratio
|
||||
super + ctrl + {1-9}
|
||||
bspc node -o 0.{1-9}
|
||||
|
||||
# cancel the preselection for the focused node
|
||||
super + ctrl + space
|
||||
bspc node -p cancel
|
||||
|
||||
# cancel the preselection for the focused desktop
|
||||
super + ctrl + shift + space
|
||||
bspc query -N -d | xargs -I id -n 1 bspc node id -p cancel
|
||||
|
||||
#
|
||||
# move/resize
|
||||
#
|
||||
|
||||
# expand a window by moving one of its side outward
|
||||
super + alt + {h,j,k,l}
|
||||
bspc node -z {left -20 0,bottom 0 20,top 0 -20,right 20 0}
|
||||
|
||||
# contract a window by moving one of its side inward
|
||||
super + alt + shift + {h,j,k,l}
|
||||
bspc node -z {right -20 0,top 0 20,bottom 0 -20,left 20 0}
|
||||
|
||||
# move a floating window
|
||||
super + {Left,Down,Up,Right}
|
||||
bspc node -v {-20 0,0 20,0 -20,20 0}
|
||||
52
config/sxhkd/sxhkdrc.seq
Normal file
52
config/sxhkd/sxhkdrc.seq
Normal file
@@ -0,0 +1,52 @@
|
||||
#
|
||||
# Utilities
|
||||
#
|
||||
|
||||
Super_L ; Return
|
||||
kitty
|
||||
|
||||
# Open floating kitty
|
||||
Super_L ; f ; Return
|
||||
bsp-float kitty
|
||||
|
||||
# open rofi
|
||||
Super_L ; @space
|
||||
rofi -show drun -show-icons
|
||||
|
||||
#
|
||||
# Management
|
||||
#
|
||||
|
||||
# Close or kill window
|
||||
Super_L ; {_,shift + }w
|
||||
bspc node -{c,k}
|
||||
|
||||
#
|
||||
# Navigation
|
||||
#
|
||||
|
||||
super + {w,a,s,d,j,k,i,l,Left,Down,Up,Right}
|
||||
bspc node -f {west,south,north,east,west,south,north,east,west,south,north,east}
|
||||
|
||||
super + shift + {w,s,a,d,j,k,i,l,Left,Down,Up,Right}
|
||||
bsp-smove {west,south,north,east,west,south,north,east,west,south,north,east}
|
||||
|
||||
# focus or send to the given desktop
|
||||
Super_L ; {_,shift + }{1-5}
|
||||
bspc {desktop -f,node -d} '^{1-5}'
|
||||
|
||||
#
|
||||
# Program launching binds
|
||||
#
|
||||
|
||||
Super_L ; o
|
||||
qutesearch
|
||||
|
||||
super + 8
|
||||
vesktop
|
||||
|
||||
super + 9
|
||||
bitwarden
|
||||
|
||||
super + 0
|
||||
kitty --hold sh -c micro
|
||||
110
config/sxhkd/test-out
Normal file
110
config/sxhkd/test-out
Normal file
@@ -0,0 +1,110 @@
|
||||
HSuper_L
|
||||
BBegin chain
|
||||
EEnd chain
|
||||
Hsuper + Right
|
||||
Cbspc node -f east
|
||||
Hsuper + Left
|
||||
Cbspc node -f west
|
||||
Hsuper + Right
|
||||
Cbspc node -f east
|
||||
HSuper_L
|
||||
BBegin chain
|
||||
HSuper_L ; Return
|
||||
EEnd chain
|
||||
Ckitty
|
||||
HSuper_L
|
||||
BBegin chain
|
||||
EEnd chain
|
||||
HSuper_L
|
||||
BBegin chain
|
||||
TTimeout reached
|
||||
EEnd chain
|
||||
HSuper_L
|
||||
BBegin chain
|
||||
TTimeout reached
|
||||
EEnd chain
|
||||
HSuper_L
|
||||
BBegin chain
|
||||
HSuper_L ; 2
|
||||
EEnd chain
|
||||
Cbspc desktop -f '^2'
|
||||
HSuper_L
|
||||
BBegin chain
|
||||
TTimeout reached
|
||||
EEnd chain
|
||||
HSuper_L
|
||||
BBegin chain
|
||||
EEnd chain
|
||||
HSuper_L
|
||||
BBegin chain
|
||||
HSuper_L ; w
|
||||
EEnd chain
|
||||
Cbspc node -c
|
||||
HSuper_L
|
||||
BBegin chain
|
||||
EEnd chain
|
||||
HSuper_L
|
||||
BBegin chain
|
||||
HSuper_L ; o
|
||||
EEnd chain
|
||||
Cqutesearch
|
||||
HSuper_L
|
||||
BBegin chain
|
||||
HSuper_L ; w
|
||||
EEnd chain
|
||||
Cbspc node -c
|
||||
HSuper_L
|
||||
BBegin chain
|
||||
HSuper_L ; w
|
||||
EEnd chain
|
||||
Cbspc node -c
|
||||
HSuper_L
|
||||
BBegin chain
|
||||
EEnd chain
|
||||
HSuper_L
|
||||
BBegin chain
|
||||
HSuper_L ; o
|
||||
EEnd chain
|
||||
Cqutesearch
|
||||
HSuper_L
|
||||
BBegin chain
|
||||
EEnd chain
|
||||
HSuper_L
|
||||
BBegin chain
|
||||
EEnd chain
|
||||
HSuper_L
|
||||
BBegin chain
|
||||
EEnd chain
|
||||
Hsuper + w
|
||||
Cbspc node -f west
|
||||
HSuper_L
|
||||
BBegin chain
|
||||
EEnd chain
|
||||
HSuper_L
|
||||
BBegin chain
|
||||
EEnd chain
|
||||
HSuper_L
|
||||
BBegin chain
|
||||
HSuper_L ; 1
|
||||
EEnd chain
|
||||
Cbspc desktop -f '^1'
|
||||
HSuper_L
|
||||
BBegin chain
|
||||
HSuper_L ; 2
|
||||
EEnd chain
|
||||
Cbspc desktop -f '^2'
|
||||
HSuper_L
|
||||
BBegin chain
|
||||
EEnd chain
|
||||
Hsuper + Right
|
||||
Cbspc node -f east
|
||||
Hsuper + Left
|
||||
Cbspc node -f west
|
||||
Hsuper + Right
|
||||
Cbspc node -f east
|
||||
HSuper_L
|
||||
BBegin chain
|
||||
EEnd chain
|
||||
HSuper_L
|
||||
BBegin chain
|
||||
EEnd chain
|
||||
Reference in New Issue
Block a user