Fixed return of WMGetUDStringForKey to be only a reference, not an allocated
[wmaker-crm.git] / README
blob486ebfa36bebb44ef9dff2185d8548fe17a580c9
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 Mailing List
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 GNUstep
166 =======
168 GNUstep is a complete object-oriented development system, based on the
169 OpenStep specification released by NeXT(tm) (now Apple(tm)) and Sun(tm). It
170 will provide everything one needs to produce cross-platform, object-oriented,
171 graphical (and non-graphical) applications; providing among other things,
172 base system libraries, a high-level GUI application framework that uses a
173 Display PostScript(tm)-like imaging model (DGS), objects for accessing
174 relational databases, distributed objects and a graphical development
175 environment, with tools like interface modeller, a project management system
176 (project center) and other tools.
178 The GNUstep development system will be used to create a user environment,
179 with everything needed for a complete graphical user interface, such as a
180 file viewer, text editors and other applications. Note that the user
181 environment (or "desktop environment") is only a small part of the whole
182 GNUstep project and therefore it does not "compete" with other projects like
183 KDE or GNOME, simply because they are completely different things.
185 For more information on the GNUstep project, visit: http://www.gnustep.org
186 and http://gnustep.current.nu
189 Running multiple instances of Window Maker
190 ==========================================
192 It is not a good idea to run more than one instance of Window Maker
193 from the same user (so that wmaker will use the same configuration
194 files) at the same time. You might get unexpected behaviour when Window Maker
195 updates it's configuration files.
198 Sound support
199 =============
201 Sound is supported for Linux and FreeBSD systems with the use of a
202 separately distributed module. You can download it at:
203 http://www.frontiernet.net/~southgat/wmsound
205 Note that you must compile Window Maker with the --enable-sound configure
206 flag and set the DisableSound option to NO.
209 OpenL**k support
210 ================
212 I guess many users, mainly from the academic world, have to use
213 applications written using the OpenL**k toolkits, so having support
214 for these apps must be of some use.
216 To enable, use --enable-openlook when doing the configure. Note that
217 not everything is implemented. 
219 Implemented stuff include decoration hints and the push-pin. Not implemented
220 stuff include _SUN_WINDOW_STATE (the compose led state stuff), drag and drop
221 interest stuff, header (not sure what's it) and footer strings.
223 Please give me feedback if something doesn't work. If the feature is
224 already implemented, but is not working because of a bug, I'll try to
225 have that fixed. If it's a non-implemented feature and you mention that
226 it's important (ie: not just cosmetical), I'll consider implementing it.
228 The "out" state of the pushpin is emulated as a pushed-in close button.
229 Just click on the button to make it pushed-out, which corresponds
230 to the pinned-in state of the pushpin. If you push again in the pushed-out
231 close button, it will act as a normal close button: it will close the window.
234 Performance Tuning
235 ==================
237 If you want to diminish Window Maker's memory usage and improve performance,
238 while keeping a nice appearance and good functionality, follow the items
239 bellow:
241 - use solid textures for everything, mainly titlebars and menus. If you
242   want a nice looking desktop, use the Traditional style.
243 - turn NewStyle and Superfluous off
244 - do not bind many shortcuts in the menu and keep only the essential items
245   in the menu
246 - turn on DisableClip
247 - edit wconfig.h and disable the NUMLOCK_HACK and the features you
248   don't use anyway (keep in mind that some of the #defines might not
249   work, as they are not fully supported). Make sure to always keep
250   NumLock and ScrollLock turned off.
251 - turn on DisableAnimations. You can also #undefine ANIMATIONS in wconfig.h
252 - strip down the default IconPath and PixmapPath entries to contain only 
253   the paths that you really have in your system. 
254 - do not use large images in the root background
255 - remove support for image formats you don't use
256 - to reduce memory usage, disable the icon cache, by setting the RIMAGE_CACHE
257   environment variable to 0. If you want to increase performance at the cost
258   of memory usage, set it's value to a value like the number of different
259   icons you use.
262 Keyboard Mouse Control
263 ======================
265 Many people ask about adding keyboard control of mouse, like in fvwm,
266 but Window Maker will not have such feature. The XKB extension supports
267 mouse simulation from the keyboard, in a much more powerfull fashion than
268 any simulation done by a window manager. 
270 To enable it, hit the Control+Shift+NumLock or Shift+NumLock key combination. 
271 You should hear the speaker beeping. To disable it, do the same thing.
273 To control the mouse the numeric keypad is used as follows:
274 - 4 (left arrow), 7 (Home), 8 (up arrow), 9 (PgUp), 6 (right arrow), 
275 3 (PgDn), 2 (down arrow) and 1 (End) move the mouse to the corresponding
276 direction;
277 - holding one of the above keys and then holding the 5 key will move the
278 pointer faster;
279 - / will select the first mouse button (left button);
280 - * will select the second mouse button (middle button);
281 - - will select the third mouse button (right button);
282 - 5 will do a click with the currently selected mouse button;
283 - + will do a double-click with the currently selected button;
284 - 0 (Ins) will click and hold the currently selected button;
285 - . (Del) will release the currently selected button that was previously
286 clicked with the 0 (Ins) key.
289 The above key values work in a XFree86 3.2 (X11R6.1) X server but your
290 milleage may vary.
293 How to make a gdb backtrace
294 ===========================
296 Backtraces can help us fix bugs that make Window Maker crash. If you
297 find a bug that crashes Window Maker, please send a backtrace with your
298 bug report.
300 To make a usefull backtrace, you need a core file with debugging
301 information produced by Window Maker when it crashes. The default
302 for Window Maker is to restart another window manager when it crashes,
303 so you will not get a core file. You need to edit the src/wconfig.h
304 file *after* running configure and change the line that looks like:
306 #undef NO_EMERGENCY_AUTORESTART
310 #define NO_EMERGENCY_AUTORESTART
312 Then, in the src directory type:
313 make clean
314 make CFLAGS=-g
315 make install
317 and wait for Window Maker to be installed.
319 Once having Window Maker installed, start X and reproduce the bug so
320 that Window Maker crashes. When it does crash, go to the directory
321 where you compiled wmaker and type the following from your shell:
323 script
324 cd src
325 gdb .libs/wmaker path_to_the_core_file
327 Then, in the gdb prompt type "bt". Quit from gdb by typing "quit"
328 and then, in the shell prompt, type "exit".
330 The file named typescript will contain the backtrace.
334 Copyrights & Disclaimers
335 ========================
337 Window Maker is copyrighted by Alfredo K. Kojima and is licensed through the
338 GNU General Public License. Read the COPYING file for the complete license.
340 The icons that are distributed with this program and were made by Marco van
341 Hylckama Vlieg are licensed through the OpenContent License. Read the 
342 COPYING.OPL file for the complete license.
344 NeXT, OpenStep and NEXTSTEP are a trademarks of NeXT Computer, Inc.
345 All other trademarks are property of their respective owners.
347 The authors reserve the right to make changes in the software without prior
348 notice.
351 Authors
352 =======
354 Alfredo K. Kojima <kojima@windowmaker.org>
355 Dan Pascu <dan@windowmaker.org>
356 Matt Hawkins <matt@windowmaker.org>
357 ]d <id@windowmaker.org>
359 Please don't ask us questions before reading the documentation (esp. the
360 FAQ, this file and INSTALL files) and about "cool" things you see in
361 people's desktop screenshots.
364 The AUTHORS file contains a list of the people who have contributed to the
365 project. The name of people who have helped with localization (translation)
366 can be found in po/README and Window Maker/README
368 If you have any comments, fixes and bug reports (filled BUGFORMs) send them
369 to developers@windowmaker.org
374 Musicware
375 =========
377 If you use Window Maker and *really* like it, please consider making my day
378 by sending me a music CD (or a MiniDisc or even a MP3 CDR) of your favorite
379 band, singer, instrumentist, composer or whatever :^). I like listening to
380 music and would love to get new CDs, especially from other parts of the
381 world. I like almost any kind of music, from Ozzy Osbourne to Bach (mas não
382 pagode e sertanejo pelamordideus :), so I will be happy to receive just about
383 anything.
385 Snail mail address:
387 Alfredo Kengi Kojima
388 Rua Firmino O. Bimbi, 255/25B
389 Porto Alegre - RS
390 CEP 91751-330
391 Brazil