mirror of
https://github.com/gryf/wmaker.git
synced 2025-12-20 04:48:06 +01:00
WMDrawString() and WMDrawImageString() now take WMColor instead of GC as arguments. WMDrawImageString() receives 2 colors (text & background). This is to allow easy extension for Xft/Xrender and hide X low level details - Added alpha channel to WMColor. 2 new functions also: WMCreateRGBAColor() and WMSetColorAlpha() - Miscelaneous code cleanups in wtext.c - Removed obsoleted acconfig.h and implemented its functionality using AC_DEFINE and AC_DEFINE_UNQUOTED as autoconf 2.5x recommends. This will definitely enforce the need to use autoconf 2.5x
598 lines
18 KiB
Plaintext
598 lines
18 KiB
Plaintext
|
|
Installation Instructions for Window Maker
|
|
|
|
|
|
|
|
SUPPORTED PLATFORMS
|
|
===================
|
|
(ie: I've heard someone has compiled it on...)
|
|
|
|
- Intel GNU/Linux Conectiva 5.9 (beta)
|
|
- Intel GNU/Linux Slackware
|
|
- Intel GNU/Linux Debian
|
|
- Intel GNU/Linux other distributions
|
|
- Sparc GNU/Linux RedHat 5.1
|
|
- PowerPC GNU/MkLinux
|
|
- Alpha GNU/Linux RedHat 5.1
|
|
- FreeBSD
|
|
- NetBSD
|
|
- OpenBSD
|
|
- BSDI 4.0
|
|
- Solaris 2.5.1, 2.5.2
|
|
- Solaris 2.6.0
|
|
- Solaris 2.7beta
|
|
- Solaris 2.8 on Ultra Sparc 10 and E450
|
|
- SCO Unix
|
|
- SGI Irix 5.x, 6.5
|
|
- OSF/1
|
|
- HP-UX
|
|
- AIX 3.2.5
|
|
- AIX 4.1.4 / IBM PowerPC
|
|
- AIX 4.3.1 / IBM CC compiler
|
|
- AIX 4.3.2 / IBM PowerPC
|
|
- AIX 5.3
|
|
- DEC Alpha/Digital UNIX 4.x
|
|
- XFree86 / OS/2
|
|
- Corel NetWinder
|
|
- SunOS 4.x
|
|
- PowerMac / Power MachTen 4.1.1 over MacOS
|
|
- Amiga 3000 running RedHat Linux 5.1 (Rawhide)
|
|
- IBM S/390 running Linux
|
|
- IBM S/390 running Conectiva Linux (experimental)
|
|
- iBook running Darwin
|
|
- Darwin PPC / Macos X
|
|
- Windows NT with Cygwin/XFree86
|
|
- Sony PlayStation2 running Linux
|
|
|
|
All registered trademarks are registered by their owners. (duh)
|
|
|
|
Patches to make it work on other platforms are welcome.
|
|
|
|
|
|
REQUIREMENTS:
|
|
=============
|
|
|
|
The following software is required to use Window Maker:
|
|
|
|
- X11R6.x
|
|
Window Maker can be compiled in older versions of X, like X11R5
|
|
(Solaris) or X11R4 (OpenWindows) but it will not work 100% correctly.
|
|
In such servers there will not be application icons and you'll have
|
|
trouble using the dock. Upgrading the client libraries (Xlib, Xt etc)
|
|
will help if you can't upgrade the server.
|
|
|
|
The following is required to build Window Maker:
|
|
|
|
- Basic obvious stuff
|
|
If you will build Window Maker, make sure you have gcc (or some
|
|
other ANSI C compiler) and the X header files installed. Specially
|
|
for newbie Linux users: you must install all X development packages
|
|
and the gcc suite. Otherwise you won't be able to build any X
|
|
program, including Window Maker.
|
|
|
|
- autoconf, automake and libtool
|
|
These tools are NOT needed, but IF you have one or
|
|
more of them installed, make sure you have ALL of the following
|
|
with exactly these versions:
|
|
autoconf 2.54
|
|
automake 1.4
|
|
libtool 1.4.2
|
|
If you have a different version, disable them by temporarily
|
|
renaming them to something else or uninstalling them from your
|
|
system. If you don't develop software you don't need them,
|
|
so you can safely uninstall.
|
|
|
|
|
|
OPTIONAL:
|
|
=========
|
|
|
|
These libraries are not required to make Window Maker work, but they
|
|
are supported in case you want to use them. Version numbers are those
|
|
that I have (and therefore, guraranteed to work), but other versions
|
|
might work too.
|
|
|
|
|
|
- libXPM 4.7 or newer
|
|
Older versions may not work!!!
|
|
Available at ftp://sunsite.unc.edu/pub/Linux/libs/X/
|
|
|
|
There is builtin support for XPM files, but it will not
|
|
load images in some uncommon encodings.
|
|
|
|
- libpng 0.96 or newer and zlib
|
|
For PNG image support.
|
|
http://www.cdrom.com/pub/png/
|
|
|
|
- libtiff 3.4 or newer
|
|
For TIFF image support.
|
|
You can get it at ftp://ftp.sgi.com/graphics/tiff
|
|
|
|
- libjpeg 6.0.1 or newer
|
|
For JPEG image support
|
|
http://www.ijg.org/
|
|
|
|
- libgif 2.2 or libungif
|
|
For GIF image support
|
|
ftp://prtr-13.ucsc.edu/pub/libungif/
|
|
|
|
- GNU xgettext
|
|
If you want to use translated messages, you will need GNU gettext.
|
|
Other versions of gettext are not compatible and will not work.
|
|
Get the GNU version from ftp://ftp.gnu.org
|
|
|
|
|
|
|
|
CONFIGURE OPTIONS:
|
|
==================
|
|
|
|
These options can be passed to the configure script to enable/disable
|
|
some Window Maker features. Example:
|
|
|
|
./configure --enable-kde --enable-gnome
|
|
|
|
will configure Window Maker with KDE and GNOME supported compiled in.
|
|
|
|
|
|
To get a list of other options, run ./configure --help
|
|
|
|
--with-libs-from
|
|
specify additional paths for libraries to be searched.
|
|
The -L flag must precede each path, like:
|
|
--with-libs-from="-L/opt/libs -L/usr/local/lib"
|
|
|
|
--with-incs-from
|
|
specify additional paths for header files to be searched.
|
|
The -I flag must precede each paths, like:
|
|
--with-incs-from="-I/opt/headers -I/usr/local/include"
|
|
|
|
--disable-shm
|
|
disable use of the MIT shared memory extension. This will slow down
|
|
texture generation a little bit, but in some cases it seems to be
|
|
necessary due to a bug that manifests as messed icons and textures.
|
|
|
|
--disable-motif
|
|
disable support for mwm window manager hints
|
|
|
|
--enable-openlook
|
|
enable support for OPEN LOOK(tm) window manager hints
|
|
|
|
--enable-gnome
|
|
enable support for GNOME window manager hints
|
|
|
|
--enable-kde
|
|
enable support for kde/kwm window manager hints
|
|
|
|
--enable-lite
|
|
remove things that are already supported in desktop environments,
|
|
like KDE and GNOME. Disabled things are: window list, root
|
|
applications menu, multiple window selection. Note that you will not
|
|
be able to exit Window Maker from itself anymore; you will have to
|
|
use kill with the SIGTERM signal or exit it from KDE. It is not
|
|
advisable to enable it.
|
|
|
|
--enable-modelock
|
|
XKB language status lock support. If you don't know what it is you
|
|
probably don't need it.
|
|
|
|
--disable-xpm
|
|
disables use of the XPM library even if it is available on your
|
|
system.
|
|
|
|
--disable-png
|
|
disables use of PNG library
|
|
|
|
--disable-tiff
|
|
disable use of TIFF library
|
|
|
|
--disable-gif
|
|
disable use of GIF library
|
|
|
|
--disable-jpeg
|
|
disable use of JPEG library
|
|
|
|
--disable-shape
|
|
disables shaped windows (for oclock, xeyes etc.)
|
|
|
|
|
|
PLATFORM SPECIFIC NOTES:
|
|
========================
|
|
|
|
- DEC/Alpha machines
|
|
|
|
#>>>>>>>>>>>
|
|
From: Anton Ivanov <aivanov@eu.level3.net>
|
|
To: Marcelo E. Magallon <mmagallo@debian.org>
|
|
Subject: Re: Is the WindowMaker package working ok on Alpha?
|
|
|
|
> Hi,
|
|
>
|
|
> I was reading some docs on the WindowMaker tarball, and found this:
|
|
>
|
|
> | - DEC/Alpha machines
|
|
> | You might need to pass the --disable-shm flag to configure,
|
|
> | like ./configure --disable-shm
|
|
>
|
|
> is anyone having problems with WindowMaker on Alpha? Can someone
|
|
> please test this? Should the flag be passed when building on Alpha?
|
|
|
|
Disclaimer: alphas under my command have never run X and are least likely to
|
|
suddenly start running it anytime soon.
|
|
|
|
Alpha used to have some ridiculously low amount of shared memory
|
|
configured.
|
|
So quite a lot of apps used to barf. Namely - cdrecord, mysql server, etc.
|
|
|
|
Check where is yours at the moment and raise it to a more appropriate
|
|
value by either catting to the appropriate /proc entry or changing the
|
|
/usr/src/linux/include/asm/shmparam.h.
|
|
|
|
Otherwise the shared memory on alpha should be fully functional and I
|
|
see no reason to disable it. Mine are bumped up to 32 or more on most
|
|
machines.
|
|
|
|
And If I recall correctly the comments in that file are actually
|
|
wrong. Value is not bytes, but in machine size word. For alpha *8.
|
|
|
|
As I said - I do not run X on them so all #include "stdisclaimer.h"
|
|
apply.
|
|
#<<<<<<<<<<<<
|
|
|
|
|
|
- SCO Unix - run configure like
|
|
CFLAGS="-belf -DANSICPP" ./configure
|
|
|
|
- SunOS, Solaris
|
|
If you have gcc installed, run configure as:
|
|
CPP_PATH="gcc -E -x c" ./configure
|
|
Sun's cpp lacks some features needed by Window Maker and it can
|
|
cause problems when parsing the config files.
|
|
You also might need to use the --with-libs-from and --with-incs-from
|
|
to supply the directory where libtiff is located.
|
|
Someone mailed me that you also must make /usr/local/lib be the
|
|
first path in LD_LIBRARY_PATH to make it work.
|
|
|
|
If you have a Ultra Creator 3D or some other machine with high-end
|
|
graphics, be sure to start the X server with the default visual
|
|
set to 24bpp or you might experience problems with mangled colors.
|
|
This is a wmaker bug and will be fixed.
|
|
|
|
- GNU/Linux in general
|
|
Make sure you have /usr/local/lib in /etc/ld.so.conf and that you
|
|
run ldconfig after installing.
|
|
Uninstall any packaged version of Window Maker before installing a new
|
|
version.
|
|
|
|
- RedHat GNU/Linux
|
|
RedHat systems have several annoying problems. If you use it,
|
|
be sure to follow the steps below or Window Maker will not work:
|
|
|
|
* if you installed the Window Maker that comes with RedHat, uninstall
|
|
it before upgrading;
|
|
|
|
* make sure you don't have the LANG and LINGUAS environment variables
|
|
set to en_RN;
|
|
|
|
* make sure you have /usr/local/bin in your PATH environment
|
|
variable;
|
|
|
|
* make sure you have /usr/local/lib in /etc/ld.so.conf before running
|
|
ldconfig;
|
|
|
|
* if you have problems that mention an error message with --no-reexec
|
|
uninstall libtool-1.2b and install libtool-1.3 instead. libtool-1.3
|
|
can be found in ftp.gnu.org Also read the TROUBLESHOOTING section;
|
|
|
|
* if you installed the Window Maker package from RedHat and are
|
|
installing a new version of it by hand (compiling yourself), uninstall
|
|
the package from RedHat before.
|
|
|
|
* make sure you have a symbolic link from /usr/include/X11 to
|
|
/usr/X11R6/include/X11 (if not, type ln -s /usr/X11R6/include/X11
|
|
/usr/include/X11 )
|
|
|
|
* make sure you have /lib/cpp pointing to the cpp program
|
|
|
|
If you have any doubts in doing any of the stuff above, please
|
|
don't hesitate to contact the RedHat user support. They will
|
|
kindly answer to all your questions regarding their system.
|
|
They also know much more about their own system than us
|
|
(we don't use RedHat).
|
|
|
|
|
|
- PowerPC MkLinux
|
|
You will need to have the latest version of Xpmac. Older versions
|
|
seem to have bugs that cause the system to hang.
|
|
|
|
- Debian GNU/Linux
|
|
If you want JPEG and TIFF support, make sure you have libtiff-dev
|
|
and libjpeg-dev installed.
|
|
|
|
- SuSE GNU/Linux
|
|
If you installed the Window Maker package from SuSE,
|
|
uninstall it before trying to compile wmaker or you
|
|
might have problems.
|
|
|
|
- MetroX (unknown version)
|
|
MetroX has a bug that corrupts pixmaps that are set as window
|
|
backgrounds. If you use MetroX and has weird problems with
|
|
textures, do not use textures in titlebars. Or use a different
|
|
X server.
|
|
|
|
INSTALLATION:
|
|
=============
|
|
|
|
Build Window Maker
|
|
------------------
|
|
For a quick start, type the following in your shell prompt:
|
|
|
|
./configure
|
|
make
|
|
|
|
then, login as root and type:
|
|
|
|
make install
|
|
ldconfig
|
|
|
|
or if you want to strip the debugging symbols from the binaries and make them
|
|
smaller, you can instead type:
|
|
|
|
make install-strip
|
|
ldconfig
|
|
|
|
This will build and install Window Maker with default parameters.
|
|
|
|
If you want to customize some compile-time options, you can do the
|
|
following.
|
|
|
|
1. (optional) Look at the CONFIGURE OPTIONS section above for the
|
|
options available. Also run:
|
|
|
|
./configure --help
|
|
|
|
to get a complete listing of other options that are available.
|
|
|
|
2. Run configure with the options you want. For example, if you
|
|
want to use the --enable-kde option, type:
|
|
|
|
./configure --enable-kde
|
|
|
|
3. (optional) Edit src/wconfig.h with your favorite text editor
|
|
and browse through it for some options you might want to change.
|
|
|
|
4. Compile. Just type:
|
|
|
|
make
|
|
|
|
5. Login as root (if you can't do that, read the "I don't have the
|
|
root password :-(" section) and install Window Maker in your system:
|
|
su root
|
|
make install
|
|
|
|
|
|
User specific configuration
|
|
---------------------------
|
|
|
|
These instructions do not need to be followed when upgrading Window Maker
|
|
from an older version, unless stated differently in the NEWS file.
|
|
|
|
Every user on your system that wishes to run Window Maker must do the
|
|
following:
|
|
|
|
1. Install Window Maker configuration files in your home directory.
|
|
Type:
|
|
wmaker.inst
|
|
|
|
wmaker.inst will install Window Maker configuration files and will
|
|
setup X to automatically launch Window Maker at startup.
|
|
|
|
That's it!
|
|
|
|
You can type "man wmaker" to get some general help for configuration
|
|
and other stuff.
|
|
|
|
Read the User Guide for a more in-depth explanation of Window Maker.
|
|
|
|
You might want to take a look at the FAQ too.
|
|
|
|
|
|
|
|
Installing the extras package
|
|
-----------------------------
|
|
|
|
Unpack WindowMaker-extra-<version-number>.tar.gz in /usr/local/share
|
|
|
|
You can get the file at ftp://ftp.windowmaker.org. This file is optional
|
|
and only have a few icons, and themes. Look for the latest <version-number>
|
|
available.
|
|
Also there is a WindowMaker-extra.readme to instruct you where that package
|
|
should go.
|
|
|
|
|
|
|
|
I don't have the root password :(
|
|
---------------------------------
|
|
|
|
If you can't get superuser privileges (can't be root) you can install
|
|
wmaker in your own home directory. For that, supply the --prefix option
|
|
when running configure in step 2 of building Window Maker. You will
|
|
also need to supply the --with-appspath option, to specify the path for
|
|
WPrefs.app Example:
|
|
|
|
./configure --prefix=/home/jshmoe --with-appspath=/home/jshmoe/GNUstep/Apps
|
|
|
|
|
|
Then make /home/jshmoe/bin be included in your search PATH, add
|
|
/home/jshmoe/lib to your LD_LIBRARY_PATH environment variable and run
|
|
bin/wmaker.inst
|
|
|
|
Of course, /home/jshmoe is supposed to be replaced with your actual home
|
|
directory path.
|
|
|
|
|
|
|
|
UPGRADING
|
|
=========
|
|
|
|
If you are upgrading from an older version of Window Maker:
|
|
|
|
1. Configure and build Window Maker as always
|
|
2. Install Window Maker (but do not run wmaker.inst)
|
|
3. Read the NEWS file and update your configuration files if necessary.
|
|
|
|
|
|
TROUBLESHOOTING
|
|
===============
|
|
|
|
When you have some trouble during configuration (while running configure),
|
|
like not being able to use a graphic format library you think you have
|
|
installed, look at the config.log file for clues of the problem.
|
|
|
|
|
|
== Error with loading fonts, even if they exist.
|
|
|
|
Try rebuilding without NLS support.
|
|
|
|
== Error when configuring
|
|
|
|
ltconfig: unrecognized option `--no-reexec'
|
|
Try `ltconfig --help' for more information.
|
|
configure: error: libtool configure failed
|
|
|
|
remove the --no-reexec option from aclocal.m4 and reconfigure
|
|
Also make sure the autoconf and automake versions you have installed are:
|
|
autoconf 2.13
|
|
automake 1.4
|
|
libtool 1.3
|
|
|
|
Note that it must not be libtool 1.2b, it must be libtool 1.3,
|
|
from the GNU sites.
|
|
|
|
== configure doesn't detect libtiff, or other graphic libraries.
|
|
|
|
Delete config.cache, then rerun configure adding the following options to
|
|
configure (among the other options you use):
|
|
--with-libs-from="-L/usr/local/lib"
|
|
--with-incs-from="-I/usr/local/include -I/usr/local/include/tiff"
|
|
Put the paths where your graphic libs and their corresponding header files are
|
|
located. You can put multiple paths in any of these options, as the example
|
|
of --with-incs-from shows. Just put a space between them.
|
|
|
|
|
|
== configure doesn't detect libXpm.
|
|
|
|
* Check if you have a symbolic link from libXpm.so.4.9 to libXpm.so
|
|
|
|
|
|
== Segmentation fault on startup
|
|
|
|
* Check if the version of libXPM you have is at least 4.7
|
|
|
|
* Check if you have an updated version of ~/GNUstep/Defaults/WindowMaker
|
|
|
|
If you're not sure, try renaming ~/GNUstep to ~/GNUtmp and then run wmaker.inst
|
|
|
|
== "...: your machine is misconfigured. gethostname() returned (none)"
|
|
|
|
* the hostname of your machine is set to something invalid, that starts
|
|
with a parenthesis. Do a man hostname for info about how to set it.
|
|
|
|
|
|
== The root menu contains only 2 entries. ("XTerm" and "Exit...")
|
|
|
|
* Window Maker is not finding cpp (the C preprocessor). If your cpp is
|
|
not located in /lib/cpp, edit src/config.h and correct the path in
|
|
CPP_PATH.
|
|
|
|
== checking lex output file root... configure: error: cannot find output from true; giving up
|
|
|
|
* Read the REQUIREMENTS section of this file.
|
|
|
|
|
|
LOCALES/INTERNATIONALIZATION
|
|
============================
|
|
|
|
Window Maker has national language support. To enable national language
|
|
support, you must compile Window Maker with some additional parameters.
|
|
|
|
|
|
0 - You must have the GNU gettext package installed. It can be
|
|
obtained at ftp://prep.ai.mit.edu/pub/gnu/gettext-nnn.tar.gz
|
|
|
|
Steps 1 to 3 can be skipped if you use the Install script.
|
|
|
|
1 - You have to select the languages you want to support. Set the
|
|
LINGUAS to the list of locales you want. English is always
|
|
suported. Example:
|
|
|
|
setenv LINGUAS "pt ja de"
|
|
in csh
|
|
|
|
or
|
|
|
|
export LINGUAS;LINGUAS="pt ja de"
|
|
in sh
|
|
|
|
The list of supported locales can be found in po/README.
|
|
English is the default language.
|
|
|
|
Read po/README if you wish to translate and maintain locale files
|
|
for other languages.
|
|
|
|
2 - Additionally, if your language uses multi-byte characters, such
|
|
as Japanese or Korean, you must set the MultiByteText option to YES
|
|
in ~/GNUstep/Defaults/WMGLOBAL
|
|
|
|
3 - Configure, build and install Window Maker normally.
|
|
|
|
4 - To select a particular locale at runtime you must set the LANG
|
|
environment variable to the locale you want. For example, if you want to set
|
|
the portuguese locale, you must run
|
|
|
|
setenv LANG pt
|
|
|
|
in csh or
|
|
|
|
export LANG; LANG=pt
|
|
|
|
in Bourne sh and similars
|
|
|
|
Note: If you have the LC_CTYPE environment variable set, you must
|
|
unset it before running wmaker.
|
|
|
|
For menu definition files, Window Maker searches for them in the
|
|
following order (for brazilian portuguese, in this case):
|
|
|
|
menu.pt_BR
|
|
menu.pt
|
|
menu
|
|
|
|
|
|
5 - If you chose a language that uses multi-byte characters, you must
|
|
configure the fonts appropriately. Read the manual page for XCreateFontSet
|
|
to have more details about it. You must change the ~/G/D/WindowMaker file
|
|
for fonts used in titlebars, menus and other things. For fonts used in
|
|
dialog windows, change ~/G/D/WMGLOBAL. The %d in the font names must not be
|
|
removed. You can also use the supplied wsetfont script for the task.
|
|
Read the script itself for instructions.
|
|
|
|
For example, you can specify the following in ~/G/D/WindowMaker:
|
|
|
|
WindowTitleFont = "-*-helvetica-bold-r-normal-*-12-*,-*-*-medium-r-normal-*-14-*";
|
|
MenuTitleFont = "-*-helvetica-bold-r-normal-*-12-*,-*-*-medium-r-normal-*-14-*";
|
|
MenuTextFont = "-*-helvetica-medium-r-normal-*-12-*,-*-*-medium-r-normal-*-14-*";
|
|
IconTitleFont = "-*-helvetica-medium-r-normal-*-8-*,-*-*-medium-r-normal-*-12-*";
|
|
ClipTitleFont = "-*-helvetica-bold-r-normal-*-10-*,-*-*-medium-r-normal-*-12-*";
|
|
DisplayFont = "-*-helvetica-medium-r-normal-*-12-*,-*-*-medium-r-normal-*-12-*";
|
|
|
|
and in ~/G/D/WMGLOBAL:
|
|
|
|
SystemFont = "-*-*-medium-r-normal-*-%d-*-*-*-*-*-*-*";
|
|
BoldSystemFont = "-*-*-medium-r-normal-*-%d-*-*-*-*-*-*-*";
|
|
|
|
The above 2 fonts are only used by applications that use WINGs (WindowMaker
|
|
and WPrefs.app)
|
|
|
|
The wsetfont script that's supplied will allow you to change the font
|
|
settings in a easier way. Take a look in the script for details on usage.
|
|
|