261 lines
4.6 KiB
Plaintext
261 lines
4.6 KiB
Plaintext
#
|
|
# bspwm hotkeys
|
|
#
|
|
|
|
# close and kill
|
|
super + {_,shift + }w
|
|
bspc node -{c,k}
|
|
|
|
# swap the current node and the biggest node
|
|
super + y
|
|
bspc node -s biggest.local
|
|
|
|
# Map or unmap windows (functional equivalent of "minimize")
|
|
super + ntilde
|
|
whid dmenu
|
|
|
|
super + shift + ntilde
|
|
whid hide
|
|
|
|
super + ctrl + ntilde
|
|
whid last
|
|
|
|
#
|
|
# state/flags
|
|
#
|
|
|
|
# set the window state
|
|
super + {t,f}
|
|
bspc node -t {tiled,floating}
|
|
|
|
# set the node flags
|
|
super + ctrl + {l,s,p}
|
|
bspc node -g {locked,sticky,private} && notify-send "Toggled {locked,sticky,private} state"
|
|
|
|
|
|
#
|
|
# preselect
|
|
#
|
|
|
|
# Autopresel (split window in its largest dimension)
|
|
super + alt + Return
|
|
auto-presel
|
|
|
|
# cancel the preselection for the focused node
|
|
super + alt + space
|
|
bspc node -p cancel
|
|
|
|
# cancel the preselection for the focused desktop
|
|
ctrl + super + alt + space
|
|
bspc query -N -d | xargs -I id -n 1 bspc node id -p cancel
|
|
|
|
# Presel window for splitting in certain direction
|
|
super + alt + p: {Left,Down,Up,Right}
|
|
bspc node -p \~{west,south,north,east}
|
|
|
|
# preselect ratio of windows
|
|
super + alt + p : {1-9}
|
|
bspc node -o 0.{1-9}
|
|
|
|
# Move current window to largest space or preselected area if there is one.
|
|
super + Return
|
|
windowpromoter
|
|
|
|
#
|
|
# Window moving and splitting
|
|
#
|
|
|
|
# go (Shift=move) to desktop (and focus the monitor that the desktop is located on. Bspwm style)
|
|
super + {_,shift + }{1-9,0}
|
|
bspc {desktop -f,node -d} ^{1-9,10}
|
|
|
|
# Select previous / next desktop
|
|
super + {braceleft,braceright}
|
|
bspc desktop -f {prev.occupied,next.occupied}
|
|
|
|
# cycle windows
|
|
alt + {_,shift + }Tab
|
|
bspc node -f {next,prev}
|
|
|
|
# Different style of movement: transplant into window in chosen direction
|
|
super + shift + m : {Left,Down,Up,Right}
|
|
euclid_mover {west,south,north,east}
|
|
|
|
# focus the next/previous node in the current desktop
|
|
super + {Left,Right}
|
|
bspc node -f {next,prev}.local
|
|
|
|
#resize windows
|
|
super + ctrl + r : {Left,Down,Up,Right}
|
|
bspwm_resize.sh {west,south,north,east}
|
|
|
|
#
|
|
# Layout manipulation/desktop level controls
|
|
#
|
|
|
|
# Balance tree
|
|
super + ctrl + alt + b
|
|
bspc node @/ -B
|
|
|
|
# Balance brother node. If you do this on biggest window of the desktop, it usually means balancing all windows except the biggest.
|
|
super + alt + b
|
|
bspc node @brother -B
|
|
|
|
# Undo balancing (equalize windows)
|
|
super + ctrl + b
|
|
bspc node @/ -E
|
|
|
|
# Toggle automatic balancing of windows
|
|
alt + b
|
|
euclid_balancer
|
|
|
|
# Mirror and flip leaves of tree
|
|
super + {Up,Down}
|
|
bspc node @/ -F {horizontal,vertical}
|
|
|
|
# Rotate leaves of tree
|
|
super + shift + {Up,Down}
|
|
bspc node @/ -R {90,270}
|
|
|
|
# Insert receptacle
|
|
super + {_,shift} + i
|
|
insert={true,false}; \
|
|
$insert && bspc node -i || \
|
|
for win in `bspc query -N -n .leaf.!window`; do bspc node $win -k ; done;
|
|
|
|
# Remove receptacles
|
|
super + BackSpace
|
|
for i in $(bspc query -N -n .leaf.!window.local); do bspc node $i -k; done
|
|
|
|
# Change window gap
|
|
super + g
|
|
bspc config -d focused window_gap {$gap,$(($gap+$gap)),$(($gap+$gap+$gap))}
|
|
|
|
super + {plus,minus}
|
|
bspc config -d focused window_gap $((`bspc config -d focused window_gap` {+,-} 2 ))
|
|
|
|
#
|
|
# run applications
|
|
#
|
|
|
|
# gui text editor
|
|
super + m
|
|
mousepad
|
|
|
|
# firefox
|
|
super + b
|
|
firefox
|
|
|
|
# qutebrowser
|
|
super + shift + b
|
|
qutebrowser --backend webengine
|
|
|
|
# volume
|
|
super + v
|
|
pavucontrol
|
|
|
|
# power menu
|
|
super + q
|
|
oblogout
|
|
|
|
# window switcher
|
|
super + s
|
|
xwinmosaic
|
|
|
|
# app launcher
|
|
super + space
|
|
~/bin/applauncher.sh
|
|
|
|
# terminal
|
|
super + z
|
|
termite
|
|
|
|
# multiplexer
|
|
super + shift + z
|
|
termite -e tmux
|
|
|
|
# file manager
|
|
super + e
|
|
nautilus
|
|
|
|
# terminal file manager
|
|
super + shift + e
|
|
termite -e ranger
|
|
|
|
# popup terminal
|
|
super + x
|
|
~/bin/skyterm.sh
|
|
|
|
# force quit
|
|
ctrl + alt + x
|
|
xkill
|
|
|
|
# screenshot
|
|
Print
|
|
maim -u ~/Pictures/scrot/$(date +%s).png && notify-send 'Screen captured'
|
|
|
|
# the time
|
|
super + F1
|
|
~/bin/statusbar/date.sh
|
|
|
|
# how much power
|
|
super + F2
|
|
~/bin/statusbar/batt.sh
|
|
|
|
# what's playing
|
|
super + F3
|
|
~/.ncmpcpp/mpdnotify
|
|
|
|
# wifi status
|
|
super + F4
|
|
~/bin/statusbar/wifi.sh
|
|
|
|
# updates
|
|
super + F5
|
|
update-notifier
|
|
|
|
# show/hide bar
|
|
super + F6
|
|
~/bin/statusbar/baron.sh
|
|
|
|
@super + F6
|
|
~/bin/statusbar/baroff.sh
|
|
|
|
# toggle touchpad
|
|
super + F10
|
|
~/bin/toggleTouchpad
|
|
|
|
# toggle polybar
|
|
super + F11
|
|
~/bin/togglePanel
|
|
|
|
# network manager
|
|
super + F12
|
|
networkmanager_dmenu
|
|
|
|
|
|
#
|
|
# Media keys
|
|
#
|
|
|
|
XF86AudioRaiseVolume
|
|
~/bin/pavolume.sh --up
|
|
|
|
XF86AudioLowerVolume
|
|
~/bin/pavolume.sh --down
|
|
|
|
XF86AudioMute
|
|
~/bin/pavolume.sh --togmute
|
|
|
|
XF86MonBrightnessDown
|
|
xbacklight -dec 5 && notify-send "☀ $(printf %.0f%% $(xbacklight -get))"
|
|
|
|
XF86MonBrightnessUp
|
|
xbacklight -inc 5 && notify-send "☀ $(printf %.0f%% $(xbacklight -get))"
|
|
|
|
XF86Audio{Prev,Next}
|
|
mpc -q {prev,next}
|
|
|
|
XF86AudioPlay
|
|
mpc -q toggle
|