diff options
Diffstat (limited to 'sxhkd')
-rw-r--r-- | sxhkd/.config/sxhkd/sxhkdrc | 164 | ||||
-rwxr-xr-x | sxhkd/scripts/sxhkd/move.sh | 4 | ||||
-rwxr-xr-x | sxhkd/scripts/sxhkd/rofi_new.sh | 7 | ||||
-rwxr-xr-x | sxhkd/scripts/sxhkd/rofi_rename.sh | 9 | ||||
-rwxr-xr-x | sxhkd/scripts/sxhkd/rofi_resize.sh | 18 | ||||
-rwxr-xr-x | sxhkd/scripts/sxhkd/rofi_rotate.sh | 21 | ||||
-rwxr-xr-x | sxhkd/scripts/sxhkd/show.sh | 3 |
7 files changed, 226 insertions, 0 deletions
diff --git a/sxhkd/.config/sxhkd/sxhkdrc b/sxhkd/.config/sxhkd/sxhkdrc new file mode 100644 index 0000000..2276c2d --- /dev/null +++ b/sxhkd/.config/sxhkd/sxhkdrc @@ -0,0 +1,164 @@ +# +# wm independent hotkeys +# + +# terminal emulator +super + Return + urxvtcd + +# program launcher +super + i + rofi -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 monocle layout +super + f + bspc desktop -l next + +# 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 + bracket{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} + +# move a floating window +#super + {Left,Down,Up,Right} +# bspc node -v {-20 0,0 20,0 -20,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 + 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 diff --git a/sxhkd/scripts/sxhkd/move.sh b/sxhkd/scripts/sxhkd/move.sh new file mode 100755 index 0000000..2f0d5f1 --- /dev/null +++ b/sxhkd/scripts/sxhkd/move.sh @@ -0,0 +1,4 @@ +#!/bin/sh +bspc query -D $1 || bspc monitor -a $1 +bspc node --to-desktop $1 + diff --git a/sxhkd/scripts/sxhkd/rofi_new.sh b/sxhkd/scripts/sxhkd/rofi_new.sh new file mode 100755 index 0000000..4e28454 --- /dev/null +++ b/sxhkd/scripts/sxhkd/rofi_new.sh @@ -0,0 +1,7 @@ +#!/bin/bash +if [ -z $1 ]; then + cat <(echo -e "Web\nMail\nMusique") <(bspc query --names -D) | sort -u +else + ~/scripts/sxhkd/show.sh $1 +fi + diff --git a/sxhkd/scripts/sxhkd/rofi_rename.sh b/sxhkd/scripts/sxhkd/rofi_rename.sh new file mode 100755 index 0000000..d2bb04d --- /dev/null +++ b/sxhkd/scripts/sxhkd/rofi_rename.sh @@ -0,0 +1,9 @@ +#!/bin/sh +if [ -z $1 ]; then + echo "Edit" + echo "Musique" + exit 0 +else + bspc desktop -n ${1} + exit 1 +fi diff --git a/sxhkd/scripts/sxhkd/rofi_resize.sh b/sxhkd/scripts/sxhkd/rofi_resize.sh new file mode 100755 index 0000000..dfb9679 --- /dev/null +++ b/sxhkd/scripts/sxhkd/rofi_resize.sh @@ -0,0 +1,18 @@ +#!/bin/sh +if [ -z $1 ]; then + echo "10" + echo "20" + echo "30" + echo "40" + echo "50" + echo "52" + echo "60" + echo "70" + echo "80" + echo "90" + exit 0 +else + bspc node @parent --ratio .${1} + exit 1 +fi + diff --git a/sxhkd/scripts/sxhkd/rofi_rotate.sh b/sxhkd/scripts/sxhkd/rofi_rotate.sh new file mode 100755 index 0000000..6438f2a --- /dev/null +++ b/sxhkd/scripts/sxhkd/rofi_rotate.sh @@ -0,0 +1,21 @@ +#!/bin/bash +if [ -z $1 ]; then + echo "Horaire" + echo "Antihoraire" + echo "Flip" + exit 0 +else + case $1 in + Horaire) + bspc node @parent --rotate 90 + ;; + Antihoraire) + bspc node @parent --rotate 270 + ;; + Flip) + bspc node @parent --rotate 180 + ;; + esac + exit 1 +fi + diff --git a/sxhkd/scripts/sxhkd/show.sh b/sxhkd/scripts/sxhkd/show.sh new file mode 100755 index 0000000..4f83617 --- /dev/null +++ b/sxhkd/scripts/sxhkd/show.sh @@ -0,0 +1,3 @@ +#!/bin/sh +bspc query -D --names | grep -q "$1" || bspc monitor -a "$1" +bspc desktop -f "$1" |