]> arthur.barton.de Git - pdfman.git/commitdiff
Add support for the "xdg-open" command main
authorAlexander Barton <alex@barton.de>
Wed, 1 Nov 2023 20:23:05 +0000 (21:23 +0100)
committerAlexander Barton <alex@barton.de>
Wed, 1 Nov 2023 20:23:05 +0000 (21:23 +0100)
README.md
pdfman

index f40f599b7cdb1437201edd7a25891fdff15abce0..ad80a869300fc176b7df3f33dfd9ef53f2c01b8b 100644 (file)
--- a/README.md
+++ b/README.md
@@ -2,7 +2,8 @@
 
 `pdfman` converts UNIX manual pages to PDF documents using Ghostscript's
 `ps2pdf`(1) or Apple's `pstopdf`(1) command (included in macOS up to version 13
-"Ventura") and displays them by calling `open`(1) on the resulting PDF file.
+"Ventura") and displays them by calling `xdg-open`(1) or `open`(1) on the
+resulting PDF file.
 This enhances the useability of the manual pages quite a bit, because you now
 can make use of your preferred PDF file viewer and all of its functionality.
 
@@ -14,7 +15,7 @@ invocations for the same topic.
 The `pdfman` script makes use of the following tools, which need to be available
 on the local system in the default search `$PATH`:
 
-- `open`(1)
+- `xdg-open`(1) _or_ `open`(1).
 - Either `ps2pdf`(1) of the Ghostscript suite _or_ `pstopdf`(1) which was
   included in Apple macOS up to version 13 "Ventura".
 
diff --git a/pdfman b/pdfman
index e68d4405e8ef4085e4bee7dc74d7e6561ccba97a..275e02c3b4b1598383e65f65d5ef4e9178760f44 100755 (executable)
--- a/pdfman
+++ b/pdfman
@@ -74,8 +74,13 @@ if [[ ! -t 1 ]]; then
        man "$@"
        exit $?
 fi
-# Make sure required tools are available ...
-if ! command -v open >/dev/null; then
+
+# Detect "opener" to use ...
+if command -v xdg-open >/dev/null; then
+       open_command=xdg-open
+elif command -v open >/dev/null; then
+       open_command=open
+else
        man "$@"
        exit $?
 fi
@@ -89,7 +94,8 @@ else
        man "$@"
        exit $?
 fi
-[[ -n "$VERBOSE" ]] && echo "Using ${ps_to_pdf_function#*_}(1) ..."
+
+[[ -n "$VERBOSE" ]] && echo "Using ${ps_to_pdf_function#*_}(1) and ${open_command}(1) ..."
 
 # Try to move old cache directory ...
 if [[ -d "$HOME/.pdfman" && ! -d "$CACHE" ]]; then
@@ -129,5 +135,5 @@ man -w "$@" | while read -r MANFILE; do
        fi
 
        [[ -n "$VERBOSE" ]] && echo "Opening \"$PDF\" ..."
-       open "$PDF"
+       $open_command "$PDF"
 done