New directory structure + basilisk
This commit is contained in:
2
home/.config/sxhkd/moderc
Normal file
2
home/.config/sxhkd/moderc
Normal file
@@ -0,0 +1,2 @@
|
||||
r
|
||||
sxhkd-mode-exit
|
||||
73
home/.config/sxhkd/status
Executable file
73
home/.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
|
||||
165
home/.config/sxhkd/sxhkdrc
Normal file
165
home/.config/sxhkd/sxhkdrc
Normal file
@@ -0,0 +1,165 @@
|
||||
#
|
||||
# Meta
|
||||
#
|
||||
|
||||
# Reload SXHKD
|
||||
super + Escape
|
||||
le-keyboard &&
|
||||
pkill -USR1 -x sxhkd &&
|
||||
notify-send 'Key daemon reloaded'
|
||||
|
||||
# Show keybinds
|
||||
super + slash
|
||||
sxh-help
|
||||
|
||||
#
|
||||
# Media
|
||||
#
|
||||
|
||||
# Play/pause track
|
||||
XF86AudioPlay
|
||||
playerctl play-pause
|
||||
|
||||
# Play/pause track
|
||||
Pause
|
||||
playerctl play-pause
|
||||
|
||||
# Previus track
|
||||
XF86AudioNext
|
||||
playerctl next
|
||||
|
||||
# Previous track
|
||||
XF86AudioPrev
|
||||
playerctl previous
|
||||
|
||||
# Stop track
|
||||
XF86AudioStop
|
||||
playerctl stop
|
||||
|
||||
#
|
||||
# Applications
|
||||
#
|
||||
|
||||
# Open terminal
|
||||
super + Return
|
||||
xfce4-terminal
|
||||
|
||||
# Launch program (drun)
|
||||
super + @space
|
||||
rofi -show drun -show-icons
|
||||
|
||||
# Launch floating program
|
||||
super + shift + button2
|
||||
slop
|
||||
|
||||
# Open window management context menu
|
||||
super + button2
|
||||
bspc-context-menu
|
||||
|
||||
# Run command
|
||||
super + shift + @space
|
||||
rofi -show run
|
||||
|
||||
#
|
||||
# XFCE
|
||||
#
|
||||
|
||||
# Show clipboard
|
||||
super + v
|
||||
xfce4-popup-clipman
|
||||
|
||||
# Lock screen
|
||||
super + q
|
||||
xflock4
|
||||
|
||||
# Session options
|
||||
super + shift + q
|
||||
xfce4-session-logout
|
||||
|
||||
#
|
||||
# Screen capturing
|
||||
#
|
||||
|
||||
# Grab color and put in clipboard
|
||||
shift + XF86Launch5
|
||||
flameshot gui
|
||||
|
||||
|
||||
# Screenshot region
|
||||
XF86Launch5
|
||||
commentmenu 'grabc | xclip -sel clipboard # Put color in clipboard\nflameshot gui # Capture region' | sh
|
||||
|
||||
#
|
||||
# Qutebrowser
|
||||
#
|
||||
|
||||
# Make a qutebrowser search
|
||||
super + o
|
||||
qutesearch
|
||||
|
||||
# # Preselect below and make a qutebrowser search
|
||||
# super + p
|
||||
# bspc node -p south -o 0.01 \
|
||||
# && qutesearch \
|
||||
# || bspc node -p cancel
|
||||
|
||||
#
|
||||
# Focus
|
||||
#
|
||||
|
||||
# Move focus west/south/north/east
|
||||
super + {h,j,k,l,Left,Down,Up,Right}
|
||||
bspc node -{f} {west,south,north,east,west,south,north,east}
|
||||
|
||||
# Move focus forward/backward in stack
|
||||
super + {d,a}
|
||||
bspc node -f {next,prev}.local.window
|
||||
|
||||
# Focus or send to desktop
|
||||
super + {_,shift + }{1-9}
|
||||
bspc {desktop -f,node -d} '^{1-9}'
|
||||
|
||||
#
|
||||
# Window management
|
||||
#
|
||||
|
||||
# Close or kill window
|
||||
super + {_,shift + }w
|
||||
bspc node -{c,k}
|
||||
|
||||
# Move window west/south/north/east
|
||||
super + shift + {h,j,k,l,Left,Down,Up,Right}
|
||||
bspc-smart-move {west,south,north,east,west,south,north,east}
|
||||
|
||||
# Maximize below/above
|
||||
super + {x,z}
|
||||
bspc-column {up,down}
|
||||
|
||||
# Toggle floating/tiled
|
||||
super + c
|
||||
bspc node 'focused.!tiled' -t tiled || bspc node 'focused.!floating' -t floating
|
||||
|
||||
# Toggle fullscreen
|
||||
super + f
|
||||
bspc node 'focused.!fullscreen' -t fullscreen || bspc node 'focused.!tiled' -t tiled
|
||||
|
||||
|
||||
# Switch between tiled and stacked layout
|
||||
super + m
|
||||
bspc desktop -l next
|
||||
|
||||
#
|
||||
# Preselection
|
||||
#
|
||||
|
||||
# Preselect in a direction
|
||||
super + ctrl + shift {h,j,k,l,Left,Down,Up,Right}
|
||||
bspc node -p {west,south,north,east,west,south,north,east}
|
||||
|
||||
# Cancel all preselections in desktop
|
||||
super + ctrl + space
|
||||
bspc query -N -d | xargs -I id -n 1 bspc node id -p cancel
|
||||
|
||||
# Swap current window with preselection
|
||||
super + s
|
||||
bspc node -n last.\!automatic -t tiled
|
||||
222
home/.config/sxhkd/sxhkdrc.old
Normal file
222
home/.config/sxhkd/sxhkdrc.old
Normal file
@@ -0,0 +1,222 @@
|
||||
#
|
||||
# wm independent hotkeys
|
||||
#
|
||||
|
||||
# Open terminal
|
||||
super + Return
|
||||
xfce4-terminal
|
||||
|
||||
# Open floating terminal
|
||||
super + shift + Return
|
||||
bsp-float xfce4-terminal
|
||||
|
||||
# launch program (drun)
|
||||
super + @space
|
||||
rofi -show drun -show-icons
|
||||
|
||||
# launch program (standard run)
|
||||
super + shift + @space
|
||||
rofi -show run
|
||||
|
||||
# make sxhkd reload its configuration files:
|
||||
super + Escape
|
||||
pkill -USR1 -x sxhkd && notify-send 'Key daemon reloaded'
|
||||
|
||||
super + alt + Menu
|
||||
le-keyboard && notify-send 'Remapped Keyboard'
|
||||
|
||||
# Start a qutebrowser search
|
||||
super + o
|
||||
qutesearch
|
||||
|
||||
# Preselect below and start a qutebrowser search
|
||||
super + p
|
||||
bspc node -p south -o 0.01 \
|
||||
&& qutesearch \
|
||||
|| bspc node -p cancel
|
||||
|
||||
# Grab color
|
||||
Print
|
||||
grabc | xclip -sel clipboard
|
||||
|
||||
# Show keybinds
|
||||
super + slash
|
||||
sxhkd-help
|
||||
|
||||
# Show clipmenu
|
||||
super + v
|
||||
xfce4-popup-clipman
|
||||
|
||||
# Exit session
|
||||
super + q
|
||||
xflock4
|
||||
|
||||
# Lock screen
|
||||
super + shift + q
|
||||
xfce4-session-logout
|
||||
|
||||
# Open task manager
|
||||
super + t
|
||||
# Arguable how valuable this is tbh
|
||||
bsp-float xfce4-taskmanager
|
||||
|
||||
# Screenshot region
|
||||
XF86Launch5
|
||||
flameshot gui
|
||||
# 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
|
||||
#
|
||||
|
||||
# quit/restart bspwm
|
||||
super + shift + {q,r}
|
||||
bspc {quit,wm -r}
|
||||
|
||||
# close and kill
|
||||
super + {_,shift + }w
|
||||
bspc node -{c,k}
|
||||
|
||||
# superernate between the tiled and monocle layout
|
||||
super + m
|
||||
bspc desktop -l next
|
||||
|
||||
# swap the current node and the biggest window
|
||||
super + g
|
||||
bspc node -s biggest.window
|
||||
|
||||
#
|
||||
# state/flags
|
||||
#
|
||||
|
||||
# toggle window state
|
||||
super + c
|
||||
bspc node 'focused.!tiled' -t tiled || bspc node 'focused.!floating' -t floating
|
||||
# bspc node 'focused.!pseudo_tiled' -t pseudo_tiled
|
||||
|
||||
# toggle window fullscreen
|
||||
super + f
|
||||
bspc node 'focused.!tiled' -t tiled || bspc node 'focused.!fullscreen' -t 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 + {h,j,k,l,Left,Down,Up,Right}
|
||||
bspc node -{f} {west,south,north,east,west,south,north,east}
|
||||
|
||||
# Rotate focus clockwise/counterclockwise
|
||||
super + {d,a}
|
||||
bspc node -f {next,prev}.local.window
|
||||
|
||||
# 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}
|
||||
|
||||
# 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
|
||||
|
||||
# swap current window with preselection
|
||||
super + s
|
||||
bspc node -n last.\!automatic -t tiled
|
||||
|
||||
#
|
||||
# move/resize
|
||||
#
|
||||
|
||||
# Resize a window by moving one of its side outward/inward
|
||||
super + s ; {h,j,k,l,Left,Down,Up,Right}
|
||||
STEP=20; SELECTION={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 + {h,j,k,l,Left,Down,Up,Right}
|
||||
bsp-smove {west,south,north,east,west,south,north,east}
|
||||
|
||||
# minimize current window, move down
|
||||
super + {z,bracketleft}
|
||||
bspc node -f 'focused.tiled' \
|
||||
&& bspc node -f north; \
|
||||
bspc node -z bottom 0 9999
|
||||
|
||||
# minimize current window, move up
|
||||
super + {x,bracketright}
|
||||
bspc node -f 'focused.tiled' \
|
||||
&& bspc node -f south; \
|
||||
bspc node -z top 0 -9999
|
||||
|
||||
super + backslash
|
||||
bspc node -e
|
||||
|
||||
#
|
||||
# Program launching binds
|
||||
#
|
||||
|
||||
super + 8
|
||||
vesktop
|
||||
|
||||
super + 9
|
||||
bitwarden
|
||||
|
||||
super + 0
|
||||
kitty -e micro
|
||||
|
||||
#
|
||||
# Media
|
||||
#
|
||||
|
||||
# Play/pause track
|
||||
XF86AudioPlay
|
||||
playerctl play-pause
|
||||
|
||||
# Play/pause track
|
||||
Pause
|
||||
playerctl play-pause
|
||||
|
||||
# Previus track
|
||||
XF86AudioNext
|
||||
playerctl next
|
||||
|
||||
# Previous track
|
||||
XF86AudioPrev
|
||||
playerctl previous
|
||||
|
||||
# Stop track
|
||||
XF86AudioStop
|
||||
playerctl stop
|
||||
121
home/.config/sxhkd/sxhkdrc.save
Executable file
121
home/.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
home/.config/sxhkd/sxhkdrc.seq
Normal file
52
home/.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
home/.config/sxhkd/test-out
Normal file
110
home/.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