summaryrefslogtreecommitdiff
path: root/.local
diff options
context:
space:
mode:
authorxyz <gky44px1999@gmail.com>2021-08-11 04:35:24 -0700
committerxyz <gky44px1999@gmail.com>2021-08-11 04:35:24 -0700
commit59fb5f9c1d450a277ec58c19408aae18fabafd1b (patch)
tree6277939615cd4177024053811a6dd12793515077 /.local
parentb804d8ebfe38e7559e26d7df05d3fbf87c9652a3 (diff)
refactor
Diffstat (limited to '.local')
-rwxr-xr-x.local/bin/convwall14
1 files changed, 9 insertions, 5 deletions
diff --git a/.local/bin/convwall b/.local/bin/convwall
index 326a3de9..5249aead 100755
--- a/.local/bin/convwall
+++ b/.local/bin/convwall
@@ -1,6 +1,7 @@
#!/bin/sh
# 16:9 screen resolution ratio
+# 16*100/9 == 177
wratio=16
hratio=9
chopnum=99%
@@ -8,19 +9,22 @@ chopnum=99%
width=$(identify -format '%w' "$1")
height=$(identify -format '%h' "$1")
+ratio=$(echo "$wratio*100/$hratio" | bc)
dim=$(echo "$width*100/$height" | bc)
-if [ "$dim" -ne 177 ]; then
- if [ "$dim" -lt 177 ]; then
+if [ "$dim" -ne "$ratio" ]; then
+ if [ "$dim" -lt "$ratio" ]; then
chopgeom="${chopnum}x0"
width=$(echo "$height*$wratio/$hratio" | bc)
else
- chopgeom="0x${chopnum}"
+ chopgeom="0x$chopnum"
height=$(echo "$width*$hratio/$wratio" | bc)
fi
- extgeom="${width}x${height}"
+ # may throw error sort: write failed: 'standard output': Broken pipe \n sort: write error
+ # caused by head exit (or close stdin) before sort output complete, can ignore
+ # https://stackoverflow.com/questions/46202653/bash-error-in-sort-sort-write-failed-standard-output-broken-pipe
bgcolor=$(convert "$1" -gravity center -chop "$chopgeom" -define histogram:unique-colors=true -format %c histogram:info:- | sort -rn | head -n1 | awk \{print\ \$3\} | cut -c1-7)
- convert "$1" -gravity center -background "$bgcolor" -extent "$extgeom" "$2"
+ convert "$1" -gravity center -background "$bgcolor" -extent "${width}x$height" "$2"
else
echo 'same resolution ratio, no need to convert' >&2
exit 1