Blob Blame Raw
--- lib/helpdef.gi.orig	2018-11-01 16:56:12.000000000 -0600
+++ lib/helpdef.gi	2019-01-21 09:11:54.961416746 -0700
@@ -402,6 +402,11 @@ HELP_BOOK_HANDLER.default.ReadSix := fun
       res.pdffile := ShallowCopy(fname);
       Add(res.formats, "pdf");
     fi;
+    fname{[Length(fname)-5..Length(fname)]} := "dvi.gz";
+    if IsExistingFile( fname ) = true then
+      res.dvifile := ShallowCopy(fname);
+      Add(res.formats, "dvi");
+    fi;
   fi;
   res.directories := [ Directory(fname{[1..Length(fname)-10]}) ];
   return res;
--- lib/helpview.gi.orig	2018-11-01 16:56:12.000000000 -0600
+++ lib/helpview.gi	2019-01-21 09:11:54.985416307 -0700
@@ -436,6 +436,27 @@ if IsHPCGAP then
     MakeReadOnlyObj(HELP_VIEWER_INFO);
 fi;
 
+# View HTML, DVI, or PDF files with xdg-open, which opens documents with the
+# user's preferred application.
+HELP_VIEWER_INFO.xdghtml := rec(
+type := "url",
+show := function(url)
+  Exec(Concatenation("xdg-open \"", url, "\""));
+end
+);
+HELP_VIEWER_INFO.xdgdvi := rec(
+type := "dvi",
+show := function(file)
+  Exec(Concatenation("xdg-open \"", file, "\""));
+end
+);
+HELP_VIEWER_INFO.xdgpdf := rec(
+type := "pdf",
+show := function(file)
+  Exec(Concatenation("xdg-open \"", file, "\""));
+end
+);
+
 #############################################################################
 ##
 #F  SetHelpViewer(<viewer>):  Set the viewer used for help