5 Copyright (c) the Notion team 2010-2011.
6 Copyright (c) Tuomo Valkonen 1999-2009.
11 Building and installing
12 -----------------------
16 https://sourceforge.net/apps/mediawiki/notion/index.php?title=Development
18 1. Make sure you have the following tools and libraries installed (along
19 with, of course, standard X11 and libc stuff).
21 * GNU make <http://www.gnu.org/software/make/>
22 * Lua 5.1 <http://www.lua.org/>
23 * gettext <http://www.gnu.org/software/gettext/>
25 On Ubuntu the following packages are required:
26 build-essential lua5.1 liblua5.1-0-dev libx11-dev libxext-dev libsm-dev gettext
28 build-essential lua5.2 liblua5.2-dev xorg-dev gettext
30 If you also build the RandR and Xinerama modules, you will need:
31 libxinerama-dev libxrandr-dev
33 2. Edit `system.mk` to suit your system. In particular, if you're on Ubuntu
34 or Debian, you'll need to uncomment the other set of LUA* variables.
36 3. If you want to build some extra modules now or do not want to build
37 some of the standard modules, edit `modulelist.mk`.
39 4. Run `make`. Note that `make` here refers to GNU make which is usually
40 named `gmake` on systems with some other implementation of make as
43 5. Run `make install`, as root if you set `$PREFIX` in `system.mk` to a
44 directory that requires those privileges.
46 YOU SHOULD NOT SKIP THIS STEP unless you know what you are doing. Notion
47 will refuse to start if it can not find all the necessary uncorrupt
48 configuration files either in `$PREFIX/etc/notion/` or in `~/.notion/`.
50 6. How to best set up `startx` or whatever to start Notion instead of your
51 current window manager depends on your system's setup. A good guess
52 is creating or modifying an executable shell script `.xsession` in your
53 home directory to start Notion. This should usually (but not always) work
54 if you're using some X display/login manager. If `~/.xsession` does not
55 help and you're not using a display manager, modifying `~/.xinitrc` or
56 creating one based on your system's `xinitrc` (wherever that may be;
57 use `locate`) may be what you need to do. Note that unlike `.xsession`,
58 a `.xinitrc` should usually do much more setup than simply start a few
59 programs of your choice.
61 Please see the file `RELNOTES` for additional release-specific installation
62 and configuration notes.
65 Some optional installation steps
66 --------------------------------
68 1. The F5 and F6 keys expect to find the program `run-mailcap` to select
69 a program to view a file based on its guessed MIME type. Unless you are
70 using Debian, most likely you don't have it, but any other similar
71 program (or just plain old text editor) will do as well -- just modify the
72 bindings in `cfg_notioncore.lua`. Of course, if you don't want to use the
73 feature at this time or never, you may simply skip this step. If you want
74 to use `run-mailcap`, it can be found from the following address, as a
75 source tarball as well:
77 <http://www.debian.org/Packages/unstable/net/mime-support.html>
79 2. Notion supports caching known man-pages in a file for faster man-page
80 completion in the F1 man page query. To enable this feature, you must
81 periodically run a cronjob to build this list. To create a system-wide
82 man page cache, run `crontab -e` (might vary depending on platform) as
83 root and enter a line such as follows:
85 15 05 * * * $SHAREDIR/ion-completeman -mksyscache
87 Replace `$SHAREDIR` with the setting from `system.mk`. This example
88 runs daily at 05:15, but you may modify the run times to your needs;
89 see the crontab manual.
91 If you can't or do not want to build a system-wide man page cache, run
92 `crontab -e` as your normal user and replace `-mksyscache` with
93 `-mkusercache` above. The cache file will be `~/.notion/mancache`.
95 It may also be useful to run `ion-completeman` with the suitable
96 `-mk*cache` argument once manually to build the initial cache.
98 If the `MANPATH` environment variable is not set on your system and it
99 does not have the `manpath` command (or it does not print anything
100 sensible), you may also want to set the `ION_MANPATH` environment
101 variable to the list of paths where the system stores manual pages.
107 For help on modifying Notion's configuration files, PLEASE READ THE DOCUMENT
108 "Configuring and extending Notion with Lua" available from the Notion web page,
109 listed at the top of this file.
112 Questions, comments, problems?
113 ------------------------------
115 If the available documentation does not answer your question, please
116 post it to the mailing list. Details can be found on the Notion web page
117 listed at the top of this file.
123 Notion was written by the Notion team, based on Ion which was written by Tuomo
126 The dock module was written by Tom Payne and Per Olofsson.
128 `utils/ion-completefile/ion-completefile.c` is based on editline, (c)
129 1992 Simmule Turner and Rich Salz. See the file for details.
131 The code that `de/fontset.c` is based on seems to have been originally
132 written by Tomohiro Kubota, but see the file for details.
134 Various (minor) patches have been contributed by other individuals
135 unlisted here. See the mailing list archives and the darcs source
136 repository history at <http://iki.fi/tuomov/repos/>. For translators
137 see the individual `.po` files in `po/`.
139 The code in `de/unicode' (producing `de/precompose.c') is taken from
142 See `libtu/README` for code by others integrated into libtu.