DocTree

showing a page with an image

This tool is about organizing notes. Therefore, a few thoughts about this subject.

Actually, since I built it with the documentation for some application at work in mind, it's about organizing documentation - hence the name: Doc for documentation and Tree for organizing. But anyway.

Obviously, notes (or any information) can be hierarchically organized. However, it is by no means always the optimal solution. Mainly because hierarchic organisations tend to be static, or fixed. Among others this means that reordering can be a painful process, and only leads to a new fixed state.

With this tool I try to alleviate this situation by providing the possibility to save the reordered information alongside the original ordering, and without duplicating the information. I also provide some basic tooling for reorganisation: the possibility to sort items on various levels according to their titles, and cut/copy/paste and drag&drop on the tree items.

The basic unit of organization is the collection of all the notes. In this tool this corresponds to a file. Such a collection can be

  • loaded
  • reloaded (for instance, to discard all changes from the last time it was saved)
  • started
  • saved
  • saved under a different name

These things are contained in the "Main" menu of the application:

main menu

Hide is a feature I copied over from Apropos and NoteTree with which you can minimize the application to the system tray using Ctrl-H. An icon is created so you can "revive" the application by clicking on it (any mouse button will do). I seemed useful at the time I developed it.

Switch Panes can be used to move back and forth from the tree to the text area.

Most things in the menus can also be done using the keyboard shortcuts mentioned. Some things can also be done from the toolbar (note the corresponding icons):

toolbar application functions

Notes

The basic parts of the collection are the notes - in this case, just pieces of text with a title. Functions for this are contained in the Note menu:

Note menu

The forward/back movement mentioned here means moving from note to note; in the tree this corresponds to downwards/upwards.

Not in this menu is the possibility to create a note under the current one by "splitting" the title; this is described here.

Views

Notes can (need) to be organized in what I call a view. Moreover, they can be organized in more than one way. That's what the view menu is about:

View menu

This type of movement means visually that you get a new tree and the notes can be in different places. More on this way to reorganize the information while keeping the original ordering here.

Tree

Views are realized in the form of trees that can be nested as deep as you like. The Tree menu contains functions that deal with this, like cut-copy-paste and controlling what is visible:

Tree menu

cut/copy/paste for tree parts can also be done using the toolbar:

toolbar tree functions

Text

Since notes are pieces of text, there are some basic functions that can be applied to their contents, like copy-paste (and for text undo/redo is also available) - hence the text menu:

Text menu

cut/copy/paste for text parts can also be done using the toolbar:

toolbar text functions

Format

I've also added functionality to make the texts nicer to read; see here


Funnily enough, when I was browsing through the Linux Mint Software catalog, I noticed an application that looks a lot like this one but more professional I guess - it's called CherryTree. It looks a lot more complex but it doesn't have that multi-hierarchy thing...

Exploring its options, it did inspire me to build a feature that I had totally overlooked: