diff --git a/src/layouts/rtall.sh b/src/layouts/rtall.sh index 96f30f7..5c84793 100755 --- a/src/layouts/rtall.sh +++ b/src/layouts/rtall.sh @@ -50,7 +50,7 @@ execute_layout() { local mon_width=$(jget width "$(bspc query -T -m)") - local want=$(( $master_size * $mon_width )) + local want=$(rcalc "$master_size * $mon_width") local have=$(jget width "$(bspc query -T -n '@/2')") bspc node '@/2' --resize left $((have - want)) 0 diff --git a/src/layouts/rwide.sh b/src/layouts/rwide.sh index b3989c1..db9f6cf 100755 --- a/src/layouts/rwide.sh +++ b/src/layouts/rwide.sh @@ -50,7 +50,7 @@ execute_layout() { local mon_height=$(jget height "$(bspc query -T -m)") - local want=$(( $master_size * $mon_height )) + local want=$(rcalc "$master_size * $mon_width") local have=$(jget height "$(bspc query -T -n '@/2')") bspc node '@/2' --resize top 0 $((have - want)) diff --git a/src/layouts/tall.sh b/src/layouts/tall.sh index 542aa58..a46f729 100755 --- a/src/layouts/tall.sh +++ b/src/layouts/tall.sh @@ -50,7 +50,7 @@ execute_layout() { local mon_width=$(jget width "$(bspc query -T -m)") - local want=$(( $master_size * $mon_width )) + local want=$(rcalc "$master_size * $mon_width") local have=$(jget width "$(bspc query -T -n '@/1')") bspc node '@/1' --resize right $((want - have)) 0 diff --git a/src/layouts/wide.sh b/src/layouts/wide.sh index 4045a33..86617eb 100755 --- a/src/layouts/wide.sh +++ b/src/layouts/wide.sh @@ -50,7 +50,7 @@ execute_layout() { local mon_height=$(jget height "$(bspc query -T -m)") - local want=$(( $master_size * $mon_height )) + local want=$(rcalc "$master_size * $mon_width") local have=$(jget height "$(bspc query -T -n '@/1')") bspc node '@/1' --resize bottom 0 $((want - have)) diff --git a/src/utils/layout.sh b/src/utils/layout.sh index f937b43..20ba1cd 100644 --- a/src/utils/layout.sh +++ b/src/utils/layout.sh @@ -18,3 +18,10 @@ auto_balance() { # Balance the tree rooted at some node automatically. bspc node "$1" -B } + +# calc to rounded integer +rcalc() { + expr=${@} + + echo "scale=1; $expr" | bc | cut -d. -f1 +}