texlive[44721] Master: Tlaunch: new remember option and minor changes

commits+siepo at tug.org commits+siepo at tug.org
Thu Jun 29 11:56:33 CEST 2017


Revision: 44721
          http://tug.org/svn/texlive?view=revision&revision=44721
Author:   siepo
Date:     2017-06-29 11:56:32 +0200 (Thu, 29 Jun 2017)
Log Message:
-----------
Tlaunch: new remember option and minor changes

Modified Paths:
--------------
    trunk/Master/bin/win32/tlaunch.exe
    trunk/Master/source/tlaunch.README
    trunk/Master/texmf-dist/doc/support/tlaunch/Changes
    trunk/Master/texmf-dist/doc/support/tlaunch/figures/custom_ed.png
    trunk/Master/texmf-dist/doc/support/tlaunch/rug.zip
    trunk/Master/texmf-dist/doc/support/tlaunch/tlaunch.pdf
    trunk/Master/texmf-dist/doc/support/tlaunch/tlaunch.tex
    trunk/Master/texmf-dist/web2c/tlaunch.ini

Added Paths:
-----------
    trunk/Master/source/tlaunch-0.5.3-src.zip

Removed Paths:
-------------
    trunk/Master/source/tlaunch-0.5.2-src.zip

Modified: trunk/Master/bin/win32/tlaunch.exe
===================================================================
(Binary files differ)

Deleted: trunk/Master/source/tlaunch-0.5.2-src.zip
===================================================================
(Binary files differ)

Added: trunk/Master/source/tlaunch-0.5.3-src.zip
===================================================================
(Binary files differ)

Index: trunk/Master/source/tlaunch-0.5.3-src.zip
===================================================================
--- trunk/Master/source/tlaunch-0.5.3-src.zip	2017-06-29 00:17:52 UTC (rev 44720)
+++ trunk/Master/source/tlaunch-0.5.3-src.zip	2017-06-29 09:56:32 UTC (rev 44721)

Property changes on: trunk/Master/source/tlaunch-0.5.3-src.zip
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Modified: trunk/Master/source/tlaunch.README
===================================================================
--- trunk/Master/source/tlaunch.README	2017-06-29 00:17:52 UTC (rev 44720)
+++ trunk/Master/source/tlaunch.README	2017-06-29 09:56:32 UTC (rev 44721)
@@ -1,15 +1,16 @@
 I cross-compiled tlaunch on successive versions of Ubuntu Linux,
-using the mingw packages gcc-mingw-w64-base, gcc-mingw-w64-i686,
-g++-mingw-w64-i686, mingw-w64-common, mingw-w64-i686-dev and
+using the mingw packages binutils-mingw-w64-i686,
+gcc-mingw-w64-base, gcc-mingw-w64-i686, g++-mingw-w64-i686,
+mingw-w64-common, mingw-w64-i686-dev, mingw-w64-tools,
 binutils-mingw-w64-i686 and the included Makefile and cross-make
 shell script.
 
 Occasionally I needed to run the gdb debugger. Although Ubuntu does
 have a cross-debugger, I opted for native compilation and native
-debugging, using mingw gcc and gdb from the Strawberry Perl project
-at http://strawberryperl.com/package/kmx/ . I compiled with the
-batchfile makewin.cmd, which does not use make and does not bother
-with dependency checking.
+debugging, using mingw-i686-6.3.0-release-posix-dwarf-rt_v5-rev2.7z
+from https://sourceforge.net/projects/mingw-w64/. I compiled with
+the batchfile makewin.cmd, which does not use make but simply
+compiles everything.
 
 For the shell script cross-make, check that the CROSS environment
 variable is right for your system.
@@ -18,4 +19,4 @@
 variable points to the root of your mingw installation.
 
 Siep Kroonenberg, siepo at cybercomm dot nl
-Groningen, January 2017
+Groningen, June 2017

Modified: trunk/Master/texmf-dist/doc/support/tlaunch/Changes
===================================================================
--- trunk/Master/texmf-dist/doc/support/tlaunch/Changes	2017-06-29 00:17:52 UTC (rev 44720)
+++ trunk/Master/texmf-dist/doc/support/tlaunch/Changes	2017-06-29 09:56:32 UTC (rev 44721)
@@ -1,5 +1,14 @@
-2017-02-01 Siep Kroonenberg <siepo at cybercomm.nl> Release 0.5.2
+2017-06-29 Siep Kroonenberg <siepo at cybercomm.nl> Release 0.5.3
 
+	* Remember command-line option: restores file associations on login
+	* Better path handling: avoid duplicate entries in user path
+	* Save overwritten filetype associations as secondary ProgID
+	* Less rudimentary command-line parser, supporting more keywords
+	* Cancel button for editor choice dialog
+	* Manifest: added explicit support for all windows versions >= 7
+
+2017-03-09 Siep Kroonenberg <siepo at cybercomm.nl> Release 0.5.2
+
 	* Various silent command-line options added
 	* Updated documentation
 

Modified: trunk/Master/texmf-dist/doc/support/tlaunch/figures/custom_ed.png
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/support/tlaunch/rug.zip
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/support/tlaunch/tlaunch.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/support/tlaunch/tlaunch.tex
===================================================================
--- trunk/Master/texmf-dist/doc/support/tlaunch/tlaunch.tex	2017-06-29 00:17:52 UTC (rev 44720)
+++ trunk/Master/texmf-dist/doc/support/tlaunch/tlaunch.tex	2017-06-29 09:56:32 UTC (rev 44721)
@@ -1,6 +1,6 @@
 \documentclass[11pt,a4paper,oneside]{report}
 
-% narrow margins, same layout
+% narrow margins, otherwise same layout as default
 \AtBeginDocument{%
   \paperwidth\textwidth
   \advance\paperwidth48bp
@@ -7,10 +7,6 @@
   \oddsidemargin-48bp
   \paperheight\textheight
   \advance\paperheight48bp
-  % no header
-  %\headheight=0bp
-  %\headsep=0bp
-  % otherwise:
   \advance\paperheight\headheight
   \advance\paperheight\headsep
   \advance\paperheight\footskip
@@ -19,10 +15,24 @@
   \pdfpageheight=\paperheight
 }
 
+\makeatletter
+\long\def\@makecaption#1#2{%
+  \vskip\abovecaptionskip
+  \sbox\@tempboxa{\small \textbf{#1:} #2}%
+  \ifdim \wd\@tempboxa >\hsize
+    {\small \textbf{#1:} #2\par}
+  \else
+    \global \@minipagefalse
+    \hb at xt@\hsize{\hfil\box\@tempboxa\hfil}%
+  \fi
+  \vskip\belowcaptionskip}
+\makeatother
+
 % fonts
 \usepackage{tgpagella}
 \let\slshape\itshape
 \usepackage[TS1,T1]{fontenc}
+
 \usepackage{array,textcomp,graphicx}
 \setcounter{secnumdepth}{2}
 \setcounter{tocdepth}{2}
@@ -61,7 +71,6 @@
 \def\hklm{\textsc{hklm}}
 %\def\hkcr{HKEY\_\dbr CLASSES\_\dbr ROOT}
 \def\hkcr{\textsc{hkcr}}
-\newcommand\vspc{\vspace{6pt}}
 \newenvironment{ttdesc}{%
   \def\descriptionlabel##1{\hspace\labelsep\ttfamily\selectfont ##1}%
   \description}{\enddescription}
@@ -75,7 +84,7 @@
 \thispagestyle{empty}
 \null\vfill
 {\small\parindent=0pt
-This manual is for tlaunch, the \TL{} Launcher, version 0.5.2.
+This manual is for tlaunch, the \TL{} Launcher, version 0.5.3.
 
 Copyright \textcopyright{} 2017 Siep Kroonenberg.
 
@@ -101,15 +110,16 @@
 
 \section*{About this document}
 
-This document is about the \TL{} launcher. The first chapter
-describes the launcher in general.
+This manual documents the \TL{} Launcher. The first chapter
+describes the launcher in general, its facilities, its ini file and
+its command-line parameters.
 
 The second chapter describes the launcher-based installation at the
-\RUG, or Rijksuniversiteit Groningen, as an example of what can be
-done with a launcher-based installation.
+\RUG, or Rijksuniversiteit Groningen, as an example
+launcher-based installation.
 
-Finally, since many \TeX{} developers spend as little time as they
-can help in a Windows environment, I added an appendix with Windows
+Since many \TeX{} developers spend as little time as they can help
+in a Windows environment, I also added an appendix with Windows
 background information.
 
 \section{Introduction}
@@ -126,7 +136,7 @@
 set up.
 
 This means that the launcher rather than the classic \TL{} installer
-takes care of all Windows-specific configuration. Which is a good
+takes care of Windows-specific configuration. Which is a good
 thing if the \TL{} directory tree is on a shared network drive, or
 if a \TL{} installation has to be copied to many workstations.
 
@@ -136,7 +146,10 @@
 supplied ini file provides something more or less equivalent to a
 classic Windows \TL{} installation.
 
-Although at the moment the launcher contains no support for
+\subsection{Localization}
+\label{sec:localize}
+
+Although at the moment the launcher lacks proper support for
 localization, most of the user interface strings are defined in the
 ini file and can be replaced with strings in other languages.
 
@@ -148,7 +161,7 @@
 
 In a normal run, the launcher displays a window with a menu or a
 series of buttons or both, see figure \ref{fig:launcher}. For
-anything launched via these controls, \TL{} is prepended to the
+anything launched via these controls, \TL{} is prepended to its
 process searchpath irrespective of the system- or user
 searchpath; see Appendix \ref{sec:env} on Windows searchpath
 handling.
@@ -197,8 +210,6 @@
   before.
   \item Giving \TeX works some spelling dictionaries
   \item Writing configuration data for non-\TL{} components
-  \item Generating or updating the \XeTeX{} font cache, assuming
-    that the font cache directory is user-writable
   \item Adjusting \XeTeX{} font configuration, see Section
     \ref{sec:xecache}
 \end{itemize}
@@ -221,8 +232,8 @@
 created a modified higher-priority copy in
 \texttt{\emph{tlroot}/texmf-var/web2c}. A custom
 \texttt{tlaunch.ini} in \texttt{\emph{tlroot}/texmf-config/web2c}
-will override either. In this case, do not forget to update the
-filename database.
+will override either. In this case, the filename database should be
+updated.
 
 Another option is to place both the binary and the ini file in the
 root of the \TL{} installation.
@@ -255,8 +266,9 @@
 However, it is not necessary that everything that is referred to
 actually exists; if a menu- or button control refers to a
 non-existent file, the control is quietly left out, and if the
-\texttt{COMMAND} of a filetype refers to a non-existent file the
-filetype registry key is created but remains empty.
+\texttt{COMMAND} of a filetype refers to a non-existent file then
+neither the filetype registry entry nor any control for it will be
+created.
 
 The ini file can contain the following sections:
 
@@ -264,20 +276,21 @@
 \label{sec:strings}
 
 \begin{table}[tb]
-  \small\centering
+  \centering
+{\small
 \extrarowheight3pt\sffamily\noindent
-\begin{tabular}{|>{\ttfamily}llP{2.3in}|}
+\begin{tabular}{|>{\ttfamily}llP{2in}|}
   \hline
   & DEFAULT & MEANING \\
   tlroot & predefined & root of the \TL{} installation \\
   version & predefined & release year \\
   tlperl & predefined & path of the built-in Perl binary \\
-  tlwperl & predefined & same for the \GUI{} binary \\
+  tlwperl & predefined & same for the \GUI{} Perl binary \\
   java & predefined & Java binary, if found \\
   tlconfig & required & directory for the launcher's user data, see \emph{e.g.}
      sections \ref{sec:strings} and Appendix \ref{sec:known_configs} \\
-  tlname & TeX Live \%version\% & used for \emph{e.g.} window title and
-      uninstaller `DisplayName' \\
+  tlname & \texttt{TeX Live \%version\%} & used for \emph{e.g.}
+      window title and uninstaller `DisplayName' \\
   customed\_progid & \texttt{TL.customed} & Filetype
       for external, user-selected editor, see section \ref{sec:fta} \\
   pre\_config & empty & optional program or script to be run before
@@ -291,7 +304,7 @@
 \end{tabular} \\[3pt]
 Note. All process environment variables, \emph{e.g.}
 \texttt{\%appdata\%}, are accessible while the
-launcher parses the ini file. Variable names are case-insensitive.
+launcher parses the ini file. Variable names are case-insensitive.\par}
 
 \caption{Strings with a special meaning in the ini file}
 \label{tab:strings}
@@ -298,16 +311,16 @@
 \end{table}
 
 In this section arbitrary strings can be defined to be used later
-during parsing. The names of the strings are case-insensitive, their
-values are not. Various strings have a special meaning, see Table
-\ref{tab:strings}. Their values may be predefined, \emph{i.e.} they
-are set by the launcher before processing the ini file, and should
-not be tampered with; they may be required, or they are allowed to
-stay empty.
+during parsing. The names of the string variables are
+case-insensitive, their values are not. Various strings have a
+special meaning, see Table \ref{tab:strings}. Their values may be
+predefined, \emph{i.e.} they are set by the launcher before
+processing the ini file; they may be required, or they are allowed
+to stay empty.
 
-At least \texttt{TLCONFIG} should be defined in the ini file. This
-is the directory for launcher user files such as the
-  forgetter. A few suggestions:
+At a minimum, the \texttt{TLCONFIG} string should be defined in the
+ini file. This is the directory for launcher user files such as the
+forgetter. A few suggestions:
   \begin{itemize}
   \item \texttt{\%UserProfile\%\bsl.texlive\%version\%\bslb tlaunch},
     \emph{i.e.} under the common root of \texttt{\%TEXMFVAR\%} and
@@ -347,10 +360,11 @@
 \item [COMMAND] is the command to start the program.
 \item [SHELL\_CMD] is the command to open a file. The default is
   \texttt{COMMAND} with `\texttt{~"\%1"}' appended.
-\item[ICON] is the icon to be used in GUI file managers. The
-  default is \texttt{COMMAND} with `\texttt{,0}' appended, without a
+\item[ICON] is the icon to be used in GUI file managers. The default
+  is \texttt{COMMAND} with `\texttt{,0}' appended, without a
   space. If there is no such icon then a fall-back icon will be
-  used; see the right-most icon in Figure \ref{fig:launcher}.
+  used; see \emph{e.g.} the right-most icon in Figure
+  \ref{fig:launcher}.
 \item[NAME] is only used for \LaTeX{} editors, in the
   editor-selection window, see section \ref{sec:edsel}. If not
   specified, it will be derived from the program filename.
@@ -360,7 +374,7 @@
   shows up in the Open with... dialog. Mainly of interest for the
   bitmap2eps utility. See appendix \ref{sec:wftas} on primary and
   secondary filetypes.
-\item[PATH\_PREFIX] is default 0. If set to 1, then Windows will
+\item[PATH\_PREFIX] is default 0. If set to 1, Windows will
   prepend \TL{} to the program's searchpath. The launcher will only
   do this if \texttt{COMMAND} is a bare or quoted filename, without
   options or parameters; see Appendix \ref{sec:appreg}.
@@ -376,17 +390,14 @@
 shows up only in the log file \texttt{\%TEMP\%\bslb TeXLive\_\dbr
   Launcher.\dbr log}. A splash text is displayed while the script is
 running. The default value for the splash text is `Working...'. An
-example:
+example adapted from the \RUG{} installation:
 \begin{verbatim}
-[SC:XeTeX-fontcache]
-command=fc-cache -v
-splash=Creating or updating XeTeX font cache
+[SC:TNC_config]
+command=cscript "%TLROOT%\rugscripts\tnc_config.vbs" "%tlroot%"
+;splash=Reconfiguring TeXnicCenter...
 \end{verbatim}
-This item is included in the default ini file, although it may not
-work out of the box on a multi-user installation. Section
-\ref{sec:xecache} describes how to get it to work, and the
-\texttt{tlaunchmode} script, see section \ref{sec:tlaunchmode}, will
-take care of this automatically.
+In this example, the script takes just a moment, so there is no
+point in defining a splash text.
 
 \subsection{The built-in functions}
 \label{sec:fun}
@@ -428,14 +439,13 @@
 line. In the button section, it will do nothing.
 
 {\sloppy
-Example buttons- and submenu sections (see section
-\ref{sec:utscripts} for the \texttt{SC:XeTeX-fontcache} entry):
+Example buttons- and submenu sections:
 \begin{verbatim}
 [MN:Tools]
 Editor choice=FU:editor_select
 TeX Live Command Prompt=%comspec% /T "TeX Live" /e:on
 =
-Generate/Refresh xetex font database=SC:XeTeX-fontcache
+(Re)configure TeXnicCenter=SC:TNC_config
 
 [MN:Documentation]
 All TeX Live documentation by package=SO:%tlroot%\doc.html
@@ -451,7 +461,8 @@
 \subsection{The General section}
 \label{sec:gen}
 
-This section is optional. Three keywords are allowed:
+This section is optional. Four keywords are allowed, of which the
+first two correspond to \TL{} installer options:
 \begin{ttdesc}
 \item[Filetypes] Allowed values are
   \begin{itemize}
@@ -464,8 +475,12 @@
 \item[searchpath] {\sloppy Allowed values are 0 (leave searchpath
     alone) and 1 (add \TL{} to the searchpath; default). See
     appendix \ref{sec:env}. In any case, when a program is started
-    from the launcher it will have \TL{} prepended to the process
+    from the launcher it will have \TL{} prepended to its process
     searchpath.\par}
+\item[remember] Allowed values are 0 (do nothing) and 1 (arrange
+  that \TeX-related filetype associations are restored on
+  login). This may be desirable in a Roaming Profiles setup, see
+  sections \ref{sec:roam} and \ref{sec:noroam}.
 \item[keeptemps] Allowed values are 0 (delete temporary files;
   default) and 1 (keep them). This is a debug option for running
   external scripts. In most cases however, the contents of the
@@ -512,7 +527,7 @@
 which includes the \texttt{\%VERSION\%} string.
 
 Appendix \ref{sec:userchoice} explains why a \texttt{.tex} file
-might still get opened in the previous editor.
+might still get opened in another editor.
 
 \section{Launcher-based installations}
 \label{sec:lbased}
@@ -526,16 +541,14 @@
 file are already in place as part of the regular \TL{}
 installation.
 
-Installation and uninstallation are triggered by command-line
+The launcher can be invoked with the following command-line
 parameters:
 
 \begin{ttdesc}
 \item[user\_inst] Install the launcher for a single user. This
   includes doing the first-time initialization as in a regular
-  invokation.
-\item[user\_inst\_silent] Silent single-user install
+  invocation.
 \item[admin\_inst] Install the launcher for all users
-\item[admin\_inst\_silent] Silent multi-user install
 \item[uninst] Undo installation but leave the \TL{}
   directory tree alone. Also runs the forgetter for the current
   user silently, if it exists.
@@ -543,9 +556,19 @@
   tree. Also runs the forgetter for the current user silently, if it
   exists. This is the only option of these four which touches the
   \TL{} installation itself.
-\item[silent] (Only for the forgetter) Remove settings silently
+\item[remember] Recreate filetype associations, see sections
+  \ref{sec:roam} and \ref{sec:noroam}.
+\item[silent] Do not ask for confirmation and do not pop up
+  messages. Output is still written to the log file, at
+  \texttt{\%TEMP\%\bslb TeXLive\_\dbr Launcher.\dbr log}.
 \end{ttdesc}
+The \texttt{user\_inst\_silent} and \texttt{admin\_inst\_silent} are
+also still available.
 
+The non-silent uninstall options both ask which of the two uninstall
+options is desired. the only difference between them is which button
+is the default.
+
 The new launcher mode option of the 2017 \TL{} installer invokes the
 launcher with one of the silent installer options.
 
@@ -554,10 +577,10 @@
 control. If necessary, the launcher will pop up a \textsc{uac}
 prompt and restart in elevated mode.
 
-If for either the path setting option or the file associations
-option a non-default value was selected, the \TL{} installer creates
-a higher-priority \texttt{tlaunch.ini} with corresponding settings,
-even if launcher mode was not selected.
+The \TL{} installer may create a higher-priority
+\texttt{tlaunch.ini} if for either the path setting option or the
+file associations option a non-default value was selected. This will
+happen even if launcher mode was not selected.
 
 \subsection{The tlaunchmode script}
 \label{sec:tlaunchmode}
@@ -588,18 +611,18 @@
   \label{fig:launcher_rug}
 \end{figure}
 
-This chapter is about the launcher-based \TL{} installation at the
+This chapter deals with the launcher-based \TL{} installation at the
 \RUG{} (Rijksuniversiteit Groningen) and the environment in which it
 operates.
 
 Our \TL{} installation resides on the network.  The \TL{} Launcher
-is available via the start menu, and anybody on the university
-network can click the launcher shortcut and start using \TeX{}.
+is available via a centrally managed start menu. From any Windows
+workstation connected to the network, one can click the launcher
+shortcut in this menu and start using \TeX{}.
 
 The files in the \texttt{tlrug.zip} zipfile are tidied up versions
-of those of the \RUG{} installation: compared to the files actually
-in use, they benefit from hindsight and omit ugly workarounds for
-specific local problems.
+of those of the \RUG{} installation; they omit some ugly workarounds
+for specific local problems and also benefit from hindsight.
 
 \section{Historical}
 
@@ -608,15 +631,16 @@
 filetype associations, Start Menu shortcuts and modified the
 searchpath. It made use of the built-in Perl and its \TL{} modules.
 
-However, some people got confused that the generated \TL{} menu was
-in one place, \emph{viz.} in the conventional Start / Programs menu,
-and the initializer script in the centrally maintained `RUG menu'.
-
 When between 2013 to 2014 the university transitioned to centrally
 managed desktops, using the RES workspace management
 system\footnote{Real Enterprise Solutions,
-  \texttt{https://res.com/}}, I created the launcher. For speed of
-development, a first version was written in the
+  \texttt{https://res.com/}}, I created the launcher.  Because
+previously users might run the initializer / installer when they
+really want to run the already initialized / installed \TL, I opted
+this time for a launcher that configures itself automatically,
+without requiring a separate initialization step.
+
+For speed of development, a first version was written in the
 AutoIT\footnote{\texttt{https://\dbr www.\dbr autoitscript.\dbr
     com/}} scripting language. AutoIT has good access to Windows'
 internals, and comes with a utility which packages a script with a
@@ -642,8 +666,8 @@
 For \TL, I submit a wish list of settings to be captured to the
 workspace management people, and they enter everything into the RES
 system. Unfortunately, the RES system has its quirks, and what I
-expect to happen is not always what actually does happen. But this
-is not the place to expand on my trials and tribulations with RES.
+expect to happen is not always what actually does happen. Some of
+these problems are mentioned later on.
 
 \section{Components of the \RUG{} \TeX{} installation}
 \label{sec:comps}
@@ -670,8 +694,6 @@
 \item browsing the \TL{} installation
 \item a command-prompt with \TL{} as the first directory on the
   searchpath
-\item generating or updating a \XeTeX{} font cache; see Section
-  \ref{sec:xecache}
 \item some manuals from the \TL{} installation
 \item links to \TeX-related websites
 \end{itemize}
@@ -694,9 +716,9 @@
 paths in both the ini file and the scripts are relative to the root
 of the installation.
 
-I did not put anything into the existing subdirectories of the \TL{}
-installation, and put both the binary and the ini file in the root
-of the installation.
+I placed both the binary and the ini file in the root of the
+installation, but did not place anything into existing \TL{}
+subdirectories.
 
 \section{Fixes for add-ons}
 \label{sec:fixes}
@@ -713,9 +735,9 @@
 
 While \TNC{} can autoconfigure itself nicely for MikTeX, it asks
 \TL{} users a series of questions about what is where. Since many
-users are only vaguely aware of directories beyond their home
-directory, I wrote a vbscript which emulates the MiKTeX
-autoconfiguration for \TL{} and avoids awkward questions.
+users do not know their way around outside their home directory, I
+wrote a vbscript which emulates the MiKTeX autoconfiguration for
+\TL{} and spares the user awkward questions.
 
 \subsection{\TS}
 \label{sec:ts}
@@ -723,7 +745,7 @@
 \TS{} autoconfigures itself fine, but there were still two problems:
 \begin{enumerate}
 \item By default, it checks whether there is a more recent version,
-  while users are not in a position to do an update.
+  while users are not in a position to do an update themselves.
 \item With our current desktop management software, programs do not
   get the user searchpath appended to their process searchpath.
 \end{enumerate}
@@ -733,13 +755,12 @@
 one, the update check option is edited to be off. Either way, there
 is no impact on other settings.
 
-A solution for the second problem is described in Appendix
-\ref{sec:appreg}.\footnote{In the current \RUG{} installation, \TS{}
-  is started instead via a small wrapper program.}
+A possible solution for the second problem is described in Appendix
+\ref{sec:appreg}, but I opted instead to start \TS{} via a small
+wrapper program.
 
-Note that TeXworks, Dviout and PSV[iew] are invoked via the \TL{}
-runscript wrapper, which takes care of the searchpath, among other
-things.
+Note that the \TL{} runscript wrapper does already take care of the
+searchpath for TeXworks, Dviout and PSV[iew].
 
 \subsection{SumatraPDF}
 \label{sec:sumatra}
@@ -746,8 +767,8 @@
 
 In the absence of any registry settings, SumatraPDF assumes that it
 is a portable setup, and tries to write user configuration to its
-own directory. Following advise from its developers, I created a
-registry setting to convince SumatraPDF otherwise, and let it write
+own directory. Following advice from its developers, I created a
+registry setting to tell SumatraPDF otherwise, and let it write
 its configuration data to the user's profile.
 
 Checks for updates are disabled in a similar way as for \TS.
@@ -775,20 +796,23 @@
 \texttt{\$TEXMFYSVAR/\dbr fonts/\dbr cache}, \emph{i.e.}
 \texttt{\emph{tlroot}/\dbr texmf-var/\dbr fonts/\dbr cache}. In a
 multi-user or network install, this location is not
-user-writable. Since this was a problem, a line
+user-writable. Since this may be a problem,\footnote{\emph{E.g.} if
+  the set of Windows fonts changes, \XeTeX{} will try to update the
+  font cache but will not be able to save the updated cache.} a line
 \begin{verbatim}
 FC_CACHEDIR = $TEXMFVAR/fonts/cache
 \end{verbatim}
-in the file \texttt{\emph{tlroot}/\dbr texmf.cnf} moved the cache to a
-user-writable location.
+in the file \texttt{\emph{tlroot}/\dbr texmf.cnf} will move the
+cache to a user-writable location. The \texttt{tlaunchmode} script,
+see section \ref{sec:tlaunchmode}, will take care of this
+automatically.
 
 Since I generate the \TL{} installation on a Linux system, the
 configured \TL{} font paths in \texttt{\$TEXMFSYSVAR/\dbr fonts/\dbr
   conf/\dbr fonts.conf} do not match the target installation. Of
-course this generated file can be hand-edited, but a less
-error-prone solution is to leave this file alone and move the font
-configuration files also to a user-writable location with another
-line:
+course this generated file can be hand-edited, but I preferred to
+leave this file alone and move the font cache configuration files
+also to a user-writable location with another line:
 \begin{verbatim}
 FONTCONFIG_PATH = $TEXMFVAR/fonts/conf
 \end{verbatim}
@@ -801,30 +825,11 @@
 \end{verbatim}
 (one line) in a post-config script, see section \ref{sec:scripts}.
 
-The last parameter , \emph{viz.}  \texttt{skip\_gen}, suppresses
-actual cache generation, since that might take quite some time. Any
-non-null value would have had the same effect.
+The last parameter, \emph{viz.}  \texttt{skip\_gen}, suppresses
+actual cache generation, since that might take quite some time and
+only benefit \XeTeX{} users. Any non-null value would have had the
+same effect.
 
-\section{Fixing non-roaming filetype associations}
-\label{sec:fixroam}
-
-Before RES (see Section \ref{sec:res}), and before the launcher, the
-\TL-related filetype associations would not follow the user from
-desktop to desktop; see also Appendix \ref{sec:wftas}. This was
-solved with a batchfile which restored missing file associations. By
-placing a shortcut to this batchfile in the Start / All Programs /
-Startup menu, this batchfile would automatically run at
-logon. However, RES made this workaround unnecessary.
-
-For situations where non-roaming file associations are still a
-problem, I intend to add a `reassoc' mode to the forgetter. The
-forgetter is already in place and knows how to parse the ini
-file. With the reassoc option, the forgetter will silently recreate
-missing filetypes. If \TL{} or the launcher is missing it will do
-nothing. There will be an option in the ini file to enable or
-disable creation of such a shortcut to the forgetter, in its role as
-rememberer.
-
 \appendix
 
 \chapter{Windows issues}
@@ -851,7 +856,7 @@
 redirection', \emph{i.e.} defining network locations for certain
 dedicated directories (see `Known Folders' in Appendix
 \ref{sec:known}), or by copying user data back and forth between
-workstation and network on logon and logoff. There may also be a
+workstation and network on logoff and logon. There may also be a
 dedicated network share for user documents which is accessible from
 any computer, and which may do double duty as home to redirected
 folders.
@@ -922,20 +927,34 @@
 extension subkey, either the \texttt{OpenWithList} (obsolete) or
 the \texttt{OpenWithProgIds} subkey.
 
-Unfortunately, these user-level filetype associations do not roam.
-With the RES desktop management system, this is no longer a problem
-for us. But a future version of the launcher will contain a
-workaround for other environments; see section \ref{sec:fixroam}.
+\subsection{Non-roaming filetype associations}
+\label{sec:noroam}
 
+{\sloppy
+Unfortunately, these filetype associations do not roam.  With the
+RES desktop management system at our university, this is no longer a
+problem for us. For other setups, the launcher contains a workaround
+which is activated by the \texttt{remember} ini file setting, see
+section \ref{sec:gen}.\par}
+
+When this is set to 1, the launcher will during first-time
+initialization place a shortcut to the forgetter in the Start / All
+Programs / Startup menu, with a `remember' parameter added. This
+will cause the forgetter to run automatically at logon with a
+remember parameter. With this parameter, it will just silently
+recreate the filetype associations and then terminate.
+
 \subsection{UserChoice}
 \label{sec:userchoice}
 
-Apart from this scheme, choices made by the user in the `Open
+{\sloppy
+Apart from the registry settings under the two \texttt{\bslb
+  Software\bslb Classes} keys, choices made by the user in the `Open
 with\textellipsis' dialog are stored under subkeys of \hkcu
 \texttt{\bslb Software\bslb Microsoft\bslb Windows\bslb
   CurrentVersion\bslb Explorer\bslb FileExts\bslb \emph{.ext}}, the
 exact subkey(s) depending on the Windows version. Such entries
-should have priority over the ones described above, and do roam.
+should have priority over the ones described above, and do roam.\par}
 
 Windows 8 and later may pop up a dialog asking with what program to
 open a file even if there is already an answer in a
@@ -1082,8 +1101,8 @@
 two, this could also be done after the fact with a couple of lines
 in \texttt{\emph{tlroot}/texmf.cnf}, \emph{e.g.}:
 \begin{verbatim}
-TEXMFVAR = $APPDATA/texlive2016/texmf-var
-TEXMFCONFIG = $APPDATA/texlive2016/texmf-config
+TEXMFVAR = $APPDATA/texlive2017/texmf-var
+TEXMFCONFIG = $APPDATA/texlive2017/texmf-config
 \end{verbatim}
 There they will be hidden, but most users will never interact
 directly with files in these directories anyway.\par}

Modified: trunk/Master/texmf-dist/web2c/tlaunch.ini
===================================================================
--- trunk/Master/texmf-dist/web2c/tlaunch.ini	2017-06-29 00:17:52 UTC (rev 44720)
+++ trunk/Master/texmf-dist/web2c/tlaunch.ini	2017-06-29 09:56:32 UTC (rev 44721)
@@ -45,20 +45,11 @@
 ; key is display string, value is action
 ; items can be:
 ; SO: shell object, e.g. document or URL; opened with current default program.
-; SC: previously declared utility script
+; SC: previously declared utility script; see tlaunch.ini in rug.zip
 ; FT: previously declared filetype
 ; FU: built-in function
 ; general commands
 
-; automatic cache generation from xetex may require changes to
-; the root TEXMF.CNF
-; It may not always work right when run from xetex
-; so is also available as a utility script.
-; see manual for requirements to make this work.
-[SC:XeTeX-fontcache]
-command=fc-cache -v
-splash=Creating or updating XeTeX font cache
-
 [MN:File]
 Browse TeX Live installation=explorer.exe "%tlroot%\.."
 Quit=FU:quit
@@ -79,12 +70,9 @@
 Remove TeX Live settings=FU:clear
 =
 TeX Live Manager="%tlroot%\bin\win32\tlmgr-gui.exe"
-Uninstall completely=FU:uninst_all
-Uninstall but keep directory=FU:uninst
+Uninstall=FU:uninst
 =
 Editor choice=FU:editor_select
-=
-Generate/Refresh xetex font database=SC:XeTeX-fontcache
 
 [MN:Documentation]
 LaTeX Introduction=SO:%tlroot%\texmf-dist\doc\latex\lshort-english\lshort.pdf



More information about the tex-live-commits mailing list