HIERARCHICAL NOTEBOOK
	
	hierarchical notebook (hnb) is program to organize, many kinds of data
	in one place, for example adresses, todo lists, ideas, book "reviews",
	brainstorming, organizing a speech, making a  structured packing list 
	random notes, and probably many more I  haven't thought of yet..
	

HOW TO GET hnb?
	new releases and information about hnb will appear at hnb's homepage
	
	http://sourceforge.net/projects/hnb/
	
INSTALLING hnb
	if you've got a source release you must first compile hnb,..
	see further down in this file for instructions.
	
	Windows
		the windows binary distribution, is a .zip file	containing the
		executable, this readme file, an sample database, and the 
		licence for hnb's use. the binary is standalone, so you can 
		just copy it wherever you'd like it to reside.
	Linux 
		the linux binary distribution is a .tar.gz file	containing the
		executable, this readme file, a an sample database, and the
		licence for hnb's use. The binary is dynamically linked 
		against ncurses just place it anywere in your path.. like
		/usr/bin, /usr/local/bin or /home/user/bin
		
COMPILING hnb
	
	hnb uses automake/autoconf installing it is as simple as:
	
	./configure
	make
	su
	(enter root password)
	make install
	
	
USAGE DOCUMENTATION
	If you start hnb without any parameters and no default database, or
	with the -t or --tutorial option, hnb will load a special tutorial
	database.
	
CHANGELOG
	1.8.1
		fixed the movement behaviour when going to the parent node,.. the screen jumped too much
	1.8 30 aug 2001
		changed the default window scrolling behaviour to move the cursorbar instead of the whole screen when possible
		integrated libxml support changes from orang@imonk.com
		added flag to keep whitespace when loading xml file
	1.7 6 jul 2001
		made the tutorial saveable, if opened in place of the default db
		fixed sorting segfault
		bsd curses workaround,.. does it work?
		changed percentage calculation algorithm
		cleanup of the node drawing code
		integrated priorities
		integrated Andrew J. Webers libxml2 import/export filters
		preferences items
			mouse
			bullet mode
			prefs revision checking
			priority colors
			bold mode colors configurable
			keyboard redefinition
	1.6 25 may 2001
		generic xml import and export filter
		preferences
		color settings
		todobox fixes
		percentage calculations fixes
		xml tag shortcuts
		macrofied node.<c|h>
	1.5 19 may 2001
		switched to autoconf/automake
		joining/splitting of nodes.
		hooks for priority setting
			(press ^P on a todo node)
		added import/export of xml
		optimizations
		update to manpage
		update documentatino
		default format is now xml
		commented all headerfunctions
	1.4 16 may 2001
		added preferences saving/loading
		replaced tab char in display with a space.
		removal of temporary node, when issuing insert in a new leaf.
		cli mode, for use in scripts etc.
		pipe export by Karsten Hilbert
		automatic generation of README.html
	1.3 14 may 2001
		bloat
		various feedback changes
		debug mode for my own sake
		added collapseviews
	1.2 12 may 2001
		added mouse navigation
		code cleanups
		improved navigation in edit mode
		improved pgup/pgdn
	1.1 10 may 2001
		ran all the files through indent
			indent -bad -bap -br -ts4 -ce -ci4 -i4 -cli4 -cbi0 -ss -di0 -nbc -npsl -T Node -brs -ip4 -bbo --line-length78 
		changed the editor cursor
		minor code tweaks and cleanups
		added manpage by Andras BALI
		switched to bold indication of subnodes
		fixed grabbing of nodes (copy/move)
		improved tree.c, multiple trees are now possible
	1.0 21 april 2001
		changed ctrl+space for marking to ctrl+g in win32 port
		bullet system for all nodes ( +/- [X] [ ] )
		added copying feature
		better user feedback when moving
		various fixes
	0.9 15 april 2001 end of easter holdidays
		undefined keyboard debugging in win32 port
		added in-binary tutorial, and export mode for the include file
		changed curses mode to raw
		upon request from Marck Rintsch, ctrl+s now saves the file
		added more visual feedback when saving, quitting and such
		added an standard bullet on all entries.
	0.8 15 april 2001
		ascii export
		html export
			(doesn't escape any html by itself)
		latex export
			doesn't work for deeper nesting levels than four
		postscript export
			based on the latex export
			uses system calls and requires latex, and dvips
		loading(insertion) of an external file into the db
		added done percentage
	0.7 13 april 2001
		rearranged input structures
		added todo checkboxes
		added error display
		remade the help system
		fixed resizing
		made search case insensitive
		refined search control interface
	0.6b 11 april 2001
		the guadec hacked fixes on strics computer
		
		worked on search ability
		fixed the display of confirm mode in curses ui.
		added reparenting
		cleaned up node_remove
		 
		added load,save and display of todo in standard file format
		changed to bz2 format on distribution file
	0.5
		help item's update
		added insert in the interface
	0.4 march 2001
		added registry functions
		small bugfix for node recurse()  (go right, and to top)
		fixed tab'ing into children of empty nodes bug
		fixed wordwrap
	0.3 15.oct 2000
		first rendition of cgi-bin browser
		wordwrap
		added registry
		added resize functionality
		pageup/pagedown
		changes to help/confirming interface
	1.8.1
AUTHORS
	hnb authors
	
	yvind Kols       <pippin@users.sourceforge.net>
		project maintainer
	Andras BALI        <drewie@bigfoot.com>
		Debian Package
		manual page
	Karsten Hilbert    <Karsten.Hilbert@gmx.net>
		pipe export
	Martin van Beilen  <bln@simlab.dhs.org>
		various todo/done issues in the code
	Andrew J Weber     <orang@imonk.com>
		libxml2 import/export
BUGS
	slashes (/) inside nodes are not escaped correctly in cli mode
	bullets/todo boxes, doesn't check that the line is writeable (top of screen on multiline nodes)
TODO
	buffer limits
		they are high,.. but a really long node might crash it
	more entities on each node
		current entities:
			priority
			title/data
			todo item
			done/not done
		future items:
			created date
			modified date
			due date, for project planning
			details dialog for each node to modify such things
			cronological id
	purge todo items on lower levels
	shuffle action
	curses interface
		"context" menu for mouse mode
	cli interface
		make '/' inside node names appear correctly in pwd, and prompt
		maybe avoiding static buffers is even more important here than in the curses version (due to possible scripted input),.. but then I'd have to fix path.c as well.. <g>
	gtk 2.0
		start
	how to implement cloning
		linked list
			add a flag called ghost
			add a Node *ghost; var to all nodes.
			the node that sets up the symlink is set F_ghost, and Node *Right points to the children of the original node.
			the destination points it's Node *ghost to the node that referred to it.
			if a new ghost is made of any of the two other nodes, it sets it's own F_ghost attribute. Follows the links to the originating ghost, (->child -> parent) sets it's *right node pointing to it, follows the *ghost link until the 0, and hooks itself in there.
			when removing the original node you reparent the children to the next node in the link list, and removes the F_ghost attribute from that node.
			when removing one of the ghosts, you must tidy up the ghost link list, and free that node(but none of it's data)
		in the ascii data format just say node_no(link) is linked here
		the userinterface should have no notion of it's path,.. but perhaps a node history...
		functions that must be changed
			node_swap
				if a node with F_ghost is moved, don't reparent children.
			subtree_copy
				nahh, tough one,.. just make a duplicate that isn't linked with the rest? TBD
			node_recurse
				ignore ghosts thereby avoiding loops
			node_backrecurse
			node_insert_up
			node_insert_down
			node_remove
	make a dead tree copy of the source for examination
		enscript *.h *.c -E  --output uts.ps -U 2 -j
	backspace/delete behaviour, experiment to find good solution
	win32 port
		make sure it works
		check key behaviour
	html export
		make the html legal,.. ( <li> overnode <ul> <li>hei </li><li>der</li> </li> )
