aboutsummaryrefslogtreecommitdiff
path: root/.config/sxhkd/sxhkdrc
diff options
context:
space:
mode:
Diffstat (limited to '.config/sxhkd/sxhkdrc')
-rwxr-xr-x.config/sxhkd/sxhkdrc445
1 files changed, 181 insertions, 264 deletions
diff --git a/.config/sxhkd/sxhkdrc b/.config/sxhkd/sxhkdrc
index 7b975a7..f259e90 100755
--- a/.config/sxhkd/sxhkdrc
+++ b/.config/sxhkd/sxhkdrc
@@ -7,81 +7,57 @@
# \/___/ \//\/_/ \/_/\/_/\/_/\/_/\/__,_ /
#
+#---------------------------------------------------------------
#
-# wm independent hotkeys
+# WM independent hotkeys
#
-
-# help
+# Help
super + F1
- ~/.config/sxhkd/show_help.sh -m -3
+ ~/.config/sxhkd/show_help.sh -m -3
-# application menu
+# Application menu
super + a
~/.config/polybar/scripts/menu.sh
-# shutdown menu
+# Shutdown menu
ctrl + alt + Delete
~/.config/polybar/scripts/sysmenu.sh
-# run launcher
-super + r
- rofi -show run
-
-# toggle sticky
-#super + q
-# bspc node -g sticky=on
-
-# Scratchpad Terminal
-super + e
- ~/.local/bin/scripts/Heads-Up-Display
-
-super + {equal,minus}
- layer.sh {+,-}
-
-# Scratchpad
-super + semicolon
- ~/.local/bin/scripts/scratchpad
-
-super + x
- ~/.local/bin/scripts/scratchpad
-
-#{~/.local/bin/scripts/scratchpad, bspc rule -a \* -o state=floating sticky=on floating=on rectangle=680x260+340+460}
-#sid=$(cat /tmp/scratchID);\
-#cid=$(cat /tmp/calcID);\
-#wmctrl -ir $sid -b toggle,hidden && wmctrl -ir $cid -b add,hidden; wmctrl -ia $sid
-
-#super + apostrophe
-# {~/.local/bin/scripts/scratchpad, bspc rule -a \* -o state=floating sticky=on floating=on rectangle=680x700+340+40}
+# lockscreen
+super + Escape
+ betterlockscreen -l
+# Program launcher
+super + @space
+ rofi -show drun
-#super + x
-# ~/.local/bin/scripts/scratchpad
+# Run launcher (commands)
+super + r
+ rofi -show run
-# open st (simple terminal)
-#super + colon
-# st
+# Task switcher
+alt + Tab
+ rofi -show window
-# Bitwarden-rofi
-super + shift + b
- rofi-rbw
- #bwmenu -c 15
+# Turn off compositor
+super + shift + p
+ toggleprogram "picom" "--experimental-backends"
-# thunderbird mail
-#super + shift + m
-# thunderbird
+#picom-trans -c -10
+#picom-trans -c +10
-# discord
-super + shift + d
- discord
+# Launch eww
+#super + ctrl + a
+# ~/.config/eww/launch_widgets.sh
-# Spotify
-super + shift + y
- spotify
+# Terminal emulator
+super + Return
+ $TERMINAL
-# lockscreen
-super + Escape
- betterlockscreen -l
+# Browser
+super + w
+ $BROWSER
# Show clipmenu
alt + x
@@ -93,209 +69,145 @@ alt + x
-theme-str 'listview \{ spacing: 0; \}' \
-theme-str 'window \{ width: 20em; \}'
-# terminal emulator
-super + Return
-#super + x
- alacritty
- #urxvt
- #$TERMINAL
-
-super + shift + z
- zathura
-
-# program launcher
-super + @space
- rofi -show drun
-
-# task switcher
-alt + Tab
- rofi -show window
-
-# browser
-super + w
- $BROWSER
-
-# neovim
-#super + v
-# kitty -e nvim
-
-# alacritty
-#super + x
-# kitty
-
-# file manager nnn
-super + n
- $TERMINAL -e nnn
-
-# file manager ranger
-super + shift + r
- $TERMINAL -e ranger
-
-# file manager pcmanfm (GUI)
-super + shift + f
- pcmanfm
-
-# Dictionary
-super + ctrl + w
- goldendict
-
-# Thesaurus
-super + shift + w
- artha
-
-# screenshots tool (selection)
+# Screenshots tool (selection)
ctrl + Print
flameshot gui -p ~/pictures/screenshots
-# screenshots tool (screen)
+# Screenshots tool (screen)
shift + Print
flameshot full -p ~/pictures/screenshots
-# turn off compositor
-super + shift + p
- toggleprogram "picom" "--experimental-backends"
-
-#picom-trans -c -10
-#picom-trans -c +10
-
# make sxhkd reload its configuration files:
super + ctrl + x
pkill -USR1 -x sxhkd; dunstify "Sxhkd configuration reloaded"
-
+#---------------------------------------------------------------
#
# bspwm hotkeys
#
-# quit/restart bspwm
+# Quit/restart bspwm
super + alt + shift + {q,r}
bspc {quit,wm -r}
-#super + alt + {q,r}
-# bspc {quit,wm -r}
-
-
-# launch eww
-#super + ctrl + a
-# ~/.config/eww/launch_widgets.sh
-
-# close and kill
+# Close and kill
super + d
bspc node -c
-# alternate between the tiled and monocle layout
+# Alternate between the tiled and monocle layout
super + m
bspc desktop -l next
+super + z
+ bspc desktop -l next
-
-# send the newest marked node to the newest preselected node
+# 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
+# Swap the current node and the biggest window
super + g
bspc node -s biggest.window
+
+#---------------------------------------------------------------
#
# state/flags
#
-# set the window state
+# Set the window state
#super + {t,shift + t,s,f}
# bspc node -t {tiled,pseudo_tiled,floating,fullscreen}
-# set the window state
+# Floating into monocle layout
+super + shift + m
+ bspc node -t pseudo_tiled; bspc node -t floating && wtp 10 40 1342 716 "$(pfw)"
+
+# Set the window state
super + {t,shift + t,s}
bspc node -t {tiled,pseudo_tiled,floating}; \
xdo raise -N Plank; \
xdo raise -N '*:*:Picture in picture'; \
- xdo raise -N "Picture-in-Picture"
-# xdo raise -N Plank; \
-# xdo raise -a polybar-left_LVDS-1; \
-# xdo raise -a polybar-bottom_LVDS-1
-
- #polybar-msg cmd show
+ xdo raise -N "Picture-in-Picture"
-
-#xdo raise -p $(pidof polybar-bottom_LDVS-1)
-#bspc node -t \~fullscreen
+# Toggle fullscreen
super + {f}
bspc node -t \~fullscreen
- #bspc window -t floating=off; \
- #bspc node -t {fullscreen}; \
- #xdo lower -N Plank
-# xdo lower -N Plank; \
-# xdo lower -a polybar-left_LVDS-1; \
-# xdo lower -a polybar-bottom_LVDS-1
- #bspc node -t \~{fullscreen}; \
-
-# set the node flags
+
+# Toggle sticky
+#super + q
+# bspc node -g sticky=on
+
+# Set the node flags
super + ctrl + {m,x,y,z}
bspc node -g {marked,locked,sticky,private}
+# Move layers of windows above/below each other (script)
+super + {equal,minus}
+ layer.sh {+,-}
+
+
+#---------------------------------------------------------------
#
-# focus/swap
+# Focus/Swap
#
-# focus the node in the given direction
+# 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
+# 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
+# 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
+# Focus the next/previous desktop in the current monitor
super + bracket{left,right}
bspc desktop -f {prev,next}.local
-# focus the last node/desktop
+# Focus the last node/desktop
super + {grave,Tab}
bspc {node,desktop} -f last
-# focus the older or newer node in the focus history
+# 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
+# Focus or send to the given desktop
super + {_,shift + }{1-9,0}
bspc {desktop -f,node -d} '^{1-9,10}'
-# Hide/Unhide Window
-#super + p
-# ~/.local/bin/scripts/winhide.sh
-
-# hide window
+# Hide window
super + comma
bspc node -g hidden
-# unhide window
+# Unhide window (script)
super + period
${HOME}/.config/bspwm/bspcmd unhide
+
+#---------------------------------------------------------------
#
-# preselect
+# Preselect
#
-# preselect the direction
+# Preselect the direction
super + ctrl + {h,j,k,l}
bspc node -p {west,south,north,east}
-# preselect the ratio
+# Preselect the ratio
super + ctrl + {1-9}
bspc node -o 0.{1-9}
-# cancel the preselection for the focused node
+# Cancel the preselection for the focused node
super + ctrl + space
bspc node -p cancel
-# cancel the preselection for the focused desktop
+# 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
@@ -315,8 +227,9 @@ super + ctrl + i
super + alt + i
bspc node @/ -B
+#---------------------------------------------------------------
#
-# move/resize
+# Move/resize
#
# Move a floating window or swap with any other adjacent tiled/pseudo_tiled window
@@ -328,164 +241,115 @@ ctrl + alt + {h,j,k,l}
}; \
bspc node --move "$dx" "$dy" || bspc node --swap $dir
-#shift + alt + {h,j,k,l}
+# Move a tiled window to any direction
+super + shift + {h,j,k,l}
+ /path/to/bspwm_smart_move {west,south,north,east}
+
+# Rotate windows to different nodes
+super + ctrl + r
+ bspc node @parent -R 90
+
+# Resize tiled/floating windows (script)
shift + alt + {h,j,k,l}
bspwm_resize.sh {west,south,north,east}
+# Resize window into predefined pseudo_tiled window
super + shift + s
bspc node -t pseudo_tiled; bspc node -t floating && wtp 340 40 680 700 "$(pfw)"
-# floating into similar monocle layout
-super + shift + m
- bspc node -t pseudo_tiled; bspc node -t floating && wtp 10 40 1342 716 "$(pfw)"
- #bspc node -t pseudo_tiled; bspc node -t floating && wtp 1 26 1360 735 "$(pfw)"
-
-#super + shift + z
-# bspc node -t floating && wtp 340 40 680 700 "$(pfw)"
-
-# Spawn next window/program in floating mode
+# Spawn next window/program into predefined floating window
ctrl + alt + 1
bspc rule -a '*' -o state=floating rectangle=680x700+340+40
-# Spawn next window/program in smaller scratchpad like floating mode
-ctrl + alt + 2
- bspc rule -a '*' -o state=floating rectangle=478x291+656+214
-#super + e : {h,j,k,l}
-# bspwm_resize.sh expand {west,south,north,east} 50
-#
-#super + shift + e : {h,j,k,l}
-# bspwm_resize.sh contract {west,south,north,east} 50
-#super + colon
-# bspc rule -a scratchpad -o state=floating rectangle=680x700+340+40
-# resize floating windows
-#shift + alt + {h,j,k,l}
-# xdo resize {-w -20,-h +20,-h -20,-w +20}
-# resize floating windows
-#shift + alt + {h,j,k,l}
-# xdo resize {-w -20,-h +20,-h -20,-w +20}
-
-# resize windows i3 style
-#shift + alt + {h,j,k,l}
-# ;bash ~/.config/sxhkd/resize {x -, y +, y -, x +}
-
-# expand a window by moving one of its side outward
-#alt + shift + {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
-#alt + ctrl + {h,j,k,l}
-# bspc node -z {right -20 0,top 0 20,bottom 0 -20,left 20 0}
-# expand/contract a window
-
-#alt + shift + {h,j,k,l}
-# bspc node -z {left -20 0 || bspc node -z right -20 0, \
-# bottom 0 20 || bspc node -z top 0 20,\
-# top 0 -20 || bspc node -z bottom 0 -20,\
-# right 20 0 || bspc node -z left 20 0}
-
-# move a floating window
-#ctrl + alt + {h,j,k,l}
-# bspc node -v {-20 0,0 20,0 -20,20 0}
-
-
-# move a floating window
-#super + {Left,Down,Up,Right}
-
-# move a tiled window to any direction
-super + shift + {h,j,k,l}
- /path/to/bspwm_smart_move {west,south,north,east}
-# rotate windows to different nodes
-super + ctrl + r
- bspc node @parent -R 90
+# Spawn next window/program into predefined smaller Heads-Up-Display like floating window
+ctrl + alt + 2
+ bspc rule -a '*' -o state=floating rectangle=320x140+1030+32
-##################################
-# Control Multimedia #
-##################################
-#super + {F6,F7,F8}
-# playerctl {previous,play-pause,next}
+#---------------------------------------------------------------
+#
+# Multimedia
+#
+# Multimedia control
{XF86AudioStop,XF86AudioPlay,XF86AudioPrev,XF86AudioNext}
playerctl {stop,play-pause,previous,next}
+# Use arrow keys as multimedia keys
alt + shift + {Left,Up,Right}
playerctl {previous,play-pause,next}
-
# Brightness control
XF86MonBrightness{Up,Down}
brightnessctl s 5%{+,-}
+# Use arrow keys as brightness keys
alt + {Up,Down}
brightnessctl s 5%{+,-}
-
# Volume control
XF86Audio{Raise,Lower}Volume
pulsemixer --change-volume {+,-}10
+# Use arrow keys as volume keys
alt + {Right,Left}
pulsemixer --change-volume {+,-}10
+#---------------------------------------------------------------
+#
+# Xdotool
+#
-#####################################
-# MPC-MPD Multimedia Keybindings #
-#####################################
-
-super + {XF86AudioPrev,XF86AudioPlay,XF86AudioStop,XF86AudioNext}
- mpc {prev,toggle,stop,next}
-
-
-# xdotool {{{
-
-# move mouse cursor
-alt + {a,s,w,d,q,e,z,c}
+# Move mouse cursor
+alt + {a,s,w,d,a; w,w; d,a; s,s; d}
xdotool mousemove_relative --sync {-- -24 0, 0 24, -- 0 -24, 24 0, -- -24 -24, -- 24 -24, -- -24 24,-- 24 24}
-# move mouse cursor with extra jump size
-ctrl + alt + {a,s,w,d,q,e,z,c}
- xdotool mousemove_relative --sync {-- -48 0, 0 48, -- 0 -48, 48 0, -- -48 -48, -- 48 -48, -- -48 48,-- 48 48}
+# Move mouse cursor with extra jump size
+shift + alt + {a;w,w;d,a;s,s;d}
+ xdotool mousemove_relative --sync {-- -48 -48, -- 48 -48, -- -48 48,-- 48 48}
+#ctrl + alt + {a,s,w,d,q,e,z,c}
+ #xdotool mousemove_relative --sync {-- -48 0, 0 48, -- 0 -48, 48 0, -- -48 -48, -- 48 -48, -- -48 48,-- 48 48}
-# move mouse cursor with lower jump size
-shift + alt + {a,s,w,d,q,e,z,c}
- xdotool mousemove_relative --sync {-- -8 0, 0 8, -- 0 -8, 8 0, -- -8 -8, -- 8 -8, -- -8 8,-- 8 8}
+# Move mouse cursor with lower jump size
+#shift + alt + {a,s,w,d,q,e,z,c}
+ #xdotool mousemove_relative --sync {-- -8 0, 0 8, -- 0 -8, 8 0, -- -8 -8, -- 8 -8, -- -8 8,-- 8 8}
-# emulate left mouse click
+# Emulate left mouse click
alt + i
xdotool click --clearmodifiers 1
#alt + q
# xdotool click --repeat 2 1
-# emulate left mouse click select
+# Emulate left mouse click select
alt + shift + i
xdotool mousedown 1 sleep 0.5 mousemove_relative --sync {-- -8 0, 0 8, -- 0 -8, 8 0} sleep 0.5 mouseup 1
-# emulate mouse scroll button
+# Emulate mouse scroll button
alt + p
xdotool click --clearmodifiers 2
-# emulate mouse right click
+# Emulate mouse right click
alt + o
xdotool click --clearmodifiers 3
-# emulate mouse scroll up
+# Emulate mouse scroll up
alt + m
xdotool click --clearmodifiers 4
-# emulate mouse scroll down
+# Emulate mouse scroll down
alt + n
xdotool click --clearmodifiers 5
-# emulate home key
+# Emulate home key
alt + ctrl + Left
xdotool keyup Left key --clearmodifiers Home
-# emulate end key
+# Emulate end key
alt + ctrl + Right
xdotool keyup Right key --clearmodifiers End
-# emulate delete key
+# Emulate delete key
~alt + BackSpace
xte 'keyup Alt_L' 'key Delete' 'keydown Alt_L'
@@ -493,3 +357,56 @@ alt + ctrl + Right
#ctrl + alt + @{Up,Down}
# xte 'keyup Control_L' 'keyup Alt_L' 'key {Home,End}'
+#---------------------------------------------------------------
+#
+# Programs
+#
+
+# Scratchpad
+super + semicolon
+ ~/.local/bin/scripts/scratchpad
+
+super + x
+ ~/.local/bin/scripts/scratchpad
+
+# Heads-Up-Display scratchpad terminal
+super + e
+ ~/.local/bin/scripts/Heads-Up-Display
+
+# File manager nnn
+super + n
+ $TERMINAL -e nnn
+
+# File manager pcmanfm (GUI)
+super + shift + f
+ pcmanfm
+
+# Bitwarden-rofi
+super + shift + b
+ rofi-rbw
+
+# Thunderbird mail
+#super + shift + m
+# thunderbird
+
+# Discord
+super + shift + d
+ discord
+
+# Spotify
+super + shift + y
+ spotify
+
+# Book reader (zathura)
+super + shift + z
+ zathura
+
+# Dictionary
+super + ctrl + w
+ goldendict
+
+# Thesaurus
+super + shift + w
+ artha
+
+