DTHELPGEN(1)
π DTHELPGEN π
okay bestie so real talk, this is dthelpgen from the user cmd manual section, and she's basically the friend who goes around collecting everybody's help files and stitches them into one giant cute index. no cap, she's lowkey the main character of the CDE help system π«Ά
β¨ SYNOPSIS β¨
dthelpgen [-dirdirectory] [options]
(yes, that's -dir smooshed right up against directory. she's like that. iconic honestly π
)
πΈ DESCRIPTION πΈ
so dthelpgen goes out and searches for all the CDE help family files that are installed and registered, then generates a help volume named browser, and that volume is literally just full of hypertext links to every help family and volume she found. obsessed. π
by default her search scope is only the local system, but she's flexible β you can extend it to remote systems using the environment variables described down below, iykyk π
here's the slay part: dthelpgen only updates the browser help volume if new family files or volumes are detected inside the search path directories. if there's nothing new, she just exits. no drama, no notes. if there are new files, she posts an information dialog telling the user that she's updating the browser volume β very "hey bestie, heads up" of her β¨
by viewing the browser help volume and traversing its hypertext links, the user can navigate through all of the registered online help information. she built the map, you do the walking π¦
to actually view the browser volume, select the Help Viewer control from the desktop's Front Panel. the top level of the browser volume lists product families, and the second level β under each family β lists the volumes that are members of the product family. two-level nesting, very demure, very mindful πΈ
CDE users or system administrators typically do not need to interact directly with dthelpgen. a browser volume gets generated (when one doesn't already exist, or is out of date) when the user selects the Help Viewer control from the CDE front panel. it's also generated when the user executes the ReloadApps Action, or runs dthelpgen directly from a terminal window π
in the first two cases, the resulting browser volume is placed in the user's $HOME/.dt/help/$DTUSERSESSION directory. when running dthelpgen from a terminal window, the -dir option must be used to specify the location to create the resulting browser file. no -dir, no vibes. rules are rules π
π OPTIONS π
the following options are available:
-generateβ tellsdthelpgento unconditionally regenerate the browser volume without first checking if new families or help volumes are present. she's not checking, she's just doing it. periodt π₯-dirdirectory β specifies the directory to deposit the generated files. and bestie, the specification can use substitution values β the ENVIRONMENT VARIABLES heading describes the substitution values allowed and their effect. also: if the environment variableLANGis not set or is NULL, it is forced toC. (yes. forced. π)-filebasename β specifies the base name for the files generated bydthelpgen. the default name isbrowser. extensions are appended to basename to create the file names for the help volume β¨-langlanguage β specifies which language directories to search for help Family files and help volumes. if this option is not set, the defaultLANGvalue is used. if the-langvalue is set, it takes precedence over the current environment'sLANGsetting. she said my rule now π
π ENVIRONMENT VARIABLES π
the CDE help system uses two environment variables for locating help volumes and Family files within the desktop environment:
DTHELPSEARCHPATHβ system search path environment variable for locating help volumes on local and/or remote nfs mounted systems πDTHELPUSERSEARCHPATHβ users search path environment variable for locating user specific help volumes on local and/or remote nfs mounted systems π«Ά
the environment variables contain colon-separated lists of directory paths. each directory path can contain both environment variable names as well as special field descriptors that are expanded at runtime β¨
field descriptors consist of a percentage (%) symbol followed by a single character. field descriptors and their substitution values are:
%Hβ this value is replaced with the current volume or family name being searched for π%Lβ replaced with the current value of theLANGenvironment variable πΈ%%β replaced with a single%π
for example, given:
DTHELPSEARCHPATH="/nix/store/6waxpwr8lzfzc9ka48gl7yh60rqvlkdb-cde-2.5.3/etc/appconfig/help/%L/%H.sdl"
the dthelpgen utility looks for files ending with .hf in the directory /nix/store/6waxpwr8lzfzc9ka48gl7yh60rqvlkdb-cde-2.5.3/etc/appconfig/$LANG. to find the volumes listed in each .hf file, dthelpgen looks in /nix/store/6waxpwr8lzfzc9ka48gl7yh60rqvlkdb-cde-2.5.3/etc/help/appconfig/$LANG/%H.sdl with %H replaced with the name of the volume listed in the Family file. see how that works? she's expanding everything at runtime, no cap π₯
the dthelpgen utility uses both DTHELPUSERSEARCHPATH and DTHELPSEARCHPATH. the default value for DTHELPUSERSEARCHPATH is:
$HOME/.dt/help/$DTUSERSESSION/%H: $HOME/.dt/help/$DTUSERSESSION/%H.sdl:
$HOME/.dt/help/$DTUSERSESSION/%H.hv: $HOME/.dt/help/%H:
$HOME/.dt/help/%H.sdl: $HOME/.dt/help/%H.hv
DTHELPUSERSEARCH is first searched for the requested volume. if the volume is not found, the DTHELPSEARCHPATH value is searched. user stuff first, always π
the default value for DTHELPSEARCHPATH path is:
/nix/store/6waxpwr8lzfzc9ka48gl7yh60rqvlkdb-cde-2.5.3/etc/appconfig/help/%L/%H:
/nix/store/6waxpwr8lzfzc9ka48gl7yh60rqvlkdb-cde-2.5.3/etc/appconfig/help/%L/%H.sdl:
/nix/store/6waxpwr8lzfzc9ka48gl7yh60rqvlkdb-cde-2.5.3/etc/appconfig/help/%L/%H.hv:
/nix/store/6waxpwr8lzfzc9ka48gl7yh60rqvlkdb-cde-2.5.3/etc/appconfig/help/C/%H:
/nix/store/6waxpwr8lzfzc9ka48gl7yh60rqvlkdb-cde-2.5.3/etc/appconfig/help/C/%H.sdl:
/nix/store/6waxpwr8lzfzc9ka48gl7yh60rqvlkdb-cde-2.5.3/etc/appconfig/help/C/%H.hv:
/nix/store/6waxpwr8lzfzc9ka48gl7yh60rqvlkdb-cde-2.5.3/appconfig/help/%L/%H:
/nix/store/6waxpwr8lzfzc9ka48gl7yh60rqvlkdb-cde-2.5.3/appconfig/help/%L/%H.sdl:
/nix/store/6waxpwr8lzfzc9ka48gl7yh60rqvlkdb-cde-2.5.3/appconfig/help/%L/%H.hv:
/nix/store/6waxpwr8lzfzc9ka48gl7yh60rqvlkdb-cde-2.5.3/appconfig/help/C/%H:
/nix/store/6waxpwr8lzfzc9ka48gl7yh60rqvlkdb-cde-2.5.3/appconfig/help/C/%H.sdl:
/nix/store/6waxpwr8lzfzc9ka48gl7yh60rqvlkdb-cde-2.5.3/appconfig/help/C/%H.hv
like, that's a lot of paths bestie but she knows every single one of them by heart π
π INPUT FILES π
the following are input files used by dthelpgen:
&<file>.hfβ runtime Help Family file, accessed directly bydthelpgenπ&<file>.sdlβ runtime Help volume file(s), accessed indirectly through explicit references within the Help Family file π¦
πΎ OUTPUT FILES πΎ
the following are descriptions of the output files generated by dthelpgen:
browser.hvβ the master runtime browser Help volume file generated bydthelpgen. the big one. the queen πbrowser00.ht&&browser01.htβ runtime browser Help topic files generated bydthelpgenβ¨
π¬ Warning Messages
Zero Volume files foundβ indicates that none of the volumes specified in the Family files are registered in the system. she looked. she found nothing. π³οΈZero Family files foundβ indicates that no Family files are registered in the system. nobody's home π
π Error Messages
Element of path is not a directoryβ indicates that some part of the path is not a directory.Access denied for directory path. Try running as super user?"β indicates that some part of path does not allow the caller read, access or write permission. (that stray quote is in the original, bestie, don't come for me π)Element of path does not existβ indicates that some element of path does not exist or is misspelled. typo era πFile system containing path is fullβ indicates that the disc containing the path does not contain any space or inodes. girl is FULL πUnable to access path - error status number valueβ indicates that there is an access problem of type value occurred with path.File system containing path is read onlyβ indicates that the disc containing the path is mounted read-only. she cannot write. she simply cannot βRequires root permission to write to pathβ indicates that some part of the path does not allow the user write permission.Write to volume invalidβ indicates that volume does not have the correct write permissions for the caller.Search Path emptyβ indicates that the environment variables.DTHELPUSERSEARCHPATHand/orDTHELPSEARCHPATHwere declared but no paths were specified in the variables. declared but empty, the audacity π`title' resource missingβ indicates that thetitleresource in a Family file is missing.`abstract' resource missingβ indicates that theabstractresource in a Family file is missing.`volumes' resource missingβ indicates that thevolumesresource in a Family file is missing.`character' set resource missingβ indicates that theCharSetresource in a Family file is missing.Unable to access current working directory - error status number valueβ indicates that the-diroption was specified with a relative path and thatdthelpgenis unable to get the current working directory.Unable to allocate memoryβ system resources are used up, no available memory,dthelpgenaborts execution. RIP to her, fr fr πDestination directory missingβ missing directory value for-diroption.Invalid system language specifiedβ non-supported value used with the-langoption.
β οΈ heads up bestie: Unable to allocate memory means she literally aborts execution. that's not a vibe check, that's the end of the road.
π EXAMPLES π
dthelpgen -dir $HOME/.dt/helpβ creates, if required, a new browser help volume in the users home directory under.dt/help/β¨dthelpview -dir $HOME/.dt/help -generateβ forces the creation of a new browser help volume and places it in the users home directory under.dt/help/π₯
(yes, that second example says dthelpview in the original and i'm leaving it exactly as it is, don't @ me π
)
π SEE ALSO π
dthelpview(1), dtsearchpath(1), dthffile(4), and the CDE Help System Author's and Programmer's Guide π
and that's the whole page bestie, top to bottom β like, the header says she's dthelpgen(user cmd) and the footer says it right back at ya, same dthelpgen(user cmd) energy on both ends π«Ά go forth and generate some browser volumes, you absolute icon πβ¨π
π¦ where this page comes from
- nixos 26.05: cde 2.5.3
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms