FVWM-Crystal installation instructions
======================================

Installing
----------
Uncompress the archive to a temporary directory and run:

	make install

FVWM-Crystal will be installed in /usr/local directory, so you need to become
root for installation to work. If you want to install Crystal in other
directory, or you don't have access to a root account, you can change the
prefix:

	make prefix=/usr install

The installation process will create a tmp directory into the
temporary directory. You can delete it with

	make clean

but this is not needed between successivve 'make install' runs.


IMPORTANT NOTICE
----------------
	make correctpath
sould NOT be called directly. It is for internal use by
'make install' only.

Installing from svn repository
------------------------------
Download the repository and process as before


Uninstalling the software
-------------------------
Run
	make uninstall
or
	make prefix=/usr uninstall


Needed adjustement by the user
------------------------------

Preferences
-----------
All the preferences are done from the menu of Fvwm-Crystal
with 3 notable exceptions:

1) The preferences for the FVWM-Crystal dekstop manager (dekstop icons)
are done from the contextual of the Home icon.

2) The media player and mixer preferences are done from the menu
of the Music button.

3) The preferences for Recreate the Playlists must be done by hand:
Edit ~/.fvwn-crystal/preferences/MediaDirectories.
Each line must contain the type of media (one of <audio>,
<video>, <cdrom>, <dvd>), followed by the main path to the media files or
device file. This file will be created for you the first time you call
that function, and you will be warned to edit it.


Note on fvwm-crystal.generate-menu
----------------------------------
fvwm-crystal.generate-menu is a script that can be used to generate the missing
FVWM-Crystal applications database entries. To be able to do that, it must know
where FVWM-Crystal is installed and where are the applications type *.desktop
files. This is handled by a few variables in the script and it can be needed
to edit some of them before to run the script.

The FVWM-Crystal related variables will be modified to the correct location
by "make install". But it is no way the Makefile can know for sure where the
application type desktop files are installed in your distribution.

At the first run of fvwm-crystal.generate-menu from the preferences menu,
2 popups will show the user what to do. See also "man fvwm-crystal".


Note to distribution maintainers:
---------------------------------
If you package management system doesn't honor $DISTDIR and $prefix, you should
pay attention to the following variables in fvwm-crystal.generate-menu:

FC_MENUBASEROOT="path_to_FVWM-Crystal_application_menu", usualy
"/usr/share/fvwm-crystal/fvwm/Applications".

FC_ICONBASEROOT="path_to_FVWM-Crystal_icons", usualy
"/usr/share/fvwm-crystal/fvwm/icons/Default".


Libpng warnings
...............
The current version (3.1.7 at that time of writing) of fvwm-crystal.generate-menu
include a fix to get ride of warnings like the following:
    libpng warning: Ignoring incorrect gAMA value .55 when sRGB is also present.

Howeher, it will not fix already present icon files. For that, you may want
to run the following commands:
    cd ${HOME}/.fvwm-crystal/icons/Default
    find -name "*.png* -exex convert "{}" "{}" \;

When inside individual directory, you may prefer:
    for i in $(ls); do convert "$i" "$i"; done

In order to get ride of all the warnings, it can be necessary to run convert
several times (up to 3 times) on some files. This is important becuuse
Fvwm-Crystal feel faster without these warnings.

General installation tips
-------------------------
If you don't have your own ~/.Xresources, copy one from 'addons/' directory.
You can also find there sample ~/.Xsession (or ~/.xinitrc) file.
It is also a Xdefaults file that can be copied to ~/.Xdefaults.

You need recent version of Python installed for 'fvwm-crystal.apps' script.
And of course unstable version of FVWM (2.6.5+ or CVS) would be good... ;)


-----------------------------------------------------------------------------
Useful applications:

Needed:
-------
- fvwm>=2.6.5
- python2 (>=2.5)
- ImageMagick (convert is used for application menu icons generation)
- xwd for on the fly icon generation and expose function
- coreutils
- sed
- awk (tested with gawk)
- bc if mplayer or alsaplayer are installed (used by speed control)

Strongly recommended:
---------------------
- ImageMagick package for screenshots and thumbnailed icons
- 'feh' 'hsetroot' or 'Esetroot' for setting a wallpaper
- one of 'trayer' for tray icons (available on FVWM-Crystal webpage) or
  'stalonetray'
- One of 'aterm', 'urxvt', 'mrxvt', 'xterm', 'Eterm', 'gnome-terminal', 'konsole' ,
  'terminator' or 'xfce4-terminal' - for terminal emulator
- One of 'mrxvt', 'urxvt', aterm' or 'xterm' for Quake console
- A file manager to use with the icons on the desktop. Anything will go.
- mount, umount, pmount for mounting/unmounting of partitions and remouvable medias.

Optional, but supported:
------------------------
- 'xscreensaver' for screen saver
- At least one of 'mpd', 'mpc', 'gmpc' or 'xmms', 'xmms-shell', 'xmms-find' or 'xmms2' or
  'quodlibet' or 'cdcd' or 'cmus' or 'alsaplayer' or 'mplayer' for built-in music
  player support (even video support with mplayer) 
- 'transset' and 'xcompmgr'for full transparency support.
- A mixer application. I recommand alsamixer.
- 'sudo' and 'gksudo' for running text/graphical applications as superuser and
  for reboot/shutdown options in the Exit menu
- 'xrandr' for video mode switching
- 'gdmflexiserver' (distributed with gdm) for GDM login manager support
- ROX-Filer or Nautilus for alternatives to the Fvwm-Crystal managed desktop icons
  (those 2 functions are provided for backward compatibility)
- 'gnome-session' for session management support. Follow the instructions in 
  'addons/session-management.README'. It is for Gnome 2, if you can get it to
   work with a current Gnome version, please consider to contribute with
  some kind of up-to-date explaination.
- pmount-gui for mounting / unmounting of removable medias.
