177 lines
		
	
	
		
			3.6 KiB
		
	
	
	
		
			Plaintext
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			177 lines
		
	
	
		
			3.6 KiB
		
	
	
	
		
			Plaintext
		
	
	
		
			Executable File
		
	
	
	
	
| #
 | |
| # wm independent hotkeys
 | |
| #
 | |
| 
 | |
| # Open kitty
 | |
| alt + Return
 | |
| 	kitty
 | |
| 
 | |
| # Open floating kitty
 | |
| alt + shift + Return
 | |
| 	bsp-float kitty
 | |
| 
 | |
| # launch program
 | |
| alt + @space
 | |
| 	rofi -show run
 | |
|  
 | |
| # launch program as root
 | |
| alt + shift + @space
 | |
| 	rofi-ask rofi -show drun -run-command "sudo -A {cmd}"
 | |
| 
 | |
| # make sxhkd reload its configuration files:
 | |
| alt + Escape
 | |
| 	pkill -USR1 -x sxhkd; notify-send 'Key daemon reloaded'
 | |
| 
 | |
| # Start a qutebrowser search
 | |
| alt + o
 | |
| 	qutesearch
 | |
| 
 | |
| # Show keybinds
 | |
| alt + slash
 | |
| 	sxhkd-help
 | |
| 
 | |
| # Show clipmenu
 | |
| alt + v
 | |
| 	rofi -modi "clipboard:greenclip print" -show clipboard -run-command '{cmd}'
 | |
| 
 | |
| alt + shift + v
 | |
|     greenclip clear
 | |
| 
 | |
| #
 | |
| # bspwm hotkeys
 | |
| #
 | |
| 
 | |
| # quit/restart bspwm
 | |
| alt + shift + {q,r}
 | |
| 	bspc {quit,wm -r}
 | |
| 
 | |
| # close and kill
 | |
| alt + {_,shift + }w
 | |
| 	bspc node -{c,k}
 | |
| 
 | |
| alt + q
 | |
| 	bspc node -c
 | |
| 
 | |
| # alternate between the tiled and monocle layout
 | |
| alt + m
 | |
| 	bspc desktop -l next
 | |
| 
 | |
| # send the newest marked node to the newest preselected node
 | |
| alt + y
 | |
| 	bspc node newest.marked.local -n newest.!automatic.local
 | |
| 
 | |
| # swap the current node and the biggest window
 | |
| alt + g
 | |
| 	bspc node -s biggest.window
 | |
| 
 | |
| # Reveal hidden kitty (scratchpad)
 | |
| alt + super + Return
 | |
|   bsp-toggle-visibility KittyScratch "kitty --class KittyScratch"
 | |
| 
 | |
| # flameshot
 | |
| alt + Print
 | |
|   flameshot gui
 | |
| 
 | |
| #
 | |
| # state/flags
 | |
| #
 | |
| 
 | |
| # set the window state
 | |
| alt + {z,shift + z,x,f}
 | |
| 	bspc node -t {tiled,pseudo_tiled,floating,fullscreen}
 | |
| 
 | |
| # set the node flags
 | |
| alt + ctrl + {m,x,y,z}
 | |
| 	bspc node -g {marked,locked,sticky,private}
 | |
| 
 | |
| #
 | |
| # focus/swap
 | |
| #
 | |
| 
 | |
| # focus the node in the given direction
 | |
| alt + {h,j,k,l,Left,Down,Up,Right}
 | |
| 	bspc node -{f} {west,south,north,east,west,south,north,east}
 | |
| 
 | |
| # focus the node for the given path jump
 | |
| alt + {p,b,comma,period}
 | |
| 	bspc node -f @{parent,brother,first,second}
 | |
| 
 | |
| # focus the next/previous window in the current desktop
 | |
| alt + {a,d}
 | |
| 	bspc node -f {next,prev}.local.!hidden.window
 | |
| 
 | |
| # focus the next/previous desktop in the current monitor
 | |
| alt + bracket{left,right}
 | |
| 	bspc desktop -f {prev,next}.local
 | |
| 
 | |
| # focus the last node/desktop
 | |
| alt + {grave,Tab}
 | |
| 	bspc {node,desktop} -f last
 | |
| 
 | |
| # focus the older or newer node in the focus history
 | |
| alt + {o,i}
 | |
| 	bspc wm -h off; \
 | |
| 	bspc node {older,newer} -f; \
 | |
| 	bspc wm -h on
 | |
| 
 | |
| # focus or send to the given desktop
 | |
| alt + {_,shift + }{1-9,0}
 | |
| 	bspc {desktop -f,node -d} '^{1-9,10}'
 | |
| 
 | |
| #
 | |
| # preselect
 | |
| #
 | |
| 
 | |
| # preselect the direction
 | |
| alt + ctrl + shift {h,j,k,l,Left,Down,Up,Right}
 | |
| 	bspc node -p {west,south,north,east,west,south,north,east}
 | |
| 
 | |
| # preselect the ratio
 | |
| alt + ctrl + {1-9}
 | |
| 	bspc node -o 0.{1-9}
 | |
| 
 | |
| # cancel the preselection for the focused node
 | |
| alt + ctrl + space
 | |
| 	bspc node -p cancel
 | |
| 
 | |
| # cancel the preselection for the focused desktop
 | |
| alt + ctrl + shift + space
 | |
| 	bspc query -N -d | xargs -I id -n 1 bspc node id -p cancel
 | |
| 
 | |
| #
 | |
| # move/resize
 | |
| #
 | |
| 
 | |
| # Expand/contract a window by moving one of its side outward/inward
 | |
| 
 | |
| alt + 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
 | |
| alt + {h,j,k,l}
 | |
| 	bspc node -v {-30 0,0 20,0 -30,20 0}
 | |
| 
 | |
| # move a not-floating window
 | |
| alt + shift + {h,j,k,l,Left,Down,Up,Right}
 | |
|   bsp-smove {west,south,north,east,west,south,north,east}
 | |
| 
 | |
| #
 | |
| # tabs
 | |
| # 
 | |
| 
 | |
| # move in/out of tabbed container
 | |
| alt + ctrl + {h,j,k,l,Left,Down,Up,Right}
 | |
|     tabc-smart-detach {west,south,north,east,west,south,north,east}
 | |
| 
 | |
| # tab/untab window
 | |
| alt + t
 | |
|     id=$(bspc query -N -n); \
 | |
|     [[ "$(tabc printclass $id)" == "tabbed" ]] \
 | |
|     && tabc detach $id \
 | |
|     || tabc create $id 
 | |
| 
 | |
| # toggle autoattach in tabbed container
 | |
| alt + shift + t
 | |
|     tabc autoattach $(bspc query -N -n)  |