Fixed bug with incorrect un-escaping if there is a dot in wm_class.
[wmaker-crm.git] / README
blob66de0cd3e9b1b4d25e32f0e0163f95d12f4ec76d
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
18                                Web/FTP Master
20                                Phillip Smith
24                 Congratulations! You have purchased an extremely fine
25         device that would give you thousands of years of trouble-free 
26         service, except that you undoubtably will destroy it via some 
27         typical bonehead consumer maneuver. Which is why we ask you
28         to PLEASE FOR GOD'S SAKE READ THIS OWNER'S MANUAL CAREFULLY
29         BEFORE YOU UNPACK THE DEVICE. YOU ALREADY UNPACKED IT, DIDN'T
30         YOU? YOU UNPACKED IT AND PLUGGED IT IN AND TURNED IT ON AND 
31         FIDDLED WITH THE KNOBS, AND NOW YOUR CHILD, THE SAME CHILD WHO
32         ONCE SHOVED A POLISH SAUSAGE INTO YOUR VIDEOCASSETTE RECORDER
33         AND SET IT ON "FAST FORWARD", THIS CHILD ALSO IS FIDDLING
34         WITH THE KNOBS, RIGHT?  AND YOU'RE JUST NOW STARTING TO READ 
35         THE INSTRUCTIONS, RIGHT???  WE MIGHT AS WELL JUST BREAK THESE 
36         DEVICES RIGHT AT THE FACTORY BEFORE WE SHIP THEM OUT, YOU 
37         KNOW THAT? 
38                                 -- Dave Barry, "Read This First!"
41 Description
42 ===========
44 Window Maker is the GNU window manager for the X Window System. It was
45 designed to emulate the look and feel of part of the NEXTSTEP(tm) GUI. It's
46 supposed to be relatively fast and small, feature rich, easy to configure and
47 easy to use, with a simple and elegant appearance borrowed from NEXTSTEP(tm).
49 Window Maker was designed keeping integration with GNUstep in mind and is the
50 "official" window manager for it. It is also part of the GNU project
51 (www.gnu.org) Read more about GNUstep further on this file.
53 Hints (information given by applications to integrate well with the window 
54 manager) for Motif(tm), OPEN LOOK(tm), KDE and GNOME are also supported. 
55 So you can replace any of the window managers for these environments
56 with Window Maker while keeping most, if not all, of the native window manager
57 functionality.
59 Window Maker was previously called WindowMaker.
61 Window Maker has no connection with Windowmaker, the software for
62 making windows and doors.
65 Documentation
66 =============
68 Read before asking.
70 * README files all over the source tree have info related to the stuff
71 in the directories. 
73 * INSTALL has installation instructions and some troubleshooting tips.
74 You're meant to read it before installing. it was not written just to 
75 fill up space in the package...
77 * FAQ: Frequently Asked Questions. READ IT!!! FAQ.I18N is for
78 internationalization related questions.
80 * NEWS: list user visible changes from the previous version. Read it if
81 you are upgrading.
83 * MIRRORS: some alternative places where you can get Window Maker,
84 including platform specific packages of Window Maker.
86 * BUGFORM: use it to send bug reports. Please do use it.
88 * ChangeLog: what changed from the previous version?
91 * BUGS: list of known bugs
93 *** Tutorial
95 There's a tutorial maintained by Georges Tarbouriech at:
97 http://www.linuxfocus.org/~georges.t/
100 *** User Guide
102 The Window Maker User's Guide can be downloaded from the official ftp
103 or web sites.
104 It can also be viewed in HTML format in:
105 http://people.delphi.com/crc3419/WMUserGuide/index.htm
107 The User Guide explains how to use Window Maker, the configuration files
108 and options.
111 *** man pages
113 Type "man wmaker" in the shell prompt to get general help about Window Maker
117 Directories & Files in the Source Tree
118 ======================================
120 * Install is a script for configuring and compiling Window Maker in a easy
121 way (not that the normal way is difficult, but...).
123 * AUTHORS: the credits
125 * TODO: plans for the future
127 * contrib/ has some contributed patches that are not supported by Window Maker
128   because they conflict with design filosophies of the developers or some 
129   other reason.
131 * util/ has various utility programs.
133 * WPrefs.app/ is the configuration program. 
135 * src/wconfig.h has compile time options you can change to select some
136 options/features and other stuff. 
138 * WINGs/ NEXTSTEP lookalike widget library
140 * wrlib/ image processing library
142 * po/ has message catalogs wich are the translated versions of the messages
143 displayed by Window Maker.
145 * docklib-x.x.tar.gz  a library for writing dockapps
148 HELP ME!!!
149 ==========
151 There is a mailing list for discussing Window Maker at
152 wm-user@windowmaker.org To subscribe to it, send a message containing:
153         subscribe 
154 in the subject of the message to wm-user-request@windowmaker.org
156 If you got a problem, ask there (after reading the docs, of course). The
157 people there is more likely to be able to answer your questions than we are.
158 For bug reports use the BUGFORM.
160 If you have a problem with a precompiled version of Window Maker 
161 (rpm, deb etc), first ask the person who made the package.
163 IMPORTANT NOTE: when asking for help (in the mailing list or to the
164 developerts, directly) *always* send information about the system you are
165 using. You can use the system information section at the end of BUGFORM as a
166 guideline. Another thing: please don't send HTML mail.
169 There is also a #windowmaker IRC channel at openprojects. To join there,
170 connect your irc client to irc.openprojects.net, irc.linux.com or some other
171 server of that network.
174 GNUstep
175 =======
177 GNUstep is a complete object-oriented development system, based on the
178 OpenStep specification released by NeXT(tm) (now Apple(tm)) and Sun(tm). It
179 will provide everything one needs to produce cross-platform, object-oriented,
180 graphical (and non-graphical) applications; providing among other things,
181 base system libraries, a high-level GUI application framework that uses a
182 Display PostScript(tm)-like imaging model (DGS), objects for accessing
183 relational databases, distributed objects and a graphical development
184 environment, with tools like interface modeller, a project management system
185 (project center) and other tools.
187 The GNUstep development system will be used to create a user environment,
188 with everything needed for a complete graphical user interface, such as a
189 file viewer, text editors and other applications. Note that the user
190 environment (or "desktop environment") is only a small part of the whole
191 GNUstep project and therefore it does not "compete" with other projects like
192 KDE or GNOME, simply because they are completely different things.
194 For more information on the GNUstep project, visit: http://www.gnustep.org
195 and http://gnustep.current.nu
198 Running multiple instances of Window Maker
199 ==========================================
201 It is not a good idea to run more than one instance of Window Maker
202 from the same user (so that wmaker will use the same configuration
203 files) at the same time. You might get unexpected behaviour when Window Maker
204 updates it's configuration files.
206 If you really desire to do this, try running Window Maker with the 
207 command line option --static so that it will not update or change
208 any of the configuration files.
210 Sound support
211 =============
213 Sound is supported for Linux and FreeBSD systems with the use of a
214 separately distributed module called WSoundServer. There is also a graphical
215 configuration tool for setting up your sounds called WSoundPrefs.
216 You can download these at:
217 http://shadowmere.student.utwente.nl/
219 Note that you must compile Window Maker with the --enable-sound configure
220 flag and set the DisableSound option to NO.
223 OpenL**k support
224 ================
226 I guess many users, mainly from the academic world, have to use
227 applications written using the OpenL**k toolkits, so having support
228 for these apps must be of some use.
230 To enable, use --enable-openlook when doing the configure. Note that
231 not everything is implemented. 
233 Implemented stuff include decoration hints and the push-pin. Not implemented
234 stuff include _SUN_WINDOW_STATE (the compose led state stuff), drag and drop
235 interest stuff, header (not sure what's it) and footer strings.
237 Please give me feedback if something doesn't work. If the feature is
238 already implemented, but is not working because of a bug, I'll try to
239 have that fixed. If it's a non-implemented feature and you mention that
240 it's important (ie: not just cosmetical), I'll consider implementing it.
242 The "out" state of the pushpin is emulated as a pushed-in close button.
243 Just click on the button to make it pushed-out, which corresponds
244 to the pinned-in state of the pushpin. If you push again in the pushed-out
245 close button, it will act as a normal close button: it will close the window.
248 Performance Tuning
249 ==================
251 If you want to diminish Window Maker's memory usage and improve performance,
252 while keeping a nice appearance and good functionality, follow the items
253 bellow:
255 - use solid textures for everything, mainly titlebars and menus. If you
256   want a nice looking desktop, use the Traditional style.
257 - turn NewStyle and Superfluous off
258 - do not bind many shortcuts in the menu and keep only the essential items
259   in the menu
260 - turn on DisableClip
261 - edit wconfig.h and disable the NUMLOCK_HACK and the features you
262   don't use anyway (keep in mind that some of the #defines might not
263   work, as they are not fully supported). Make sure to always keep
264   NumLock and ScrollLock turned off.
265 - turn on DisableAnimations. You can also #undefine ANIMATIONS in wconfig.h
266 - strip down the default IconPath and PixmapPath entries to contain only 
267   the paths that you really have in your system. 
268 - do not use large images in the root background
269 - remove support for image formats you don't use
270 - to reduce memory usage, disable the icon cache, by setting the RIMAGE_CACHE
271   environment variable to 0. If you want to increase performance at the cost
272   of memory usage, set it's value to a value like the number of different
273   icons you use. Also, disable anti-aliased text support in ~/GNUstep/Defaults/WMGLOBAL.
276 Keyboard Mouse Control
277 ======================
279 Many people ask about adding keyboard control of mouse, like in fvwm,
280 but Window Maker will not have such feature. The XKB extension supports
281 mouse simulation from the keyboard, in a much more powerfull fashion than
282 any simulation done by a window manager. 
284 To enable it, hit the Control+Shift+NumLock or Shift+NumLock key combination. 
285 You should hear the speaker beeping. To disable it, do the same thing.
287 To control the mouse the numeric keypad is used as follows:
288 - 4 (left arrow), 7 (Home), 8 (up arrow), 9 (PgUp), 6 (right arrow), 
289 3 (PgDn), 2 (down arrow) and 1 (End) move the mouse to the corresponding
290 direction;
291 - holding one of the above keys and then holding the 5 key will move the
292 pointer faster;
293 - / will select the first mouse button (left button);
294 - * will select the second mouse button (middle button);
295 - - will select the third mouse button (right button);
296 - 5 will do a click with the currently selected mouse button;
297 - + will do a double-click with the currently selected button;
298 - 0 (Ins) will click and hold the currently selected button;
299 - . (Del) will release the currently selected button that was previously
300 clicked with the 0 (Ins) key.
303 The above key values work in a XFree86 3.2 (X11R6.1) X server but your
304 milleage may vary.
307 How to make a gdb backtrace
308 ===========================
310 Backtraces can help us fix bugs that make Window Maker crash. If you
311 find a bug that crashes Window Maker, please send a backtrace with your
312 bug report.
314 To make a usefull backtrace, you need a core file with debugging
315 information produced by Window Maker when it crashes. It should 
316 have been installed without stripping too. 
318 To compile wmaker with debugging information:
320 ./configure
321 make CFLAGS=-g
323 If you get the dialog window telling you that wmaker crashed and 
324 asks you what to do, tell it to "Abort and leave a core file".
326 script
327 cd src
328 gdb .libs/wmaker path_to_the_core_file
330 Then, in the gdb prompt type "bt". Quit from gdb by typing "quit"
331 and then, in the shell prompt, type "exit".
333 The file named typescript will contain the backtrace.
337 Copyrights & Disclaimers
338 ========================
340 Window Maker is copyrighted by Alfredo K. Kojima and is licensed through the
341 GNU General Public License. Read the COPYING file for the complete license.
343 The icons that are distributed with this program and were made by Marco van
344 Hylckama Vlieg, are licensed through the GNU General Public License. Read the 
345 COPYING file for the complete license.
347 The icons listed in COPYING.WTFPL and are distributed in this 
348 program and were made by Banlu Kemiyatorn (]d), are licensed through the
349 "do What The Fuck you want to Public License". Read the COPYING.WTFPL
350 file for the complete license.
352 NeXT, OpenStep and NEXTSTEP are a trademarks of NeXT Computer, Inc.
353 All other trademarks are property of their respective owners.
355 The authors reserve the right to make changes in the software without prior
356 notice.
359 Authors
360 =======
362 Alfredo K. Kojima <kojima@windowmaker.org>
363 Dan Pascu <dan@windowmaker.org>
364 ]d <id@windowmaker.org>
366 Please don't ask us questions before reading the documentation (esp. the
367 FAQ, this file and INSTALL files) and about "cool" things you see in
368 people's desktop screenshots.
371 The AUTHORS file contains a list of the people who have contributed to the
372 project. The name of people who have helped with localization (translation)
373 can be found in po/README and Window Maker/README
375 If you have any comments, fixes and bug reports (filled BUGFORMs) send them
376 to developers@windowmaker.org