Merge branch 'remotes/jsbackus/mpd_lua52'
[notion.git] / README
blob7d40f173656f58c0f261d094d89ce6b1024738ff
2 Notion
3 ===
5 Copyright (c) the Notion team 2010-2011.
6 Copyright (c) Tuomo Valkonen 1999-2009.
8 http://notion.sf.net
9           
11 Building and installing
12 -----------------------
14 See also: 
16   https://sourceforge.net/apps/mediawiki/notion/index.php?title=Development
18 1. Get the source code.
19     git clone git://notion.git.sourceforge.net/gitroot/notion/notion
21 2. In addition to the standard C library headers and the GNU toolchain, you 
22    will need the following tools and libraries for building Notion.
24     * Lua 5.1 interpreter and header files <http://www.lua.org/>
25     * Xlib header files <http://cgit.freedesktop.org/xorg/lib/libX11/>
26     * libXext header files <http://cgit.freedesktop.org/xorg/lib/libXext/>
27     * libSM header files <http://cgit.freedesktop.org/xorg/lib/libSM/>
28     * gettext <http://www.gnu.org/software/gettext/> 
30    If you want to build the mod_xinerama and mod_xrandr module, which provide 
31    enhanced multihead support, you will further need the following libraries.
33     * Xinerama header files <https://sourceforge.net/projects/xinerama/>
34     * XRandR header files <http://www.x.org/wiki/Projects/XRandR/> 
36    On a Debian based system, these dependencies are provided by the following
37    packages.
38      build-essential lua5.1 liblua5.1-0-dev libx11-dev libxext-dev libsm-dev gettext
39      libxinerama-dev libxrandr-dev
41 3. If the default build settings don't suit you, review system-autodetect.mk
42    and either override values from the environment or in a newly added
43    system-local.mk or make changes directly to system-autodetect.mk.
45 4. If you want to build some extra modules now or do not want to build
46    some of the standard modules, edit `modulelist.mk`.
47    
48 5. Run `make`. Note that `make` here refers to GNU make which is usually
49    named `gmake` on systems with some other implementation of make as 
50    default.
51    
52 6. Run `make install`, as root if you set `$PREFIX` in `system.mk` to a 
53    directory that requires those privileges.
54    
55    YOU SHOULD NOT SKIP THIS STEP unless you know what you are doing. Notion
56    will refuse to start if it can not find all the necessary uncorrupt
57    configuration files either in `$PREFIX/etc/notion/` or in `~/.notion/`.
59 7. How to best set up `startx` or whatever to start Notion instead of your
60    current window manager depends on your system's setup. A good guess
61    is creating or modifying an executable shell script `.xsession` in your
62    home directory to start Notion. This should usually (but not always) work
63    if you're using some X display/login manager. If `~/.xsession` does not 
64    help and you're not using a display manager, modifying `~/.xinitrc` or 
65    creating one based on your system's `xinitrc` (wherever that may be; 
66    use `locate`) may be what you need to do. Note that unlike `.xsession`, 
67    a `.xinitrc` should usually do much more setup than simply start a few
68    programs of your choice.
70 Please see the file `RELNOTES` for additional release-specific installation
71 and configuration notes.
74 Some optional installation steps
75 --------------------------------
77 1. The F5 and F6 keys expect to find the program `run-mailcap` to select
78    a program to view a file based on its guessed MIME type. Unless you are
79    using Debian, most likely you don't have it, but any other similar 
80    program (or just plain old text editor) will do as well -- just modify the
81    bindings in `cfg_notioncore.lua`. Of course, if you don't want to use the 
82    feature at this time or never, you may simply skip this step. If you want
83    to use `run-mailcap`, it can be found from the following address, as a 
84    source tarball as well:
85    
86        <http://www.debian.org/Packages/unstable/net/mime-support.html>
88 2. Notion supports caching known man-pages in a file for faster man-page
89    completion in the F1 man page query. To enable this feature, you must
90    periodically run a cronjob to build this list. To create a system-wide
91    man page cache, run `crontab -e` (might vary depending on platform) as
92    root and enter a line such as follows:
94         15 05 * * * $SHAREDIR/ion-completeman -mksyscache
96    Replace `$SHAREDIR` with the setting from `system.mk`. This example 
97    runs daily at 05:15, but you may modify the  run times to your needs;
98    see the crontab manual. 
99    
100    If you can't or do not want to build a system-wide man page cache, run
101    `crontab -e` as your normal user and replace `-mksyscache` with
102    `-mkusercache` above. The cache file will be `~/.notion/mancache`.
103    
104    It may also be useful to run `ion-completeman` with the suitable
105    `-mk*cache` argument once manually to build the initial cache.
106    
107    If the `MANPATH` environment variable is not set on your system and it
108    does not have the `manpath` command (or it does not print anything 
109    sensible), you may also want to set the `ION_MANPATH` environment
110    variable to the list of paths where the system stores manual pages.
113 Configuration
114 -------------
116 For help on modifying Notion's configuration files, PLEASE READ THE DOCUMENT
117 "Configuring and extending Notion with Lua" available from the Notion web page,
118 listed at the top of this file.
121 Questions, comments, problems?
122 ------------------------------
124 If the available documentation does not answer your question, please
125 post it to the mailing list. Details can be found on the Notion web page
126 listed at the top of this file.
129 Credits
130 -------
132 Notion was written by the Notion team, based on Ion which was written by Tuomo
133 Valkonen.
135 The dock module was written by Tom Payne and Per Olofsson.
137 `utils/ion-completefile/ion-completefile.c` is based on editline, (c)
138 1992 Simmule Turner and Rich Salz. See the file for details.
140 The code that `de/fontset.c` is based on seems to have been originally
141 written by Tomohiro Kubota, but see the file for details.
143 Various (minor) patches have been contributed by other individuals 
144 unlisted  here. See the mailing list archives and the darcs source 
145 repository history at <http://iki.fi/tuomov/repos/>. For translators
146 see the individual `.po` files in `po/`.
148 The code in `de/unicode' (producing `de/precompose.c') is taken from
149 xterm.
151 See `libtu/README` for code by others integrated into libtu.