====== FAQ ======

Mail [[pardus@cpan.org|pardus]] if you have questions that you would like to see answered below.


=== How do I create a new page? ===
You can just link non-existing pages. If you follow such a link the page will be created automatically when needed.


=== How do you close these "tabs" ? ===
Uhm, if you mean the buttons above your page, technically that are not tabs but a path bar keeping track of your history or recent pages. The buttons in this bar map to pages in your browse history, not to open pages or something like that. You can not "close" something that is in your history.


=== How do I organize my pages in a tree structure? ===
You can use "namespaces" to organize your pages. A "namespace" is similar to a directory for files, it is a named group of pages. Namespaces are separated by the "'':''" character in the page name. Thus if you link to "''foo:bar''" you will link to the page called "bar" in the namespace "foo". Just link a non-existing page and follow the link to create it.


=== I would like zim to hide in the system tray. ===
There is a [[zim:usage:plugins|plugin]] for that which can be turned on in the [[zim:usage:preferences|preferences dialog]]. Note that you need to have the ''Gtk2::TrayIcon'' perl module installed to use this plugin.


=== I get an error like: "Storable binary image v2.7 more recent than I am (v2.6) at ..." ===
This error usually occurs after you re-install part of your system, or when you use the same repository from different systems. **Zim** uses the "Storable" perl module to store the history and undo stack as a binary dump. Problem is that binary compatibility across versions of the module is not guaranteed. As a result it refuses to read data that was written with a version of the module that is newer. The quick fix is to remove "''.zim.history''" from the repository directory.	


=== Can I make zim appear with a global keybinding? ===
You can write a simple shell script to start **zim** and bind that to a keybinding in your desktop environment. This is the easiest way to tailor the behavior to your needs.

1. You can use the ''--pidfile'' option to see if there is a running instance.
2. You can use the ''USR1'' kill signal to toggle visibility of **zim**.

A simple example script:

	#!/bin/sh

	DIRECTORY=$HOME/notes/
	PIDFILE=$HOME/.cache/zim.pid

	if [ -e $PIDFILE ]; then
		kill -USR1 `cat $PIDFILE` && exit
	fi

	exec zim --pidfile $PIDFILE $DIRECTORY


=== How do I set a default directory? ===
If you edit your config file (close **zim** first) and set ''default_root'' to the default directory you can run zim without arguments. See [[:zim:usage:preferences|preferences]] for more information.


=== How do I change the toolbar style ? ===
You can add the following lines to your ''~/.gtkrc-2.0'' file.

	gtk-toolbar-style     = GTK_TOOLBAR_ICONS
	gtk-toolbar-icon-size = GTK_ICON_SIZE_SMALL_TOOLBAR

This removes text labels in the toolbar and sets the icons to a small size.


=== What about the Gnome HIG? ===
**Zim** tries to follow the [[http://developer.gnome.org/projects/gup/hig/|HIG]] when practical, but doesn't adhere very strictly to it.


=== Does it run on windows? ===
Yes it does. You will need to get perl, gtk+ and the perl Gtk2 bindings to work though. Installing perl is easy (see [[http://www.activestate.com/|ActiveState]]), for installing the gtk perl bindings see the FAQ on http://gtk2-perl.sourceforge.net. After that you should be able to install the source package.

Also have a look at [[http://dewarim.de/wms/programme/installing_zim.html|Installing Zim on Windows XP]]

As an alternative consider installing [[http://www.cygwin.com/|CygWin]], within this environment you should be able to install **zim** more or less the same as on linux. 

//We are still looking for a volunteer to build and maintain a windows executable.//


=== How do I compile a "statically linked" binary ? ===
Theoretically you can do this using the [[http://search.cpan.org/~autrijus/PAR/|PAR module]]. Practically speaking there are a number of bugs to fix before this will work.

If you want to give it a try type "./''Build static''" in the source tree on a system that has **zim** installed. This should build a single executable containing perl, gtk+ and **zim** This is a highly experimental build action though. The resulting executable is buggy and may segfault at random. This has not been tested for windows.
