diff --git a/pkgs/racket-pkgs/racket-doc/scribblings/raco/launcher.scrbl b/pkgs/racket-pkgs/racket-doc/scribblings/raco/launcher.scrbl index fb5c16cae7..6609dd497e 100644 --- a/pkgs/racket-pkgs/racket-doc/scribblings/raco/launcher.scrbl +++ b/pkgs/racket-pkgs/racket-doc/scribblings/raco/launcher.scrbl @@ -59,10 +59,58 @@ the following additional associations apply to launchers: will call ignoring @racket[args]. If this name is not provided, the script will go through the GRacket executable as usual.} + @item{@racket['exe-is-gracket] (when @racket['exe-name] is used) --- + indicates that @racket['exe-name] refers to the GRacket + executable, which is potentially in a @filepath{lib} + subdirectory instead of with other GUI applications.} + @item{@racket['relative?] (all platforms) --- a boolean, where @racket[#t] means that the generated launcher should find the base GRacket executable through a relative path.} + @item{@racket['start-menu?] (Windows) --- a boolean; @racket[#t] + indicates that the launcher should be in the @onscreen{Start} + menu by an installer that includes the launcher. A + @racket['start-menu?] value is used only when + @racket['install-mode] is also specified.} + + @item{@racket['extension-register] (Windows) --- a list of document + types for file-extension registrations to be performed by an + installer. Each document type is described by a list of six + items: + + @itemlist[ + + @item{a human-readable string describing the document + type, such as @racket["Racket Document"];} + + @item{a string to use as a key for the document type, + such as @racket["Racket.Document"];} + + @item{a list of strings, where each string is a file + extension without the dot, such as @racket['("rkt" + "rktl" "rktd")];} + + @item{a path to a file that supplies the icon, such as + @racket["doc.ico"];} + + @item{a string to represent the command line to handle a + document with a matching extension, such as + @racket["\"%1\""], where the string will be prefixed + with a path to the launcher, and where @litchar{%1} + will be replaced with the document path} + ] + + An @racket['extension-registry] value is used only when + @racket['install-mode] is also specified.} + + @item{@racket['install-mode] (Windows) --- either @racket['user] or + @racket['main], indicates whether the launcher is being + installed to a user-specific place or an installation-wide + place, which in turn determines where to record + @racket['start-menu?] and @racket['extension-registry] + information.} + ] For Unix/X, the script created by @racket[make-mred-launcher] detects @@ -354,6 +402,14 @@ are as follows: @item{@filepath{.wmclass} @'rarr @racket['wm-class] as the literal content, removing a trailing newline if any; for use on Unix} + @item{@filepath{.startmenu} @'rarr @racket['start-menu?] as @racket[#t] + (the file content is ignored) for use on Windows} + + @item{@filepath{.extreg} @'rarr @racket['extension-register] as + @racket[read] content (a single S-expression), but with + relative (to the @filepath{.extreg} file) paths converted + absolute; for use on Windows} + ]} @defparam[current-launcher-variant variant symbol?]{ diff --git a/pkgs/racket-pkgs/racket-doc/scribblings/raco/setup.scrbl b/pkgs/racket-pkgs/racket-doc/scribblings/raco/setup.scrbl index 8bd60dccef..319ded31cb 100644 --- a/pkgs/racket-pkgs/racket-doc/scribblings/raco/setup.scrbl +++ b/pkgs/racket-pkgs/racket-doc/scribblings/raco/setup.scrbl @@ -9,6 +9,7 @@ setup/option-unit setup/option-sig setup/dirs + setup/getinfo setup/main-collects setup/path-to-relative setup/xref scribble/xref @@ -350,10 +351,11 @@ Optional @filepath{info.rkt} fields trigger additional actions by change.} @item{@racket['no-depend-on] : Removes the document for - consideration for other dependencies. This mode is - typically used with @racket['always-run] to avoid - unnecessary dependencies that prevent reaching a stable - point in building documentation.} + consideration for other dependencies. Furthermore, + references from the document to other documents are always + direct, instead of potentially indirect (i.e., resolved at + document-viewing time and potentially redirected to a + remote site).} @item{@racket['main-doc-root] : Designates the root document for the main installation. The document that currently has this @@ -556,11 +558,13 @@ Optional @filepath{info.rkt} fields trigger additional actions by @item{@indexed-racket[install-collection] : @racket[path-string?] --- A library module relative to the collection that provides - @racket[installer]. The @racket[installer] procedure accepts either - one or two arguments. The first argument is a directory path to the + @racket[installer]. The @racket[installer] procedure accepts one + to three arguments. The first argument is a directory path to the parent of the Racket installation's @filepath{collects} directory; the second argument, if accepted, is a path to the collection's own - directory. The procedure should perform collection-specific + directory; the third argument, if accepted, is a boolean indicating + whether the collection is installed as user-specific (@racket[#f]) + or installation-wide (@racket[#f]). The procedure should perform collection-specific installation work, and it should avoid unnecessary work in the case that it is called multiple times for the same installation.}