Coding style cleanup in dock.c
[wmaker-crm.git] / README
4                                 GNU Window Maker
5                                X11 Window Manager
7                             <>
9                                      by
11                              Alfredo K. Kojima 
13                                  Dan Pascu
17                                Web/FTP Master
19                                Phillip Smith
23                 Congratulations! You have purchased an extremely fine
24         device that would give you thousands of years of trouble-free 
25         service, except that you undoubtably will destroy it via some 
26         typical bonehead consumer maneuver. Which is why we ask you
36         KNOW THAT? 
37                                 -- Dave Barry, "Read This First!"
40 Description
41 ===========
43 Window Maker is the GNU window manager for the X Window System. It was designed
44 to emulate the look and feel of part of the NEXTSTEP(tm) GUI. It's supposed to
45 be relatively fast and small, feature rich, easy to configure and easy to use,
46 with a simple and elegant appearance borrowed from NEXTSTEP(tm).
48 Window Maker was designed keeping integration with GNUstep in mind and is the
49 "official" window manager for it. It is also part of the GNU project
50 ( Read more about GNUstep further on this file.
52 Hints (information given by applications to integrate well with the window
53 manager) for Motif(tm) and NETWM are also supported (NETWM is used by KDE and
54 GNOME, so they are automatically supported as a result).  So you can replace any
55 of the window managers for these environments with Window Maker while keeping
56 most, if not all, of the native window manager functionality.
58 Window Maker was previously called WindowMaker.
60 Window Maker has no connection with Windowmaker, the software for making windows
61 and doors.
64 Documentation
65 =============
67 Read before asking.
69 * README files all over the source tree have info related to the stuff
70 in the directories. 
72 * INSTALL has installation instructions and some troubleshooting tips.
73 You're meant to read it before installing. it was not written just to fill up
74 space in the package.
76 * FAQ: Frequently Asked Questions. READ IT!!! FAQ.I18N is for
77 internationalization related questions.
79 * NEWS: list user visible changes from the previous version. Read it if
80 you are upgrading.
82 * BUGFORM: use it to send bug reports. Please do use it.
84 * ChangeLog: what changed from the previous version?
86 * BUGS: list of known bugs
88 *** Tutorial
90 There's a tutorial maintained by Georges Tarbouriech at:
95 *** User Guide
97 The Window Maker User's Guide can be downloaded from the official ftp
98 or web sites.
100 The User Guide explains how to use Window Maker, the configuration files
101 and options.
104 *** man pages
106 Type "man wmaker" in the shell prompt to get general help about Window Maker
110 Directories & Files in the Source Tree
111 ======================================
113 * Install is a script for configuring and compiling Window Maker in a easy
114   way (not that the normal way is difficult, but...).
116 * AUTHORS: the credits
118 * TODO: plans for the future
120 * contrib/ has some contributed patches that are not supported by Window Maker
121   because they conflict with design philosophies of the developers or some other
122   reason.
124 * util/ has various utility programs.
126 * is the configuration program. 
128 * src/wconfig.h has compile time options you can change to select some
129   options/features and other stuff.
131 * WINGs/ NEXTSTEP lookalike widget library
133 * wrlib/ image processing library
135 * po/ has message catalogs wich are the translated versions of the messages
136   displayed by Window Maker.
138 * docklib-x.x.tar.gz  a library for writing dockapps
141 HELP ME!!!
142 ==========
144 There is a mailing list for discussing Window Maker at
145 To subscribe to it, send a message to
148 If you got a problem, ask there (after reading the docs, of course). The people
149 there is more likely to be able to answer your questions than we are.  For bug
150 reports use the BUGFORM.
152 If you have a problem with a precompiled version of Window Maker (rpm, deb etc),
153 first ask the person who made the package.
155 IMPORTANT NOTE: when asking for help (in the mailing list or to the developerts,
156 directly) *always* send information about the system you are using. You can use
157 the system information section at the end of BUGFORM as a guideline. Another
158 thing: please don't send HTML mail.
161 There is also a #windowmaker IRC channel at freenode. To join there, connect
162 your irc client to will direct you to the
163 correct IRC network.
166 GNUstep
167 =======
169 GNUstep is a complete object-oriented development system, based on the OpenStep
170 specification released by NeXT(tm) (now Apple(tm)) and Sun(tm). It will provide
171 everything one needs to produce cross-platform, object-oriented, graphical (and
172 non-graphical) applications; providing among other things, base system
173 libraries, a high-level GUI application framework that uses a Display
174 PostScript(tm)-like imaging model (DGS), objects for accessing relational
175 databases, distributed objects and a graphical development environment, with
176 tools like interface modeller, a project management system (project center) and
177 other tools.
179 The GNUstep development system will be used to create a user environment, with
180 everything needed for a complete graphical user interface, such as a file
181 viewer, text editors and other applications. Note that the user environment (or
182 "desktop environment") is only a small part of the whole GNUstep project and
183 therefore it does not "compete" with other projects like KDE or GNOME, simply
184 because they are completely different things.
186 For more information on the GNUstep project, visit:
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 files) at the
194 same time. You might get unexpected behaviour when Window Maker updates it's
195 configuration files.
197 If you really desire to do this, try running Window Maker with the command line
198 option --static so that it will not update or change any of the configuration
199 files.
202 Performance Tuning
203 ==================
205 If you want to diminish Window Maker's memory usage and improve performance,
206 while keeping a nice appearance and good functionality, follow the items bellow:
208 - use solid textures for everything, mainly titlebars and menus. If you want a
209   nice looking desktop, use the Traditional style.
210 - turn NewStyle and Superfluous off
211 - do not bind many shortcuts in the menu and keep only the essential items in
212   the menu
213 - turn on DisableClip
214 - edit wconfig.h and disable the NUMLOCK_HACK and the features you don't use
215   anyway (keep in mind that some of the #defines might not work, as they are not
216   fully supported). Make sure to always keep NumLock and ScrollLock turned off.
217 - turn on DisableAnimations. You can also #undefine ANIMATIONS in wconfig.h
218 - strip down the default IconPath and PixmapPath entries to contain only 
219   the paths that you really have in your system. 
220 - do not use large images in the root background
221 - remove support for image formats you don't use
222 - to reduce memory usage, disable the icon cache, by setting the RIMAGE_CACHE
223   environment variable to 0. If you want to increase performance at the cost of
224   memory usage, set it's value to a value like the number of different icons you
225   use. Also, disable anti-aliased text support in ~/GNUstep/Defaults/WMGLOBAL.
228 Keyboard Mouse Control
229 ======================
231 Many people ask about adding keyboard control of mouse, like in fvwm, but Window
232 Maker will not have such feature. The XKB extension supports mouse simulation
233 from the keyboard, in a much more powerfull fashion than any simulation done by
234 a window manager.
236 To enable it, hit the Control+Shift+NumLock or Shift+NumLock key combination.
237 You should hear the speaker beeping. To disable it, do the same thing.
239 To control the mouse the numeric keypad is used as follows:
240 - 4 (left arrow), 7 (Home), 8 (up arrow), 9 (PgUp), 6 (right arrow), 
241 3 (PgDn), 2 (down arrow) and 1 (End) move the mouse to the corresponding
242 direction;
243 - holding one of the above keys and then holding the 5 key will move the
244 pointer faster;
245 - / will select the first mouse button (left button);
246 - * will select the second mouse button (middle button);
247 - - will select the third mouse button (right button);
248 - 5 will do a click with the currently selected mouse button;
249 - + will do a double-click with the currently selected button;
250 - 0 (Ins) will click and hold the currently selected button;
251 - . (Del) will release the currently selected button that was previously
252 clicked with the 0 (Ins) key.
255 The above key values work in a XFree86 3.2 (X11R6.1) X server but your
256 milleage may vary.
259 How to make a gdb backtrace
260 ===========================
262 Backtraces can help us fix bugs that make Window Maker crash. If you find a bug
263 that crashes Window Maker, please send a backtrace with your bug report.
265 To make a usefull backtrace, you need a core file with debugging information
266 produced by Window Maker when it crashes. It should have been installed without
267 stripping too.
269 To compile wmaker with debugging information:
271   ./configure
272   make CFLAGS=-g
274 If you get the dialog window telling you that wmaker crashed and asks you what
275 to do, tell it to "Abort and leave a core file".
277   script
278   cd src
279   gdb .libs/wmaker path_to_the_core_file
281 Then, in the gdb prompt type "bt". Quit from gdb by typing "quit" and then, in
282 the shell prompt, type "exit".
284 The file named typescript will contain the backtrace.
288 Copyrights & Disclaimers
289 ========================
291 Window Maker is copyrighted by Alfredo K. Kojima and is licensed through the GNU
292 General Public License. Read the COPYING file for the complete license.
294 The icons that are distributed with this program and were made by Marco van
295 Hylckama Vlieg, are licensed through the GNU General Public License. Read the
296 COPYING file for the complete license.
298 The icons listed in COPYING.WTFPL and are distributed in this program and were
299 made by Banlu Kemiyatorn (]d), are licensed through the "do What The Fuck you
300 want to Public License". Read the COPYING.WTFPL file for the complete license.
302 NeXT, OpenStep and NEXTSTEP are a trademarks of NeXT Computer, Inc.  All other
303 trademarks are property of their respective owners.
305 The authors reserve the right to make changes in the software without prior
306 notice.
309 Authors
310 =======
312 Alfredo K. Kojima <>
313 Dan Pascu <>
314 ]d <>
316 Please don't ask us questions before reading the documentation (esp. the FAQ,
317 this file and INSTALL files) and about "cool" things you see in people's desktop
318 screenshots.
321 The AUTHORS file contains a list of the people who have contributed to the
322 project. The name of people who have helped with localization (translation) can
323 be found in po/README and Window Maker/README
325 If you have any comments, fixes and bug reports (filled BUGFORMs) send them
326 to