Copyright (c) the Notion team 2010-2017. Copyright (c) Tuomo Valkonen 1999-2009.
Building and installing
Get the source code. git clone git://notion.git.sourceforge.net/gitroot/notion/notion
In addition to the standard C library headers and the GNU toolchain, you will need the following tools and libraries for building Notion.
- Lua 5.1 interpreter and header files http://www.lua.org/
- Xlib header files http://cgit.freedesktop.org/xorg/lib/libX11/
- libXext header files http://cgit.freedesktop.org/xorg/lib/libXext/
- libSM header files http://cgit.freedesktop.org/xorg/lib/libSM/
- gettext http://www.gnu.org/software/gettext/
If you want to build the mod_xinerama and mod_xrandr module, which provide enhanced multihead support, you will further need the following libraries.
- Xinerama header files https://sourceforge.net/projects/xinerama/
- XRandR header files http://www.x.org/wiki/Projects/XRandR/
On a Debian based system, these dependencies are provided by the following packages. build-essential lua5.1 liblua5.1-0-dev libx11-dev libxext-dev libsm-dev gettext libxinerama-dev libxrandr-dev
If the default build settings don't suit you, review system-autodetect.mk and either override values from the environment or in a newly added system-local.mk or make changes directly to system-autodetect.mk.
If you want to build some extra modules now or do not want to build some of the standard modules, edit
make. Note that
makehere refers to GNU make which is usually named
gmakeon systems with some other implementation of make as default.
make install, as root if you set
system.mkto a directory that requires those privileges.
YOU SHOULD NOT SKIP THIS STEP unless you know what you are doing. Notion will refuse to start if it can not find all the necessary uncorrupt configuration files either in
How to best set up
startxor whatever to start Notion instead of your current window manager depends on your system's setup. A good guess is creating or modifying an executable shell script
.xsessionin your home directory to start Notion. This should usually (but not always) work if you're using some X display/login manager. If
~/.xsessiondoes not help and you're not using a display manager, modifying
~/.xinitrcor creating one based on your system's
xinitrc(wherever that may be; use
locate) may be what you need to do. Note that unlike
.xinitrcshould usually do much more setup than simply start a few programs of your choice.
Some optional installation steps
The F5 and F6 keys expect to find the program
run-mailcapto select a program to view a file based on its guessed MIME type. Unless you are using Debian, most likely you don't have it, but any other similar program (or just plain old text editor) will do as well -- just modify the bindings in
cfg_notioncore.lua. Of course, if you don't want to use the feature at this time or never, you may simply skip this step. If you want to use
run-mailcap, it can be found from the following address, as a source tarball as well:
Notion supports caching known man-pages in a file for faster man-page completion in the F1 man page query. To enable this feature, you must periodically run a cronjob to build this list. To create a system-wide man page cache, run
crontab -e(might vary depending on platform) as root and enter a line such as follows:
15 05 * * * $SHAREDIR/ion-completeman -mksyscache
$SHAREDIRwith the setting from
system.mk. This example runs daily at 05:15, but you may modify the run times to your needs; see the crontab manual.
If you can't or do not want to build a system-wide man page cache, run
crontab -eas your normal user and replace
-mkusercacheabove. The cache file will be
It may also be useful to run
ion-completemanwith the suitable
-mk*cacheargument once manually to build the initial cache.
MANPATHenvironment variable is not set on your system and it does not have the
manpathcommand (or it does not print anything sensible), you may also want to set the
ION_MANPATHenvironment variable to the list of paths where the system stores manual pages.
For help on modifying Notion's configuration files, PLEASE READ THE DOCUMENT "Configuring and extending Notion with Lua" available from the Notion web page, listed at the top of this file.
Questions, comments, problems?
If the available documentation does not answer your question, please post it to the mailing list. Details can be found on the Notion web page listed at the top of this file.
Notion was written by the Notion team, based on Ion which was written by Tuomo Valkonen.
The dock module was written by Tom Payne and Per Olofsson.
utils/ion-completefile/ion-completefile.c is based on editline, (c)
1992 Simmule Turner and Rich Salz. See the file for details.
The code that
de/fontset.c is based on seems to have been originally
written by Tomohiro Kubota, but see the file for details.
Various (minor) patches have been contributed by other individuals
unlisted here. See the mailing list archives and the darcs source
repository history (previously at http://iki.fi/tuomov/repos/).
For translators see the individual
.po files in
The code in
de/unicode' (producingde/precompose.c') is taken from
libtu/README for code by others integrated into libtu.