55 lines
1.3 KiB
Bash
Executable file
55 lines
1.3 KiB
Bash
Executable file
#!/usr/bin/env bash
|
|
#
|
|
# inspired by sway_move from bob hepple
|
|
#
|
|
|
|
initialise() {
|
|
PROG=$(basename $0)
|
|
VERSION="1.0"
|
|
ARGUMENTS="top-right|bottom-right|bottom-left"
|
|
USAGE="move a floating window to the edges because sway lacks a way to do it!"
|
|
|
|
case $1 in
|
|
-h|--help)
|
|
echo "$USAGE"
|
|
exit 0
|
|
;;
|
|
1*|2*|3*|4*|5*|6*|7*|8*|9*)
|
|
command="$1"
|
|
;;
|
|
*)
|
|
echo "$PROG: bad argument" >&2
|
|
exit 1
|
|
;;
|
|
esac
|
|
|
|
return 0
|
|
}
|
|
|
|
initialise "$@"
|
|
# win_dim=( $( swaymsg -t get_tree |
|
|
# jq '.. | select(.type?) | select(.type=="floating_con") | select(.focused?)|.rect.width, .rect.height, .deco_rect.height' ) )
|
|
|
|
type=$( swaymsg -t get_tree | jq '.. | select(.focused?)|.type' | sed 's/"//g')
|
|
|
|
case "$type" in
|
|
"con")
|
|
if [ $1 -ge 10 -a $1 -le 90 ]
|
|
then
|
|
width=${1}ppt
|
|
echo swaymsg "resize set width ${width}"
|
|
swaymsg "resize set width ${width}"
|
|
else
|
|
echo "invalid width $1"
|
|
fi
|
|
;;
|
|
"floating_con")
|
|
width=$((${1} * 21))
|
|
height=$((${width} * 9 / 16))
|
|
echo swaymsg "resize set width ${width}px height ${height}px"
|
|
swaymsg "resize set width ${width} height ${height}"
|
|
;;
|
|
*)
|
|
echo wrong type $type
|
|
;;
|
|
esac
|