aboutsummaryrefslogtreecommitdiff
path: root/documentation/typing.md
AgeCommit message (Expand)Author
2023-09-24Updated the type system documentationChimrod
2023-09-24Added a page for the qsp typing systemChimrod
a id='n18' href='#n18'>18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162
#
# wm independent hotkeys
#

# terminal emulator
super + Return
    kitty

# program launcher
super + i
    rofi -modi "run,drun,Desktop:~/scripts/sxhkd/rofi_new.sh,Layer:~/scripts/sxhkd/macropad_layer.sh" -show run

#super + @space
#	dmenu_run

# 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}
super + {_,shift + }q
	bspc node -{c,k}

XF86HomePage
    bspc query -N -d Web || firefox & bspc desktop -f Web

XF86Mail
    bspc query -N -d Mail || thunderbird & bspc desktop -f Mail

XF86Calculator
    bspc query -N -d Musique || gmpc & bspc desktop -f Musique

# alternate between the tiled and fullscreen for the window
super + f
    bspc node --state ~fullscreen

# 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 node
super + g
	bspc node -s biggest

#
# 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 node in the current desktop
super + {_,shift + }c
	bspc node -f {next,prev}.local

# focus the next/previous desktop in the current monitor
super + paren{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

super + r
    rofi -modi "Reorganiser:~/scripts/sxhkd/rofi_resize.sh,Rotation:~/scripts/sxhkd/rofi_rotate.sh" -show Rotation

#
# move/resize
#

# expand a window by moving one of its side outward
super + shift + {Left,Down,Up,Right}
	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}

super + {Up,Down,Left,Right}
	bspc node {north,south,west,east} -f

mod5 + Escape
	~/scripts/sxhkd/show.sh older

shift + mod5 + Escape
	~/scripts/sxhkd/move.sh older

mod5 + {_,shift + } F{1-5}
    {~/scripts/sxhkd/show.sh, ~/scripts/sxhkd/move.sh} {1-5}

super + {_,shift + } F{6-9}
    {~/scripts/sxhkd/show.sh, ~/scripts/sxhkd/move.sh} {6-9}

super + n
    rofi -modi "Desktop:~/scripts/sxhkd/rofi_new.sh,Renommer:~/scripts/sxhkd/rofi_rename.sh" -show Desktop

super + a
    bspc node @parent -f

#super + m
#    test -z $(bspc query -N -n any.marked) && bspc node -g marked; \
#    bspc node --swap any.marked --follow && bspc node any.marked -g marked=off

super + button{4,5}
	bspc desktop -f {prev,next}.local