wdvi

network DVI viewer
Log | Files | Refs

commit a8cb92921a909aaaf9b3cd81bfbd87f39bd260fc
parent 7b370c55f48760d59c1b26ebcb289fffb78e6dbf
Author: Kyle Milz <krwmilz@gmail.com>
Date:   Fri, 10 Sep 2021 18:43:16 +0000

move default document to web server

We will use the man page as the default document instead.

Diffstat:
Ddefault.tex | 127-------------------------------------------------------------------------------
1 file changed, 0 insertions(+), 127 deletions(-)

diff --git a/default.tex b/default.tex @@ -1,127 +0,0 @@ -\documentclass[12pt, letterpaper, titlepage]{article} -\usepackage[utf8]{inputenc} -\usepackage{hyperref} -\hypersetup{ - colorlinks -} - -\title{\texttt{wdvi(1)}} -\author{Kyle Milz} - -\begin{document} - -\maketitle -\texttt{wdvi(1)} is a network enabled DVI viewer. - -\tableofcontents - -\section{Releases} -None yet, check -\href{http://www.0x30.net}{www.0x30.net} - -\section{Introduction} -The predominant networked document viewer today is the web browser. -It has grown to unimaginable scope and complexity, trying to do -anything and everything all at once. As a document viewer it does -a reasonable job, however creating high quality documents in it is -challenging. \\ - -\texttt{wdvi(1)} tries to make high quality document access easy. -It has two main features that make it useful: -\begin{itemize} - \item Networked - \item Hyperlinks -\end{itemize} - -\section{Requirements} -\begin{itemize} - \item Fetches DVI files from network - \item Renders DVI files to screen - \item User editable address bar - \item Hyperlinks to other DVI files - \item Hyperlinks to non DVI files - \item HTTPS protocol for network transfer - \item Trust on first use certificate validation (no CA) - \item Minimal GUI toolkit dependencies - \item No support for PostScript - \item Support for inline images - \item Lightweight, fast, low resource usage - \item Portable - \item Documentable - \item Testable -\end{itemize} - -\section{Design} -The device independent file format (DVI) is a compact, display agnostic -file format that has been popular for many years. It is the default -output format for \LaTeX. - -\subsection{Fetches DVI files from network} -\texttt{wdvi(1)} needs to fetch files from the network. The user supplies -a URL string that is parsed by the program. If the URL contains a domain -name, it is resolved. The network code runs in its own process and -communicates with the viewer process over interprocess communication (IPC). -The network process does rigorous error checking and has reduced privileges. - -\subsection{Renders DVI files to screen} -The DVI viewing process sends requests for and gets the DVI content -from the network process over interprocess communication. The DVI viewer does -not have any network privilege, but may create other processes and -read/write to the disk. The viewer supports color. - -\subsection{User editable address bar} -The user presents a URL to \texttt{wdvi(1)} by typing it into an editable -address bar on the edge of the screen. When the user hits the return -key the document specified in the URL is fetched and displayed. - -\subsection{Hyperlinks to other DVI files} -Any hyperlinks to other DVI files in the document are selectable. When -selected they are fetched and the current document is replaced with the -new one. - -\subsection{Hyperlinks to non DVI files} -Hyperlinks to other types of files other than DVI will be handled by -external programs. Examples are downloads, videos, and other documents. - -\subsection{HTTPS protocol for network transfer} -The HTTPS protocol will be the only URL scheme for DVI document transfer. -Only the GET method will be supported, at first. Only a subset of -HTTP status codes will be accepted, 200 and 404 to start with. - -\subsection{Trust on first use certificate validation (no CA)} -On first connection to an HTTPS server a tuple of domain name, certificate -fingerprint will be saved and the user notified (not prompted). -Any further connections to the same server -will verify the fingerprint is the same. If the fingerprint is not the -same on subsequent connections, the user will be notified. - -\subsection{Minimal GUI toolkit dependencies} -The application user interface is not complex and complex GUI toolkits -are not needed. X athena widgets look outdated, but are easily available, -fast, and have enough functionality. - -\subsection{No support for PostScript} -PostScript is a Turing complete language and will not be supported in the -viewer. - -\subsection{Support for inline images} -Eventually, inline images should be displayed in documents. All common -types should be supported. - -\subsection{Lightweight, fast, low resource usage} -This design requirement is subjective. But using a low level language -and lightweight GUI toolkits should go a long way to satisfying it. - -\subsection{Portable} -\texttt{wdvi(1)} should be easily portable to other platforms including -Windows, Mac OS X, Linux, and the Unixes. - -\subsection{Documentable} -There should be a complete user manual available with the installation -package defining how to use the program. - -\subsection{Testable} -\texttt{wdvi(1)} should have an automated test suite covering all the -major use cases. This will help find regressions and speed development. - -\end{document}