changed format of RImage, added x86 speicfic optimized code
[wmaker-crm.git] / README
blob22bb0557120b0ad799fac0820bf77bfc649d561e
4                                 GNU Window Maker
5                                X11 Window Manager
7                            <http://windowmaker.org>
8                          <ftp://ftp.windowmaker.org>
10                                      by
12                              Alfredo K. Kojima 
14                                  Dan Pascu
16                               Matthew Hawkins
18                                     ]d
21                                Web/FTP Master
23                                Phillip Smith
27                 Congratulations! You have purchased an extremely fine
28         device that would give you thousands of years of trouble-free 
29         service, except that you undoubtably will destroy it via some 
30         typical bonehead consumer maneuver. Which is why we ask you
31         to PLEASE FOR GOD'S SAKE READ THIS OWNER'S MANUAL CAREFULLY
32         BEFORE YOU UNPACK THE DEVICE. YOU ALREADY UNPACKED IT, DIDN'T
33         YOU? YOU UNPACKED IT AND PLUGGED IT IN AND TURNED IT ON AND 
34         FIDDLED WITH THE KNOBS, AND NOW YOUR CHILD, THE SAME CHILD WHO
35         ONCE SHOVED A POLISH SAUSAGE INTO YOUR VIDEOCASSETTE RECORDER
36         AND SET IT ON "FAST FORWARD", THIS CHILD ALSO IS FIDDLING
37         WITH THE KNOBS, RIGHT?  AND YOU'RE JUST NOW STARTING TO READ 
38         THE INSTRUCTIONS, RIGHT???  WE MIGHT AS WELL JUST BREAK THESE 
39         DEVICES RIGHT AT THE FACTORY BEFORE WE SHIP THEM OUT, YOU 
40         KNOW THAT? 
41                                 -- Dave Barry, "Read This First!"
44 Description
45 ===========
47 Window Maker is the GNU window manager for the X Window System. It was
48 designed to emulate the look and feel of part of the NEXTSTEP(tm) GUI. It's
49 supposed to be relatively fast and small, feature rich, easy to configure and
50 easy to use, with a simple and elegant appearance borrowed from NEXTSTEP(tm).
52 Window Maker was designed keeping integration with GNUstep in mind and is the
53 "official" window manager for it. It is also part of the GNU project
54 (www.gnu.org) Read more about GNUstep further on this file.
56 Hints (information given by applications to integrate well with the window 
57 manager) for Motif(tm), OPEN LOOK(tm), KDE and GNOME are also supported. 
58 So you can replace any of the window managers for these environments
59 with Window Maker while keeping most, if not all, of the native window manager
60 functionality.
62 Window Maker was previously called WindowMaker.
64 Window Maker has no connection with Windowmaker, the software for
65 making windows and doors.
68 Documentation
69 =============
71 Read before asking.
73 * README files all over the source tree have info related to the stuff
74 in the directories. 
76 * INSTALL has installation instructions and some troubleshooting tips.
77 You're meant to read it before installing. it was not written just to 
78 fill up space in the package...
80 * FAQ: Frequently Asked Questions. READ IT!!! FAQ.I18N is for
81 internationalization related questions.
83 * NEWS: list user visible changes from the previous version. Read it if
84 you are upgrading.
86 * MIRRORS: some alternative places where you can get Window Maker,
87 including platform specific packages of Window Maker.
89 * BUGFORM: use it to send bug reports. Please do use it.
91 * ChangeLog: what changed from the previous version?
93 * BUGS: list of known bugs
96 *** User Guide
98 The Window Maker User's Guide can be downloaded from the official ftp
99 or web sites.
100 It can also be viewed in HTML format in:
101 http://people.delphi.com/crc3419/WMUserGuide/index.htm
103 The User Guide explains how to use Window Maker, the configuration files
104 and options.
107 *** man pages
109 Type "man wmaker" in the shell prompt to get general help about Window Maker
113 Directories & Files in the Source Tree
114 ======================================
116 * Install is a script for configuring and compiling Window Maker in a easy
117 way (not that the normal way is difficult, but...).
119 * AUTHORS: the credits
121 * TODO: plans for the future
123 * contrib/ has some contributed patches that are not supported by Window Maker
124   because they conflict with design filosophies of the developers or some 
125   other reason.
127 * util/ has various utility programs.
129 * WPrefs.app/ is the configuration program. 
131 * src/wconfig.h has compile time options you can change to select some
132 options/features and other stuff. 
134 * WINGs/ NEXTSTEP lookalike widget library
136 * wrlib/ image processing library
138 * po/ has message catalogs wich are the translated versions of the messages
139 displayed by Window Maker.
141 * docklib-x.x.tar.gz  a library for writing dockapps
144 HELP ME!!!
145 ==========
147 There is a mailing list for discussing Window Maker at
148 wm-user@windowmaker.org To subscribe to it, send a message containing:
149         subscribe 
150 in the subject of the message to wm-user-request@windowmaker.org
152 If you got a problem, ask there (after reading the docs, of course). The
153 people there is more likely to be able to answer your questions than we are.
154 For bug reports use the BUGFORM.
156 If you have a problem with a precompiled version of Window Maker 
157 (rpm, deb etc), first ask the person who made the package.
159 IMPORTANT NOTE: when asking for help (in the mailing list or to the
160 developerts, directly) *always* send information about the system you are
161 using. You can use the system information section at the end of BUGFORM as a
162 guideline. Another thing: please don't send HTML mail.
165 There is also a #windowmaker IRC channel at openprojects. To join there,
166 connect your irc client to irc.openprojects.net, irc.linux.com or some other
167 server of that network.
170 GNUstep
171 =======
173 GNUstep is a complete object-oriented development system, based on the
174 OpenStep specification released by NeXT(tm) (now Apple(tm)) and Sun(tm). It
175 will provide everything one needs to produce cross-platform, object-oriented,
176 graphical (and non-graphical) applications; providing among other things,
177 base system libraries, a high-level GUI application framework that uses a
178 Display PostScript(tm)-like imaging model (DGS), objects for accessing
179 relational databases, distributed objects and a graphical development
180 environment, with tools like interface modeller, a project management system
181 (project center) and other tools.
183 The GNUstep development system will be used to create a user environment,
184 with everything needed for a complete graphical user interface, such as a
185 file viewer, text editors and other applications. Note that the user
186 environment (or "desktop environment") is only a small part of the whole
187 GNUstep project and therefore it does not "compete" with other projects like
188 KDE or GNOME, simply because they are completely different things.
190 For more information on the GNUstep project, visit: http://www.gnustep.org
191 and http://gnustep.current.nu
194 Running multiple instances of Window Maker
195 ==========================================
197 It is not a good idea to run more than one instance of Window Maker
198 from the same user (so that wmaker will use the same configuration
199 files) at the same time. You might get unexpected behaviour when Window Maker
200 updates it's configuration files.
202 If you really desire to do this, try running Window Maker with the 
203 command line option --static so that it will not update or change
204 any of the configuration files.
206 Sound support
207 =============
209 Sound is supported for Linux and FreeBSD systems with the use of a
210 separately distributed module called WSoundServer. There is also a graphical
211 configuration tool for setting up your sounds called WSoundPrefs.
212 You can download these at:
213 http://shadowmere.student.utwente.nl/
215 Note that you must compile Window Maker with the --enable-sound configure
216 flag and set the DisableSound option to NO.
219 OpenL**k support
220 ================
222 I guess many users, mainly from the academic world, have to use
223 applications written using the OpenL**k toolkits, so having support
224 for these apps must be of some use.
226 To enable, use --enable-openlook when doing the configure. Note that
227 not everything is implemented. 
229 Implemented stuff include decoration hints and the push-pin. Not implemented
230 stuff include _SUN_WINDOW_STATE (the compose led state stuff), drag and drop
231 interest stuff, header (not sure what's it) and footer strings.
233 Please give me feedback if something doesn't work. If the feature is
234 already implemented, but is not working because of a bug, I'll try to
235 have that fixed. If it's a non-implemented feature and you mention that
236 it's important (ie: not just cosmetical), I'll consider implementing it.
238 The "out" state of the pushpin is emulated as a pushed-in close button.
239 Just click on the button to make it pushed-out, which corresponds
240 to the pinned-in state of the pushpin. If you push again in the pushed-out
241 close button, it will act as a normal close button: it will close the window.
244 Performance Tuning
245 ==================
247 If you want to diminish Window Maker's memory usage and improve performance,
248 while keeping a nice appearance and good functionality, follow the items
249 bellow:
251 - use solid textures for everything, mainly titlebars and menus. If you
252   want a nice looking desktop, use the Traditional style.
253 - turn NewStyle and Superfluous off
254 - do not bind many shortcuts in the menu and keep only the essential items
255   in the menu
256 - turn on DisableClip
257 - edit wconfig.h and disable the NUMLOCK_HACK and the features you
258   don't use anyway (keep in mind that some of the #defines might not
259   work, as they are not fully supported). Make sure to always keep
260   NumLock and ScrollLock turned off.
261 - turn on DisableAnimations. You can also #undefine ANIMATIONS in wconfig.h
262 - strip down the default IconPath and PixmapPath entries to contain only 
263   the paths that you really have in your system. 
264 - do not use large images in the root background
265 - remove support for image formats you don't use
266 - to reduce memory usage, disable the icon cache, by setting the RIMAGE_CACHE
267   environment variable to 0. If you want to increase performance at the cost
268   of memory usage, set it's value to a value like the number of different
269   icons you use.
272 Keyboard Mouse Control
273 ======================
275 Many people ask about adding keyboard control of mouse, like in fvwm,
276 but Window Maker will not have such feature. The XKB extension supports
277 mouse simulation from the keyboard, in a much more powerfull fashion than
278 any simulation done by a window manager. 
280 To enable it, hit the Control+Shift+NumLock or Shift+NumLock key combination. 
281 You should hear the speaker beeping. To disable it, do the same thing.
283 To control the mouse the numeric keypad is used as follows:
284 - 4 (left arrow), 7 (Home), 8 (up arrow), 9 (PgUp), 6 (right arrow), 
285 3 (PgDn), 2 (down arrow) and 1 (End) move the mouse to the corresponding
286 direction;
287 - holding one of the above keys and then holding the 5 key will move the
288 pointer faster;
289 - / will select the first mouse button (left button);
290 - * will select the second mouse button (middle button);
291 - - will select the third mouse button (right button);
292 - 5 will do a click with the currently selected mouse button;
293 - + will do a double-click with the currently selected button;
294 - 0 (Ins) will click and hold the currently selected button;
295 - . (Del) will release the currently selected button that was previously
296 clicked with the 0 (Ins) key.
299 The above key values work in a XFree86 3.2 (X11R6.1) X server but your
300 milleage may vary.
303 How to make a gdb backtrace
304 ===========================
306 Backtraces can help us fix bugs that make Window Maker crash. If you
307 find a bug that crashes Window Maker, please send a backtrace with your
308 bug report.
310 To make a usefull backtrace, you need a core file with debugging
311 information produced by Window Maker when it crashes. The default
312 for Window Maker is to restart another window manager when it crashes,
313 so you will not get a core file. You need to edit the src/wconfig.h
314 file *after* running configure and change the line that looks like:
316 #undef NO_EMERGENCY_AUTORESTART
320 #define NO_EMERGENCY_AUTORESTART
322 Then, in the src directory type:
323 make clean
324 make CFLAGS=-g
325 make install
327 and wait for Window Maker to be installed.
329 Once having Window Maker installed, start X and reproduce the bug so
330 that Window Maker crashes. When it does crash, go to the directory
331 where you compiled wmaker and type the following from your shell:
333 script
334 cd src
335 gdb .libs/wmaker path_to_the_core_file
337 Then, in the gdb prompt type "bt". Quit from gdb by typing "quit"
338 and then, in the shell prompt, type "exit".
340 The file named typescript will contain the backtrace.
344 Copyrights & Disclaimers
345 ========================
347 Window Maker is copyrighted by Alfredo K. Kojima and is licensed through the
348 GNU General Public License. Read the COPYING file for the complete license.
350 The icons that are distributed with this program and were made by Marco van
351 Hylckama Vlieg are licensed through the OpenContent License. Read the 
352 COPYING.OPL file for the complete license.
354 NeXT, OpenStep and NEXTSTEP are a trademarks of NeXT Computer, Inc.
355 All other trademarks are property of their respective owners.
357 The authors reserve the right to make changes in the software without prior
358 notice.
361 Authors
362 =======
364 Alfredo K. Kojima <kojima@windowmaker.org>
365 Dan Pascu <dan@windowmaker.org>
366 Matt Hawkins <matt@windowmaker.org>
367 ]d <id@windowmaker.org>
369 Please don't ask us questions before reading the documentation (esp. the
370 FAQ, this file and INSTALL files) and about "cool" things you see in
371 people's desktop screenshots.
374 The AUTHORS file contains a list of the people who have contributed to the
375 project. The name of people who have helped with localization (translation)
376 can be found in po/README and Window Maker/README
378 If you have any comments, fixes and bug reports (filled BUGFORMs) send them
379 to developers@windowmaker.org
384 Musicware
385 =========
387 If you use Window Maker and *really* like it, please consider making my day
388 by sending me a music CD (or a MiniDisc or even a MP3 CDR) of your favorite
389 band, singer, instrumentist, composer or whatever :^). I like listening to
390 music and would love to get new CDs, especially from other parts of the
391 world. I like almost any kind of music, from Ozzy Osbourne to Bach (mas não
392 pagode e sertanejo pelamordideus :), so I will be happy to receive just about
393 anything.
395 Snail mail address:
397 Alfredo Kengi Kojima
398 Rua Firmino O. Bimbi, 255/25B
399 Porto Alegre - RS
400 CEP 91751-330
401 Brazil