# notes(3)

[Home] [Commands] [Variables] [Macro-Dev] [Glossary]

## NAME

notes - Tagged hierarchical database of notes.

## SYNOPSIS

notes
notes-file
notes-close
notes-context
notes-instant

## DESCRIPTION

notes is a note database that allows miscellaneous text information to be organized and retained in a database. Each note is has a label associated with it which may be hierarchically organized into a tree of notes.

Information that a programmer would typically put into a notes database may include:-

- How to mount a CD-ROM on a remote UNIX system.
- Boot strapping Linux.
- Configuring the C compiler.
- etc..

This information would be hierarchically organized by system, function etc. The content typically represents a snippet of information from a diverse range of subjects that probably needs to be accessed infrequently but organized in such a way that it may be located quickly when required.

On running notes then a new frame is created (retaining the existing window configuration) and the user is prompted to create a new notes file with their user name, accept this option and a new notes file is created in the JASSPA home directory. The user is presented with a split view window as follows:-

    +-------------+-----------------------------------+
    | + user Pad  |Text associated with the note.     |
    |*  +- info 1 |                                   |
    |   +- info 2 |Anything may be typed in here.     |
    |             |                                   |
    |             |                                   |
    |             |                                   |
    |             |                                   |
    +=User Pad====+=*User Pad: info 1* ===============+
    |                                                 |
    +-------------------------------------------------+

The left pane comprises a tree of note titles, the right pane contains the text note body of the selected note title. Free form text may be entered into the text body pane.

Notes are add and removed from the notes tree pane. A mouse right click presents a menu of options that operate on the current node as follows:-

Tidy Tree - `t`/`return`

At the current node then close the note hierarchy. `t` will close the node a RETURN at the node will open or close it, depending on the current state.

Rename Note - `r`

Edit the name of the note, a dialog is presented and a free form label of the note may be edited.

Delete Note - `delete`

Delete the note from the tree. This deletes the label and the note. if the note has any children then all children are deleted.

Cut Note - `x`

Delete a note, including any child notes from the tree, allowing the cut information to be pasted back to a different location in the tree. (See Paste Note).

Paste Note - `v`

Inserts a cut note (or note tree) back into the list at the current position.

Move Note Up - `u`

Move a note up the tree hierarchy, at the same level.

Move Note Down - `d`

Move a note down the tree hierarchy, at the same level.

Insert New Note - `insert`

Insert a new note as a child of the current node. The user is prompted for the name of the note, the name may be entered and the cursor is left in the body pane for text entry.

Forward Note - `n`

Moves to the next note. Within the note window then C-page-down similarly advances to the next note.

Backward Note - `p`

Moves to the previous note. Within the note window then C-page-up similarly advances to the previous note.

Search Forward - `esc s`

Search in a forwards direction from the current note.

Search Backward - `esc C-s`

Search in a backwards direction from the current note.

Open Notes File

Opens a new notes file, the user is explicitly prompted for the name of the notes file to open.

Save Notes File

Saves the notes file to the file system.

Hide Notes

Hides the notes window and restores the exiting buffer windows prior to the notes invocation.

To quit notes then delete the buffer using C-x C-k or run the command notes-close command.

The notes file may be saved like any other buffer using save-buffer(2) (`C-x C-s`). This saves the tree and the notes. Auto-save is automatically enabled.

notes-close closes the notes frame and returns the user to the existing windows, retaining the same screen layout. The notes file is still resident in the editor and may be restored with a notes command.

notes-file opens a new notes file, the user is explicitly prompted for the name of the notes file. There are no restrictions on the number of notes files that may be created. notes-import-skwyrul imports a Skwyrul index file (`skwyrul_l.htm`) into MicroEmacs notes format. This command is not available on line as it is likely to be used very infrequently. To load the command then load the file `notesutl.emf` and execute the buffer execute-buffer(2) (`esc x execute-buffer`). The command may be explicitly run using `esc x` `notes-import-skwyrul`.

notes-instant creates a new note under the Instant Notes folder, it is designed to enable the user to jot something down quickly and in a safe place. The note is automatically named and is the fastest method of adding a note. This may be invoked outside of the notes window, on invocation then a new notes node is created and the content of the note added.

notes-context is similar to notes-instant but a bit more advanced and allows a note to be created that is associated with a buffer. When working on a file (source code, document etc.). It is sometimes useful to be able to associate some information with that file, typically this is done with something like a `TODO:` comment, however this is not always appropriate. notes-context attempts to address this, it works from the current buffers filename path and attempts to locate an existing note for it, if no note is found then a new one is created. When locating a note it looks down the path. The command may be invoked outside of the notes window, on invocation then a new notes node is created and the content of the note added.

## Text Hilighting

Blocks of text within the notes body may be highlighted. The special constructs of `>format>` ... `>end>` located on the left margin introduce and close a highlighting style. i.e.

    >c>
    /* This is a C code insert */
    >end>

    >perl>
    # This is a perl insert
    >end>

The keywords that are supported are:-

`>emf>` - MicroEmacs macro files.
`>pseudo>` - Pseudo code.
`>bnf>` - BNF.
`>c>` - C programming language
`>cpp>` - C++ programming language
`>perl>` - Perl programming language
`>tcl>` - TCL programming language
`>shell>` - UNIX shell scripts
`>make>` - Makefile scripts
`>end>` - Ends the highlighting block.

## NOTES

notes is a macro implemented in `notes.emf`. The database information is stored in a single file user.enf. The file comprises both the index and the text.

The implementation of notes uses narrow-buffer(2) to hide information for each note page. The Registry is used to store and display the note tree labels.

## SEE ALSO

osd-search(3).

(c) Copyright JASSPA 2009
Last Modified: 2009/10/04
Generated On: 2009/10/12

</HMTL>