bspwm 명령
1 bspwm 단축키
윈도 매니져를 Fluxbox에서 bspwm으로 바꾸면서 단축키가 익숙하지 않아서 여기에 기록해 놓고 찾아 보기로 했다.
단축키 | 설명 |
---|---|
명령 | |
wm independent hotkeys | |
super + Return | terminal emulator |
xterm -ls | |
super + @space | program launcher |
dmenu_run | |
super + Escape | make sxhkd reload its configuration files |
pkill -USR1 -x sxhkd | |
bspwm hotkeys | |
super + alt + {q,r} | quit/restart bspwm |
pkill -x panel; bspc {quit,wm -r} | |
super + {_,shift + }w | close and kill |
| |
super + m | alternate between the tiled and monocle layout |
bspc desktop -l next | |
super + y | send the newest marked node to the newest preselected node |
bspc node newest.marked.local -n newest.!automatic.local | |
super + shift + y | send the current node to the newest preselected node |
bspc node -n newest.!automatic.local | |
super + g | swap the current node and the biggest local node |
bspc node -s biggest.local | |
state/flags | |
super + {t,shift + t,s,f} | set the window state |
bspc node -t {tiled,pseudo_tiled,floating,fullscreen} | |
super + ctrl + {m,x,y,z} | set the node flags |
bspc node -g {marked,locked,sticky,private} | |
focus/swap | |
super + {_,shift + }{h,j,k,l} | focus the node in the given direction |
bspc node -{f,s} {west,south,north,east} | |
super + {p,b,comma,period} | focus the node for the given path jump |
bspc node -f @{parent,brother,first,second} | |
super + {_,shift + }c alt + {_,shift + }Tab | focus the next/previous window in the current desktop |
bspc node -f {next,prev}.local.!hidden.window | |
super + bracket{left,right} | focus the next/previous desktop in the current monitor |
bspc desktop -f {prev,next}.local | |
super + {grave,Tab} | focus the last node/desktop |
bspc {node,desktop} -f last | |
super + {o,i} | focus the older or newer node in the focus history |
bspc wm -h off; bspc node {older,newer} -f; bspc wm -h on | |
super + {_,shift + }{1-9,0} | focus or send to the given desktop |
bspc {desktop -f,node -d} '^{1-9,10}' | |
super + alt + {1-9,0} | send all nodes in the current desktop to the given desktop |
bspc node -f @/; bspc node -d '^{1-9,10}' | |
preselect | |
super + ctrl + {h,j,k,l} | preselect the direction |
bspc node -p {west,south,north,east} | |
super + ctrl + {1-9} | preselect the ratio |
bspc node -o 0.{1-9} | |
super + ctrl + space | cancel the preselection for the focused node |
bspc node -p cancel | |
super + ctrl + shift + space | cancel the preselection for the focused desktop |
bspc query -N -d | xargs -I id -n 1 bspc node id -p cancel | |
move/resize | |
super + alt + {h,j,k,l} | expand a window by moving one of its side outward |
bspc node -z {left -20 0,bottom 0 20,top 0 -20,right 20 0} | |
super + alt + ctrl + {h,j,k,l} | expand a window by moving one of its side outward by 1 pixel |
bspc node -z {left -1 0,bottom 0 1,top 0 -1,right 1 0} | |
super + alt + shift + {h,j,k,l} | contract a window by moving one of its side inward |
bspc node -z {right -20 0,top 0 20,bottom 0 -20,left 20 0} | |
super + alt + ctrl + shift + {h,j,k,l} | contract a window by moving one of its side inward by 1 pixel |
bspc node -z {right -1 0,top 0 1,bottom 0 -1,left 1 0} | |
super + shift + minus | toggle the width to the max or default xterm width |
| |
super + minus | toggle the height to the max or default xterm height |
| |
super + equal | toggle the size to the max or default xterm size |
| |
super + {Left,Down,Up,Right} | move a floating window |
bspc node -v {-20 0,0 20,0 -20,20 0} | |
super + ctrl + {Left,Down,Up,Right} | move a floating window by 1 pixel |
bspc node -v {-20 0,0 20,0 -20,20 0} | |
super + alt + {Left,Down,Up,Right} | snap a floating window to root edges |
| |
super + alt + shift + {Left,Down,Up,Right} | snap a floating window to root edge centers |
| |
super + alt + Home | snap a floating window to the root center |
| |
rotate | |
super + {_,shift + }r | rotate the parent/desktop |
bspc node {@parent, @/} -R 90 | |
hide/unhide | |
super + n; m | hide the current window |
bspc node -g hidden | |
super + n; u | unhide the last hidden window for the current desktop |
| |
super + n; super + u | unhide selected hidden windows for the current desktop |
| |
super + n; super + shift + u | unhide all windows for the current desktop |
| |
tabbed | |
super + n; n | start a new tabbed instance |
tabbed -c | |
super + n; super + n | start a new tabbed instance and add the current window |
| |
super + n; super + Return | start a new tabbed instance with xterm |
tabc.sh $(tabbed -cd) term | |
super + n; Return | start a new tab with xterm |
tabc.sh $(xdo id) term | |
super + n; {h,j,k,l} | add focused window to a tabbed instance in given direction |
tabc.sh $(bspc query -N -n {west,south,north,east}) add $(xdo id) | |
super + n; r | remove one tab from tabbed |
| |
split ratio | |
super + n; {1-9} | change the split ratio |
bspc config split_ratio 0.{1-9} | |
layer | |
super + z; {b,n,a} | change layer |
bspc node -l {below,normal,above} | |
receptacle | |
super + a | insert a new receptacle |
bspc node -i | |
super + shift + a | kill all receptacles in the current monitor |
| |
utilities | |
super + Delete | lock |
myxlock | |
screenshot the entire desktop | |
ksnapshot | |
alt + Print | screenshot the current window |
ksnapshot --current | |
super + e | start Thunar |
Thunar | |
super + alt + {minus,equal} | decrease/increase the current window’s opacity |
transset -p --{dec,inc} 0.1 | |
laptop | |
XF86AudioMute | mute audio |
osd_volume mute | |
XF86AudioLowerVolume | lower volume |
osd_volume down | |
XF86AudioRaiseVolume | raise volume |
osd_volume up | |
XF86AudioMicMute | mute mic |
osd_volume mic_mute | |
XF86MonBrightnessDown | decrease brightness |
osd_brightness down | |
XF86MonBrightnessUp | increase brightness |
osd_brightness up | |
XF86Tools | switch the screen mode between laptop and tablet |
screenmode | |
XF86Display | switch the monitor setting between single and dual |
mon auto |
2 노드 선택 후 회전
bspc node -f @parent # 부모 노드에 포커스
bspc node -R 90 # 포커스된 부모 노드 회전
3 리셉터클(포커스되지 않는 빈 노드) 생성
bspc node -i # 형제 리셉터클 생성
bspc node @/ -p east -i # 루트 노드의 동쪽에 리셉터클 생성
bspc node @/2 -p north -i # 루트 노드 두번째 자식 노드의 북쪽에 리셉터클 생성
bspc rule -a Abc:abc -o node=@/1
bspc rule -a Ijk:ijk -o node=@/2/1
bspc rule -a Xyz:xyz -o node=@/2/2