DTINFO(1)
π dtinfo π β browse on-line information
okay bestie, welcome to dtinfo(user cmd) β the manual page you're about to devour. this is the desktop on-line information browser situation and honestly it's giving main character energy β¨
πΈ NAME πΈ
dtinfo β browse on-line information π¦
π SYNOPSIS π
dtinfo [-help] [-l infolib] [-sect section
[ {-section | ,section } ...] ] [-secondary] [-verbose] [-print]
[-hierarchy] [-printer x_print_server] [-copies number] [-paperSize
size] [-s]
π DESCRIPTION π
So the dtinfo command starts up the desktop on-line information browser β you might also know it as the CDE Information Manager π. On-line info is typically packaged into an information library (infolib), which is literally a hierarchy of bookcases containing SGML books (peep the dtdocbook2infolib(1) command for that part). The browser lets you view, search, and print on-line information with a high degree of control β like, so much control. And you can slap bookmarks and annotations onto whatever points you want for later recall π.
β¨ Generalized Locator Format β¨
The generalized locator format is the identifier used for target information. Here's the fully specified case, though ngl you usually don't need all of it to uniquely identify sections:
mmdb:INFOLIB=ilib_path&&BOOKCASE=bc_name&&LOCATOR=locator
Where ilib_path is the infolib's path on disk, bc_name is the name of the bookcase (an MMDB), and locator is the MMDB locator value. That locator has got to be a unique reference across document collections by the time an infolib's build process is complete β no cap.
If just INFOLIB is present, you get the collection corresponding to the infolib back. To display at the beginning of a known bookcase, use this form:
mmdb:INFOLIB=ilib_path&&BOOKCASE=bc_name
β οΈ heads up though: bookcase names are less protected from change than locators, so don't go relying on them for anything other than dynamically verifiable bookcase targets. π
If a locator isn't expected to be in the desktop default infolib, you identify its infolib by including the full file path name for the information library (ilib_path). The most common form of reference is then either:
mmdb:INFOLIB=ilib_path&&LOCATOR=locator
or:
mmdb:LOCATOR=locator
If INFOLIB and BOOKCASE are omitted, the locator gets looked up in all loaded information libraries. And if no information libraries are currently loaded, the locator is looked up in the default information library(s) specified by DTINFOLIBDEFAULT. For the -sect argument, the value(s) locator alone is enough to reach the desired section β that's if it occurs in the default infolib, or those indicated by -l arguments π«Ά.
π¦ Persistent User Settings π¦
A few characteristics get saved across browser sessions. These are: bookmarks, annotations, named search scopes, and certain user preferences. All of these are saved on a locale-specific basis, periodt. Query history and browse history lists are provided, but they are not persistent across sessions π.
π OPTIONS π
The following options are available, bestie:
-helpβ Prints a summary of the command's syntax.-linfolib β Specifies an absolute file path or the filename of an information library. If you specify an infolib's filename, the search path specified byDTINFOLIBSEARCHPATHis used to help locate the file. If the-loption is omitted, the browser displays the default information library(s) specified byDTINFOLIBDEFAULT. You can specify this option more than once π-secondaryβ Starts a secondary instance ofdtinfo. Secondary instances do not respond toDtinfo_ShowInfoAtLocandDtinfo_LoadInfoLibToolTalk messages.-verboseβ Prints information on the terminal as the command runs, ifdtinfois started from the command line.-sectsection[{-section|,section}β¦]β Specifies the infolib section or sections to either display or print. Sections can be specified in generalized locator format.
To specify a range of sections, use the form:
-sect section-section
where the start and end sections are separated by the hyphen character.
To specify a discontiguous list of sections, use the form:
-sect section,section
where the sections in the list are separated by the comma character.
If the -print option is specified, the sections are printed. Otherwise, dtinfo loads the specified infolib(s) and displays all the sections in separate browser windows πͺβ¨
-printβ Instructsdtinfoto print the locations specified with the-sectoption. Printing of an entire infolib from the command line is disallowed π«. If a specified location is not at the top of a section, the section containing the location is printed.
π¨οΈ Print Control Options π¨οΈ
These options are valid only if the -print option is also specified. iykyk.
-hierarchyβ Prints an entire specified section and all of its subsections. By default, only the specified section is printed.-printerx_print_server β Specifies which X Print server to use. If this is not specified as a command-line option or resource, the value is taken from the environment.-copiesnumber β Specifies how many copies to print. The default value is1. This option is ignored when generating an output file.-paperSizesize β Specifies a size of paper to which the output should be formatted. Valid sizes areiso-a4,iso-b4,na-letter, andna-legal.-outputFilefilename β Specifies a file to hold the print-ready output. If this option is specified, no output is sent to the printer. If this option is specified, the-copiesoption is ignored.-sβ Specifies silent printing.dtinfodoes not write to either standard out or standard error, nor does it attempt to open any windows. shhh π€«
π₯ PRINT FEATURES π₯
This section describes the features that affect printing with dtinfo. buckle up π
π Page Numbers π
Pages are numbered relative to the print job. For example, if a section spans over four printed pages, the pages are numbered 1-4. To get page numbers starting relative to the front of the book, it is necessary to print the entire contents of the book. When printing more than one book (a bookcase, for example) the page numbering is reset to page 1 at the start of each book. A section is determined to be a book if it is a Table of Contents.
When specifying "what to print" all references are given in logical terms. You cannot specify a page range since this number has no real meaning until the document is rendered to a given page size. "What to print" is specified as a section or list of sections in generalized locator format. It is also possible to specify a range of sections π
π Table of Contents π
The table of contents can be printed as part of a book or as a separate section. When printed as part of a book, it is always printed last to allow the page number references to be calculated while the document is printing. When printed separately, the page numbers are not calculated.
π§ Image Scaling π§
Dtinfo supports a number of graphic file formats: Tiff, XPM, XWD, GIF, JPEG, and CGM. Of all these formats, only CGM is a natural "scalable" format made of vectors and independent coordinates, much like PostScript. All the other graphic formats are specified in Dots Per Inch (DPI) and designed for a given resolution. Since most displays have a resolution of between 90/100 DPI and printers commonly have resolutions of 300/600 DPI, printed documents can end up with graphics 3 or 6 times smaller than their screen counterparts β especially when the surrounding fonts are scaled to match the screen size π
To address this problem, dtinfo automatically scales a graphic according to the following formula:
printed_image_size= image_size * (resolution / 100 DPI)
During scaling it is important that the image not be scaled in excess of the hard page boundary. See "Hard Page Boundaries" for more detail.
π Hard Page Boundaries π
On-line documentation is often developed with little or no consideration for printability. As a result, on-line documents often have graphics or tables that exceed the hard-page boundaries of the printed media. The dtinfo command attempts to correct these problems during the layout-for-print process by a combination of page break insertions, rotation (landscape/portrait), and scalable objects. iconic behavior honestly π
- Graphic objects that are too wide for the page are scaled down to the page width.
- Graphic objects that are too tall for the remaining page height are started on the next page. If a graphic object is too tall for a single page it is scaled down to the page height.
- Table objects that are too wide for the page are started on the next page and rotated for landscape printing. If a table is still too large, it is scaled to the page height. Once the table has been printed, an additional page break is performed and the remainder of the printing resumes in the default page orientation. Space left in the current page layout is filled by flow-up of subsequent text.
β Hard Copy Page Style Rendering β
dtinfo hard copy page-style rendering, with addition of headers and footers, page breaks, and numbering. For these characteristics, it is necessary to use print-specific style sheet features.
πΈ Background Printing πΈ
dtinfo allows simultaneous browsing and multiple print requests to be active in parallel. multitasking queen π
π RESOURCES π
π XRM Resources
Okay so here's the whole menu of XRM resources that dtinfo understands β like, every single one, no skips:
BrowseGeometryβ sets the default size of reading windows in pixel dimensions, x by y. The default is500x630. πBrowseLockβ controls whether the current reading window gets automatically "pinned" when a new document display request comes in (on) or not (off). If it'son, the new document shows up in a brand new reading window. Heads up though: system resources utilized are often much higher in theonmode. The default isoff. πDisplayFirstHitβ says whether the first document listed in the search results list pops up automatically (true) or not (false). The default isfalse.FontScaleβ sets the relative size to use for text in all reading windows, compared to the publisher-specified font size, where0means "per style sheet". Possible values are-2,-1,0,1,2,3,4, and5. Invalid values default to0. A non-zero value is used by the browser to associate incrementally larger sizes of the same font, when possible. The default is0. β¨MapAutoUpdateβ decides whether the graphical map (when visible) updates automatically as you move to new documents (true) or not (false). The default istrue. πΊοΈMapGeometryβ the default size of the graphical map window in pixel dimensions, x by y. The default is520x350.MaxSearchHitsβ the maximum number of document titles displayed in the Search Results List window in fulfillment of a query. The entries in the search results list are ordered roughly by importance to the query, so a value here includes the most relevant results. The default is50. π₯NodeHistSizeβ the maximum number of document visits kept in the browse history list. Duplicates are not displayed in the list, but re-visits change the list order by moving a previously viewed document to the top. The browse history is not saved acrossdtinfosessions. The default is100.SearchHistorySizeβ the maximum number of previously performed queries kept for the search history list. Using the search history list is a quick way to re-access the results of a prior query. The search history is not saved acrossdtinfosessions. The default is50. π
π Display Color Resources
These ones set colors for all the various dtinfo display features:
Dtinfo*display_area.backgroundβ the background color for on-line document presentation. The user is cautioned to avoid choices of background color which match the color used for either hypertext links or search hits. The keyboard traversal highlight color should also be considered when setting this resource. There is no default. β οΈDtinfo*display_area.foregroundβ the foreground color for on-line document presentation (used for text not otherwise highlighted). The user is cautioned to avoid choices of foreground color which match the color used for either hypertext links or search hits. There is no default.Dtinfo*doc_list.backgroundβ the background color for the infolib book list. There is no default.Dtinfo*doc_list.foregroundβ the foreground color for the infolib book list. There is no default.Dtinfo.results*list.backgroundβ the background color for the search results list. There is no default.Dtinfo.results*list.foregroundβ the foreground color for the search results list. There is no default. π¨
π¨οΈ Print-Related Resources
For the print-related resources, bestie, go see "Descendants" and "Resources" in DtPrintSetupBox(3). That's where the tea is.
π«Ά STDIN
Not used. Nope. Nothing. Nada. π
πΈ ENVIRONMENT VARIABLES
These env vars affect the execution of dtinfo, so pay attention:
DTINFOLIBSEARCHPATHβ the search path for locating information libraries on local and remote mounted systems.DTINFOLIBDEFAULTβ the name of the default information library(s) to load if the-lor-sectoption is not specified. Multiple information libraries can be specified by a comma separated list. By default,DTINFOLIBDEFAULTis initialized to the CDE infolibcde. Note thatdtinfowill not start if there is no infolib specified explicitly or by default.DTINFOLIBDEFAULTrequires the definition of an applicableDTINFOLIBSEARCHPATH. πPDPRINTER,LPDEST,PRINTER" 10β specify the name of the printer to use if the-printeroption,XPRINTERenvironment variable, andXpPrinterresource are not specified.dtinfochecksPDPRINTERfirst,LPDESTnext, andPRINTERlast to obtain a printer name that can be used to generate an X Printer Specifier to use for the default X Printer shown in the Printer Name text field. Thehost:displayportion of the specifier is obtained by checking if the X Server to which the client application is connected is an X Print Server managing printer name. If not, the list of X Print Servers specified in theXpServerListresource is queried, until the first X Printer with a matching printer name is found.XPRINTERβ the default destination X Printer Specifier for theDtPrintSetupBox. If the specifier is just aprinterName, thehost:displayportion of the specifier is obtained by checking if the X Server to which the client application is connected is an X Print Server managingprinterName. Otherwise, the first server in theXpServerListresource or theXPSERVERLISTenvironment variable that manages the printer will be used. If the:displaynumber is omitted,:0is assumed.DTPRINTSILENTβ whether to display a Print dialog box if the-soption is not specified. When the variable is set toTrue, the Print dialog is not displayed. If the variable is not set, the dialog is displayed.XPDMDISPLAYβ whether an alternate X Print Server will be used to find thePDM_MANAGERselection. If the variable is not set, an alternate X Print Server will not be used. π¨οΈβ¨
π ACTIONS/MESSAGES
dtinfo registers with ToolTalk to handle these ToolTalk requests, and honestly? iconic behavior:
DtInfo_LoadInfoLibβ causesdtinfoto load the specified infolib or the default infolib, if none is specified.DtInfo_ShowInfoAtLocβ causesdtinfoto display a particular section of data or topic.DtInfo_PrintInfoAtLocβ routes print requests back to the requestingdtinfoprocess after the end-user drags one or more sections from the book list and drops them on the printer icon in the front panel. π±οΈβ‘οΈπ¨οΈ
Desktop actions invoking the browser are:
DtShowInfoAtLocβ sends aDtInfo_ShowInfoAtLocmessage.DtLoadInfoLibβ sends aDtInfo_LoadInfoLibmessage.DtPrintInfoAtLocβ sends aDtInfo_PrintInfoAtLocmessage.
Use of any default desktop representations to start dtinfo from its icon or the icon of an infolib causes dtinfo to be invoked via the desktop action mechanism. π₯οΈπ«
β STDOUT
Not used.
π STDERR
Not used.
π INPUT FILES
For input, dtinfo accepts the file path, relative or absolute, for one or more information libraries.
π OUTPUT FILES
For output, dtinfo produces a file to hold print-ready output, if the -outputFile and the -print options are specified.
π EXTENDED DESCRIPTION
None. That's it. Nothing here. Moving on bestie π
π¦ RETURN VALUE
A non-zero return value for dtinfo implies an error condition on start-up. So like, if it's not zero, something went wrong. π
π₯ ERRORS/WARNINGS
π Warning Messages
Warning: Illegal or missing paper size.β this warning indicates an invalid value of thepaperSizeresource or-paperSizeoption. Correctly specify the option on the utility line or set a default resource value.Warning: Illegal number of copies.β this warning is displayed when both the-outputFileand-copiesoptions are specified, and the number of copies is greater than 1.
π Error Messages
Error: Unable to open x print server &<x_print_server>β this error indicates that the display specified by the printer resource or-printeroption could not be opened.Error: section not found.β this error indicates that the specified section locator could not be found.Error: invalid section specification &<section>.β this error indicates that specified section locator was incorrectly formatted.Error: printing of the entire infolib is not supported.β Use the-sectoption to identify the specific sections to print.Error: unable to allocate memory for temporary file.β this error indicates that the memory needed to create the temporary file name could not be allocated.Error: unable to open temporary file.β this error indicates that the temporary file could not be opened for writing.
β¨ EXAMPLES β¨
Start the browser and display the default information library:
% dtinfo
Start the browser with a library located at /cdrom/encyclopedia.dti:
% dtinfo -l /cdrom/encyclopedia.dti
Start the browser with a library from the search path:
% dtinfo -l encyclopedia
Start the browser with a specific section to display:
% dtinfo -sect mmdb:INFOLIB=encyclopedia&&LOCATOR=home_topic
or:
% dtinfo -sect INFOUG.SEARCH.DIV.5,INFOUG.SEARCH.DIV.22
An alternate form of the previous command:
% dtinfo -l /cdrom/encyclopedia.dti -sect mmdb:LOCATOR=home_topic
Print a specific section without starting dtinfo:
% dtinfo -print -sect INFOUG.NAVIGATE.DIV.3
Printing of an entire infolib is not supported from the command line:
% dtinfo -print -l /cdrom/encyclopedia.dti
*** Error ***
Examples for the use of dtinfo directly:
% dtaction DtLoadInfoLib /nix/store/6waxpwr8lzfzc9ka48gl7yh60rqvlkdb-cde-2.5.3/infolib/C/cde.dti
% dtaction DtShowInfoAtLoc /nix/store/6waxpwr8lzfzc9ka48gl7yh60rqvlkdb-cde-2.5.3/infolib/C/cde.dti GI.RGFBE.1698OL
If the infolib path environment variable is defined:
% dtaction DtShowInfoAtLoc cde INFOUG.GSTART.DIV.3
π FILES π
So, like, when you start this from the command line, it recognizes an infolib directory path β that's the <pink>DtMmdbInfoLibInfo(5)</pink> situation, go look it up if you're curious bestie. The way it vibe-checks whether a directory is actually a valid infolib? It looks at the name of the directory and the files chillin' inside it. That's the whole test. Name + contents, no cap. β¨
Your personal bookmark and annotation files? Those are managed internally (i.e. not your problem, the app handles it) and they live under the locale-specific directory here:
$HOME/.dt/dtinfo/%L/marks/
Your preferences β the ones you set through the Preferences dialog in a running instance of dtinfo β plus any user-defined search scopes you made, they all get saved into this generated file:
$HOME/.dt/dtinfo/%L/preferences
The application-specific resources are defined over here, in this app-defaults file:
/nix/store/6waxpwr8lzfzc9ka48gl7yh60rqvlkdb-cde-2.5.3/app-defaults/%L/Dtinfo
And all the utility files plus the supporting data that dtinfo needs to actually function? Those live in the system location:
/nix/store/6waxpwr8lzfzc9ka48gl7yh60rqvlkdb-cde-2.5.3/infolib
That's the whole file tour, bestie. Very demure, very organized. π
π SEE ALSO π
Go read these next, they're all icon behavior:
<hotpink>Generalized Locator Format(4)</hotpink><hotpink>dtdocbook2infolib(1)</hotpink><hotpink>DtPrintSetupBox(3)</hotpink><hotpink>DtInfo_LoadInfoLib(4)</hotpink><hotpink>DtInfo_ShowInfoAtLoc(4)</hotpink><hotpink>DtInfo_PrintInfoAtLoc(4)</hotpink><hotpink>dtinfoaction(5)</hotpink><hotpink>DtMmdbInfoLibInfo(5)</hotpink>
That's a wrap on the whole page, bestie!! π«Ά You just read the entire dtinfo manual β every flag, every file, every vibe. Go forth and browse your infolibs like the main character you are. π
β¨
Cute little sign-off from the page itself: this one's filed under dtinfo(user cmd) β the user-command section of the man pages, and it comes from the CDE (Common Desktop Environment) documentation, version 2.5.3. The build path in there (/nix/store/...-cde-2.5.3/...) is a big giveaway that it was packaged up in Nix, iykyk. π¦ No exact date is printed on the page, so we're not inventing one β mysterious and iconic of it, honestly. π§π
π¦ 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