- 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.
- 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 Kolås
- Andras BALI
- Debian Package
- manual page
- Karsten Hilbert
- Martin van Beilen
- various todo/done issues in the code
- Andrew J Weber
- 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..
- gtk 2.0
- 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,.. (
- overnode
)