Notebook [@version@] Release Notes Start Notebook and select "Topics" from the "Help" menu for documentation on how to use Notebook. The Notebook Home Page is at http://www.wjduquette.com/notebook. This version of Notebook is fully usable; I use it myself, daily. However, it contains a number of experimental and undocumented features, and should be considered a work in progress. Some of the undocumented features might be changed, removed, or replaced in the next version. Meanwhile, though I'm not aware of any bugs it's likely some are lurking; and there are many features and enhancements I've not gotten to yet. Please don't be shy about telling me about problems you have or features you'd like to see. You can send me information by e-mailing me at will@wjduquette.com; or, better yet, join the Notebook mailing list (for details, see the Notebook Home Page.) Please do not post your problems only on comp.lang.tcl; I'll see them, but I'm not always able to respond to them there. Installation This version of Notebook is delivered as an executable for Windows systems, as an executable for Mac OS X systems running X11, and as a Starkit for all other systems. To use Notebook on a Windows system, just execute notebook.exe. You might wish to associate it with the ".nbk" file type. For other systems, you'll need to download "notebook.kit" and the TclKit runtime for your platform from http://www.equi4.com/pub/tk/8.4.9. Put the TclKit runtime on your path, and mark notebook.kit executable. For Mac OS X, you can download the "notebook" executable, or run it as a Starkit; in either case you'll need the OS X tclkit and X11. X11 is available from Apple, and is distributed with OS X 10.3. Alternatively, you can install the latest Aqua version of Tcl/Tk, available at http://www.maths.mq.edu.au/~steffen/tcltk/TclTkAqua/, and run using the included "wishkit" instead of a standard tclkit. However, Tcl/Tk Aqua still has some rough edges. The basic functionality is there, though -- I use the Aqua version daily. If you have any questions, bug reports, suggestions, or comments, feel free to contact me, Will Duquette, at will@wjduquette.com, or add comments to the "Notebook App" page at the Tcler's Wiki, http://wiki.tcl.tk. Changes in Version 2.1.0 * New Markup: You can have a page link whose link text differs from the page name. For example, you can link to your "Home" page as "My Home Page" using the following markup: [My Home Page|Home] * Support for international fonts. This version of Notebook includes all of Tcl's Unicode encodings, and should therefore support a variety of character sets, including Chinese. * NOT YET DOCUMENTED. New Feature: Magic/Load This Page will load the Tcl code from the current page even if you're currently editing the page. In this case it will save your edits before loading the the code; you'll remain in the editor. * New Feature: Notebook now supports the #unpre directive, which allows multiple #pre/#unpre blocks of preformatted text on a page. * New Feature: Notebook now supports the #unTcl directive. #Tcl/#unTcl work like #pre and #unpre, but bracket Tcl code instead instead of preformatted text. User Code pages can now have multiple blocks of Tcl code interspersed with normal prose. * NOT YET DOCUMENTED. New Feature: Edit/Copy Page submenu. The items on this menu copy a page's content to the clipboard as plain formatted text, raw markup, markup with macros expanded, HTML body text, or as a complete HTML page. * NOT YET DOCUMENTED. New Feature: Page/Export submenu. The items on this menu export a page's content to a text file as plain formatted text, raw markup, markup with macros expanded, HTML body text, or as a complete HTML page. * NOT YET DOCUMENTED. New Markup: #meta ** TBD: Describe * NOT YET DOCUMENTED. New Markup: #data .. #undata ** TBD: Describe * NOT YET DOCUMENTED. New User Interface Actions ** [copy-page-as-plain-text] ** [copy-page-as-raw-markup] ** [copy-page-as-expanded-markup] ** [copy-page-as-html-page] ** [copy-page-as-html-text] ** [copy-this-page-as-plain-text] ** [copy-this-page-as-raw-markup] ** [copy-this-page-as-expanded-markup] ** [copy-this-page-as-html-page] ** [copy-this-page-as-html-text] ** [export-page-as-plain-text] ** [export-page-as-raw-markup] ** [export-page-as-expanded-markup] ** [export-page-as-html-page] ** [export-page-as-html-text] ** [export-this-page-as-plain-text] ** [export-this-page-as-raw-markup] ** [export-this-page-as-expanded-markup] ** [export-this-page-as-html-page] ** [export-this-page-as-html-text] * NOT YET DOCUMENTED: New Notebook Commands ** [format] ** [formatas] ** [savefile] ** [getsavefile] ** [parse] * Bug fix: Selecting File/Close Window from the Message Log window now closes the window as expected. * Bug fix: Selecting "Cancel" from the Open Notebook or New Notebook dialogs no longer causes Notebook to halt. (This only happened if open-notebook or new-notebook were invoked from the Welcome window.) * Bug fix: If load-page finds an error in the loaded page, the error is now written to the status line and the Message Log window. * Bug fix: You can now rename page "Fred" to "x-Fred" without error, and you can now delete "Fred" without deleting "x-Fred" as well. * Bug fix: Pressing the "Save and Continue Editing" button in the Page Editor no longer causes other open Notebook browsers to pop up or take the focus unexpectedly. * Bug fix: Previously, if you edited a page and then immediately tried to find a string on that page, the search always failed because the cursor was at the bottom of the page. In this case, Notebook now starts searching from the top of the page, as you'd expect. * Bug fix: In the page browser, the behavior of the Home and End keys was erratic. Home now scrolls to the top of the page and End to bottom, as expected. * Bug fix: Previously, pasting text into the page editor could leave the insertion point off-screen. The page editor now scrolls as necessary after each paste. Changes in Version 2.0.3 * Bug fix: The default notebook pages now define the default editmenu, as described on the "editmenu" help page. * Bug fix: While editing, Control-e now just moves the cursor to the end of the line; it no longer tells you to finish editing first. * Bug fix: In the page browser, bullets now have the same foreground and background color as normal text. * Bug fix: Deleted the obsolete "Messages" page from default.nbk. * Enhancement: All user interface actions are now Notebook Commands. Changes in Version 2.0.2 * Bug fix: Help/Release Notes now displays the release notes properly. * Bug fix: The Preferences dialog now pops up properly on win32. * Bug fix: Opening the Help Browser no longer causes "commit" errors to be generated every second or so. Changes in Version 2.0.1 * The Notebook file format and text markup conventions have not changed. Notebook V2.0.1 can read and edit Notebook V1.1 notebook files, and vice versa. * If you invoke Notebook without specifying a notebook file name, you'll now get a window that welcomes you to Notebook and explains your options, instead of the blank window you got in previous versions. * Notebook now supports having multiple windows open on the same or different notebooks simultaneously. * There's now a status/message line at the bottom of the window. Your [User Code] can write messages to the status line. * Notebook now prompts for input in the status line, instead of using dozens of little dialog boxes. At any time when prompted for input you can press Escape to cancel the transaction. * The internal architecture has been extensively cleaned up and rationalized, providing a better foundation for future enhancements. (The bulk of the work on Notebook V2.0.1 fell into this category.) * This version includes many changes designed to make Notebook run better as a native Mac OS X application using Tcl/Tk Aqua. In particular, it generally supports the standard Macintosh key commands when run on OS X. * The toolbars have been redone, and now use icons rather than text buttons. * Menu handling has been extensively redone. In particular, menu items are now disabled when invalid. No more guessing! * There's now a Window menu, to let you select the window you want. * There's now a Message Log window. Every message written to the status line goes to the Message Log. In addition, serious programming errors (whether in Notebook code or User Code) cause debugging information to be written to the Message Log. * The scheme for naming backup files has changes. Historically, Notebook has named backup files by appending a "~" to the end of the filename, a la Emacs. However, this doesn't work on Novell file systems, which don't allow long file names. (There are still systems in use that don't allow long file names?) Notebook now names backup files by replacing the file's extension with ".bak". Thus, if the original name adheres to the 8.3 standard, so will the backup file. Browsing Changes * The browser toolbar now has a "forward" button to match its "back" button, just like a web browser. * When browsing a page, the Up, Down, PageUp, and PageDown keys now scroll the display nicely, as you'd expect. * You can now choose whether page searching is incremental or not. If searching is incremental, the Search page will update with each character you type in the [Search Box] in the toolbar. You can enable incremental searching by clicking on the arrow button in the [Search Box] and selecting "Incremental Search" from the resulting menu. Editing Changes * There's now an Edit menu with Undo/Redo/Cut/Copy/Paste. This menu is active whenever text can be edited or copied (e.g., it works in the [Search Box] as well as the [Page Editor].) * While editing a page, the toolbar now has buttons for Undo/Redo/Cut/Copy/Paste. * On X11-based systems, Notebook now uses the Windows keys for Undo, Cut, Copy, and Paste along with the more usual Unix key bindings. * The Edit Menu also supports Find, Find Again, Find and Replace, and Insert Page. * When cancelling a page edit, Notebook only asks you to confirm the cancel when the page has actually been modified. * There's now a user-definable context menu in the page editor; right-click to invoke it. The default set of pages defines it to have Undo/Redo/Cut/Copy/Paste and Insert Page, but you can redefine it as you like. User Interface Actions Almost everything you can do in Notebook is defined as a "user interface action"; these actions include [goto-page], [edit-page], [help-on], and so forth. You can access these actions from the menu system, and many have keystrokes or toolbar buttons assigned to them. But you can also enter them by name and bypass the menu system entirely. To enable the action command line, select File/Invoke Action, or press Ctrl+` (that is, press the Control key and the backquote key at the same time). User Code Changes * There are many new Notebook Commands. In particular, ** [editmenu] lets you define the editing context menu. ** [request] and [askfor] let you prompt for input. ** [insert] and [insert-page] let you insert text into the page you're editing. * A few of the original [Notebook Commands] have now been deprecated; see the on-line help for details and the equivalent new commands. * Many user interface actions have equivalent Notebook Commands; if so, the names are identical.