Tree [6a098a] 3-2014010400 3-2014010401 3-2014010402 /
History



File Date Author Commit
build 2013-11-26 Etan Reisner Etan Reisner [95c125] LUA_INCLUDES can legitimately be empty (e.g. on...
contrib 2014-01-04 Arnout Engelen Arnout Engelen [b9b553] Make 'contrib' a normal folder rather than a gi...
de 2013-09-16 Arnout Engelen Arnout Engelen [589180] Fix segfault when logging not finding a font
etc 2013-02-03 Philipp Hartwig Philipp Hartwig [231a41] Reflect that mod_xrandr is now loaded by default
ioncore 2013-12-16 Arnout Engelen Arnout Engelen [e51e44] More specifically name WGroup's
libmainloop 2013-11-26 Arnout Engelen Arnout Engelen [6c773a] Add comments to fork() logic for readibility
man 2013-12-05 Arnout Engelen Arnout Engelen [719a4f] Use UTF-8 instead of LATIN1 for manpages and we...
mod_dock 2012-05-06 Philipp Hartwig Philipp Hartwig [8370a1] Don't ignore the stdisp after all, use less pre...
mod_menu 2011-11-24 Arnout Engelen Arnout Engelen [107602] Make names of the X11 Windows consistent with t...
mod_notionflux 2014-01-04 Arnout Engelen Arnout Engelen [d1ca8f] Include notionflux in the main repo instead of ...
mod_query 2013-05-23 Arnout Engelen Arnout Engelen [58bd31] Rename 'goto_' to 'goto_focus', keep backwards ...
mod_sm 2012-06-04 Philipp Hartwig Philipp Hartwig [7c47c7] Allow for not automatically saving the layout
mod_sp 2013-12-05 Arnout Engelen Arnout Engelen [094991] Use explicit window names for WFrames
mod_statusbar 2013-11-26 Arnout Engelen Arnout Engelen [d3c546] Better explain the need for explicitly closing ...
mod_tiling 2013-12-05 Arnout Engelen Arnout Engelen [094991] Use explicit window names for WFrames
mod_xinerama 2014-01-04 Arnout Engelen Arnout Engelen [16c03d] Include mod_xinerama instead of using submodules
mod_xkbevents 2014-01-04 Arnout Engelen Arnout Engelen [ef77be] Include mod_xkbevents instead of using a submodule
mod_xrandr 2014-01-04 Arnout Engelen Arnout Engelen [137cac] Include mod_xrandr instead of using submodules
notion 2013-07-21 Arnout Engelen Arnout Engelen [680464] Support building with -std=c99
po 2012-04-26 Arnout Engelen Arnout Engelen [ca95bd] Remove legacy PWM code
test 2012-08-26 Arnout Arnout [91a115] Give notion some time to properly shut down bef...
utils 2014-01-04 Arnout Engelen Arnout Engelen [6a098a] Simple lua repl for testing
.gitignore 2012-04-26 Arnout Engelen Arnout Engelen [ca95bd] Remove legacy PWM code
.gitmodules 2014-01-04 Arnout Engelen Arnout Engelen [ef77be] Include mod_xkbevents instead of using a submodule
.travis.yml 2013-07-21 Arnout Engelen Arnout Engelen [9b9875] Only build the 'travis' github branch on Travis
ChangeLog 2004-11-07 tuomov tuomov [d15a7b] trunk: changeset 1876
LICENSE 2009-01-09 Tuomo Valkonen Tuomo Valkonen [e75c2c] Year changed
Makefile 2013-07-21 Arnout Engelen Arnout Engelen [0b3e08] Add target to quickly compile a snapshot version
README 2013-05-11 Olof Johansson Olof Johansson [899f3d] build: Use more overrideable system-autodetect.mk
RELNOTES 2011-01-27 Tomáš Ebenlendr Tomáš Ebenlendr [d8196f] Revert of 951f7acb - because of ugly code.
TODO.README 2006-03-23 Tuomo Valkonen Tuomo Valkonen [30102a] Included a TODO list.
TODO.riot 2007-07-01 Tuomo Valkonen Tuomo Valkonen [d99a24] Removed 'done' entries from TODO.riot
config.h 2013-07-28 Arnout Engelen Arnout Engelen [5cd4f4] In use_mb mode, use a more reasonable default/f...
install-sh 2004-01-14 tuomov tuomov [f4029e] trunk: changeset 1188
modulelist.mk 2012-05-10 Arnout Engelen Arnout Engelen [8c144b] (not)ionflux submodule
nextversion.sh 2013-03-02 Arnout Engelen Arnout Engelen [80bf4e] Introduce 'make dist' as a './predist.sh' repla...
system-autodetect.mk 2013-08-05 Arnout Engelen Arnout Engelen [2c1eb7] Be more forgiving when XCreateFontSet creates a...
version.h 2011-01-23 Arnout Engelen Arnout Engelen [cbe6c8] rename some #defines from ION to NOTION, better...

Read Me

Notion
===

Copyright (c) the Notion team 2010-2011.
Copyright (c) Tuomo Valkonen 1999-2009.

http://notion.sf.net
          

Building and installing
-----------------------

See also: 

  https://sourceforge.net/apps/mediawiki/notion/index.php?title=Development

1. Get the source code.  Make sure all submodules are present and up to date.
    git clone git://notion.git.sourceforge.net/gitroot/notion/notion
    cd notion
    git submodule init
    git submodule update

2. 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

3. 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.

4. If you want to build some extra modules now or do not want to build
   some of the standard modules, edit `modulelist.mk`.
   
5. Run `make`. Note that `make` here refers to GNU make which is usually
   named `gmake` on systems with some other implementation of make as 
   default.
   
6. Run `make install`, as root if you set `$PREFIX` in `system.mk` to 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 `$PREFIX/etc/notion/` or in `~/.notion/`.

7. How to best set up `startx` or 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 `.xsession` in your
   home directory to start Notion. This should usually (but not always) work
   if you're using some X display/login manager. If `~/.xsession` does not 
   help and you're not using a display manager, modifying `~/.xinitrc` or 
   creating one based on your system's `xinitrc` (wherever that may be; 
   use `locate`) may be what you need to do. Note that unlike `.xsession`, 
   a `.xinitrc` should usually do much more setup than simply start a few
   programs of your choice.

Please see the file `RELNOTES` for additional release-specific installation
and configuration notes.


Some optional installation steps
--------------------------------

1. The F5 and F6 keys expect to find the program `run-mailcap` to 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:
   
       <http://www.debian.org/Packages/unstable/net/mime-support.html>

2. 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

   Replace `$SHAREDIR` with 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 -e` as your normal user and replace `-mksyscache` with
   `-mkusercache` above. The cache file will be `~/.notion/mancache`.
   
   It may also be useful to run `ion-completeman` with the suitable
   `-mk*cache` argument once manually to build the initial cache.
   
   If the `MANPATH` environment variable is not set on your system and it
   does not have the `manpath` command (or it does not print anything 
   sensible), you may also want to set the `ION_MANPATH` environment
   variable to the list of paths where the system stores manual pages.


Configuration
-------------

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.


Credits
-------

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 at <http://iki.fi/tuomov/repos/>. For translators
see the individual `.po` files in `po/`.

The code in `de/unicode' (producing `de/precompose.c') is taken from
xterm.

See `libtu/README` for code by others integrated into libtu.