Zim Desktop Wiki [1] is the best didital tool for organizing my work and managing my knowledge. Setting up Zim on a GNU/Linux machine is easy as pie, just install it from your package manager. Setting it up on a MS Windows machine is almost as easy, but since Zim follows freedesktop.org (formerly known as X Desktop Group XDG) [2] specifications, it feels a little alien there. This post is going to show you how to make Zim feel at home on MS Windows.
Installation is not as straight-forward on MS Windows as on GNU/Linux. But it's not hard either and as a MS Windows user you will find the procedure to be familiar.
1. Go to Zim's download page [1]
2. Download the latest MS Windows Installer. Note it's for 64-bit Windows only
3. Find the installer executable on your filesystem, eg. your Downloads directory
4. Double-click it
5. Allow MS Windows to install software from an unknown source
6. Accept the license (it's GPLv2)
7. Select "Portable" installation mode
8. Zim suggests a target installation directory. Change it as follows
a. Create a directory named "Zim Desktop Wiki" in your home folder or directly on C: or whereever
b. Create a subdirectory named "Zim"
c. Select "Zim" as installation target
9. Continue installation
[1] Zim Desktop Wiki's download page
Zim follows the freedesktop specifications. Therefore it will create some directories (config, cache, data) on the same level as the Zim directory. On MS Windows they will clutter your parent directory of Zim. I don't like that. But these directories are needed to save configurations and so on. You could change them (see below), but I think that's actually more work than choosing a directory structure like the one I suggested above.
Zim saves everything in notebooks. A notebook is actually a directory on your filesystem that contains plain text files and a single ini-style file named "notebook.zim" containing notebook specific settings [1]. The simplest way to use multiple notebooks that can cross-reference each other is to have all notebook directories in the same parent directory. When you start Zim the first time the Open Notebook dialogue pops up. You can dismiss it or use it as entry point into the following recipe. Then you start at 3.
1. Press Ctrl+o (Open new notebook).
2. Press Add...
3. Enter a name, eg. "Notebookroot"
4. Select the directory where you will save all your notebooks, eg. "Notebooks". CAUTION: do not select a directory of an existing notebook!
a. The path should look something like this: ~\Notebooks
b. And NOT like this: ~\Notebooks\MyNotes
5. In the combobox below select the name "Notebookroot" as default.
6. Done.
If you create additional notebooks, create them within the notebook root directory and Zim will automatically add them to your Pages tab.
[1] This ini-style file saves notebook specific settings. If you lose it no harm is done, you will not lose any data. All your entries are saved in the txt-files in your notebook directories.
Zim expects a few things typically found on GNU/Linux systems and not so much on MS Windows. Therefore Zim will miss some settings on MS Windows that are common on GNU/Linux. This does not stop Zim from working, it just applies default setting. All of them can be changed by you. See a list of config files of Zim [1]
[1] Zim Desktop Wiki config files
Like said before, Zim follows Freedesktop.org specifications. It expects to find certain directories for certain kinds of files in your home directory [1], or in case of the portable Zim version on the same level as the Zim directory.
In the same directory where the zim.exe file is located you will find a file called "environ.ini". In it you will find a few path entries defining where config files, cache files, and data files (not to be confused with notebooks) will be saved. You can also set the default language here.
You have to restart Zim to make these settings work.
[1] Note that on MS Windows the home directory (sometimes shown as ~) is %userprofile%.
Zim uses the Gimp Toolkit aka GTK [1] in version 3 to create the GUI widgets. The default theme of GTK is called Adwaita, which is not everybody's cup of tea.
1. To change the theme look into your config directory.
2. There should be an empty subdirectory called gtk-3.0.
3. Inside tk-3.0 create a file called settings.ini
4. Inside the settings.ini file create a line saying "[Settings]"
5. Below that write a line saying "gtk-theme-name = <theme name>"
a. <theme name> corresponds to a GTK3 theme saved in the installation directory inside the share/themes directory
b. You'll find a selection of GTK3 themes at gnome-look.org [2]
6. Restart Zim
To get a dark mode without futzing with themes write the following into settings.ini instead of a theme: "gtk-application-prefer-dark-theme=1"
If you only select dark mode you will notice that some font colors in Zim are baaaad. To change those colors, go to the config directory and look into the zim directory. There you will find a file called style.conf. This is a ini-style file and it is documented here [1]. Change the colors to your liking.
[1] Zim Desktop Wiki config files
Now you have a usable Zim Desktop Wiki for MS Windows. To add functionality and customize behavior start Zim and go to Edit -> Settings...
Have fun!