1TkInfo 2====== 3 4 5What is it? 6----------- 7 8TkInfo is a graphical browser for files in the GNU hypertext "info" 9format. It runs on every system that supports Tcl/Tk, which means all 10Unix/X, Macintosh, Windows95 and Windows NT systems. 11 12TkInfo can also be embedded into other Tcl/Tk scripts to provide 13integrated on-line help. 14 15Info files provide a robust hyper-text capability that is ideal for 16on-line help. The format is suitable for both tty-based and graphical 17systems. In addition, the same texinfo source can produce both a nice 18hardcopy manual (via TeX) and online browsable info files. All GNU 19programs (e.g. the editor emacs, the compiler gcc, the C library 20glibc, and the shell bash, available for free from 21ftp://prep.ai.mit.edu/pub/gnu) are documented in this way (via 22texinfo). Info files usually reside in the directory /usr/info or 23/usr/share/info or /usr/local/info or /usr/local/gnu/info on Unix 24systems. 25 26 27How to get it? 28-------------- 29 30TkInfo up to version 0.7-beta was available by anonymous ftp from: 31 ftp://ptolemy.eecs.berkeley.edu/pub/misc 32 33TkInfo versions 0.8 and later are available from 34 http://math-www.uni-paderborn.de/~axel/tkinfo/ 35 36 37What is required to install and run it? 38--------------------------------------- 39 40In order to unpack the gzipped tar archive tkinfo-x.y.tar.gz, you need 41the programs gzip and tar. These are available for all operating 42systems and can be downloaded from your favorite freeware archive. 43 44You need an interpreter (usually called wish) for Tcl7.4 and Tk4.0 or 45better on your system. Tcl/Tk is a language to quickly develop 46portable graphical user interfaces, among other things. If you're 47running the X Window system under Unix, you can check your version of 48Tk with the shell command 49 50 echo 'puts $tk_version; exit' | wish 51 52If you get an error or a version smaller than 4.0, check if you have a 53program called wish4.0 or wish4.1 or wish8.0 or similar. If yes, then you 54need to change the first line of the tkinfo script to 55 56#!/usr/local/bin/wish4.0 57 58or whatever the path of the correct wish is. If no, then you need to 59install the newest version of Tcl and Tk first. They are available for 60free via anonymous ftp from ftp://ftp.smli.com/pub/tcl . 61 62If you only have an old version of Tcl/Tk (prior o Tcl7.4/Tk4.0) 63installed on your system and you can't or don't want to upgrade, you 64can use tkInfo version 0.7-beta. 65 66In order to use tkInfo, you also need some info files to read, or else 67you are restricted to the tkInfo documentation itself. I can recommend 68the info files that come with the GNU C library glibc; they provide an 69excellent introduction to advanced C programming. TkInfo (and most 70other info readers) can deal with gzip and bzip2 compressed info files 71transparently, so you can keep everything in your info directory 72compressed at all times. 73 74The "Manual" and "Apropos" functions of tkInfo require tkman to be 75installed on your system. It is a browser for Unix man pages. TkInfo 76works perfectly fine without TkMan, but you do want this program, it 77is by far the best reader for Unix man pages. It's at 78 ftp://ftp.cs.berkeley.edu/ucb/people/phelps/tcltk/ 79and you need to fetch both tkman and rman. In order for tkinfo to be 80able to communicate with TkMan, you have to use a secure X server, 81which is easiest accomplished by having the X session managed by xdm. 82 83 84How to try it out? 85------------------ 86 87Simply type 88 89 ./tkinfo 90 91in the tkinfo directory. If the node "(dir)Top" shows up with a 92listing of several info files, you're fine. If some error message 93appears and the tkInfo docs show up, tkInfo couldn't find a directory 94containing an info file called "dir" in its default search path. If 95there is such a directory somewhere on your system, you need to tell 96tkinfo about it: either specify it in the environment variable 97INFOPATH or with the command line option -dir (see below). 98 99 100How to install it permanently? 101------------------------------ 102 103On Unix, put the program in a directory that's in your searchpath, 104e.g. /usr/local/bin, and put the manpage tkinfo.1 in your man 105directory, e.g. /usr/local/man/man1. 106 107For considerably faster startup, you can also change the first line of 108the script to 109 110#!/usr/bin/wish 111 112or whatever the full pathname of the correct wish binary is. 113 114TkInfo uses the environment variables INFOPATH (a colon-separated list 115of directories to search for info files) and INFOSUFFIX (a 116colon-separated list of suffixes to try, one of which should always be 117"") to locate info files. The default for INFOSUFFIX should be fine 118and there's no need for you to set that variable. The default search 119paths for info files are defined in the procedure tkiInit() in the 120variable defInfoPath. If these are not appropriate for you, you can 121either set INFOPATH appropriately, pass directories to tkinfo on the 122command line with "-dir", or edit the defaults in defInfoPath once and 123for all for your site. For faster startup, don't include more 124directories than necessary in that variable. 125 126Initially, TkInfo searches for an info file called "dir" in the info 127search path. If there is one, tkinfo will display it; on a well 128maintained system, this info file contains links to all other 129installed info files. If no dir file can be found, you can still read 130other info files: simply type 'g' and then enter the info file's name, 131either its full pathname or just its filename if it can be found in 132the info search path. 133 134If you want, you can attach an icon to the program class TkInfo in 135your window manager's startup file. I use xman.xpm which looks 136appropriate and exists on most systems. 137 138For information about how to customize the appearance of tkInfo, start 139the program, hit "h" and choose the "Customization" entry. 140 141 142Any specific information for Win95/WinNT users? 143----------------------------------------------- 144 145You will probably want to start tkInfo in the following way: 146 wish42 \wherever\tkinfo -dir c:\somewhere\info 147if all your info files are stored in the directory c:\somewhere\info 148(use whatever version of wish you have, obviously). Once inside the 149program, all paths should be given to tkinfo in the unix notation with 150"/" as separator. If you transport info files to your Windows machine, 151make sure that the long filenames survive intact, or else many links 152won't work. You probably don't have a middle mouse button; in order to 153display a node in a new window, you can use the undocumented 154"Shift-Click" on the link. The `!' command to execute a tcl command 155won't be very useful since the output is sent to stdout which is 156discarded by Windows. Also, `M' to start tkman is useless since tkman 157doesn't run on Windows. Please let me know if there are any other 158issues. 159 160 161Any specific information for Macintosh users? 162--------------------------------------------- 163 164Actually, I haven't tested tkInfo on Macs, so I can't offer any 165help. Let me know if you try it out. I know for sure that transparent 166treatment of compressed info files won't work on Macs since they don't 167support pipes. 168 169 170Version History 171--------------- 172 173Version 2.11 (17-October-2017): Documentation patches by Debian 174maintainer Peter Blackman. 175 176Version 2.10 (12-October-2017): Correctly bind Shift-Tab, thanks 177to Gerald Williams. 178 179Version 2.9 (04-October-2017): Correctly deal with "Local Variables:" 180info nodes, thanks to Gerald Williams. 181 182Version 2.8 (22-March-2004): Removed a subtle bug found by Haakon 183Riiser; now works correctly with identically named info files in 184different directories. 185 186Version 2.7 (21-March-2004): Will now also accept a menu item of the 187dir file on the command line (closes Debian bug #149387). Included 188/usr/share/info in default directory list (for Debian). Some 189documentation updates. Now includes TkInfo.xpm from Debian (under 190GPL). Options are now read from system-wide app-defaults file as 191advertised. 192 193Version 2.6 (25-June-2003): Minor fixes needed for Tcl/Tk 8.4. This 194still works with older versions of Tcl/Tk. 195 196Version 2.5 (30-June-1998): Now works cleanly in embedded mode, as 197explained in the source. Don't allow 'quit' if in embedded mode. 198 199Version 2.4 (27-January-1998): Removed bug introduced in 2.2 which 200would ignore all but the first entry in INFOPATH. Improved handling of 201initial info-file-not-found error. 202 203Version 2.3 (19-January-1998): Tear-off menus now work cleaner under 204tk8.0. 205 206Version 2.2 (12-January-1998): Can now deal with bzip2 compressed info 207files. Bzip2 compresses better and, if you have enough memory, is 208faster than gzip. Fixed bug in handling of multiple info 209directories. Fixed bug where dir would show up twice in history list. 210We now deal correctly with Windows-style file and directory names that 211start with a volume letter. 212 213Version 2.1 (25-November-1997): Tear-off menus don't work properly under 214tk4.0 - disabled. 215 216Version 2.0 (18-November-1997): Meta now accesses menubar just like 217Alt. Several internal cleanups. Index lookup bugs fixed; index lookups 218now match against the current info file's node names as well. 219Continue-Search (^s) now beeps and stops when the whole file has been 220searched. Can now deal with identically-named info files in different 221directories. Tab and Ctrl-Tab now work as intended. History entries 222can be accessed with Alt-h-<number>. Better status line, with more 223feedback messages. All tear-off menus now fully usable. Insert page 224separators during page-wise scrolling (turn off with command line 225option +pagesep). Attempt to scroll at end of node results in jumping 226to successor node (turn off with command line option +scrollthrough). 227 228Version 1.9 (20-October-1997): History mechanism remembers position in 229node and last selected link, like the "last" command. Minor cosmetical 230cleanups. 231 232Version 1.8 (24-September-1997): We can now do Index lookups with 'i'. 233The prompt area now disappears upon any action, not just ^g. 234Various other minor cosmetical changes and bug fixes. 235 236Version 1.7 (18-August-1997): Raise the target window after a 237redirect. Add key bindings of ],[,{,} as in XEmacs. If foo and 238foo.info both exist, prefer foo.info since foo is probably a directory 239or an executable. XEmacs info pages often use "()foo" instead of 240"foo". We can deal with that now. The "logical successor" command 241should never descend into the menu of Index nodes. Fixed another bug 242under Tk4.0. 243 244Version 1.6 (15-August-1997): Fixed a bug in the balloonhelp system. 245We now have a manpage. Link highlighting now correct. Sun Keypad keys 246now bound. Optional display of current info directory (command line 247option -showdir). 248 249Version 1.5 (16-June-1997): Transient menu works now under Tk4.0 as 250well. Sun specific keysym bindings removed so that script works on 251Win95 again. Help appears in its own window now. Remember position in 252node and last selected link for "last" command. Can cycle links with 253Tab like lynx. Added Usage tips. All lengthy actions now interruptible 254with ^G. Backwards search. Previous inputs in the prompt (search and 255goto) window can now be recalled with Crsr Up. Old nodelook command 256line option changed to linklook; new command line options searchlook 257and highlight. 258 259Version 1.4 (04-Apr-1997): History mechanisms added. More 260buttons. "Toggle" command removed; "Top" command added. 261Debian-faq.info uses "Previous" instead of "Prev" in the header, and 262^L characters. We can now deal with that. Hitting Space repeatedly 263walks through a complete info file in logical order. Backspace walks 264backwards. Balloonhelp. Right-click on link sets up a "redirect 265window"; successive right-clicks will send their output to that 266window. Middle and Right-clicks work as expected also on the 267buttons. Right-click brings up little menu. Searching is now done 268through the whole info file, not only through the current node. 269 270Version 1.3 (08-Mar-1997): backslashes in links (even at the end) work 271now (for latex.info). Correct status message after error. Search 272status messages improved. 273 274Version 1.2 (05-Mar-1997): Fixed --help. .Xdefaults customization now 275optional. -geometry now handled correctly in all cases. 276 277Version 1.1 (04-Mar-1997): If there's more than one info directory 278specified (with INFOPATH or with -dir), a new Directory menu will let 279you choose; D command removed. Now works with Windows and Macs. Search 280status messages fixed. Initial node name can now contain spaces. Now 281deals correctly with doubles in INFOPATH. Ctrl-2 didn't work 282correctly. m and f commands now implemented: allows for completely 283mouseless operation. All fonts, colors, etc. are now customizeable 284through .Xdefaults. Customization documented in new info node in the 285docs. 286 287Version 1.0 (20-Feb-1997): if a node can't be found, try case 288insensitive search. Can now do apropos search using tkman. Ctrl-2 289opens second menu entry in new window. Keep search status messages 290visible. From Frank Leitner: better, customizeable fonts, pointer 291changes over links, scrollbar should not vanish upon shrinking the 292window, help menu moved to the right. 293 294Version 0.9 (17-Feb-1997): node names are case sensitive! (someone 295tell that the author of ipc.info...) Delete key works now. 296Crossreferences inside or after menus work. Can now specify an info 297file to load on the commandline. No problems with special characters 298in node names anymore. Case-insensitive search and Ctrl-s 299fixed. Backslash in regexps fixed. Now distributed as a single tcl 300script. Scrolling with button-2 and selecting with button-1 now works 301as expected even over links. Can deal with Xemacs-style menu 302entries of the form "* GNUS::." Accept new command line options -help, 303-iconic, and -geometry; -lines removed. Docs improved and source code 304roadmap added. 305 306Version 0.8 (6-Feb-1997) now maintained by Axel Boldt. Works with 307tcl7.4/tk4.0 or later. Older versions of tcl/tk are no longer 308supported. Middle-click on link will bring up the node in new 309window. More keybindings and minor improvements to the interface. New 310command line option -lines. Docs updated. 311 312Version 0.7-beta (23-Dec-1993) adds many new features including a menu 313bar, links to tkman, reorganized files, "gz" compressed file support, 314improved searching interface, better docs, and many other minor 315improvements. 316 317Version 0.6 (27-Aug-1993) adds a couple new features, and a mod so 318that menu items and xrefs trigger on ButtonRelease events rather than 319ButtonPress in order to work around a weird interaction with the tk 320text widget. The toplevel widgets use classname "TkInfo". Also adds 321text searching, much more documentation. Modified to support tcl7.0. 322 323Version 0.5 adds several new features including: several new scrolling 324commands, new menuing commands; a "node look" that changes how 325highlighting is performed (mainly for B/W screens); a menu of 326top-level info "dir"s; much better error messages and popup error 327windows; optional display of headers. 328 329Version 0.4 fixes some bugs with auto loading and replaces the unusable 330"-file" option with "-infofile". It provides a work around for Ultrix sh. 331 332Version 0.3 fixes some bugs with the key bindings and 333adds support for compressed info files. 334 335 336What's left to do? 337------------------ 338 339TkInfo is still incomplete. The following is a list of things to do. 340Feel free to send in patches. 341 342- Add option to allow all the "*note:" to not be drawn on the screen, 343 or change them to "see also". 344- Implement stat'ing of the source files with auto-reload. 345- Figure out some heuristic for timely un-loading files to save memory. 346- Incremental search through the whole file. Glimpse search through 347 the whole info tree. 348- A tree view of the info file should be possible, maybe similar to 349 xoobr. 350- Bookmarks and Annotations support like Xemacs. Bookmarks should be 351 organizable in folders and subfolders. 352- In short, implement everything from tkman, the mother of all tk 353 scripts, and XEmacs info mode, the mother of all info browsers. 354 355 356Who wrote it? 357------------- 358 359Kennard White <kennard@ohm.eecs.berkeley.edu> 360 (up to version 0.7-beta) 361Axel Boldt <axelboldt@yahoo.com> 362 (beginning with version 0.8) 363 364Please report any and all problems you have with this program to 365axelboldt@yahoo.com. 366 367 368License? 369-------- 370 371TkInfo is free. The TkInfo script itself is covered under a BSD-style 372license (start the program, type 'h' and go to "Copyright"). The man 373page and the pixmap were contributed by the Debian project and are 374covered by the GPL. 375 376