diff options
author | Siep Kroonenberg <siepo@cybercomm.nl> | 2017-06-29 09:56:32 +0000 |
---|---|---|
committer | Siep Kroonenberg <siepo@cybercomm.nl> | 2017-06-29 09:56:32 +0000 |
commit | 687aad96931a20c6c6f1cf9596b71a8a3e8d5e5d (patch) | |
tree | c0c8e214d8867fa4783de6460e6787b91b1e1161 | |
parent | 70d02b2e5e4eebdcfde9e8f1f287d41ef5b22584 (diff) |
Tlaunch: new remember option and minor changes
git-svn-id: svn://tug.org/texlive/trunk@44721 c570f23f-e606-0410-a88d-b1316a301751
-rwxr-xr-x | Master/bin/win32/tlaunch.exe | bin | 114688 -> 117760 bytes | |||
-rw-r--r-- | Master/source/tlaunch-0.5.2-src.zip | bin | 67267 -> 0 bytes | |||
-rw-r--r-- | Master/source/tlaunch-0.5.3-src.zip | bin | 0 -> 69371 bytes | |||
-rw-r--r-- | Master/source/tlaunch.README | 15 | ||||
-rw-r--r-- | Master/texmf-dist/doc/support/tlaunch/Changes | 11 | ||||
-rw-r--r-- | Master/texmf-dist/doc/support/tlaunch/figures/custom_ed.png | bin | 62729 -> 45360 bytes | |||
-rw-r--r-- | Master/texmf-dist/doc/support/tlaunch/rug.zip | bin | 10650 -> 10600 bytes | |||
-rw-r--r-- | Master/texmf-dist/doc/support/tlaunch/tlaunch.pdf | bin | 354307 -> 330268 bytes | |||
-rw-r--r-- | Master/texmf-dist/doc/support/tlaunch/tlaunch.tex | 291 | ||||
-rw-r--r-- | Master/texmf-dist/web2c/tlaunch.ini | 16 |
10 files changed, 175 insertions, 158 deletions
diff --git a/Master/bin/win32/tlaunch.exe b/Master/bin/win32/tlaunch.exe Binary files differindex 589da750271..ccb7d19fc63 100755 --- a/Master/bin/win32/tlaunch.exe +++ b/Master/bin/win32/tlaunch.exe diff --git a/Master/source/tlaunch-0.5.2-src.zip b/Master/source/tlaunch-0.5.2-src.zip Binary files differdeleted file mode 100644 index c5f57aebadc..00000000000 --- a/Master/source/tlaunch-0.5.2-src.zip +++ /dev/null diff --git a/Master/source/tlaunch-0.5.3-src.zip b/Master/source/tlaunch-0.5.3-src.zip Binary files differnew file mode 100644 index 00000000000..17b2e61b5ef --- /dev/null +++ b/Master/source/tlaunch-0.5.3-src.zip diff --git a/Master/source/tlaunch.README b/Master/source/tlaunch.README index 43ae90c582b..bc31b1eb368 100644 --- a/Master/source/tlaunch.README +++ b/Master/source/tlaunch.README @@ -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 @@ For the batchfile makewin.cmd, check that the mingw environment variable points to the root of your mingw installation. Siep Kroonenberg, siepo at cybercomm dot nl -Groningen, January 2017 +Groningen, June 2017 diff --git a/Master/texmf-dist/doc/support/tlaunch/Changes b/Master/texmf-dist/doc/support/tlaunch/Changes index 288e3990219..148a5624669 100644 --- a/Master/texmf-dist/doc/support/tlaunch/Changes +++ b/Master/texmf-dist/doc/support/tlaunch/Changes @@ -1,4 +1,13 @@ -2017-02-01 Siep Kroonenberg <siepo@cybercomm.nl> Release 0.5.2 +2017-06-29 Siep Kroonenberg <siepo@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@cybercomm.nl> Release 0.5.2 * Various silent command-line options added * Updated documentation diff --git a/Master/texmf-dist/doc/support/tlaunch/figures/custom_ed.png b/Master/texmf-dist/doc/support/tlaunch/figures/custom_ed.png Binary files differindex 589802427cc..566ffda27d4 100644 --- a/Master/texmf-dist/doc/support/tlaunch/figures/custom_ed.png +++ b/Master/texmf-dist/doc/support/tlaunch/figures/custom_ed.png diff --git a/Master/texmf-dist/doc/support/tlaunch/rug.zip b/Master/texmf-dist/doc/support/tlaunch/rug.zip Binary files differindex 8e0b16d33d5..be2f0a383ba 100644 --- a/Master/texmf-dist/doc/support/tlaunch/rug.zip +++ b/Master/texmf-dist/doc/support/tlaunch/rug.zip diff --git a/Master/texmf-dist/doc/support/tlaunch/tlaunch.pdf b/Master/texmf-dist/doc/support/tlaunch/tlaunch.pdf Binary files differindex 9d0167a08d4..e8de54dbdd2 100644 --- a/Master/texmf-dist/doc/support/tlaunch/tlaunch.pdf +++ b/Master/texmf-dist/doc/support/tlaunch/tlaunch.pdf diff --git a/Master/texmf-dist/doc/support/tlaunch/tlaunch.tex b/Master/texmf-dist/doc/support/tlaunch/tlaunch.tex index 923e176cfa6..bda23690631 100644 --- a/Master/texmf-dist/doc/support/tlaunch/tlaunch.tex +++ b/Master/texmf-dist/doc/support/tlaunch/tlaunch.tex @@ -1,16 +1,12 @@ \documentclass[11pt,a4paper,oneside]{report} -% narrow margins, same layout +% narrow margins, otherwise same layout as default \AtBeginDocument{% \paperwidth\textwidth \advance\paperwidth48bp \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@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 @@ without any warranty.\par} \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 @@ is added to the searchpath, and relevant filetype associations are 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 @@ is described in section \ref{sec:config} of this chapter. The 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 @@ ini file and can be replaced with strings in other languages. 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 @@ cleanup; see the \texttt{pre\_config}, \texttt{post\_config} and 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 @@ In \TL, the binary is in the \TL{} binary directory, 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 @@ possible sections satisfies this requirement. 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 @@ The ini file can contain the following sections: \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,23 +304,23 @@ The ini file can contain the following sections: \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} \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. - -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: +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 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 @@ The commented lines are optional and represent default values. \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 @@ The commented lines are optional and represent default values. 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 @@ when the script has completed. Standard error is also captured, but 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 @@ In a submenu section, a sole `\texttt{=}' will produce a separator 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 @@ Quit=FU:quit \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 @@ This section is optional. Three keywords are allowed: \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 @@ configure another filetype string in the ini file, \emph{e.g.} one 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 @@ In installation mode, it is assumed that the launcher and its ini 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,8 +556,18 @@ parameters: 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 @@ Within the launcher, there are functions \texttt{FU:uninst\_all} and 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 @@ will automatically pop up a \textsc{uac} prompt. \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 @@ scripts in various languages. An initialization script created 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 @@ most of the time. 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 @@ There are also controls for: \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 @@ extras. There is another subdirectory for the various scripts. All 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 @@ anyone to switch editors, I also kept \TNC{} around. 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 @@ autoconfiguration for \TL{} and avoids awkward questions. \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,21 +755,20 @@ created with just the setting not to check for updates. If there is 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} 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 @@ The default location of the \XeTeX{} font cache in \TL{} is \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,29 +825,10 @@ is then created by a line \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. - -\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. +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. \appendix @@ -851,7 +856,7 @@ happen to be working on. This is accomplished by either `folder 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 @@ Secondary filetype associations can be stored in a subkey of the 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 @@ As to user files, it should be ok to put \texttt{\$TEXMFCONFIG}, 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} diff --git a/Master/texmf-dist/web2c/tlaunch.ini b/Master/texmf-dist/web2c/tlaunch.ini index bcfd5538fb0..c5b3c154f74 100644 --- a/Master/texmf-dist/web2c/tlaunch.ini +++ b/Master/texmf-dist/web2c/tlaunch.ini @@ -45,20 +45,11 @@ EXTENSIONS=.eps .ps .pdf ; 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 @@ Re-initialize TeX Live=FU:initialize 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 |