Professional Documents
Culture Documents
Table of Contents
1. Introduction
1.1. About This Manual
1.2. Get Involved
2. Installation
2.1. Fedora
2.2. Debian
2.3. Ubuntu
2.4. Windows
3. Running from Source
3.1. Fedora
3.2. Ubuntu
3.3. Windows
3.4. macOS (Not Tested)
3.5. Additional Resources
4. Quick start
4.1. Interface
4.2. Node Management
4.3. Insert Objects
4.4. Save Your Notes
4.5. Export a Document
5. Files
5.1. Creating and Opening
5.2. Saving
5.3. Page Setup and Printing
5.4. Importing
5.5. Exporting
5.6. Command Line
6. Nodes
6.1. Creating Nodes
6.2. Managing Nodes
7. Text
7.1. Plain Text
7.2. Rich Text
7.3. Automatic Syntax Highlighting
7.4. Editing
7.5. Formatting
7.6. Search
8. Objects
8.1. Images
https://giuspen.com/cherrytreemanual/ 1/57
12/27/23, 6:18 PM Cherrytree User Manual
8.2. Tables
8.3. Codebox
8.4. Files
8.5. Links
8.6. Anchors
8.7. Table of Contents
8.8. Timestamps
8.9. Special Characters
8.10. Horizontal Rule
9. Settings
9.1. Text and Code
9.2. Text
9.3. Rich Text
9.4. Plain Text and Code
9.5. Tree 1
9.6. Tree 2
9.7. Fonts
9.8. Links
9.9. Toolbar
9.10. Keyboard Shortcuts
9.11. Miscellaneous
10. License
1. Introduction
Cherrytree is a free and open source, hierarchical, note-taking application. It can store text, images, files, links, tables, and
executable snippets of code. This application is under active development. Details regarding updates can be found in
Cherrytree’s changelog (https://github.com/giuspen/cherrytree/blob/master/changelog.txt).
Development
Visit the GitHub repository (https://github.com/giuspen/cherrytree) to get started.
Development is currently focused on porting from Python to C++/GTKmm. These changes are located on the master branch
within the future directory (https://github.com/giuspen/cherrytree/tree/master/future). The latest stable release can also be found
on the master branch. The pygi branch is a discontinued attempt to port to the python bindings for GTK3. It failed due to
missing pygi bindings for core clipboard functionality.
https://giuspen.com/cherrytreemanual/ 2/57
12/27/23, 6:18 PM Cherrytree User Manual
Developers can help by addressing bugs submitted to the repository’s issues page (https://github.com/giuspen/cherrytree/issues).
Testing
If you find a bug, check to see if it has already been reported within the project’s issues page
(https://github.com/giuspen/cherrytree/issues). If the error is unreported, create a new issue providing as much detail as
possible.
Writing
The web version of the Cherrytree user manual is written using asciidoctor (https://asciidoctor.org/) and is maintained on
GitHub (https://github.com/EllieBorden/Cherrytree-Manual). Contributors can help with writing and proofing, or by porting the
manual to a .ctb version intended to demonstrate Cherrytree’s potential.
Translation
Contact the project’s maintainer to add or edit translations.
Resources
Cherrytree repository (https://github.com/giuspen/cherrytree)
Donations
Join the Cherrytree Supporters (https://www.giuspen.com/supporters/)!
Donations are appreciated and can be made from the Cherrytree website (https://www.giuspen.com/cherrytree/#text-3).
2. Installation
Cherrytree is available for Linux and Windows.
2.1. Fedora
Fedora 30 and Earlier
How to install Cherrytree in Fedora 30 and earlier:
1. Download the latest installer that has a .rpm extension from the downloads webpage
(https://www.giuspen.com/cherrytree/#downl).
2. Open a terminal and change to the directory containing your installation file.
3. Enter the following command, replacing cherrytree.rpm with the name of your installation file:
https://giuspen.com/cherrytreemanual/ 3/57
12/27/23, 6:18 PM Cherrytree User Manual
Fedora 31
How to install Cherrytree in Fedora 31 and later:
2. Install Cherrytree
2.2. Debian
How to install Cherrytree in Debian:
2. Download python-gtksourceview2.
wget http://ftp.br.debian.org/debian/pool/main/p/pygtksourceview/python-gtksourceview2_2.10.1-3_amd64.deb
3. Install python-gtksourceview2.
4. Download Cherrytree.
wget http://www.giuspen.com/software/cherrytree_0.38.9-0_all.deb
5. Install Cherrytree.
2.3. Ubuntu
Cherrytree can be installed to Ubuntu via the Ubuntu Software application or the command line.
https://giuspen.com/cherrytreemanual/ 4/57
12/27/23, 6:18 PM Cherrytree User Manual
3. Click Add.
ppa:giuspen/ppa
Figure 2.01
7. Click Reload and enter your password to install updates from the newly added source.
11. Launch Cherrytree and confirm that the latest version of the application is installed by selecting Check Newer Version
from the Help menu.
2. Open a terminal and change to the directory containing the installation file.
3. Enter the following command, replacing cherrytree.deb with the name of your installation file:
https://giuspen.com/cherrytreemanual/ 5/57
12/27/23, 6:18 PM Cherrytree User Manual
2.4. Windows
How to install Cherrytree in Windows:
1. Download and run the latest installer that has an .exe extension from the downloads webpage
(https://www.giuspen.com/cherrytree/#downl).
5. (Optional) Select Create a desktop shortcut to create a shortcut to the application during the installation process.
6. Click Next.
If a new version of Cherrytree is installed over a previous version, an error may occur when trying to
overwrite dbus-daemon.exe. If so, skip the overwrite and restart your computer, then try again.
Skills Required
Command Line
Git
3.1. Fedora
This only works in Fedora 30 and earlier. PYGtkSourceView2, one of Cherrytree’s dependencies, is obsolete and removed
from Fedora in version 31 and later.
1. Install Python2
https://giuspen.com/cherrytreemanual/ 6/57
12/27/23, 6:18 PM Cherrytree User Manual
b. For multiple instances centralization. (Double-clicking a file that is already open displays the open document instead
of opening another instance of that file.)
5. Open a terminal, change to the directory containing your local copy of Cherrytree, and run:
python2 cherrytree
3.2. Ubuntu
1. Cherrytree requires Python 2.7. Open a terminal and check your current version of Python using the command:
python2 --version
2. If a variant of Python 2.7 is not returned, install it by running the following command then check the version again:
b. For multiple instances centralization. (Double-clicking a file that is already open displays the open document instead
of opening another instance of that file.)
https://giuspen.com/cherrytreemanual/ 7/57
12/27/23, 6:18 PM Cherrytree User Manual
6. Open a terminal, change to the directory containing your local copy of Cherrytree, and run:
python2 cherrytree
3.3. Windows
Steps 1-8: Installing Python2.7 and adding it to environment variables.
Steps 9-16: Installing Cherrytree dependencies.
Steps 17-20: Configuring the Cherrytree directory.
2. Download and run the Windows x86 MSI installer version, then follow its installation steps.
3. (Optional) Go to the folder where you installed Python 2.7 and rename the python application to python2 to avoid
conflicting with Python3.
7. Click New then paste the path of your Python 2.7 installation into the text field.
11. Open the bundle, move into the bin folder, then copy its path and add it to your environment variables.
For example, if you move the bundle into your C: drive, your path should look like C:\gtk2\bin .
13. Run the installation file and follow its steps to install. Ensure PYGtkSourceView2 is toggled on the Custom Setup page.
Figure 3.01
https://giuspen.com/cherrytreemanual/ 8/57
12/27/23, 6:18 PM Cherrytree User Manual
15. Unzip (https://www.7-zip.org/) the folder and move the content from C_Python27_Lib to the Lib folder within your Python
2.7 installation.
16. (Optional) Open Command Prompt and install dependencies for additional functionality using the commands:
19. Extract its content and move the 7za.exe file into the root folder of your local Cherrytree directory.
20. Open Command Prompt, change to the directory containing your local copy of Cherrytree, and run:
python2 cherrytree
https://giuspen.com/cherrytreemanual/ 9/57
12/27/23, 6:18 PM Cherrytree User Manual
3. Install Cherrytree’s core dependencies using Homebrew and the following commands:
4. (Optional) Install dependencies for additional functionality using PIP (a package manager for Python):
a. For multiple instances centralization. (Double-clicking a file that is already open displays the open document instead
of opening another instance of that file.)
6. Open a terminal, change to the directory containing your local copy of Cherrytree, and run:
python2 cherrytree
4. Quick start
This quick start guide covers the following material:
User Interface
Node Management
https://giuspen.com/cherrytreemanual/ 10/57
12/27/23, 6:18 PM Cherrytree User Manual
Inserting Objects
Saving Files
Exporting Documents
4.1. Interface
Cherrytree’s interface consists of four sections, highlighted in Figure 4.01.
Figure 4.01
1. Menu Bar
The menu bar contains the following menus:
Edit - Application preferences, basic copy and paste features, and object insertion features.
Bookmarks - A list of bookmarked nodes. Nodes can be added to bookmarks by right-clicking the node within the tree
view and selecting Add to Bookmarks.
Import - Cherrytree can import from a variety of sources including KeepNote, NoteCase, Tomboy, HTML files, others.
Export - Cherrytree documents can be exported to HTML, PDF, and Plain Text.
Help - Contains Check for updates, an About section, and a link to the online manual.
2. Toolbar
The toolbar contains options for managing nodes, formatting text, and inserting objects.
https://giuspen.com/cherrytreemanual/ 11/57
12/27/23, 6:18 PM Cherrytree User Manual
3. Tree View
Cherrytree’s tree view shows the document’s hierarchical structure of nodes.
4. Editor
The editor is used to read, write, edit, and delete notes. Click and hold the divider between the tree view and editor, then
drag the mouse left or right to resize the two windows.
Interface Options
Most interface options exist within the View menu, located in the menu bar.
The size of the toolbar icons is enlarged within Figure 4.01. Icon size can be increased by selecting Increase Toolbar Icon
Size in the View menu or decreased with Decrease Toolbar Icon Size.
You can change the size of text within the node view and editor using CTRL + [Mousewheel] . Alternatively, use CTRL and
+ to increase or CTRL and - to decrease text size.
Node Menu
Right-click a node to display a menu of the options available to it.
Add Node - Creates a node on the same hierarchical level as your selected node.
Image
https://giuspen.com/cherrytreemanual/ 12/57
12/27/23, 6:18 PM Cherrytree User Manual
Table
CodeBox
File
Link
Anchor
Timestamp
Special Character
Horizontal Rule
See 8. Objects for more detail.
If you have previously saved the current document, you do not need to perform steps 2 and 3.
2. If this is your first time saving the current document, select a storage type then click OK.
5. Files
Documents are managed from the File menu or toolbar.
3. Click Open.
https://giuspen.com/cherrytreemanual/ 13/57
12/27/23, 6:18 PM Cherrytree User Manual
Recently used documents can be opened more quickly by selecting the document name within the File > Recent Files
submenu.
5.2. Saving
Saving to the Current File
Save your document by pressing CTRL + S or by selecting Save from the File menu.
If this your first time saving the current document, see the save to a new file section below.
This feature should be used periodically when working with SQLite files to keep the database from assuming more space
than necessary.
Visit the SQLite documentation page for the vacuum command (https://www.sqlite.org/lang_vacuum.html) to
learn more about vacuuming.
Storage Types
When saving a document for the first time, Cherrytree prompts you to choose between two file formats, SQLite and XML.
SQLite is a self-contained database and has a .ctb or .ctx extension when used with Cherrytree. Instead of loading the
complete document at runtime, Cherrytree only accesses the tree structure and selected node. This makes opening your
document faster but may slow functions such as searching and selecting nodes when they’re used for the first time in a
session. Only modified nodes are rewritten upon saving, decreasing save time.
Performance loss with SQLite is lower than with XML, making it better suited for larger documents. The Save and Vacuum
feature should be used periodically to keep SQLite files compact.
XML is a markup language and has a .ctd or .ctz extension when used with Cherrytree. These files are fully loaded at
runtime, making searching and navigating through nodes faster, but slowing the initial load time. They are also completely
rewritten upon saving, slowing the save process.
XML is more accessible and easier to convert to other file types but should not be used with large documents.
Password Protection
Password-protected files are compressed and locked with 7zip (https://www.7-zip.org/), an open source file archiver.
https://giuspen.com/cherrytreemanual/ 14/57
12/27/23, 6:18 PM Cherrytree User Manual
Other applications might not provide functionality to unlock files that have been locked by Cherrytree.
Changing Passwords
To change the password of a protected file:
To print a document, click File > Print, then choose between one of the following options when prompted:
Select New Node in New Page to apply page breaks at the end of nodes within the printed document.
5.4. Importing
Notes are imported into Cherrytree from the Import menu, located within the menu bar.
https://giuspen.com/cherrytreemanual/ 15/57
12/27/23, 6:18 PM Cherrytree User Manual
3. In the Who is the parent? menu, select one of the following options:
The Selected Node - Each imported file is added to a child node of the selected node.
4. Click OK.
This process may take a few minutes when importing many files or larger files.
5.5. Exporting
To export notes from another file:
Export to PDF
Export to HTML
Export to CherryTreeDocument
2. Within the Involved Nodes menu, select the scope of your document to be exported:
All in Tree
Include Node name - Displays the name of each Node at the top of its page. This may be redundant if you have
headers within the pages of your notes.
New Node in New Page - Applies page breaks at the end of nodes within the exported document.
Links Tree in Every Page - When enabled all web pages contain a table of contents. If this option is disabled, only
the index.html contains a table of contents.
https://giuspen.com/cherrytreemanual/ 16/57
12/27/23, 6:18 PM Cherrytree User Manual
When exporting to HTML, all nodes are copied to the root folder of your chosen directory as .html files. The main HTML
file is named index.html.
Cherrytree Command
Positional arguments:
Optional arguments:
6. Nodes
A tree is a data structure consisting of nodes which are connected by edges. In the tree shown in Figure 6.01, my_book is
the root node. Part 3 is one of three child nodes that belong to my_book and is also the parent node of Chapter 6.
Figure 6.01
https://giuspen.com/cherrytreemanual/ 17/57
12/27/23, 6:18 PM Cherrytree User Manual
Figure 6.01 might look like Figure 6.02 in Cherrytree, where the document name represents the root node.
Figure 6.02
Bold - Increase the font-weight of the node title within the tree view.
Use Selected Color - Change the text color of the node title within the tree view.
https://giuspen.com/cherrytreemanual/ 18/57
12/27/23, 6:18 PM Cherrytree User Manual
Tags for searching - adds keywords that can be used to find the node in a search. Multiple tags can be separated by
a blank space.
Read Only - Can be enabled to lock a node in its current state. This must be disabled to edit or delete the node.
4. Click OK to finish creating the node.
Node properties can be edited again later by clicking Tree > Change Node Properties.
Duplicating Nodes
Another way to create a node is to duplicate an existing node.
Change Node Properties - Opens the Node Properties menu which is identical to the New Node Properties and is
used to define the node name, icon, and type.
Toggle Read Only - Locks a node in its current state. This must be disabled to edit or delete the node.
Add to Bookmarks / Remove from Bookmarks - When a node is added to your bookmarks, a link to the node can be
found in the Bookmarks menu.
Insert Today’s Node - Creates a top-level node with a title set to the current year, a subnode of the current month, and a
third-level node of the current day of the month and week.
Figure 6.03
Each time Insert Today’s Node is used, it adds the current date to tree, cataloguing it with the existing nodes by year,
month, and day. If today’s node already exists, no new nodes are added and you are directed to the existing node
instead.
https://giuspen.com/cherrytreemanual/ 19/57
12/27/23, 6:18 PM Cherrytree User Manual
Move Node Up - Moves the selected node up one position within its current hierarchy.
Move Node Down - Moves the selected node down one position within its current hierarchy.
Move Node Left - Moves the selected node up one level in hierarchy.
Move Node Right - Makes the selected node a subnode of the node above it. This does not work on the first child
node, where the node above is its parent.
Node Change Parent - Allows you to choose a new parent node for the selected node.
Most of these functions can be performed by dragging a node up, down, or over another node
within the tree view.
Sort Tree Ascending - Sorts the entire tree alphabetically from top to bottom.
Sort Tree Descending - Sorts the entire tree alphabetically from bottom to top.
Sort Node Ascending - Sorts the selected node and its siblings
(https://docs.oracle.com/cd/E19509-01/820-3742/ghpow/index.html) alphabetically from top to bottom.
Sort Node Descending - Sorts the selected node and its siblings
(https://docs.oracle.com/cd/E19509-01/820-3742/ghpow/index.html) alphabetically from bottom to top.
Find in Nodes Names and Tags - Search the entire tree for a set of characters within node titles and assigned tags.
Replace in Nodes Names - Search the entire tree for a set of characters within node titles and assigned tags, and
replace it with new characters.
Inherit Syntax - If the selected node and its parent node (https://docs.oracle.com/cd/E19509-01/820-3742/ghpow/index.html)
have an Automated Syntax Highlighting type, the selected node inherits syntax highlighting for the language defined
in its parent’s Node Properties menu.
https://giuspen.com/cherrytreemanual/ 20/57
12/27/23, 6:18 PM Cherrytree User Manual
7. Text
Cherrytree supports three types of nodes, Plain Text, Rich Text, and Automatic Syntax Highlighting.
Figure 7.01
Choosing a Language
1. Open the Node Properties menu by right-clicking a node and selecting Change Node Properties.
3. Click the drop-down menu directly beneath the Node Type options.
Executing a Node
Nodes set to automatic syntax highlighting can be executed from Cherrytree, assuming you have its assigned language
installed to your machine.
To execute a node:
2. When prompted, click OK to confirm that you want to execute the code.
https://giuspen.com/cherrytreemanual/ 21/57
12/27/23, 6:18 PM Cherrytree User Manual
Some languages require an execution command to be assigned to the language before the code can be executed.
See 9.4 Plain Text and Code for details on assigning a command.
Supported Languages
ada
asp
awk
bibtex
boo
c-sharp
cg
changelog
chdr
clisp
cmake
cpp
css
cuda
desktop
diff
docbook
dosbatch
dot
dpatch
dtd
eiffel
erlang
fcl
forth
fortran
fsharp
gap
https://giuspen.com/cherrytreemanual/ 22/57
12/27/23, 6:18 PM Cherrytree User Manual
gettext-translation
glsl
go
groovy
gtk-doc
haddock
haskell
haskell-literate
html
idl
ini
java
js
latex
libtool
lua
m4
makefile
mallard
markdown
markdown-extra
msil
nemerle
nisi
objc
objective-caml
ocl
octave
ooc
pascal
perl
php
pkgconfig
powershell
https://giuspen.com/cherrytreemanual/ 23/57
12/27/23, 6:18 PM Cherrytree User Manual
prolog
python
python3
rpmspec
ruby
rust
scala
scheme
sh
sparql
sql
t2t
tcl
texinfo
vala
vbnet
verilog
vhdl
xml
xslt
yacc
yaml
7.4. Editing
Cherrytree provides editing functions which are available in the Edit menu and include:
Strip Trailing Spaces - Removes any excess space characters at the end of each line within the selected node.
Change Case - Changes the letter case (https://en.wikipedia.org/wiki/Letter_case) of the selected text.
Lower Case of Selection/Word - Converts every letter of the selected text to lowercase.
Upper Case of Selection/Word - Converts every letter of the selected text to uppercase.
Toggle Case of Selection/Word - Converts every letter of the selected text to the opposite state of its current case
(https://en.wikipedia.org/wiki/Letter_case).
https://giuspen.com/cherrytreemanual/ 24/57
12/27/23, 6:18 PM Cherrytree User Manual
Enchant is required for this feature. Install this dependency if your application is built from source
and you haven’t already. See 3. Running from Source for instructions.
Cut as Plain Text - Moves the selected text, stripped of its stylization, to your clipboard. The text can then be pasted
elsewhere.
Copy as Plain Text - Copies the selected text, stripped of its stylization, to your clipboard. A copy of the text can then be
pasted elsewhere.
Paste as Plain Text - Inserts text, stripped of its stylization, from your clipboard to the cursor location.
Cut Row - Moves the current line of text to your clipboard. The line can then be pasted elsewhere.
Copy Row - Copies the current line of text to your clipboard. A copy of the line can then be pasted elsewhere.
Duplicate Row - Pastes a copy of the current line of text to the following line.
Move Down Row - Moves the current line of text down one line.
7.5. Formatting
Most formatting options are only applicable to Rich Text documents and can be found in the Formatting menu.
Format Latest - Apples the most recently used format to the selected text.
Text Color Foreground - Opens a Pick a Color menu. The chosen color is applied to the selected text.
Text Color Background - Opens a Pick a Color menu. The chosen color is applied to the background of selected text.
Figure 7.02
https://giuspen.com/cherrytreemanual/ 25/57
12/27/23, 6:18 PM Cherrytree User Manual
Toggle Superscript Property - Decreases the size of selected text and vertically aligns it above the normal line of type.
Toggle Subscript Property - Decreases the size of selected text and vertically aligns it below the normal line of type.
Toggle Monospace Property - Applies a Monospace format to selected text. (All characters assume the same amount of
width.)
Figure 7.03
The background color of monospace text can be edited in the Rich Text preferences menu.
Set/Unset Bulleted List - Formats the selected lines into a bulleted list, in which the item order does not matter.
Figure 7.04
Set/Unset Numbered List - Formats the selected lines into a numbered list, in which the order of items has purpose.
Figure 7.05
https://giuspen.com/cherrytreemanual/ 26/57
12/27/23, 6:18 PM Cherrytree User Manual
Set/Unset To-Do List - Formats the selected lines into a list of checkbox items. Click a checkbox to mark it as complete.
Figure 7.06
Justify Left - Aligns content to the left side of the page. (Default)
Justify Fill - Aligns content to the left side of the page and redistributes any empty space at the end of lines to between
the words in the paragraph(s). This causes the body of text to fill the complete width of its textbox, demonstrated in
Figure 7.07.
Figure 7.07
https://giuspen.com/cherrytreemanual/ 27/57
12/27/23, 6:18 PM Cherrytree User Manual
7.6. Search
Cherrytree’s search and replace features can be found in the Search menu.
Find in Node Content - Searches for a sequence of characters in the selected node’s content.
Find in All Nodes Contents - Searches for a sequence of characters in the entire node tree.
Find in Selected Node and Subnodes Contents - Searches for a sequence of characters in the selected node and its
children (https://docs.oracle.com/cd/E19509-01/820-3742/ghpow/index.html).
Find in Nodes Names and Tags - Searches for a sequence of characters in the node title and tag of the node tree.
See Tags for Searching in 6.1 Creating Nodes for more detail.
Find Again and Find Back are only compatible with the First From Selection and First in All
Range options, which are defined in the next step.
https://giuspen.com/cherrytreemanual/ 28/57
12/27/23, 6:18 PM Cherrytree User Manual
3. Enter the characters that you desire to find into Search For and click OK to execute the search.
Replace in Node Content - Searches for a sequence of characters in the selected node’s content and replaces them
with the provided text.
Replace in All Nodes Contents - Searches for a sequence of characters in the entire node tree and replaces them
with the provided text.
Replace in Selected Node and Subnodes Contents - Searches for a sequence of characters in the selected node and
its children (https://docs.oracle.com/cd/E19509-01/820-3742/ghpow/index.html), and replaces them with the provided text.
Replace in Nodes Names and Tags - Searches for a sequence of characters in every node title and tag of the node
tree, and replaces them with the provided text.
See Tags for Searching in 6.1 Creating Nodes for more detail about node names and tags.
Replace Again - Find the next instance in the search results and replace it with the provided text.
Replace Again is only compatible with the First From Selection and First in All Range options,
which are defined in the next step.
3. Enter characters to find into Search For and characters to replace in Replace With.
Search Options
Match Case - Filter results that do not match the letter case (https://en.wikipedia.org/wiki/Letter_case) of the provided search
term.
Whole Word - Filter results that contain more characters than provided. For example, a whole-word search for and
returns any instances of the word and but not other words containing and such as Andrew .
Regular Expression - Search for patterns in text. For example, \([0-9][0-9][0-9]\) [0-9][0-9][0-9]-[0-9][0-9]
[0-9][0-9] would return instances of text formatted as (xxx) xxx-xxxx, such as phone numbers, where x can be any
number between 0 and 9.
Start Word - Filter results where the provided characters are not located at the beginning of the instance. For example,
a start-word search for cherry would return cherry and cherrytree but not treecherry .
https://giuspen.com/cherrytreemanual/ 29/57
12/27/23, 6:18 PM Cherrytree User Manual
First From Selection - Return only the first result closest to the cursor position.
First in All Range - Return only the first result of the node tree.
Show Iterated Find/Replace Dialog - Displays the Iterate Latest Find/Replace, which provides a graphical method of
navigating through the search results.
Replace - Replace the current instance of the searched term with the replacement provided in Step 3 of Steps to
Search and Replace. (Applicable only to Search and Replace features.)
Time Filter options are available when searching across multiple nodes. Select any of the available option(s) and click
the adjacent date(s) to edit its value:
Node Created After - Only show results from nodes created after the provided date.
Node Created Before - Only show results from nodes created before the provided date.
Node Modified After - Only show results from nodes that have been edited after the provided date.
Node Modified Before - Only show results from nodes that have been edited before the provided date.
8. Objects
Objects can be inserted from the Edit menu, located in the menu bar. Some objects can also be pasted directly into
Cherrytree.
8.1. Images
Inserting Images
1. Select Insert Image from the Edit menu.
3. (Optional) The selected image is displayed in the simplistic editor shown in Figure 8.01, which can be used to rotate or
scale the content.
Figure 8.01
https://giuspen.com/cherrytreemanual/ 30/57
12/27/23, 6:18 PM Cherrytree User Manual
Figure 8.01 has been highlighted to indicate the parts of its interface.
Four - Options for defining the image’s dimensions. Height and Width are linked to each other to maintain the
content’s aspect ratio.
4. Click OK to complete the insertion.
Cherrytree does not support wrapping text around images at this time.
Editing Images
Right-click an image to display its menu of options.
Cut Image - Moves the selected image to your clipboard. The image can then be pasted elsewhere.
Copy Image - Copies the selected image to your clipboard. A copy of the image can then be pasted elsewhere.
Save Image as PNG - Saves a copy of the selected image to your computer.
https://giuspen.com/cherrytreemanual/ 31/57
12/27/23, 6:18 PM Cherrytree User Manual
Dismiss Link - Removes an existing link from the selected image. This option only appears if the image has an assigned
link.
8.2. Tables
Creating a New Table
1. Select Insert Table from the Edit menu to display the Insert Table menu.
2. The Insert Table menu defines the size of the table and provides .csv import availability.
Rows - Defines the number of rows to be in the table in the addition to the header row.
Min Width - Defines the lowest number of pixels in width that a column must have.
Max Width - Defines the highest number of pixels in width that a column can have.
Import from CSV File - Imports data from a .csv file. Data should be separated by a comma delimiter.
Managing Columns
Click a column title to display a menu listing actions for that column.
Add Column - Adds a new column to the right of the selected column.
Move Column Left - Switches the placement of the selected column with that of the column to its immediate left.
Nothing happens if there is no column left of the selected column.
Move Column Right - Switches the placement of the selected column with that of the column to its immediate right.
Nothing happens if there is no column right of the selected column.
Managing Rows
Right-clicking any cell in a table provides the following options:
Cut Table - Moves the selected table to your clipboard. The table can then be pasted elsewhere.
Copy Table - Copies the selected table to your clipboard. A copy of the table can then be pasted elsewhere.
Cut Row - Moves the selected row to your clipboard. The row can then be pasted elsewhere.
https://giuspen.com/cherrytreemanual/ 32/57
12/27/23, 6:18 PM Cherrytree User Manual
Copy Row - Copies the selected row to your clipboard. A copy of the row can then be pasted elsewhere.
Paste Row - Pastes a row from your clipboard underneath the selected row.
Move Row Up - Switches the placement of the selected row with that of the row immediately above it. Nothing happens
if there is no row above the selected row.
Move Row Down - Switches the placement of the selected row with that of the row immediately below it. Nothing
happens if there is no row below the selected row.
Sort Rows Descending - References the first column to sort the selected table numerically then alphabetically, from
bottom to top.
Sort Rows Ascending - References the first column to sort the selected table numerically then alphabetically, from top
to bottom.
Edit Table Properties - Displays the Edit Table Properties menu, providing options to define a minimum and
maximum width of columns.
Min Width - Columns are always at least x pixels wide, where x represents the number provided.
Max Width - Columns cannot be wider than x pixels in width, where x represents the number provided. If the
content exceeds the maximum width, text wraps to the next line within the cell.
Table Export - Exports the selected table to a .csv file containing data separated by comma delimiters.
Writing to Tables
Tables currently only support plain text. Double-click a cell to open a textbox within it.
Clicking outside of a table before closing a textbox discards all changes to that textbox. To write changes
to a textbox within a table cell, you must click to another cell, press Enter, or press Tab. This has been
reported but is unlikely to be patched in this version of Cherrytree.
Cut - Moves the selected text to your clipboard. The row can then be pasted elsewhere.
Copy - Copies the selected text to your clipboard. A copy of the table can then be pasted elsewhere.
Paste - Pastes the text from your clipboard to the cursor position.
System (Default)
None
Amharic (EZ+)
Cedilla
Cyrillic (Transliterated)
https://giuspen.com/cherrytreemanual/ 33/57
12/27/23, 6:18 PM Cherrytree User Manual
Inuktitut (Transliterated)
IPA
Multipress
Thai-Lao
Tigrigna-Eritrean (EZ+)
Tigrigna-Ethiopian (EZ+)
Vietnamese (VIQR)
Windows IME
Insert Unicode Control Character - Select from one of the following Unicode control characters:
Newlines within table cells are not noticeable until the textbox is closed.
8.3. Codebox
A codebox is a contained, executable section of syntax-highlighted text, which can be inserted into Rich Text nodes. A Rich
Text node can contain more than one codebox for any of the supported languages.
See 7.3 Automatic Syntax Highlighting for more details about syntax highlighting.
Inserting a Codebox
1. Select Insert Codebox from the Edit menu.
2. (Optional) Change the codebox type within the Insert Codebox menu:
Automatic Syntax Highlighting - Applies automatic syntax highlighting to the codebox. (Default)
https://giuspen.com/cherrytreemanual/ 34/57
12/27/23, 6:18 PM Cherrytree User Manual
% (Percentage) - Defines the width as a percentage. This assigns a dynamic width that changes alongside changes
in the window’s width.
Show Line Numbers - Display line numbers within the left margin of the codebox.
Highlight Matching Brackets - Highlights the corresponding bracket of the selected opening or closing bracket.
Editing a Codebox
Right-click a codebox to display its options.
Change CodeBox Properties - Displays a menu similar to the Insert CodeBox menu.
CodeBox Load From Text File - Imports code from a file. This function is not restricted to files that have a .txt
extension.
CodeBox Save To Text File - Exports the content of a codebox to a file. The file can have any extension.
Cut CodeBox - Moves the selected codebox to your clipboard. The codebox can then be pasted elsewhere.
Copy CodeBox - Copies the selected codebox to your clipboard. A copy of the codebox can then be pasted elsewhere.
Delete CodeBox Keep Content - Replace the current codebox with a plain text copy of its content.
Increase CodeBox Width - Increase the width of the selected codebox by 9% if it is defined as a percentage or 15px if it
is defined in pixels.
Decrease CodeBox Width - Decrease the width of the selected codebox by 9% if it is defined as a percentage or 15px if
it is defined in pixels.
Increase CodeBox Height - Increase the height of the selected codebox by 15 pixels.
Decrease CodeBox Height - Decrease the height of the selected codebox by 15 pixels.
Executing a Codebox
A codebox that is set to automatic syntax highlighting can be executed from Cherrytree, assuming you have its assigned
language installed to your machine.
To execute a node:
https://giuspen.com/cherrytreemanual/ 35/57
12/27/23, 6:18 PM Cherrytree User Manual
2. When prompted, click OK to confirm that you want to execute the code.
Some languages require an execution command to be assigned to the language before the code can be executed.
See 9.4 Plain Text and Code for details on assigning a command.
8.4. Files
Any file that is less than 10MB can be attached to a Rich Text node. Rich Text nodes can contain any number of attached
files.
Inserting a File
1. Select Insert File from the Edit menu.
Editing a File
Right-click a node to display its options.
Cut Embedded File - Moves the selected file to your clipboard. The file can then be pasted elsewhere.
Copy Embedded File - Copies the selected file to your clipboard. A copy of the file can then be pasted elsewhere.
8.5. Links
Text and images within rich text nodes can be linked to websites, files, folders, or nodes.
Inserting a Link
1. Select Insert/Edit Link from the Edit menu to display the Insert Link menu.
Anchor Name (Optional) - Routes the link to a particular anchor within the selected node.
https://giuspen.com/cherrytreemanual/ 36/57
12/27/23, 6:18 PM Cherrytree User Manual
Editing a Link
Right-click a link to display its options.
Edit Link - Displays the Insert/Edit menu for the selected link.
Cut Link - Moves the selected link to your clipboard. The link can then be pasted elsewhere.
Copy Link - Copies the selected link to your clipboard. A copy of the link can then be pasted elsewhere.
Dismiss Link - Deletes the selected link but keeps its displayed text.
Delete Link - Deletes the selected link and its displayed text.
8.6. Anchors
An anchor is represented by the icon shown in Figure 8.02 and can be referenced in a link to direct a user to a particular
place within a node.
Figure 8.02
Inserting Anchors
1. Select Insert Anchor from the Edit menu to display Insert Anchor menu.
Referencing Anchors
When inserting a link, select the To Node option and add the name of the anchor to the Anchor Name textbox. Hovering
over an anchor will display its name.
Editing Anchors
Right-click an anchor icon to display is options.
Cut Anchor - Moves the selected anchor to your clipboard. The anchor can then be pasted elsewhere.
Copy Anchor - Copies the selected anchor to your clipboard. The copy can then be pasted elsewhere.
Edit Anchor - Displays the Insert Anchor menu allowing you to rename the anchor.
https://giuspen.com/cherrytreemanual/ 37/57
12/27/23, 6:18 PM Cherrytree User Manual
Selected Node and Subnodes - Includes the selected node and its children
(https://docs.oracle.com/cd/E19509-01/820-3742/ghpow/index.html).
8.8. Timestamps
By default, this feature inserts the date in time in a format such as YYYY/mm/dd - HH:MM, where Y = year, m = month, d =
day, H = hour, and M = minute.
Inserting a Timestamp
Select Insert Timestamp from the Edit menu to insert a timestamp.
Formatting a Timestamp
The format of the timestamp can be configured in the text and code preference menu.
These characters are not converted to their corresponding HTML codes when exported.
See the text and code preference menu to add or remove special characters from the special character
submenu. That configuration option can also be referenced for a list of supported special characters.
https://giuspen.com/cherrytreemanual/ 38/57
12/27/23, 6:18 PM Cherrytree User Manual
9. Settings
9.1. Text and Code
Text Editor
Tab Width - Defines the number of space characters that a tab is equal to in width.
Insert Spaces Instead of Tabs - Replaces one tab with a number of spaces equal to the number defined in Tab
Width.
Use Line wrapping - Restricts lines of text to the current viewport by forcing text to a new line. This does not break a
line with newline characters and can be toggled as needed without compromising the line structure of a node.
Line Wrapping Indentation - Defines the alignment of wrapped text compared to the original line.
0 - No indention.
Less than 0 - Indents the wrapped lines to the right of the original line by x pixels, where x represents the
provided number.
More than 0 - Indents the original line to the right of the wrapped lines by x pixels, where x represents the
provided number.
Enable Automatic Indentation - Aligns new lines with the indention of the previous line.
Show Line Numbers - Displays a numerical index of the lines within the editor.
Vertical Space Around Lines - Defines the number of pixels that separate lines of text.
Vertical Space in Wrapped Lines - Defines the percentage of the Vertical Space Around Lines value that applies to
wrapped lines.
Miscellaneous
Timestamp Format - Defines the format of a timestamp.
See Formatting Timestamps for a list of timestamp directives or visit the strftime documentation
(https://docs.python.org/2/library/time.html#time.strftime) by click the icon next to the timestamp setting.
Figure 9.01
https://giuspen.com/cherrytreemanual/ 39/57
12/27/23, 6:18 PM Cherrytree User Manual
Special Characters - Defines the list of special characters to exist in the Special Characters submenu.
New characters can be added to the list by pasting them next to the existing characters. Click the yellow arrow icon to
reset to the default list of characters.
Figure 9.02
Chars to Select at Double Click - By default, double-clicking text selects the sequence of letters and numbers that are
under the mouse pointer and are not separated by whitespace, punctuation, or special characters. Adding characters to
the Chars to Select at Double Click setting includes those characters in a double-click selection.
Formatting Timestamps
The table below, copied from the strftime documentation (https://docs.python.org/2/library/time.html#time.strftime), can be
referenced when formatting timestamps in Cherrytree.
Directive Value
https://giuspen.com/cherrytreemanual/ 40/57
12/27/23, 6:18 PM Cherrytree User Manual
Directive Value
%U Week number of the year (Sunday as the first day of the week) as a decimal number [00,53]. All days in a
new year preceding the first Sunday are considered to be in week 0.
%W Week number of the year (Monday as the first day of the week) as a decimal number [00,53]. All days in a
new year preceding the first Monday are considered to be in week 0.
9.2. Text
Enable Smart Quotes Auto Replacement - Converts paired quotation marks on a line to smart quotes, illustrated in
Figure 9.03.
Figure 9.03
Enable Symbol Auto Replacement - Enables the automatic replacement of certain symbols such as:
* to •
(C) to ©
Spell Check
Enable Spell Check - Toggles Cherrytree’s spell check feature.
Enchant is required for this feature. Install this dependency if your application is built from source
and you haven’t already. See 3. Running from Source for instructions.
https://giuspen.com/cherrytreemanual/ 41/57
12/27/23, 6:18 PM Cherrytree User Manual
Spell Check Language - Defines which language to use in spell check. The following languages are available:
es - Spanish
fr - French
nl - Dutch
pl - Polish
Theme
Light Background, Dark Text - Sets the editor background color to white and text color to black.
Dark Background, Light Text - Sets the editor background color to dark blue and text color to white.
Custom Background and Text - Defines custom colors for the editor’s background and text.
Miscellaneous
Show White Spaces - Displays character markers over spaces.
Expand CodeBoxes Automatically - Increases the height of codeboxes to fit its content in one viewport.
Embedded File Icon Size - Defines the size of embedded file icons.
Show File Name on Top of Embedded File Icon - When enabled, displays the file name above embedded file icons.
Limit of Undoable Steps Per Node - Defines the maximum states of a node that Cherrytree tracks and can return to
using the Undo feature.
https://giuspen.com/cherrytreemanual/ 42/57
12/27/23, 6:18 PM Cherrytree User Manual
Text Editor
Style Scheme - Defines the color theme.
Classic
Figure 9.04
Cobalt
Figure 9.05
Kate
Figure 9.06
Oblivion
Figure 9.07
https://giuspen.com/cherrytreemanual/ 43/57
12/27/23, 6:18 PM Cherrytree User Manual
Tango
Figure 9.08
Highlight Current Line - When enabled, highlights the line of the cursor position.
Code Execution
This section defines the command, for each language, that runs when a codebox is executed.
Figure 9.09
3. Click OK.
4. Find the new language rule in the list and edit the command.
Editing a Command
Double-click a command to edit its value.
<tmp_src_path> is a variable that represents the codebox or node being executed. It should not be
removed from the command.
Reset Commands
Click the yellow return arrow to reset to the default list of commands.
Figure 9.10
https://giuspen.com/cherrytreemanual/ 44/57
12/27/23, 6:18 PM Cherrytree User Manual
Terminal Command
The terminal command is a configuration required to execute code within Cherrytree. To configure a terminal, set this
option to a command that executes another command within a new instance of your terminal. Use <command> as a
placeholder for the command to be executed in the new instance.
For example, when a codebox is executed on the machine in Figure 9.11, the following command is used: start cmd /k "
<command>" .
Figure 9.11
/k - A command line option to execute the text that follows inside quotation marks.
<command> - A variable which represents one of the language-specific commands that are defined in the code
execution options.
the codebox properties. If, for example, a codebox executed in Figure 9.11 is configured for python3,
<command> represents python3 <tmp_src_path> .
https://giuspen.com/cherrytreemanual/ 45/57
12/27/23, 6:18 PM Cherrytree User Manual
9.5. Tree 1
The Tree 1 preferences menu provides configuration options for the tree view panel.
Theme
Light Background, Dark Text - Sets the tree view background color to white and text color to black.
Dark Background, Light Text - Sets the tree view background color to dark blue and text color to white.
Custom Background and Text - Defines custom colors for the editor’s background and text.
Use Selected Icon - Assigns one icon to be the default icon for all nodes.
Hide Right Side Auxiliary Icon - Hides icons regarding a node’s status, such as the Read Only and Bookmarked icons.
Default icons can be overwritten within the Use Selected Icon option of a node’s property menu.
9.6. Tree 2
The Tree 2 preferences menu is a continuation of Tree 1, providing additional configuration options for the tree view
panel.
Miscellaneous
Tree Nodes Names Wrapping Width - Defines the width in pixels at which text begins to wrap within the tree view.
Display Tree on Right Side - Moves the tree view panel to the right side of the window.
Move Focus to Text at Mouse Click - When a node is selected, the editor becomes the active panel with the cursor
positioned at the beginning of the first line.
Expand Node at Mouse Click - Collapsed nodes expand when they are selected within the tree view.
Last Visited Nodes on Node Name Header - Defines the number of most recently visited nodes to display above the
editor.
Figure 9.12
https://giuspen.com/cherrytreemanual/ 46/57
12/27/23, 6:18 PM Cherrytree User Manual
9.7. Fonts
Rich Text - Defines the default font family, style, and size applied to Rich Text.
Plain Text - Defines the default font family, style, and size applied to Plain Text.
Code Font - Defines the default font family, style, and size applied to syntax-highlighted text.
Tree Font - Defines the default font family, style, and size applied to text within the tree view.
9.8. Links
Custom Actions
Enable Custom Web Link Click Action - Defines a custom command to run when a web link is clicked within
Cherrytree.
Enable Custom File Link Clicked Action - Defines a custom command to run when a file link is clicked within
Cherrytree.
Enable Custom Folder Link Clicked Action - Defines a custom command to run when a folder link is clicked within
Cherrytree.
Colors
To Website - Defines the default text color of links to websites.
Miscellaneous
Underline Links - Apply the underline property to all links by default.
Use Relative Paths for Files and Folders - When defining paths for links, use link addresses that are relative to the
directory containing the current working document.
https://giuspen.com/cherrytreemanual/ 47/57
12/27/23, 6:18 PM Cherrytree User Manual
9.9. Toolbar
The Toolbar preferences menu provides configuration options for the toolbar panel.
Figure 9.13
The action can then be dragged up or down to determine its position on the toolbar. Actions are organized from top to
bottom in the Toolbar preferences menu, which translates to left to right in the actual toolbar.
2. Click the - icon to remove the selected action from the toolbar.
Figure 9.14
Figure 9.15
https://giuspen.com/cherrytreemanual/ 48/57
12/27/23, 6:18 PM Cherrytree User Manual
2. Click the edit shortcut button to display the Edit Keyboard Shortcut menu.
Figure 9.16
3. Select No Keyboard Shortcut to remove a shortcut. Alternatively, toggle any of the three options: control, shift, and
alt, and add one or more keys to the adjacent form to define the keyboard shortcut.
https://giuspen.com/cherrytreemanual/ 49/57
12/27/23, 6:18 PM Cherrytree User Manual
Figure 9.17
Key Value
Ctrl+P Print
F5 Execute Code
Ctrl-Alt-P Preferences
https://giuspen.com/cherrytreemanual/ 50/57
12/27/23, 6:18 PM Cherrytree User Manual
Key Value
About Cherrytree
Ctrl+N Add a Node having the Same Parent of the Selected Node
Change the Selected Node’s Children Syntax Highlighting to the Parent’s Syntax Highlighting
https://giuspen.com/cherrytreemanual/ 51/57
12/27/23, 6:18 PM Cherrytree User Manual
Key Value
https://giuspen.com/cherrytreemanual/ 52/57
12/27/23, 6:18 PM Cherrytree User Manual
Key Value
https://giuspen.com/cherrytreemanual/ 53/57
12/27/23, 6:18 PM Cherrytree User Manual
Key Value
Export to PDF
Export to HTML
Add Nodes from a Folder of Plain Text Files to the Current Tree
https://giuspen.com/cherrytreemanual/ 54/57
12/27/23, 6:18 PM Cherrytree User Manual
Key Value
9.11. Miscellaneous
System Tray
Enable System Tray Docking - Closing Cherrytree minimizes the application to a background process which can be
more quickly accessed from the machine’s system tray. AppIndicator may be required to access Cherrytree from the
system tray in Linux.
Start Minimized in the System Tray - Minimizes Cherrytree to the system tray on startup.
Use AppIndicator for Docking - (Linux only) Uses the appindicator feature to provide quick access to Cherrytree from
your system tray.
Saving
Autosave Every x Minutes - Saves the working document every x minutes, where x represents the number defined
in this setting.
Create a Backup Copy Before Saving - Stores a copy of the previous version before saving the new version. Backups
are stored in the same directory as the current document.
To open a backup:
1. Rename the backup file, deleting the ~ characters appended to its extension.
Number of Backups to Keep - Defines the number of backups to keep. The oldest backup is removed when this limit is
exceeded.
https://giuspen.com/cherrytreemanual/ 55/57
12/27/23, 6:18 PM Cherrytree User Manual
This also applies to autosaves that run on a time interval. For example, if your application is
configured to save every 5 minutes, Cherrytree creates a backup every five minutes. When the
backup limit is exceeded, a backup is cycled out every 5 minutes.
Miscellaneous
Automatically Check for Newer Version - Checks the Cherrytree website on startup to determine if a new version of
the application is available for download.
Enable Word Count in Statusbar - Displays the word count of the selected node below the editor.
Reload Document from Last Session - Cherrytree opens to the same document that was last opened in the previous
session.
Reload After External Update to CT* File - Cherrytree refreshes its instance of a document to reflect changes made to
the document from other instances.
Cherrytree is not intended to be used as a collaboration tool. Only edit one instance of a document at
a time. Editing two or more instances of a document at the same time yields a high potential for errors
and data loss.
Language
Defines the language of Cherrytree’s interface. Select from one of the following languages:
default
cs - Czech
de - German
el - Modern Greek
en - English
es - Spanish
fi - Finnish
fr - French
hy - Armenian
it - Italian
ja - Japanese
lt - Lithuanian
nl - Dutch
pl - Polish
ru - Russian
sl - Slovenian
tr - Turkish
https://giuspen.com/cherrytreemanual/ 56/57
12/27/23, 6:18 PM Cherrytree User Manual
uk - Ukrainian
zh_CN - Chinese
10. License
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License
as published by the Free Software Foundation; either version 3 of the License or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied
warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
details.
You should have received a copy of the GNU General Public License along with this program; if not, write to the Free
Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
Version 0.38.9
Last updated 2019-11-02 20:52:43 -0500
https://giuspen.com/cherrytreemanual/ 57/57