gopher.sh: support for ImageUtils.sh
[gofetch.git] / gopher.sh
index 73256524e15020fcc0244ca330078f8bd42d712d..e433ac0a620c093acc9b39a423efaf437c669803 100755 (executable)
--- a/gopher.sh
+++ b/gopher.sh
@@ -11,6 +11,7 @@
 #              download: fake mode to download the result without changes
 
 # ENV variables:
+#      LESS: will be used with 'less' (think: "export LESS=-r")
 #      LINK_COLOR: escape sequences colour (def: 2)
 #              - : means no escape sequence
 #              1 : means colour 1
@@ -90,9 +91,10 @@ getsel() {
        cat "$1" | grep "^$PREFIX" | tail -n+"$2" | head -n 1 | cut -f"$3"
 }
 
+# Save page content to 'tmp' file
 tmp="`mktemp -t gofetch.current_page.XXXXXX`"
 finish() {
-  rm -rf "$tmp"
+  rm -rf "$tmp" "$tmp.jpg"
 }
 trap finish EXIT
 
@@ -102,6 +104,7 @@ else
        echo "$SELECTOR" | nc "$SERVER" "$PORT" > "$tmp"
 fi
 
+# Process page content
 case "$MODE" in
 download)
        # Special, fake mode, only from top-level
@@ -138,6 +141,24 @@ download)
 9)
        echo "<BINARY FILE>" | less
 ;;
+g|I)
+       if convert -h >/dev/null 2>&1; then
+               if ImageUtils.sh --help >/dev/null 2>&1; then
+                       ImageUtils.sh --mode=DITHERING \
+                               --width=74 "$tmp" | less
+               elif jp2a -h >/dev/null 2>&1; then
+                       convert "$tmp" "$tmp.jpg"
+                       jp2a --border --chars=" .-+=o8#"\
+                               --width=74 "$tmp.jpg" | less
+               else
+                       echo "required program not found to view images:" \
+                               jp2a or ImageUtils.sh | less
+               fi
+       else
+               echo "required program not found to view images: convert" \
+                       | less
+       fi
+;;
 *)
        echo "unknwon selector mode: <$MODE>" | less
        exit 3