wmaker: replaced macro 'store_modifier' by an inline function, in X Modifier initiali...
[wmaker-crm.git] / README
blobe85083b5d06cfc1ae62293a8c34cfce99e5200d7
4                                 GNU Window Maker
5                                X11 Window Manager
7                             <http://windowmaker.org>
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 undoubtedly will destroy it via some
26         typical bonehead consumer maneuver. Which is why we ask you
27         to PLEASE FOR GOD'S SAKE READ THIS OWNER'S MANUAL CAREFULLY
28         BEFORE YOU UNPACK THE DEVICE. YOU ALREADY UNPACKED IT, DIDN'T
29         YOU? YOU UNPACKED IT AND PLUGGED IT IN AND TURNED IT ON AND 
30         FIDDLED WITH THE KNOBS, AND NOW YOUR CHILD, THE SAME CHILD WHO
31         ONCE SHOVED A POLISH SAUSAGE INTO YOUR VIDEOCASSETTE RECORDER
32         AND SET IT ON "FAST FORWARD", THIS CHILD ALSO IS FIDDLING
33         WITH THE KNOBS, RIGHT?  AND YOU'RE JUST NOW STARTING TO READ 
34         THE INSTRUCTIONS, RIGHT???  WE MIGHT AS WELL JUST BREAK THESE 
35         DEVICES RIGHT AT THE FACTORY BEFORE WE SHIP THEM OUT, 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 (www.gnu.org) 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 if you are compiling the sources.
75 * FAQ: Frequently Asked Questions. READ IT!!! FAQ.I18N is for
76 internationalization related questions.
78 * NEWS: list user visible changes from the previous version. Read it if
79 you are upgrading.
81 * BUGFORM: use it to send bug reports. Please do use it.
83 * ChangeLog: what changed from the previous version?
85 * BUGS: list of known bugs
88 *** User Guide
90 The Window Maker User's Guide can be downloaded from the official ftp
91 or web sites.
93 The User Guide explains how to use Window Maker, the configuration files
94 and options.
97 *** man pages
99 Type "man wmaker" in the shell prompt to get general help about Window Maker
103 Directories & Files in the Source Tree
104 ======================================
106 * Install is a script for configuring and compiling Window Maker in a easy
107   way (not that the normal way is difficult, but...).
109 * AUTHORS: the credits
111 * TODO: plans for the future
113 * util/ has various utility programs.
115 * WPrefs.app/ is the configuration program. 
117 * src/wconfig.h has compile time options you can change to select some
118   options/features and other stuff.
120 * WINGs/ NEXTSTEP lookalike widget library
122 * wrlib/ image processing library
124 * po/ has message catalogs which are the translated versions of the messages
125   displayed by Window Maker.
128 HELP ME!!!
129 ==========
131 There is a mailing list for discussing Window Maker at
132 wmaker-user@lists.windowmaker.org To subscribe to it, send a message to
133 wmaker-user-subscribe@lists.windowmaker.org
135 If you got a problem, ask there (after reading the docs, of course). The people
136 there is more likely to be able to answer your questions than we are.  For bug
137 reports use the BUGFORM.
139 If you have a problem with a precompiled version of Window Maker (rpm, deb etc),
140 first ask the person who made the package.
142 IMPORTANT NOTE: when asking for help (in the mailing list or to the developers,
143 directly) *always* send information about the system you are using. You can use
144 the system information section at the end of BUGFORM as a guideline. Another
145 thing: please don't send HTML mail.
148 There is also a #windowmaker IRC channel at freenode. To join there, connect
149 your irc client to irc.freenode.net. irc.windowmaker.org will direct you to the
150 correct IRC network.
153 GNUstep
154 =======
156 GNUstep is a complete object-oriented development system, based on the OpenStep
157 specification released by NeXT(tm) (now Apple(tm)) and Sun(tm). It will provide
158 everything one needs to produce cross-platform, object-oriented, graphical (and
159 non-graphical) applications; providing among other things, base system
160 libraries, a high-level GUI application framework that uses a Display
161 PostScript(tm)-like imaging model (DGS), objects for accessing relational
162 databases, distributed objects and a graphical development environment, with
163 tools like interface modeler, a project management system (project center) and
164 other tools.
166 The GNUstep development system will be used to create a user environment, with
167 everything needed for a complete graphical user interface, such as a file
168 viewer, text editors and other applications. Note that the user environment (or
169 "desktop environment") is only a small part of the whole GNUstep project and
170 therefore it does not "compete" with other projects like KDE or GNOME, simply
171 because they are completely different things.
173 For more information on the GNUstep project, visit: http://www.gnustep.org
176 Running multiple instances of Window Maker
177 ==========================================
179 It is not a good idea to run more than one instance of Window Maker
180 from the same user (so that wmaker will use the same configuration files) at the
181 same time. You might get unexpected behavior when Window Maker updates it's
182 configuration files.
184 If you really desire to do this, try running Window Maker with the command line
185 option --static so that it will not update or change any of the configuration
186 files.
189 Performance Tuning
190 ==================
192 If you want to diminish Window Maker's memory usage and improve performance,
193 while keeping a nice appearance and good functionality, follow the items bellow:
195 - use solid textures for everything, mainly title bars and menus. If you want a
196   nice looking desktop, use the Traditional style.
197 - turn NewStyle and Superfluous off
198 - do not bind many shortcuts in the menu and keep only the essential items in
199   the menu
200 - turn on DisableClip
201 - edit wconfig.h and disable the NUMLOCK_HACK and the features you don't use
202   anyway (keep in mind that some of the #defines might not work, as they are not
203   fully supported). Make sure to always keep NumLock and ScrollLock turned off.
204 - turn on DisableAnimations. You can also #undefine ANIMATIONS in wconfig.h
205 - strip down the default IconPath and PixmapPath entries to contain only 
206   the paths that you really have in your system. 
207 - do not use large images in the root background
208 - remove support for image formats you don't use
209 - to reduce memory usage, disable the icon cache, by setting the RIMAGE_CACHE
210   environment variable to 0. If you want to increase performance at the cost of
211   memory usage, set it's value to a value like the number of different icons you
212   use. Also, disable anti-aliased text support in ~/GNUstep/Defaults/WMGLOBAL.
215 Keyboard Mouse Control
216 ======================
218 Many people ask about adding keyboard control of mouse, like in fvwm, but Window
219 Maker will not have such feature. The XKB extension supports mouse simulation
220 from the keyboard, in a much more powerful fashion than any simulation done by
221 a window manager.
223 To enable it, hit the Control+Shift+NumLock or Shift+NumLock key combination.
224 You should hear the speaker beeping. To disable it, do the same thing.
226 To control the mouse the numeric keypad is used as follows:
227 - 4 (left arrow), 7 (Home), 8 (up arrow), 9 (PgUp), 6 (right arrow), 
228 3 (PgDn), 2 (down arrow) and 1 (End) move the mouse to the corresponding
229 direction;
230 - holding one of the above keys and then holding the 5 key will move the
231 pointer faster;
232 - / will select the first mouse button (left button);
233 - * will select the second mouse button (middle button);
234 - - will select the third mouse button (right button);
235 - 5 will do a click with the currently selected mouse button;
236 - + will do a double-click with the currently selected button;
237 - 0 (Ins) will click and hold the currently selected button;
238 - . (Del) will release the currently selected button that was previously
239 clicked with the 0 (Ins) key.
242 The above key values work in a XFree86 3.2 (X11R6.1) X server but your
243 mileage may vary.
246 How to make a gdb backtrace
247 ===========================
249 Backtraces can help us fix bugs that make Window Maker crash. If you find a bug
250 that crashes Window Maker, please send a backtrace with your bug report.
252 To make a useful backtrace, you need a core file with debugging information
253 produced by Window Maker when it crashes. It should have been installed without
254 stripping too.
256 To compile wmaker with debugging information:
258   ./configure --enable-debug
259   make
261 If you get the dialog window telling you that wmaker crashed and asks you what
262 to do, tell it to "Abort and leave a core file".
264   script
265   cd src
266   gdb .libs/wmaker path_to_the_core_file
268 Then, in the gdb prompt type "bt". Quit from gdb by typing "quit" and then, in
269 the shell prompt, type "exit".
271 The file named typescript will contain the backtrace.
275 Copyrights & Disclaimers
276 ========================
278 Window Maker is copyrighted by Alfredo K. Kojima and is licensed through the GNU
279 General Public License. Read the COPYING file for the complete license.
281 The icons that are distributed with this program and were made by Marco van
282 Hylckama Vlieg, are licensed through the GNU General Public License. Read the
283 COPYING file for the complete license.
285 The icons listed in COPYING.WTFPL and are distributed in this program and were
286 made by Banlu Kemiyatorn (]d), are licensed through the "do What The Fuck you
287 want to Public License". Read the COPYING.WTFPL file for the complete license.
289 NeXT, OpenStep and NEXTSTEP are a trademarks of NeXT Computer, Inc.  All other
290 trademarks are property of their respective owners.
292 The authors reserve the right to make changes in the software without prior
293 notice.
296 Authors
297 =======
299 Alfredo K. Kojima <kojima@windowmaker.info>
300 Dan Pascu <dan@windowmaker.info>
301 ]d <id@windowmaker.info>
303 Please don't ask us questions before reading the documentation (esp. the FAQ,
304 this file and INSTALL files) and about "cool" things you see in people's desktop
305 screenshots.
308 The AUTHORS file contains a list of the people who have contributed to the
309 project. The name of people who have helped with localization (translation) can
310 be found in po/README and Window Maker/README
312 If you have any comments, fixes and bug reports (filled BUGFORMs) send them
313 to wmaker-dev@lists.windowmaker.org