9f391768ea85ad2993b0b5c1f9669568f59a2a41
[wmaker-crm.git] / NEWS
blob9f391768ea85ad2993b0b5c1f9669568f59a2a41
2 NEWS for veteran Window Maker users
3 -----------------------------------
5 --- 0.94.0-crm
7 New Resizing functionality
8 --------------------------
10 You can now use the mouse wheel and modifier keys to resize windows.
11 MOD+Wheel will resize windows vertically and CTRL+Wheel will resize
12 windows horizontally. MOD+CTRL+Wheel will resize both at the same time.
13 The resize step, or increment can be set in WPrefs in the "Window Handling"
14 page, or in the config file with "ResizeIncrement". If this intrudes into
15 a specific application's functionality, you can disable it on an application-
16 by-application basis by setting the "Do not bind mouse clicks" attribute in
17 "Advanced Options".
19 New Maximize functionality
20 --------------------------
22 Maximus/Maximumize. A new tiled maximization, configured with a keyboard
23 shortcut. Using it will maximize the window to the greatest area such that it
24 will not overlap any other window of the same workspace. This can be configured
25 in WPrefs in the "Keyboard Shortcuts" page, or in the config file with
26 "MaximusKey".
28 Left/right maximization. Now wmaker supports maximizing a window to the
29 left or right half of the screen, making it occupy 50% of the area. This is
30 useful on widescreen displays where you want to bring up two windows side-by-
31 side. The shortcut keys for this can be configured in WPrefs in the "Keyboard
32 Shortcuts" page, or in the config file with "LHMaximizeKey" and "RHMaximizeKey"
34 History and AutoComplete in the run dialog
35 ------------------------------------------
37 The "Run..." dialog now autocompletes executables in your path (triggered by
38 the TAB key) and records the history of past commands (last 500 by default).
39 It can also complete folder names if you start the complete with a "/"
40 To use it replace %a with %A in the "Run..." entry in your WMRootMenu file.
41 See commit 05720d97076ffc1569e5 for more details.
43 Automatic menu generator (wmgenmenu)
44 -----------------------------------
46 There is now a new utility to generate the Window Maker menu automatically,
47 called wmgenmenu. It searches from a list of pre-defined applications the
48 ones which exist in your $PATH and adds them to the corresponding submenus
49 ("Internet", "Terminals", "Editors" etc) of your WM menu. It also supports
50 localization (currently English and German). You can use it like:
52 $ wmgenmenu > WMRootMenu-new
53 $ cp WMRootMenu-new $HOME/GNUstep/Defaults/WMRootMenu
55 and WM will automatically detect the new menu file and use it without
56 restarting wmaker (made possible by the 'inotify' mechanism)
58 Automatic detection of menu changes (via inotify)
59 -------------------------------------------------
61 Window Maker now uses the 'inotify' mechanism from the linux kernel
62 to automatically detect changes in the WMRootMenu file. So the
63 --no-polling option is now gone and Window Maker does not wake up
64 your CPU unnecessarily (0 wakeups when idle, instead of 4).
65 So if you edit the WMRootMenu file by hand (or by using 'wmgenmenu'),
66 there is no need to restart wmaker for the changes to take effect.
69 --- 0.92.0
71 GNUstep Installation Directory
72 ------------------------------
74 WPrefs is now installed in /usr/local/bin and /usr/local/share by default.
75 If you use GNUstep and want it to install in /usr/GNUstep/Applications,
76 you may specify --with-gnustepdir=/usr/GNUstep
77 If the GNUSTEP_LOCAL_ROOT environment variable is defined when configure is
78 executed, it will be used (and you don't need to use --with-gnustepdir)
80 Cached Pixmaps Directory
81 ------------------------
83 The directory where Window Maker stores the cached application pixmaps for
84 its later use has changed from ~/GNUstep/.AppInfo/WindowMaker to
85 ~/GNUstep/Library/WindowMaker/CachedPixmaps for better compatibility with
86 the GNUstep path structure.
87 Also WPrefs now stores internal data in ~/GNUstep/Library/WindowMaker/WPrefs
88 (it was ~/GNUstep/.AppInfo/WPrefs before)
90 X Input Methods support in WINGs
91 --------------------------------
93 Preliminary support for X Input Methods was added to textfield and text
94 widgets in WINGs. Input for text in other languages than English should
95 work now (except for kanji which will most likely not work, even though
96 it wasn't tested).
99 Disabling the switch panel
100 --------------------------
102 To disable the panel shown during Alt-tabbing, you may put the following in
103 ~/GNUstep/Defaults/WindowMaker
105 SwitchPanelImages= None;
109 --- 0.91.0
111 Alt-Tab Window Switching
112 ------------------------
114 You can change the appearance of the panel shown during Alt-Tab window switching
115 with the SwitchPanelImages option:
117  (selected_icon_tile_image, background_image, width, height)
119 selected_icon_tile_image is the image used to highlight the currently selected
120 window icon. It must be 64x64 pixels.
122 background_image is the image used in the background of the panel. It must
123 be at least 64x80.
125 width and height are the width and size of the central part of the image.
126 When drawing the panel, the image will be split as:
127                            |W |
128                         +--+--+--+
129                         |  |  |  |
130                         +--+--+--+ -
131                         |  |  |  | H
132                         +--+--+--+ -
133                         |  |  |  |
134                         +--+--+--+
136 The 4 corner images will be copied in their original sizes and the rest will
137 be scaled to the final panel size.
139 background_image, width and height are optional. If you leave them out,
140 a gray panel will be used. If your machine is not very fast, you may want 
141 to use it.
144 --- 0.90.0
147 NetWM / EWMH Support
148 --------------------
150 Support for the EWMH standard has been added. Applications from GNOME 2.x and
151 KDE 3.x should now interoperate better with Window Maker.
153 Support for the obsolete/legacy GNOME 1.x, KDE 1.x and OpenLook(!) hints was
154 wiped out for the sake of sanity.
157 Antialiased font support
158 ------------------------
160 With the addition of Xft2 support in the WINGs library, now
161 Window Maker can display antialiased text with TrueType or any scalable fonts.
163 You can pick fonts for Window Maker in the Font configuration section of 
164 WPrefs.
166 Antialiased text is enabled by default, but can be disabled by adding
168 AntialiasedText = NO; in ~/GNUstep/Defaults/WMGLOBAL
170 This will disable antialiased text for any WINGs based application. If you
171 only want to disable them for a specific application only, like WindowMaker
172 for example, then add the same option in the applications configuration file,
173 in this case ~/GNUstep/Defaults/WindowMaker
174 For WindowMaker, this can also be achieved from the Expert panel in WPrefs.
176 Note that bitmapped fonts look much better than TrueType when antialiasing is
177 disabled.
179 Global Submenus
180 ---------------
182 Global menus allow for system wide menus that are added to every users
183 application menus. They are located in /usr/etc/WindowMaker/,
184 /usr/local/etc/WindowMaker or whatever is your sysconf directory
185 for WindowMaker. There are 2 files:
187 GlobalMenu.pre, which is added to the beginning of the menu and
188 GlobalMenu.post, which is added to the end of the menu.
190 These are to be proplist format menus, for example:
192 (("Foobar", EXEC, foobar),
193  ("Blabla", EXEC, blabla))
195 or, in case you want a submenu:
197 (("Submenu", 
198         ("Foobar", EXEC, foobar),
199         ("Blabla", EXEC, blabla)))
202 UTF-8 Support
203 -------------
205 Window Maker now uses UTF-8 internally (and thus can display UTF-8 text
206 in window titles and other places). Menus and po files must now be
207 encoded in UTF-8. If your menus contain non ASCII characters, you can convert
208 them to UTF-8 with the following command:
210 iconv -f <current-file-encoding> -t utf-8 <filename> > <filename>.utf8
212 For example:
214 iconv -f iso-8859-1 -t utf-8 menu > menu.utf
215 mv menu.utf menu
218 Icon Panel for Alt-Tabbing
219 --------------------------
221 A panel with icons for the windows that you can switch to will appear
222 when you press Alt-Tab. You can navigate through the windows with Alt-Tab
223 (Alt-Shift-Tab) or with the left/right keys once the panel is shown.
227 --- 0.80.0
229 Shading/Unshading windows using mouse wheel on their titlebar
230 -------------------------------------------------------------
232 In addition to the known methods of shading/unshading a window,  one can now
233 do this by using the mouse wheel on the window's titlebar. The mouse events
234 are interpreted via a mapping in the global WINGs configuration file,
235 WMGLOBAL, by the MouseWheelUp and MouseWheelDown directives which will do
236 shading and unshading respectfully.
238 However, to avoid unwanted triggers of shading/unshading the window, two
239 consecutive mouse wheel events in the same direction are required. The
240 trigger won't occur if the events are separated by more than a double-click's 
241 worth of time, which is technically speaking like making a double-click with
242 the button that corresponds to the mouse wheel direction.
244 Practically speaking, this means that you have to move the mouse wheel up
245 or down quickly, like when you want to quickly scroll over something big.
248 Shared application icons
249 ------------------------
251 Real application icon sharing was implemented in place of the collapse
252 appicon thing. With this applications of the same instance.class will
253 have a single shared application icon and hiding will hide all windows
254 of the aplications attached to that appicon as if there is a single
255 application. This feature is enabled by default for all applications in
256 the global WMWindowAttributes defaults domain using:
258 "*" = {SharedAppIcon = Yes;};
260 If you're not satisfied with this or want the old behaviour back you
261 can revert this (either in the global domain for all users or in your
262 personal WMWindowAttibutes domain) using SharedAppIcon = No; for "*"
263 It can also be enabled/disabled for individual applications as needed.
265 Setting this option can be done using the window's inspector panel in the
266 "Application Specific" section. You can set/unset it for all applications by
267 using the "Defaults for all windows" in the "Window Specification" section
269 Basically using this can have 2 major scenarios:
270 1. Leave it on by default, but disable it for the few specific
271    applications that do not behave well with it. (default)
272 2. Leave it off by default, and enable it for all applications for
273    which you want it enabled.
275 At this point all applications we tested work ok, some of them even
276 work better with this feature turned on: for example xmms and Corel's
277 WorkPerfect8 now only have 1 appicon (they used to have 2 without this
278 feature).
280 This feature is turned off by default for the following applications
281 because it's incompatible with them:
282 1. all GNUstep applications
283 2. applications with an application menu (wterm, Aileron, etc)
284 3. all applications with withdrawn windows only (this means all dockapps)
286 As a side note: wterm can use the shared appicon feature as long as it
287 doesn't use the appmenu (will do this by default). If you start it
288 using the appmenu (wterm -wm) it will disable the shared appicon
289 feature because apps with appmenus are incompatible with this feature.
291 If an application is a GNUstep application or if it has an appmenu, it's
292 detected automatically and the shared appicon is disabled automatically
293 without any user intervention or need to configure anything.
296 Dock/Clip stealing appicons
297 ---------------------------
299 This feature is different form the Clip's "Autoattract Icons" feature
300 as it won't attach any new icon to the dock/clip.
301 What it does, is when you start an application by other means than
302 dock/clip, like for example using the main menu or a terminal, it will
303 search the dock/clips for the presence of an appicon for that
304 application, that is not already running at that moment and will attach
305 the started application to that appicon in the dock/clip if available,
306 making it look like the dock/clip just stole the appicon for the started
307 application. There is an animation for this to offer visual feedback
308 that this happened.
312 --- 0.70.0
314 New dock option
315 ---------------
317 Copy/paste launch in dock.
318 ==========================
320 For example, put netscape %s in the Docked icon for Netscape, select an url
321 somewhere and then middle-click the icon. The command will be launched with
322 the "pasted" string.
325 Xinerama Support
326 ================
328 Supported Xinerama features:
330 - Normal maximization of windows will maximize to only one of the screens,
331 the one where the cursor pointer is.
333 - Full Maximize command in window menu
335 - Place dialogs in the middle of the head where the pointer is
337 - Try to place windows inside one head in non-manual placement modes
340 Less dependancies
341 -----------------
343 starting with 0.70.0 libPropList is no longer required to build Window
344 Maker. PropList handling code was added to WINGs being now better
345 integrated with all the rest. For more details check the Changelog and the 
346 following files:
347 ./WINGs/ChangeLog
348 ./WINGs/NEWS
349 ./WINGs/WINGs/WUtil.h
350 ./WINGs/WINGs/proplist-compat.h
354 --- 0.65.1
356 Removed FocusFollowMouse option, only SloppyFocus present now.
358 Added None option to MoveDisplay and ResizeDisplay
362 --- 0.65.0
364 Single AppIcon
365 --------------
367 Removed --single-appicon patch and replaced it with a application
368 specific collapsing option. Check inspector panel and appicon menu.
370 New options to configure the workspace mouse actions
371 ----------------------------------------------------
373 The following options were removed from the WindowMaker defaults configuration
374 file:
376 SelectWindowsMouseButton, WindowListMouseButton and ApplicationMenuMouseButton.
378 They were replaced with the following 3+1:
380 MouseLeftButtonAction, MouseMiddleButtonAction and MouseRightButtonAction plus
381 MouseWheelAction
383 In the old way because all gravitated around the workspace actions to which
384 specific mouse buttons could have been bound, it allowed one to specify in
385 the configuration file settings which would have led to weird situations
386 that also had undesirable results.
387 For example the same mouse button (for example left) could have been
388 assigned to all workspace actions: 'select windows', 'show window list menu'
389 and 'show applications menu' which of course were not only impossible to
390 accomplish while still having a properly working workspace, but they also
391 allowed one to specify some settings in the configuration file that were
392 never in fact translatable to proper workspace actions.
394 To void this kind of user interface inconsistency, the new options now
395 gravitate around the physical device (the mouse and its buttons) to which
396 specific workspace actions can be bound. This way, even if one assigns the
397 same action to all mouse buttons, that situation while gives redundant and
398 unpractical settings it will still translatable to proper workspace actions:
399 all buttons will execute the same action, but a button will execute only one
400 action at a time.
402 The new options take the following values:
403 all Mouse...ButtonAction can have one of the following values:
405 None, SelectWindows, OpenApplicationsMenu or OpenWindowListMenu
407 MouseWheelAction can be one of None or SwitchWorkspaces
409 If you had the default actions bound to mouse buttons before, then it will
410 work for you without any intervention in the configuration files.
411 Else you need to use WPrefs.app to bind the actions to the mouse buttons
412 again to your old settings. Also if you want to change the mouse wheel
413 behavior regarding workspaces you can now (use WPrefs.app to do this).
415 Client supplied icons
416 ---------------------
418 Window Maker saves the client supplied icons in 
419 ~/GNUstep/Library/WindowMaker/CachedPixmaps in XPM format for later use 
420 when the app is no longer running (to have the image to display for docked 
421 icons for example).
423 Until recently the XPM images saved by Window Maker were incorrect, but a
424 recent fix in the code to save XPM's fixed them. But with this fix, all
425 previously saved XPM's in that directory are no longer readable (they give
426 wrong images on screen or fail to load).
428 To avoid the need for the user to fix this by hand editing WMWindowAttributes 
429 and removing all references to icons in ~/GNUstep/Library/WindowMaker/CachedPixmaps 
430 which can be annoying, new code was added to Window Maker to permit the 
431 regeneration of images in ~/GNUstep/Library/WindowMaker/CachedPixmaps if they are missing.
433 With this addition, all you need to do to fix your old broken images, is to
434 delete all *.xpm files from ~/GNUstep/Library/WindowMaker/CachedPixmaps. Next time the
435 application that is supplying an icon image will start the icon will be
436 recreated if missing, but this time it will be saved with the new XPM save
437 code which produces good XPM images.
438 All the rest of the process is transparent to the user.
440 Hermes library support
441 ----------------------
443 If configure finds hermes library (an optimized pixel format conversion
444 library) installed it will use it to do the pixel format conversion in
445 the wraster library for some cases (TrueColor visuals without dithering).
446 Currently the hermes routines cannot convert to an indexed destination,
447 so we can't use hermes for PseudoColor, GrayScale and StaticGray visuals.
448 Also hermes only does dithering for just 2 combinations of source/destination
449 bits/masks none of them useful to out needs so for dithering we still
450 use out routines.
452 The Hermes library is completely optional, you can build Window Maker
453 without having it, it just speeds up the things a little for some
454 situations.
456 hermes library is available here: http://www.clanlib.org/hermes/
459 --- 0.64.0
461 No Polling of Configuration Files
462 ---------------------------------
464 Running Window Maker with one of -nopolling or --no-polling command line
465 options will make it not to poll every 3 seconds for changes in its
466 configuration files (good for laptops to let them spin disks down when idle).
468 Note:
469 For the ones used with Jim Knoble's 'no polling' patch, this is the same,
470 except that the need to #define ENABLE_NO_POLLING in wconfig.h was removed
471 and the behaviour is always available if you use the command line option.
474 --- 0.63.0
477 Interwoven Gradient
478 -------------------
480 interwoven gradients rip^Winspired on blackbox. Will render a texture that
481 interweaves 2 different ones.
483 (igradient, from1, to1, thickness1, from2, to2, thickness2)
485 Will render a interwoven texture with the 2 specified gradients,
486 with each section having the specified thickness.
488 wmagnify
489 --------
491 The wmagnify utility will magnify the area on teh screen where
492 your mouse pointer is located, updating it in real-time.
494 tip: maximize it horizontally, make it Omnipresent and Always at Bottom.
495 Then leave it in the bottom of the screen.
497 workspace border
498 ----------------
500 2 options (WorkspaceBorder and WorkspaceBorderSize) were added to allow one to
501 set a small (0..5 pixels) border for the workspace. This border will not be
502 covered by windows when maximizing, allowing one to easily access the clip
503 or map a menu using the mouse in the border area, even when there are
504 windows maximized in both horizontal and vertical directions.
505 WorkspaceBorder can be one of (None, LeftRight, TopBottom, AllDirections)
506 while WorkspaceBorderSize is the size in pixles of the border not to be
507 covered by windows when maximizing (usually a small amount 0..5 pixles).
509 Both options can be set using WPrefs.app in the "Miscelaneous Ergonomic
510 Preferences" section. WPrefs will always limit WorkspaceBorderSize in the
511 (0..5) range.
513 Note that if "full screen maximization" option is set for a window, that
514 window will ignore this border area, maximizing to full screen.
517 --- 0.62.0
520 Optimizations!!
521 ---------------
523 Code for converting wrlib images into X Pixmaps was optimized in many ways,
524 both in the original C code and in assembly for Pentium(tm) processors (with
525 and without MMX(tm)). Depending on the bit depth/color mode and CPU model,
526 performance increases can go up to 150%
529 Weendoze Window Cycling (alt-tab)
530 ---------------------------------
532 Window cycling was changed to weendoze style. 
535 NoBorder Window Attribute
536 --------------------------
538 The NoBorder window attribute (to be put in
539 ~/GNUstep/Defaults/WindowAttributes) was added and will remove the
540 1 pixel border around windows.
543 Removed "Keep Attracted Icons" option from Clip's menu
544 ------------------------------------------------------
546 Since this option brought more confusion than usefulness among users, and
547 since it was usable only in a very limited context, being able to fill up
548 the Clip very easily, it was removed.
549 An alternative way of gaining the same functionality is to use the "Keep icon"
550 entry in the Clip's main menu. Or select multiple icons before calling that
551 entry, to make it apply to more than one icon.
553 Note: "Keep icon", as the obsoleted "Keep Attracted Icons" had nothing to do
554       with holding icons in Clip, while the application is running. Once they
555       are attracted, they are kept until the application close. Using
556       "Keep icon", will only assure that the icon will be kept, even after the
557       application is closed.
559 Please don't ask for this option back. It's error prone, and very unintuitive.
560 Considering it's very restrictive usability, and it's very ambiguous topic, it
561 does not need a special entry in the Clip's menu, taking in count that there
562 are already better alternative ways of gaining the same functionality.
565 Removed DisplayFont Option
566 ---------------------------
568 The font for the geometry size will be controlled by the default
569 WINGs font (SystemFont in WMGLOBAL) now.
572 Others
573 ------
575 - added DONT_SCALE_ICONS compile time option
576 - added --dont-restore cmd line option. When passed to wmaker, it
577   wont restore the state saved previously.
579 --- 0.61.1
581 New libPropList
582 ---------------
584 new libPropList-0.9.1 is REQUIRED to build Window Maker 0.61.1.
585 go grab it and install it first.
588 --- 0.60.1
591 Window Edge Attraction
592 ----------------------
594 Window edge attraction was now added.
596 Attraction = YES/NO;
598 will enable/disable gravity to edge's boder.
599 The strength of gravity can be controled by modify `EdgeResistance' value
600 in WindowMaker configuration file.
603 Titlebar Draw String Plugin
604 ---------------------------
606 FTitleColor, UTitleColor, PTitleColor, MenuTitleColor can be assigend with
607 drawstring plugin instead of plain color. For example:
609     FTitleColor = (
610         function,
611         libwmfun.so,
612         drawPlainString,
613         gold,
614         black,
615         gray49
616     );
618 will invoke function drawplainstring from libwmfun.so and pass 3 colors for
619 arguments. To code new plugin, please see plugin.h for more informations.
622 --- 0.60.0
625 User Menu
626 ---------
628 The user menu is now a compile time option disabled by default. 
629 Supply --enable-usermenu to configure to enable it.
632 root menu INCOMPATIBLE changes
633 ------------------------------
635 EXEC <program> will execute the named program
637 SHEXEC <command> will execute the shell command.
639 If you want to execute something like blabla > /dev/null, then use SHEXEC
641 Dont forget to update your menus.
644 New Option For setstyle
645 -----------------------
647 The --ignore flag will tell setstyle to not change the option that is
648 specified, when modifying the Window Maker configurations. For example:
650 setstyle --ignore MenuStyle sometheme.themed will cause the MenuStyle
651 option to not be changed.
653 setstyle --ignore FTitleBack --ignore UTitleBack --ignore PTitleBack bla.themed
654 will load the theme, but keep the titlebar background related options as
655 before.
658 MultiByte Text Support Changes
659 ------------------------------
661 The --enable-kanji configure option is not needed anymore and was removed.
662 To enable support for multibyte text, you must:
663 - set the LANG environment variable to the appropriate value
664 - change the font configurations to contain font sets in the appropriate
665   encodings in both ~/G/D/WindowMaker and ~/G/D/WMGLOBAL (for WPrefs)
666 - set the MultiByteText option to YES in both of the above files
669 New Options
670 -----------
672 WorkspaceNameDisplayPosition =
673 none/center/top/bottom/topleft/topright/bottomleft/bottomright
676 SmoothWorkspaceBack = YES/NO
678 will enable smoothing of scaled workspace background images.
682 Application User Menu Path Changes
683 ----------------------------------
685 Default configuration for user specific menus installed in
686 /usr/local/share/WindowMaker/UserMenus or $(datadir)/WindowMaker/UserMenus
687 and ~/GNUstep/Library/WindowMaker/UserMenus.
690 Omnipresent icons in Clip
691 -------------------------
693 Added ability to set icons docked in Clip to be omnipresent on all workspaces.
694 To set/reset this flag use the clip menu.
695 The Clip menu changed in the following way:
696  - if you bring up the menu from the Clip's main icon, it will contain as
697    before the "Rename Workspace" entry in the second position.
698  - however, if you bring up the menu from any other icon in clip, the
699    "Rename Workspace" menu entry is replaced by "Omnipresent" or
700    "Toggle Omnipresent" depending on the context.
702 This entry will work in the following way, depending on the context:
704 1. If there is no icon selected in the clip, then the menu will contain the
705    entry named "Omnipresent" which will be checked accordingly to the current
706    state of the icon (omnipresent or not), and will let you change the
707    omnipresent state of the icon you brought the menu from.
708 2. If one or more icons are already selected when the Clip menu is called, the
709    entry will be named "Toggle Omnipresent" and will apply to all selected
710    icons trying to toggle their omnipresent state. The icons which will be
711    succesfully changed to their new state as requested, will be unselected,
712    while the ones that will fail for some reason to gain their new state,
713    will remain selected.
715 In both cases if there is no success in setting what user requested a panel
716 will inform user of the failure.
717 (Note: trying to set an icon to not-omnipresent will never fail. Failures can
718        be met only when trying to set omnipresent for an icon).
720 The icons set to omnipresent will be marked with a triangle in the upper left
721 corner, having the color of the IconTitleColor.
723 An icon can be set to omnipresent, only if its position is free in all the
724 workspaces, else you will be informed of the problem and asked to fix it first.
725 Also when dragging an omnipresent icon around in Clip, all the icons docked in
726 all the workspaces are shown while the dragging is done, to let one easily see
727 where are free slots in all workspaces.
729 For advanced users, there is also a shortcut to set/reset the omnipresent
730 state of an icon: just use "Shift+MiddleButton" (button2) on the icon you want
731 to change.
732 In this case only the mark in the upper left corner will appear in case of
733 success, or nothing will happen if icon cannot be made omnipresent (advanced
734 users are expected to know why the icon failed to be made omnipresent, so they
735 don't need a panel to explain them why ;) ).
737 Now before you load your gun to start a flame war because this is against your
738 principles you love so much, please sit down and think that this is a feature,
739 which, if you don't use, the old behaviour of the Clip is totally preserved.
740 It just adds some extra capabilities to the Clip for people who think that this
741 is useful.
744 XDND drop on dock support
745 -------------------------
747 Support for XDE on dock is now replaced by XDND.
748 To enable, edit src/wconfig.h
752 --- 0.53.0
754 New Options
755 -----------
757 ** MenuStyle
759 MenuStyle=<style>; will change the menu texture style.
761 <style> can be:
762 normal (default): for the traditional one texture per item, with bevels in 
763 each
765 singleTexture: for a single texture that spans the whole menu, with bevels
766 in each item
768 flat: singleTexture without the bevels
771 ** ResizebarBack
773 ResizebarBack=<texture>;
775 where <texture> is any of the textures you normally use in titlebars and
776 other places.
778 If the style file/theme does not contain a ResizebarBack option, setstyle
779 will automatically hack it so that wmaker will make the theme work like 
780 before.
783 New crash dialog panel
784 ----------------------
786 From now on, whenever a fatal situation appears, Window Maker will display a
787 dialog panel to the user and let him choose what to do.
788 The options are:
789 - Abort and leave a core file (usefull for debugging and getting backtraces)
790 - Restart Window Maker (default behaviour)
791 - Start alternate window manager (the one defined as fallback, or if not
792   possible fvwm or twm in this order).
794 If it will not be able to restart or start the alternate window manager, it
795 will abort and leave the core file.
798 Application User Menu
799 ---------------------
801 Applications with an appicon can have a user defined menu.
803 This menu will emulate keyboard events, and will be sent to the applications'
804 window(s), thus the application must accept key combinations (CTRL+N for
805 instance).
807 To enable this feature, #define USER_MENU in src/wconfig.h and place menu
808 files in ~/GNUstep/Defaults/UserMenus (/usr/local/etc/WindowMaker/UserMenus
809 globally).
811 The user menu is in PropList format and the filename is in:
812 <instance name>.<class name>.menu or application's main window.
813 (Example: the menu for xcalc would be - xcalc.XCalc.menu)
815 Example user menu syntax:
818   "Calculator",
819   ("Put 1", SHORTCUT, "2"),
820   ("Functions",
821     ("Put 2", SHORTCUT, "2"),
822     ("Put 3,4 and 5", SHORTCUT, (3,4,5))
823   ),
824   ("Exit", SHORTCUT, "Control+q")
829 --- 0.52.0
832 Appearance Editing in WPrefs
833 ----------------------------
835 Added Appearance/Texture editing capability in WPrefs. Workspace background
836 selection is not yet finished.
839 Themes
840 ------
842 Removed all themes from the source tree, and moved them in a separate package.
843 You can download the new package from the same place as this package:
844 ftp://ftp.windowmaker.info/pub/beta/srcs/
845 Look after WindowMaker-extra-<version-number>.tar.gz
846 Also WindowMaker-extra pack include the old WindowMaker-data.tar.gz which only
847 contained icons.
848 Look for the greatest version number when you download this package.
851 get-wraster-flags script change
852 -------------------------------
854 The name of the options passed to get-wraster-flags changed, to allow a better
855 name compatibility with the naming conventions used by other software.
856 The name change was as follows:
857 --lflags was changed in --ldflags
858 To allow backward compatibility, with already written software, the old
859 --lflags option is still recognized, but you are encouraged to move the the
860 new --ldflags.
864 --- 0.51.2
867 New Themes
868 ----------
870 Added 2 new cool themes (actually I added in 0.51.1, but forgot
871 to put it here...) from largo (LeetWM) and BadlandZ (STEP2000).
874 Full Screen Maximization
875 ------------------------
877 The FullMaximize window attribute will allow the window to
878 be maximized to the full size of the screen (ignoring anything
879 like titlebar, resizebar, dock, panels etc). It should be usefull
880 for programs that must use the whole screen, like games or things 
881 like presentation programs.
884 --- 0.51.1
886 KDE Application Menu script
887 ---------------------------
889 wkdemenu.pl is a converter from KDE application menu structures to wmaker 
890 menu that can be used as a piped menu. Look wkdemenu.sh for how to use it.
893 Window Edge Resistance
894 ----------------------
896 Window edge resistance was now added. No, feature freeze hasn't been
897 removed. Its just part of the edge resistance rewrite ;)
900 New Theme
901 ---------
903 Added SteelBlueSilk theme
905 Installation Path Changes
906 -------------------------
908 Default configuration data installed in /usr/local/etc/WindowMaker
909 or $(sysconfdir)/WindowMaker
912 --- 0.51.0
914 Window Maker has become a GNU program (part of the GNU Project).
916 Title text drop shadow
917 ----------------------
919 drop shadow option added for titlebar text. This is a compile time 
920 option which needs to be defined in src/wconfig.h after you run
921 configure and before you run make.
923 New options and syntax for your WindowMaker domain file are:
925   Shadow = yes/no;
926   FShadowColor = <color>;  
927   PShadowColor = <color>;
928   UShadowColor = <color>;
929   MShadowColor = <color>;
931 The shadow option is dynamic (no need for a restart).
932 MShadowColor is for the menu title text.
934 libPropList
935 -----------
937 WARNING!!! libPropList was removed from the Window Maker distribution
938 and is being distributed separately. If you dont have it installed yet,
939 get it from ftp.windowmaker.info/pub/libs and install before building
940 Window Maker.
943 signal handling change
944 ----------------------
945 SIGHUP will exit wmaker instead of restarting it!!! This is because
946 GNOME expects the window manager to exit instead of restarting...
947 Complaints should go to gnome people. SIGUSR1 will restart wmaker now.
950 script change
951 -------------
952 WINGs-flags was removed, and replaced by get-wraster-flags.
953 Please remove WINGs-flags from your system, since it was obsoloted by
954 get-wraster-flags.
955 Continuing to use WINGs-flags can lead to hazardous effects, since is no
956 longer updated.
959 docklib
960 -------
962 docklib is a little library for making dock applets. It's in the
963 docklib-0.0.tar.gz file. Unpack it and read the README file there.
966 Option Changes
967 --------------
969 Removed OnTopTransients option
971 Added OpenTransientOnOwnerWorkspace
974 Olwm Hint Support
975 -----------------
977 OPEN LOOK(tm)/olwm hints support was added.
979 Read the appropriate section in the README file.
983 --- 0.50.1
985 New option for WorkspaceBack. mpixmap is the same as spixmap, but
986 it will scale the pixmap by keeping the aspect ratio (maximize or maxpect).
987 The option only works for workspace backgrounds.
989 Also added IGNORE_PPOSITION compile time flag, which is equivalent
990 to NoPPosition from fvwm. 
995 --- 0.50.0
998 KDE and GNOME
999 -------------
1001 Added full support for GNOME and KWM hints. 
1002 Read the INSTALL file to see how enable them.
1004 Everything in the so called GNOME window manager bla bla bla pseudo-spec is
1005 implemented.
1007 As for KDE stuff, it implements 90% of everything kwm does, adds some
1008 Window Maker specific extensions to it and still uses half of the memory
1009 kwm does, which should be enough to let you dump kwm ;) For details on what
1010 exactly is implemented, see comments in src/kwm.c Read the README.KDE file 
1011 for more information.
1014 WARNING: Some KDE hints are badly designed, so doing things like using
1015 kpanel's desktop switcher/pager and Window Maker's internal workspace
1016 management functions to create, destroy and rename workspaces at the same 
1017 time might cause unknown effects. To be on the safe side, only
1018 use either of them to manage workspaces. Switching workspaces is hopefully,
1019 safe, so you can switch workspaces from wherever you want.
1023 Workspace Specific Background Images
1024 ------------------------------------
1026 Use the WorkspaceSpecificBack to set background images for specific
1027 workspaces. The WorkspaceBack is used as the default background image.
1029 Example:
1031 WorkspaceSpecificBack = ((solid, red), (cpixmap, ship.jpg, gray), (), 
1032                                 (dgradient, red, blue))
1034 This will set the background image of workspace 1 to (solid, 0),
1035 2 to ship.jpg and 4 to a gradient. Workspace 3 and other workspaces
1036 will have the image defined by WorkspaceBack.
1038 Note that this uses quite some memory...
1041 setstyle/getstyle
1042 -----------------
1044 setstyle now accepts the -nofonts flag, which will load the style
1045 file ignoring all font related options.
1047 Example:
1049 setstyle -nofonts Blabla.style
1052 getstyle can be used to create theme packs. See the usage in the
1053 WindowMaker/README.themes file.
1057 New Texture Type
1058 ----------------
1060 Textured gradients will tile a texture pixmap and combine it with a gradient, 
1061 using an arbitrary opaqueness. 
1063 Syntax is (thgradient, <file>, <opaqueness>, <color1>, <color2>)
1064           (tvgradient, <file>, <opaqueness>, <color1>, <color2>)
1065           (tdgradient, <file>, <opaqueness>, <color1>, <color2>)
1066 where:
1067 <color1> and <color2> are the colors for the gradient,
1068 <file> is the texture file and
1069 <opaqueness> is the opaqueness to merge the texture witht the gradient,
1070 ranging from 0 to 255.
1072 Example:
1074 (thgradient, "BlueImage.jpeg", 120, white, black)
1076 The BlackTexture style and Checker theme are examples.
1078 Hints:
1080 You can use any type of pixmap file for this, but small (like 64x32)
1081 grayscale pixmap files should get the best results (fast and low memory
1082 usage). You can use color pixmaps, but it is harder to get the desired effect
1083 with them.
1085 Be warned that this texture type is the slowest.
1089 New Options
1090 -----------
1092 IconTitleBack and IconTitleColor control the color of the
1093 miniwindow title. Both of them are colors.
1095 Example:
1096 IconTitleColor=white;
1097 IconTitleBack=black;
1100 Since this introduces an incompatibility in themes and getting flamed by the
1101 themes ppl isn't the most pleasant thing ("Whaddafuk you're thinking!? You
1102 just broke 500 themes!!!" ;) the setstyle command was hacked so that it will
1103 make old themes work as before, by trying to automatically set the above
1104 options. Note that in some cases it will not have exactly the same results as
1105 before.
1108 StartMaximized window attribute. Will maximize the window when it
1109 is mapped.
1112 AutoRaiseLower option for the Clip. This allows automatic Raise/Lower of the
1113 Clip icons when the mouse pointer enter/leave the Clip. To avoid unwanted
1114 raising/lowering there is a time threshold before raising/lowering.
1115 The thresholds can be changed in wconfig.h by changing one or both of
1116 AUTO_LOWER_DELAY and AUTO_RAISE_DELAY (expressed in miliseconds).
1117 For example if you set AUTO_RAISE_DELAY to 0, then the Clip will be raised as
1118 soon as the mouse pointer enters it's area. Setting AUTO_RAISE_DELAY to a very
1119 big value, will make the Clip to practically do not auto raise unless clicked,
1120 but to be automatically lowered after AUTO_LOWER_DELAY (ms) when leaved.
1123 New ThemePack Format
1124 --------------------
1126 Starting with this version, a new format of themes is being supported.
1127 Before you open pine and start composing your flame, rest assured that
1128 the old format is still supported. The new format is documented
1129 in the WindowMaker/README.themes file.
1132 Root Menu 
1133 ---------
1135 The -noext option for OPEN_MENU will strip whatever is after the last .
1136 in file names that appear on the opened directory. So,
1138 OPEN_MENU ~/bg WITH xv -root -quit
1140 will create a menu with all the images in ~/bg without the extension.
1144 --- 0.20.3
1147 Icon (miniwindow) stacking
1148 --------------------------
1150 If you want miniwindows to reside under normal windows, edit
1151 wconfig.h and change WNormalLevel (just grep for it) to
1152 WDesktopLevel
1155 5 Button Mouse
1156 --------------
1158 If you have a 5 button mouse and want to give some utility for
1159 the extra 2 buttons, edit the appropriate line in src/wconfig.h
1160 Clicking Button4 in the root window will switch you to the previous 
1161 workspace and Button5 will do that for the next.
1164 Option Changes
1165 --------------
1167 put NoWindowOverDock back
1169 KeepOnBottom window attribute
1172 -static command line option
1173 ---------------------------
1175 wmaker -static will start Window Maker in static mode. This will
1176 prevent wmaker from checking or making any configuration changes.
1177 That makes it possible to run wmaker before running wmaker.inst
1180 Hysteresis for menu item selection
1181 ----------------------------------
1183 Hopefully it's intelligent enough, so you won't notice it.
1185 In case you want to know what's it, it's equivalent to that
1186 (insanely long) 2 second delay present in that Windoze95 menu, 
1187 but more usefull than annoying (I hope :). To see it, do the following
1188 with your current wmaker version and later with 0.20.3:
1190 - open the apps menu and stick it
1191 - click in the item for the "Workspaces" submenu and hold
1192 - drag the mouse to the 4th or bigger entry (like "Workspace 4") in a
1193 straight line, trying to select the target item before the submenu
1194 is unmapped when you dragged over other items in the main menu
1198 Window Shortcuts
1199 ----------------
1201 Window shortcuts are shortcuts to arbitrary windows. You can make up to 4
1202 shortcuts. To assign a previously bound shortcut to a window use the "Select
1203 Shortcut" submenu in the window commands menu. If the shortcut is not yet
1204 assigned for any window, you can hit the shortcut to assign it to the active
1205 window. The shortcut will do the same as clicking in an entry in the window
1206 list menu. The keys for the shortcuts are defined in the ~/G/D/WindowMaker
1207 file or in WPrefs.app
1209 Option names are:
1211 WindowShortcut1Key through WindowShortcut4Key
1214 --- 0.20.2
1217 The name of WindowMaker was changed to Window Maker.
1219 Window creation animation disabled by default.
1221 xdaliclock -shape
1222 -----------------
1224 If you use it edit src/wconfig.h and #define OPTIMIZE_SHAPE or disable the
1225 titlebar and resizebar for the window. OPTIMIZE_SHAPE will remove the
1226 flickering for xdaliclock and other programs that change their shapes often,
1227 but will increase network traffic considerably. So, if you use xdaliclock
1228 from a remote machine it can get slow.
1231 Applications Menu
1232 -----------------
1234 The applications menu will now use the shell in the SHELL environment
1235 variable to execute EXEC menu commands. If it is unset (I think it's always
1236 automatically set by the shell program) it will use /bin/sh
1239 Extra fancy icon kaboom :)
1240 --------------------------
1242 Edit src/wconfig.h and #define ICON_KABOOM_EXTRA to get
1243 more effects for the icon undocking animation.
1245 Options for superfluous stuff are even more superfluous, so this
1246 will not become runtime.
1249 XDE drag and drop support
1250 -------------------------
1252 Support for XDE drag and drop was added (by "]d" <id@maliwan.org>).
1253 To enable, edit src/wconfig.h
1254 The support works with gtk 1.1.2
1257 libPropList
1258 -----------
1260 libPropList will now be built automatically by wmaker. Wich means
1261 the (simplified) building process is now:
1263 ./configure
1264 make
1265 make install
1267 instead of:
1269 tar xzf libPropList.tar.gz
1270 (cd libPropList; make)
1271 make
1272 make install
1274 You also don't need to worry about GNOME libPropList incompatibilities
1275 anymore. 
1278 Bug with focus lost in sloppy focus fixed
1279 -----------------------------------------
1281 The bug only occurs in sloppy or auto focus modes, with AutoFocus disabled
1282 and Superfluous enabled. There is no easy/clean way to fix this, so Window
1283 Maker will disable the animation of window creation if the focus mode is
1284 either sloppy or auto AND AutoFocus=NO.
1286 If you want the animation, enable AutoFocus or use manual focus mode
1287 (prefered). 
1290 The NoWindowUnderDock option was removed
1291 ----------------------------------------
1292 To obtain the same result, use the "Keep Dock On Top" option in the dock menu.
1295 Persistent Program Suplied Icons
1296 --------------------------------
1298 Application supplied icons are now stored, so that the dock will keep
1299 showing them after the app is exited. The icons are stored at
1300 ~/GNUstep/Library/WindowMaker/CachedPixmaps
1303 Sound support
1304 -------------
1306 Sound support is now on by default. Even if you don't use sound the overhead
1307 is very small, and has no impact on performance. If you still want to
1308 optimize it and remove a few hundred of bytes, then use --disable-sound or
1309 --enable-sound=no options when you configure Window Maker.
1312 --- 0.20.0
1314   
1315 Multihead support. wmaker will now manage all screens that are attached to the
1316 display. 
1317 ------------------------------------------------------------------------------
1318   
1320 It does so from a single process (instead of spawning a new process for each
1321 screen, like fvwm does). This keeps memory usage a lot lower than fvwm.
1323 State files have a suffix .n, where n is the number of the screen.
1325 Since I don't have a real multiheaded machine, it probably has bugs.
1327 Superfluous
1328 -----------
1330 Yet another useless superfluous animation. Find out what exactly it is
1331 by yourself :)
1334 exitscript
1335 ----------
1337 ~/G/L/W/exitscript will be called automatically when wmaker is exited.
1340 New runtime options
1341 -------------------
1343 1. Miniaturization animation is now selectable by a runtime option
1344 Add a line with
1346 IconificationStyle = <style>;
1348 to your WindowMaker configuration file.
1349 <style> can be one of: Zoom, Twist, Flip or None
1350 Case doesn't matter, and default is Zoom.
1353 2. Edge resistance.
1354 This can be controlled by setting:
1356 EdgeResistance = xxx;
1358 in your WindowMaker configuration file.
1359 xxx is an integer greater than 0 and represents the number of pixels of edge
1360 resistance. Setting it to 0 (default) will disable this feature.
1362 New theme
1363 ---------
1365 A new theme named Night, is available in this distribution.
1369 --- 0.19.3
1371 GIF support was added. You will need libgif 2.2 to use it.
1373 cpixmap added. Syntax is the same as tpixmap or spixmap
1376 --- 0.19.2
1378 getstyle will include IconBack info in Style files.
1380 --- 0.19.0
1382 libPropList was updated. If you have it installed, you must upgrade or
1383 WPrefs will crash because of bugs in libPropList.
1385 New options
1386 -----------
1388 Balloons!
1389 ---------
1391 WindowTitleBalloons = YES;
1392 will enable balloons for window titles that are not fully visible.
1394 MiniwindowTitleBalloons = YES;
1395 will enable balloons for miniwindow titles.
1397 AppIconBalloons = YES;
1398 for application icons (docked or not)
1401 IconPosition
1402 ------------
1404 IconPosition (the position of the icons) is specified as:
1406 IconPosition = c1c2c3;
1408 where:
1410 c1 can be t or b (meaning top or bottom)
1411 c2 can be l or r (meaning left or right)
1412 c3 can be v or h (meaning vertical or horizontal)
1414 case is insensitive.
1416 For example, 
1417 IconPosition = blh;
1419 is the old iconPosition position.
1421 IconPosition = trv;
1423 will place the icons over the Dock.
1425 New window attribute
1426 --------------------
1428 EmulateAppIcon = YES; will make the window have an application icon.
1429 Only use this option for fully specified windows (like rxvt.Rxvt).
1430 NEVER use in generic window specifications (like * or rxvt).
1431 You must restart the application for the attribute to take effect.
1434 WPrefs.app
1435 ----------
1437 Read WPrefs/README
1440 --- 0.18.1
1442 Boolean balues have changed!!! YES, Y and any non-zero integer will
1443 mean TRUE and anything else (including True) will mean FALSE. This
1444 is to conform to the OpenStep values used for booleans and
1445 not cause headaches later, when GNUstep apps also starts using
1446 defaults and users will try using True wich won't get recognized.
1449 --- 0.18.0
1451 Clip
1452 ----
1454 Clip button layout was changed. IT IS TEMPORARY AND THE DEFINITIVE LOOK
1455 WILL BE DIFFERENT!!!
1458 libPropList
1459 -----------
1461 More bugs were fixed in it. Upgrade the library if you have an older version
1462 installed, with the one included.
1465 Property list menus
1466 -------------------
1468 Format for property list menus has changed! The redundant array for
1469 submenus was removed, so a menu that looked like:
1471 ( Applications,
1472   ("Xterm", EXEC, "xterm"),
1473   ( 
1474     (Paint,
1475         ("Gimp", EXEC, "gimp"),
1476         ("XV", EXEC, "xv")
1477     )
1478   )
1481 must be changed to:
1483 ( Applications,
1484   ("Xterm", EXEC, "xterm"),
1485   (Paint,
1486         ("Gimp", EXEC, "gimp"),
1487         ("XV", EXEC, "xv")
1488   )
1493 Misc
1494 ----
1496 NUMLOCK_HACK is back. This time it works and is enabled by default.
1497 If you think you don't need it and promise me that you won't send 
1498 "bug" reports saying that shortcuts stop working after a while, you can
1499 disable it ;) It will save some memory and CPU.
1502 Configuration
1503 -------------
1505 Removed the SwapMenuButton option and added 3 finer grained options:
1507 SelectWindowsMouseButton
1508 WindowListMouseButton
1509 ApplicationMenuMouseButton
1511 Values that can be used are Left, Middle, Right and Button1 through Button5
1512 Left is equivalent to Button1, Middle to Button2 and Right to Button3
1515 Removed the WorkspaceChangeDelay option and corresponding action.
1516 Removed AClipColor and IClipColor
1519 Added the SelectKey back
1522 Changed default binding of Window commands menu from F10 to Control+Escape
1524 --- 0.17.4
1526 Misc
1527 -----
1529 libPropList has changed! Upgrade it before compiling wmaker.
1531 Hopefully the bugs that caused wmaker to crash if an error is found
1532 in the config files is fixed. If you do crash wmaker with a bad
1533 file, please try to find out the smallest possible portion of the file
1534 that still crashes wmaker and send it to me.
1537 New Options
1538 -----------
1540 PixmapPath was split to PixmapPath and IconPath. PixmapPath is the path
1541 for the pixmaps used as textures and IconPath is for the icons. 
1542 Don't forget to add IconPath to your current configuration file.
1544 There's also a new library in ~/GNUstep/Library/Icons. You should place
1545 your icons there, since icons are not a WindowMaker specific resource.
1548 DontConfirmKill=YES; will disable the confirmation panel for Kill
1551 --- 0.17.3
1553 Interface Changes
1554 -----------------
1556 Unhide Here in the appicon menu was changed to be the first entry.
1557 This way you can unhide the appicon with a single click without
1558 even moving the pointer.
1561 Clip Commands
1562 -------------
1564 The collect icons commands was renamed to attract icons and
1565 the attract icons options was renamed to Auto attract icons.
1567 The Remove Selected Icons was renamed to Remove Icon(s). It will
1568 act as before if some icon is selected and will remove the clicked
1569 icon (without confirmation) if it is not.
1571 Added a Keep Icon(s) command that will keep the selected icons if
1572 any is selected and the current one if none.
1574 The Move To command was renamed to Move Icon(s) To.
1577 --- 0.17.0
1579 If you have libPropList installed, you might want to reinstall it,
1580 replacing with the included libPropList. It has a small bug fix.
1582 Misc. Changes
1583 -------------
1585 Removed --with-gnome and made MWM_HINTS defined by default.
1586 This means that "GNOME support" will work with no additional
1587 flags passed to configure. 
1589 Added support for KDE, by adding a DisableWorkspaceMouseActions option.
1590 Set it to YES and run krootwm to be able to use everything in kfm.
1593 Shortcuts for Root Menu
1594 -----------------------
1596 There is now a new SHORTCUT optional keyword for the menus.
1597 For example, you can bind Control-F1 to xterm with:
1599 "XTerm" SHORTCUT Control+F1 EXEC xterm
1601 or F2 to ARRANGE_ICONS with:
1603 "Arrange Icons" SHORTCUT F2 ARRANGE_ICONS
1606 All commands allowed in the menu file accept the keyword, except for
1607 MENU and OPEN_MENU
1610 Interface Changes
1611 -----------------
1613 ** Configuration of docked applications is now done in a panel instead of
1614 in the menu. 
1616 ** Added a command menu for application icons
1618 ** Shift double-click on the application icon will unhide the app
1619 in the current workspace.
1622 Option Changes
1623 --------------
1625 NotMiniaturizable option changed to NoMiniaturizeButton
1626 NotClosable option changed to NoCloseButton
1629 Speed options values are now UltraFast, Fast, Medium, Slow or UltraSlow
1630                                               ^^^^^^
1632 Removed the Select keyboard binding. You can access it in the window
1633 commands menu.
1635 Removed the ClipMaxIcons option and made it a compile time option.
1637 Removed the ConstrainWindowSize option
1639 Renamed NoSound to DisableSound
1641 Renamed NoAutowrap to DontLinkWorkspaces
1643 Renamed NoDithering to DisableDithering
1645 Renamed NoAnimations to DisableAnimations
1647 Removed the LeftHanded option and added a SwapMenuButton option.
1648 SwapMenuButton will make the rubberband selection in the root window
1649 be bound to the right button and the root menu to the left button.
1652 New way to display temporary icons
1653 ----------------------------------
1655 The icons that are attracted by Clip, but will not be kept after the
1656 application close, are now using a different color for shading, unlike previous
1657 version that always used white. This will improve look for very different color
1658 combinations, and allow the user to control the look of the shaded icon.
1659 The color used for shading the icons is computed as follows:
1661 First a color is computed depending on the IconBack type:
1662  - for solid the color is the solid color itself.
1663  - for simple gradients the color is (from_color + to_color)/2.
1664  - for multiple gradients, the color is the first color in list.
1665  - for pixmaps, the color is the solid color specified for that pixmap.
1667 Then the color is made lighter by multiplying each red/green/blue filed with
1668 1.7 and limiting each field to 0xff in case they exceed this value.
1669 Then this new color will be used by superposing it with the icon we want to
1670 shade, using a proper alpha value.
1672 To control the color for shading is simple:
1674 - In case of multi gradients you just need to put the first color, as the color
1675 you like. WindowMaker do not use the first color in the list to directly build
1676 the gradient, but only when it needs a solid color for something (like in this
1677 case).
1679 - For pixmaps, put the needed color as the solid color the syntax for pixmaps
1680 require. This color is also not used when displaying normal icons, just when
1681 solid colors are needed (like this case).
1683 - For solid color, or simple gradients, in case the color it uses after
1684 computing is not good enough, you can always convert the solid or simple
1685 gradient to a multi gradient with the same look, and use that one. In this
1686 case is simple, just put the needed color as first color in list.
1688 Please note that this will not slow down WindowMaker, because the IconBack is
1689 read only once at startup, and then only if it is changed. After reading it WM
1690 will construct the image of the tile, and use the image instead of recomputing
1691 the gradient every time.
1693 Here are 2 examples of converting solid or simple gradient to a same looking
1694 multi gradient:
1696 IconBack = (solid, Blue);
1697 will become
1698 IconBack = (mhgradient , LightBlue, Blue, Blue);
1699 using LightBlue as color for shading.
1701 IconBack = (dgradient, "#284569", "#082420");
1702 will become
1703 IconBack = (mdgradient, "#183454", "#284569", "#082420");
1704 looking the same, but using #183454 for shading.
1707 New Sound Server Location
1708 -------------------------
1710 The sound server new URL is http://www.frontiernet.net/~southgat/wmsound
1711 Also it seems to be running on FreeBSD too (with little changes maybe).
1714 --- 0.16.1
1716 WINGs
1717 -----
1719 The path for the WINGs resource files was changed. If you don't
1720 do make install, you must move /usr/local/share/WindowMaker/Resources to
1721 /usr/local/share/WINGs
1724 New Options
1725 -----------
1727 The following new options are available:
1728 NewStyle = Yes/No; (static) Replaces --enable-newstyle
1729 DisableDock = Yes/No; (static) Same as -nodock command line option.
1730 DisableClip = Yes/No; (static) Same as -noclip.
1731 Superfluous = Yes/No; (dynamic) Replaces --enable-superfluous.
1733 NOTES.
1734 - The static options are only read at startup. Changing them, needs to restart,
1735   so they will be accounted.
1736 - DisableDock and DisableClip have lower precedence than -nodock -noclip
1737   command line options. If both option/command line option are given, then the
1738   command line option will be accounted.
1741 Start Hidden option
1742 -------------------
1744 The start hidden option was fixed, and made to be an application wide option.
1745 It will apply to every window the application owns. Also its place in the
1746 Attribute Inspector panel, changed accordingly, to reflect this.
1747 The start miniaturized is however still applying to particular windows of an
1748 application, unless the option is set for the class.
1749 Start miniaturized, will override start hidden if both set.
1751 IMPORTANT NOTE.
1752 Because of the way Netscape Communicator is implemented, it is NOT possible
1753 to set the start hidden or miniatirized flags for it. This is because Netscape
1754 chooses to send a second map event to the window it maps. This makes the
1755 window to receive a second map request and to be unhidden or maximized back,
1756 immediately after it was hidden or miniaturized by WindowMaker at startup.
1760 --- 0.16.0
1762 Misc. Changes
1763 -------------
1765 The NextMenuBehaviour option was renamed to WrapMenus
1766 The WorkspaceTiedMiniwindows option was renamed to StickyIcons
1768 The .tif files were renamed to .tiff
1771 Selecting Mini Windows
1772 ----------------------
1774 Now miniaturized windows can be selected as well as normal windows.
1775 You can do this by Shift-Click-ing them. They will be marked, and will follow
1776 you through workspaces like normal selected windows do.
1777 Miniaturizing a window will no longer deselect the window, but will place the
1778 icon and mark it as selected.
1779 The only difference between miniaturized and normal window selection is that
1780 for the moment the rubber-band selecting method works only for normal windows.
1783 Icon Selection Panel in Attributes Editor
1784 -----------------------------------------
1786 Now, selecting icons is as easy as clicking in the file name in a list.
1789 Simplified Options
1790 ------------------
1792 IconSlideStep, IconSlideSlowDown and IconSlideDelay were merged to 
1793 IconSlideSpeed
1795 MenuScrollStep and MenuScrollDelay were merged to MenuScrollSpeed
1797 ShadeStep and ShadeDelay were merged to ShadeSpeed
1800 Valid values for them are: Fast, Normal, Slow or UltraSlow
1802 If you want to fine tune the values, they can be changed in wconfig.h
1803 Send me your set of values with an indication of how fast is your hardware,
1804 so that I can make the default values more adequate.
1807 New Window Attributes
1808 ---------------------
1810 Added StartMiniaturized and StartHidden as window attributes and
1811 removed the previous implementation. Also removed the dock menu entries.
1812 They are now settable in the Attributes Panel.
1814 Also added DontSaveSession attribute. This way, you won't end up with multiple
1815 unwanted copies of the same app after the previous session is restored.
1816 I start X with a xterm in .xinitrc instead of wmaker, wich will cause the
1817 xterm restored by wmaker be duplicate. Just add -name something to the
1818 xterm started form .xinitrc and mark DontSaveSession=YES for that window.
1822 User Specifiable Visual IDs
1823 ---------------------------
1825 wmaker now supports different visuals than the default one. It isn't of much
1826 use for most people, but can be usefull for lucky SGI users who want it
1827 to use TrueColor instead of the default PseudoColor.
1829 wmaker -visualid VISUAL_ID
1831 where VISUAL_ID is the hex code for the visual you want.
1833 Note: I don't have an SGI box and haven't tested it...
1837 Starting Workspace
1838 ------------------
1840 The starting workspace is identified in the following order:
1841 1. If the app is omnipresent will be mapped on the current workspace.
1842 2. Else if the application have a StartWorkspace option set as attribute
1843    then this one will be used.
1844 3. Else, if the application was started from Clip, the workspace on which
1845    the Clip from where it was started is used.
1846 4. Else the current workspace is used.
1848 Restoring saved sessions will always use the saved workspace, no matter
1849 what other options are, except onmipresent.
1853 --- 0.15.1
1855 Workspace specific mini windows
1856 -------------------------------
1858 The minimized windows can be workspace specific, being more consistent with
1859 the rest. This is because minimized window represents just another state of a
1860 window (like normal or shaded), which all are workspace specific.
1861 This (or the old "present anywhere") behavior can be set using an option in
1862 the WindowMaker database: WorkspaceTiedMiniWindows = Yes/No;
1864 New way to animate the blowing icons
1865 ------------------------------------
1867 There is now a compile time option that allows one to set how the icons are
1868 animated when detaching from dock/clip in superfluous mode.
1869 By default the classic "Falling pieces" animation is used.
1870 If SPREAD_ICON is #define-ed in wconfig.h, then a "Spread in four directions"
1871 animation is used instead. Take a look at the section where this is described
1872 in src/wconfig.h
1873 By default there is #undef SPREAD_ICON to select "Falling pieces" animation.
1875 Auto Colapse for Clip
1876 ---------------------
1878 The clip now supports an option named "Auto Collapse" which can be set from
1879 the clip main menu. When set, clip will stay collapsed, and will show itself
1880 when the mouse moves over it. While the mouse is over it, or over any of the
1881 icons attached to the clip, the clip will stay uncollapsed, letting you to
1882 access the attached icons. This is not true for applications like asclock, or
1883 applets of that kind, because the icon window do not belongs to WindowMaker,
1884 but to the application itself. For such icons you must keep the mouse over the
1885 icon groundplate, else it will collapse back. But usually these type of icons
1886 will not stay in a collapsed clip, since one needs to see what they show.
1887 When the clip is leaved it will collapse back after a delay of 1 second, unless
1888 the mouse is moved back to the clip area. The delay can be set modifying
1889 AUTO_COLLAPSE_DELAY in wconfig.h. Default is 1000 (ms) which means 1 second.
1894 --- 0.15.0
1896 Changed name from Fiend to Clip
1897 -----------------------------------
1899 All occurrences of word Fiend with or without capital F were replaced with
1900 the corresponding Clip (same capital).
1901 This affects all configuration files under ~/GNUstep that contain this word.
1902 It can be refered as "Workspace Dock" too.
1905 New option in Clip menu, and extended Clip behavior
1906 ---------------------------------------------------
1908 The following new items are available in the dock menu:
1910 1. Attract Icons
1911 2. Keep Attracted Icons
1912 3. Collect Icons
1913 4. (Un)select All Icons
1914 5. Remove Selected Icons
1915 6. Move To
1916 7. Start miniaturized    (also available for regular dock)
1917 8. Start hidden          (also available for regular dock)
1918 9. Selected
1919 10. Set icon...          (also available for regular dock)
1922 Here is what they do:
1924 1. "Attract Icons" will let the Clip to attract and attach any new appicon that
1925    is created when an application starts. It will not do this if the Clip is
1926    full. If the Clip is Collapsed then the appicon will be hidden after it is
1927    attached.
1928 2. "Keep Attracted Icons" will tell the Clip to keep the attracted appicons,
1929    after the application is closed. Without this the appicons will vanish,
1930    leaving the Clip in the original state. If you move an appicon that was
1931    attracted from Clip to regular Dock, it will be kept when closed, no matter
1932    what "Keep Attracted Icons" is set to in Clip.
1933 3. "Collect Icons" will collect all appicons that are not yet attached to Dock
1934    or Clip, and attach them to the current workspace Clip. The value of
1935    "Keep Attracted Icons" will apply when applications close. If Clip is
1936    collapsed, the appicons will be hidden.
1937 4. "(Un)select All Icons" will select all icons in the clip if none is
1938    selected, or it will deselect all selected ones. The selected icons are
1939    marked using a small triangle in the bottom right corner of the appicon.
1940    The color of the mark is set using SClipColor in WindowMaker domain
1941    database.
1942 5. "Remove Selected Icons" will remove from Clip all selected icons. The ones
1943    that still run, will be detached, all the others will vanish.
1944 6. "Move To" will transfer all selected icons to another workspace and attach
1945    them to the Clip in that workspace. If none is selected, only the one the
1946    mouse was pressed on will be moved.
1947 7. "Start miniaturized" will launch (or autolaunch if set) the application in
1948    a miniaturized state.
1949 8. "Start hidden" will launch (or autolaunch if set) the application in a
1950    hidden state. Note that only one of the two can be set at a time.
1951 9. "Selected" can be used to toggle the selected state of the appicon
1952    individually. The same can be achieved using Shift-LeftClick on the appicon.
1953    In fact the intended way of toggling the selected state is by using
1954    the Shift-LeftClick on icon. The menu entry is just another way to do the
1955    same.
1956 10. "Set icon..." will allow one to set the image for the appicon. The image
1957    will be updated without restart, and also all appicons in the same
1958    instance.class as the one we set for, will be updated.
1960 So a simple way of avoiding the screen to be filled up with appicons is to set
1961 the "Attract Icons" in the Clip. Also the "Keep Attracted Icons" can be set to
1962 No, so the attracted icons will be deleted when application exits, thus leaving
1963 the Clip clean. If also one to not want to see the appicons that keep filling
1964 the Clip, he can set the Clip to be Collapsed.
1966 Getting rid of unneeded icons in Clip is as simple as selecting them
1967 individually using Shift-LeftClick, and then using the "Remove selected Icons"
1968 entry in menu.
1971 Support for different visuals.
1972 ------------------------------
1974 WindowMaker is now able to support any visual, except DirectColor, in any
1975 depth from 1bpp to 32bpp.
1977 One can start the X server with different visuals, by passing the X server the
1978 right option. For XFree 3.3.x is -cc <id>.
1979 WindowMaker is not yet able to choose a different visual from the Default one
1980 on a given screen, but can use any default visual it finds, except the direct
1981 color visual.
1982 For example starting X like (for XFree 3.3.x, and if the driver for the
1983 card supports this. Read the man page for your X server):
1984 startx -- -bpp 8 -cc 0 will give you the StaticGray visual.
1985 startx -- -bpp 8 -cc 1 will give the GrayScale visual
1986 and so on.
1988 Wrlib code is now generic, and will support any visual except DirectColor in
1989 any depth. Programs written with wrlib can work on different visuals from
1990 the default visual for a given screen.
1991 Behavior in different visuals can be tested using the testgrad program in
1992 wrlib subdirectory in distribution.
1993 testgrad -h will show the usage.
1995 Multidiagonal gradients are also implemented now in wrlib, and a new algorithm
1996 is used to speed up the generation of diagonal gradients.
1999 New arrangement of the directory structure under ~/GNUstep/
2000 ---------------------------------------------------------------
2002 To better adapt to theme support the directory structure changed under
2003 ~/GNUstep/Library/WindowMaker
2005 1. Style directory moved to Styles.
2006 2. Added the following directories: Backgrounds, IconSets, Pixmaps, Sounds and
2007    Themes.
2008 3. The .style files no longer get copied in the user's Styles directory.
2009    Instead they are read from the global /usr/local/share/WindowMaker/Styles
2010    directory.
2012 Under ~/GNUstep/Defaults the following changes occurred:
2014 1. A default WMState is installed by wmaker.inst.
2015    It contains the dockit program assigned to the top icon of the dock, and
2016    the wmsetbg program assigned for the drop command on both dock's and clip's
2017    main icon.
2018    Double clicking the dock's main icon will bring up dockit that will let you
2019    dock any application that do not have an application icon.
2020    Dropping an image on dock's or clip's main icon, from an Offix DND aware
2021    application, will put the image on the background tiled, and will update
2022    WindowMaker domain database file.
2023 2. Syntax of WMState changed a little. The old position will not be restored
2024    when you will first start the new version, but after that it will be
2025    normally remembered. This is because now the main clip icons is only saved
2026    once, not for every workspace.
2027    You should replace Fiend with Clip in any place where it appears, if you
2028    want to keep the old WMState file, else it will not work.
2029 3. At compile time, it will detect if you have support for tif, and will
2030    install a WMWindowAttributes with corresponding image name extension
2031    (.tif or .xpm). This is true only for pixmaps that come with the source
2032    distribution and get installed under /usr/local/share/WindowMaker/Pixmaps
2034 The menu file changed a lot. Old menu file will *not* work with new theme
2035 support, so please upgrade.
2038 New behavior of OPEN_MENU command
2039 ---------------------------------
2041 The OPEN_MENU command now supports the following syntax:
2042 1. File menu handling.
2043    // opens file.menu which must contain a valid menu file and inserts
2044    // it in current position
2045    OPEN_MENU file.menu
2046 2. Pipe menu handling.
2047    // opens command and uses it's stdout to construct menu.
2048    // Command's output must be a valid menu description.
2049    OPEN_MENU | command
2050 3. Directory handling.
2051    // Opens one or more directories and construct a menu with all
2052    // the subdirectories and executable files in them sorted alphabetically.
2053    OPEN_MENU /some/dir [/some/other/dir ...]
2054 4. Directory handling with command.
2055    // Opens one or more directories and construct menu with all
2056    // subdirectories and readable files in them sorted alphabetically,
2057    // preceding each of them with command.
2058    // WITH is a required keyword!!!
2059    OPEN_MENU /some/dir [/some/other/dir ...] WITH command -options
2061 Please note that because of the 'WITH' keyword old menu files no longer work
2062 for the OPEN_MENU with a command.
2065 Theme support
2066 -------------
2068 Theme support is now as easy as untar-ing a tarball in the right place.
2069 Because of the way OPEN_MENU works, they can be installed on a global
2070 shareable basis, or for personal user use.
2071 Themes installed under ~/GNUstep will be available only for a user, but
2072 if if they are installed under /usr/local/share/WindowMaker they will be seen
2073 by all users. This is also true for style files, background images, pixmaps,
2074 etc that get installed under /usr/local/share/WindowMaker.
2075 Themes can be saved or loaded using the Appereance menu.
2077 Also support for different IconSets is available. You can save or load a new
2078 IconSet using the Appereance menu.
2080 Setting background images is now as simple as putting the images in the right
2081 place (~/GNUstep/Library/WindowMaker/Backgrounds or
2082 /usr/local/share/WindowMaker/Backgrounds, or any other place in your
2083 PixmapPath). Then use the Appereance menu. They will be instantly available
2084 since they are opened by a OPEN_MENU command. Also the image do not need to
2085 have a .jpg or any other extension. It will be recognized anyhow.
2086 As an example please see the OpenStep theme supplied with WindowMaker.
2087 The OpenStep image is a jpeg file without extension.
2089 Please keep in mind that anything under /usr/local/share/WindowMaker will be
2090 available for all users.
2093 New options for wmsetbg and getstyle
2094 ------------------------------------
2096 wmsetbg now accepts the following options:
2097 usage: wmsetbg [-options] image
2098 options:
2099  -d             dither image
2100  -m             match  colors
2101  -t             tile   image
2102  -s             scale  image (default)
2103  -u             update WindowMaker domain database
2104  -D <domain>    update <domain> database
2105  -c <cpc>       colors per channel to use
2107 By default, it will try to guess if dithering is needed or not and proceed
2108 accordingly.
2109 Using -d or -m will force it to dither or match colors.
2111 Dithering for more than 15bpp is generally not needed, and will only result
2112 in a slower processing.
2113 Don't use dithering except when needed, because it is slower. Else rely on
2114 wmsetbg which will detect if dithering is needed and use it.
2116 -u will update the WorkspaceBack in the default database domain file in
2117    ~/GNUstep/Defaults/WindowMaker, and let WindowMaker refresh the screen.
2118    Please note that this option only works under WindowMaker, and will have no
2119    effect under other window managers, since it rely on WindowMaker to update
2120    the image after it reads the updated defaults database.
2122 -D <domain> is same as above, but will update the domain <domain> instead of
2123    the default WindowMaker domain.
2125 -c <cpc> will set the color per channel to use. Only needed for PseudoColor
2126    visuals. WindowMaker will automatically pass the value read from the
2127    WindowMaker domain database.
2130 getstyle now have the -t option, that instructs it to read all options
2131 related to theme. Without -t getstyle will read only style options that
2132 means it will not read WorkspaceBack and IconBack.
2133 Use -t when you want to make a theme and need all theme options to be saved.
2134 Else it will extract just a style file.
2137 Session management support
2138 --------------------------
2140 Two new commands are available for use in menus:
2142 SAVE_SESSION and CLEAR_SESSION.
2144 SAVE_SESSION:
2145 will take a snapshot of all running applications, and their current hints
2146 (shaded, hidden, minimized, geometry and workspace they are on),
2147 and save it inside the WMState file. Also the current workspace we are on is
2148 saved. The applications that are running and were started from dock or clip are
2149 marked, so they will be attached to the corresponding dock/clip when restored.
2150 This state is restored every next session, until a new one is saved or
2151 CLEAR_SESSION is used.
2153 CLEAR_SESSION:
2154 will clear any previous saved session.
2156 There is also a run time option named SaveSessionOnExit = Yes/No; that allows
2157 one to automatically save the state of desktop when leaving WindowMaker.
2158 This way next session, the state of the desktop before last exit is restored.
2160 Please note that if this option is set to Yes, than any manual saving of the
2161 state, or any clearing of the state will be overridden when exiting
2162 WindowMaker.
2164 These options are available under the "Workspace" menu.
2167 User WindowMaker configuration files are now merged with global ones
2168 --------------------------------------------------------------------
2170 When starts WindowMaker will look for database domain files under
2171 $GNUSTEP_USER_ROOT/Defaults or ~/GNUstep/Deafults to be read. (In this order).
2173 If they are not available then it will scan for them in
2174 $GNUSTEP_LOCAL_ROOT/Defaults, $GNUSTEP_SYSTEM_ROOT/Defaults or
2175 /usr/local/GNUstep/Defaults (in this order).
2177 Even if the file was found or not, it will always load the corresponding domain
2178 file under /usr/local/share/WindowMaker/Defaults.
2180 Then if the user file was found it will merge it over the global file, else
2181 the global file will be used.
2183 This way any settings that are set by the system administrator in the shared
2184 file will be available for users that do not have them in their config files.
2185 Any option the user have in his config file will override the one in the
2186 shared domain file.
2188 So any new runtime options that appear in WindowMaker domain, do not need to
2189 be set in all user files, except the ones the user wants a different behavior
2190 from the default set for all users in the shared file.
2192 Also it is possible for the user to not have any personal domain databases, and
2193 the global shared ones will be used, but it still needs to have the directory
2194 structure, so WMState gets written on session exit.
2195 So all it needs to have is ~/GNUstep/Defaults directory available.
2198 New behavior of the Slide Icons
2199 -------------------------------
2201 Animation constants are now runtime.
2202 They are:
2203 IconSlideDelay = 0;
2204 IconSlideStep = 5;
2205 IconSlideSlowDown = 50;
2207 To better adapt both slow and fast machines the behavior of sliding icons
2208 changed in the following manner:
2210 Old one was to keep moving the icon with a constant step (default 5 pixels)
2211 until it reached the destination.
2213 Now it will use a new parameter named IconSlideSlowDown to speed up or slow
2214 down the moving.
2216 Instead of moving it with a constant step it will use IconSlideSlowDown to
2217 divide the distance to the destination, and use this value as the first step.
2218 Then is will compute the remaining distance and will again use
2219 IconSlideSlowDown to divide it and get the new step. And so on.
2220 When the step to move becomes smaller than IconSlideStep, IconSlideStep will
2221 be used further until the destination is reached.
2223 This way a nice deceleration effect is achieved, since while the icon
2224 approaches destination, it will use smaller steps, gibing the illusion that
2225 the icons is moving slower.
2227 IconSlideDelay will give the pause between steps, and is expressed in ms.
2229 Giving large values to IconSlideSlowDown (>1024 for 1024x768 screen) will
2230 result in the old "constant step advance" behavior, since the computed step
2231 will always be smaller than IconSlideStep, and the last will be used instead.
2233 Making IconSlideSlowDown = 0 or 1, will result in an instant jump to the
2234 destination without any animation.
2237 Attribute editor
2238 ----------------
2240 Because the icon images on screen automatically update after any change in
2241 WMWindowAttributes domain file, the use of both Save and Apply buttons is no
2242 longer needed. If one wants to just apply the setting to the current window
2243 only, he will only use the Apply button.
2244 If he wants them saved for all applications in the same instance and/or class
2245 the using the Save button will write them to disk, and automatically
2246 WindowMaker will update all the icons that need to be updated on screen.
2249 Sound support
2250 -------------
2252 Some basic sound support is now part of WindowMaker. The sound server is not
2253 yet part of WindowMaker distribution, so you need to download it separately.
2254 This is because is linux specific, and need some changes before it can be
2255 included.
2256 Until them if you have a linux system and want to use sound, use the
2257 wmsound-0.5 available at http://www.geocities.com/SiliconValley/Bay/7874
2258 Download that package, and only build the sound server there.
2259 DO NO APPLY ANY PATCHES FROM THERE!, because they are already applied.
2260 Just build the sound and copy the executable in /usr/local/bin
2261 Follow the rest of the install steps described there, except the patch-ing
2262 procedure.
2264 To enable sound for WindowMaker pass --enable-sound to configure.
2266 Also use NoSound = Yes/No; to enable/disable sound at runtime without killing
2267 the sound server.
2269 If you cannot set the sound to work yet, then is not for you.
2270 Wait until the sound server will be fixed and will be part of WindowMaker.
2273 New entries in WindowMaker domain database
2274 ------------------------------------------
2276 The following entries have been added to the runtime options:
2278   SaveSessionOnExit = No;
2280 will autosave (or not) the session state on exit.
2282   WindowPlaceOrigin = "64, 64";
2284 will offset all windows in auto or cascade placement mode with the value
2285 (in pixels) before placing them on screen. First is horizontal direction and
2286 second is vertical.
2287 This do not apply to windows that request a specific position on screen.
2288 This is useful if you want your Clip on the top left corner to not be
2289 overlapped by mapping windows.
2290 It will let it to have a row and a column of docked appicons near the screen
2291 edge, that will not be overlapped by windows.
2292 If you set it to "128, 128" it will have 2 rows and 2 columns not overlapped.
2295   NoSound = No;
2297 Enable/disable sound at runtime without the need of killing the sound server.
2300   MenuScrollDelay = 10;
2301   MenuScrollStep = 5;
2303 Constants for the menu scrolling animation.
2305   IconSlideDelay = 0;
2306   IconSlideStep = 5;
2307   IconSlideSlowDown = 50;
2309 Constants for the icons sliding on screen. Explained above.
2311   ShadeDelay = 0;
2312   ShadeSteps = 15;
2314 Animation parameters for shading a window. How many steps it will take, and the
2315 delay between steps in ms.
2317   DoubleClickTime = 250;
2319 The time for the double click to be considered so. Expressed in ms.
2321   SClipColor = "#6f8ae2";
2323 Color for selected icons in Clip.
2325 All delays are expressed in ms.
2329 --- 0.14.1
2332 *** Enhanced fiend clone.
2334 Here are the new fiend features:
2335 1. Keys for raising/lowering the fiend, and their default values:
2336    FiendLowerKey = None;
2337    FiendRaiseKey = None;
2338    FiendRaiseLowerKey = None;
2340    All reside in WindowMaker configuration file.
2342 2. Added posibility to launch the workspace menu with button1 click on the
2343    idle indicator of fiend, or with button3 click on workspace name on the
2344    fiend.
2346 3. Added Control-button1-click on fiend's idle indicator, to create a new
2347    workspace and move to it. Same action as New item in Workspace menu.
2349 4. Fiend's idle indicator do have a color that reflects its normal/collapsed
2350    state.
2352 5. The delay between changing workspaces from fiend is now a runtime option:
2354    WorkspaceChangeDelay = 700;
2356    in WindowMaker configuration file.
2358 6. Application icons can be moved between dock and fiend now.
2360 7. The way workspaces are changed is controlled now by two runtime options:
2362    AdvanceToNewWorkspace=Yes/No;
2363    CycleWorkspaces=Yes/No;
2365    Both apply to either fiend navigating buttons or to next/prev worksapace
2366    keybindings. Both default to No, and are in WindowMaker configuration file.
2368 8. Also added posibility to advance to new workspace, no matter what value
2369    AdvanceToNewWorkspace have, with Control-button1-click on "next workspace"
2370    fiend button.
2373 *** Theme support ***
2375 Spixmap and tpixmap now work. Their syntax is:
2377 SomeStyleOption = (spixmap, file, color);
2378 SomeStyleOption = (tpixmap, file, color);
2380 - spixmap means scaled pixmap, so the image in the file will be scaled to
2381 adapt to the destination's size.
2382 - tpixmap means tiled pixmap, and the image from file will be tiled in the
2383 destination.
2385 file is searched in the PixmapPath, but can be a full path name.
2387 Color is used depending on which Style option is applied.
2388 For example in case of titlebars, color is used for miniwindows titles color.
2389 You are not restricted in selecting that color, but is better to put one
2390 that matches the overall color of the image.
2392 Currently they apply to all the options that accept (solid, color), or any
2393 type of gradient.
2394 This means they also apply to WorkspaceBack and IconBack, which allows theme
2395 support with the simple use of the setstyle and getstyle utilities.
2396 There is no need for an extra theme manager, just to include the needed
2397 options in the style files.
2399 In case of WorkspaceBack, color is used to be set in the background until
2400 the image gets loaded and displayed. This is to avoid the stippled screen
2401 the X server shows, in case the image is big and loads slow.
2402 There is a small utility in the util directory, named wmsetbg which is
2403 used to set the background image. This is needed for windowmaker not to
2404 freeze while loading and scaling the image.
2405 Currently it is hardcoded in windowmaker to use wmsetbg to set the background
2406 image, and is better to use it since is smaller that other image manipulation
2407 programs, and it is compiled with support for same image types as windowmaker.
2408 Since it comes and is installed with WindowMaker, there will be no need to
2409 download and use an external app, which also may not have support for the same
2410 image types as windowmaker.
2414 --- 0.14.0
2416 *** Fiend clone.
2418 The fiend clone is a dock extender, that lets you dock more than the default
2419 10-12 icons in the dock. It actually lets you dock how many icons you like,
2420 with a current default of 25 per workspace. The fiend have different docked
2421 icons on every workspace. Also the fiend main icon shows you the workspace
2422 you're on and lets you navigate through the workspaces with the small green
2423 buttons on the low right corner.
2424 To save screen space the fiend can be collapsed to the main icon either
2425 from the fiend menu (available with right click on the fiend icons), or
2426 with a double left click on the main fiend icon, which is a toggle for
2427 the collapsed/uncollapsed state.
2428 Collapsed state is marked by a different title color.
2429 Pressing on the small buttons on the low right corner, the workspaces are
2430 changed in increments of 1 to the left or right, but keeping the button
2431 pressed over them will continuously advance through workspaces until the
2432 mouse is moved away from the buttons or the button is released.
2433 The delay between workspace changes is set by FIEND_WKS_CHANGE_DELAY in
2434 src/wconfig.h, and defaults to 700 ms.
2435 Unlike the dock, fiend can hold icons in any directions, and can be placed
2436 in any position on screen.
2438 When an icons is to be docked, but the position can be either in the dock
2439 or in the fiend, the dock will be used first, and the icon will be docked
2440 there.
2442 Here are the new runtime options introduced by the fiend:
2443 Files are located in ~/GNUstep/Defaults/
2445 In WMWindowAttributes:
2446        "Logo.WMFiend" = {Icon = "Cone.xpm";};  - icon for the fiend
2448 In Windowmaker:
2449         FiendMaxIcons = 25;           - the max number of icons in fiend per
2450                                         workspace
2451         FiendTitleFont = "-*-helvetica-bold-r-normal-*-10-*-*-*-*-*-*-*";
2452                                       - the font used to show the current
2453                                         workspace
2454         FiendTitleColor = black;      - color for the uncollapsed fiend title
2455         CFiendTitleColor = "#616161"; - color for the collapsed fiend title
2456         AFiendColor = "#00ba70";      - color for the workspace changing
2457                                         buttons, when active
2458         IFiendColor = "#008000";      - color for the workspace changing
2459                                         buttons, when idle
2461 For the ones who don't want to use fiend, there is a option to wmaker named
2462 -nofiend that can be feed to the command line when starting wmaker.
2463 (This is the equivalent for -nodock, but removes fiend clone).
2465 The syntax of WMState file have changed, but you don't have to worry because
2466 WindowMaker will know to read the old format and will save it and further
2467 will use the new one. You do not need to change your file, for the new version
2468 to work.
2471 --- 0.13.1
2473 *** Enhanced Attribute editor.
2475 Now you can save defaults for all windows.
2476 Please note that only Icon, KeepInsideScree, and sometimes NoAppIcon
2477 can be useful in a normal environment. But others may have other opinion ;)
2478 If you set AlwaysUserIcon default for all windows, note that apps like
2479 asclock, wmload, wmmail, wmrack, will show that icon instead of their
2480 window.
2482 Now Attribute editor also counts for defaults saved for all windows,
2483 (not only the default "No" for all options hardcoded in WindowMaker),
2484 when saving options for some instance.class specification. This is to
2485 save disk space by saving only the options that differs from global defaults
2486 (either defaults for all windows or the hardcoded valued in WindowMaker).
2488 Attribute Editor now updates on the fly the appicon image or creates/deletes
2489 the appicon if you set that options in the Inspector panel and Apply them.
2490 Modifying Icon file, NoAppIcon or AlwaysUserIcon and Applying them will
2491 result in the image update for the app-icon.
2493 Note that if you apply but not save these options, the miniwindow image will
2494 not be updated. This is because app-icon is always on screen so it can be
2495 updated, but miniwindow image is read from the defaults database and from disk
2496 every time you minimize the window and is destroyed when you restore.
2499 --- 0.13.0
2501 *** Atribute editor is working ;).
2503 How it works is quite obvious.
2504 Anyway, here is a short description.
2506 Save   - only save the configuration in defaults database and updates
2507          WMWindowAttributes
2508 Apply  - only applies the values to the current window
2509 Revert - reverts the values from the defaults database
2511 Note that Save and Revert count for the window specification
2512 (instance & class), that are selected, and save/use the values for/from
2513 that.
2515  The Update button will show the icon who's name was typed in the textfield
2516 If the textfield is empty, will try to use the default icon.
2517 Also saving with and empty textfield for icon, uses the default icon.
2519  The Default button will use the icon in the textfield as default icon
2520 and save that value in WMWindowAttributes (Note that in this case is no
2521 need to press the Save button!). Also if the textfield is empty it will
2522 try to use the old default icon, if available.
2524 *** Now menus are saved between sessions, or over a restart.
2526  Just stick them to the desktop, and you will find them over sessions
2527 until you close them.
2528  Please note that only the root_menu, the window switch_menu and the
2529 workspaces_menu can be saved this way.
2531 *** Changed the lousy Windoze menu behaviour.
2533 This applies to 'NextMenuBehaviour = NO;'
2535  Now the items are no more automatically selected if you launch the menu
2536 and the mouse is over some item, if you use a short click to launch the
2537 menu (shorter than the default DBL click time).
2538  If you use a longer click or keep the mouse pressed, the item under mouse
2539 will be selected after that delay, and launched when you will release the
2540 mouse button.
2541  If the click was short, a second one is needed to launch the item.
2543 *** Autoarrange icons is now a runtime option
2546 AutoArrangeIcons = YES/NO;
2547 in 'WindowMaker'.
2549 *** Added configurable horizontal resize threshold
2552   HorizontalResizeThreshold = <n>;
2554 This will make the n pixels at the exterior side of the corner handle
2555 of the resize bar to restrict to horizontal only resize.
2556 Also you can use Shift-click&drag anywhere on the corner handle to
2557 restrict the resize only to horizontal.
2558 Note that the Shift-click&drag does not depend of the configured threshold
2559 and works completely independent.
2561 *** New option for OPEN_MENU (pipe from command)
2563 OPEN_MENU | /foo/bar/script
2565 will make a menu that is dinamically constructed by /foo/bar/script
2568 --- 0.12.0
2570 *** New option for OPEN_MENU
2572 OPEN_MENU /foo/bar/pics xv -root -quit
2574 will make a menu with all files in /foo/bar/pics and precede them
2575 with EXEC xv -root -quit
2577 thus, making a menu with entries like:
2580 "marble.gif" EXEC xv -root -quit marble.gif
2581 "water.jpg" EXEC xv -root -quit water.jpg
2585 *** Multicolor gradients
2587 (mhgradient, colorX, color1, color2, color3, ..., colorn)
2588 (mvgradient, colorX, color1, color2, color3, ..., colorn)
2590 You can put any number of colors >= 2. 
2592 colorX is a special color that is used as the solid color of the
2593 texture when wmaker needs a solid color (like in miniwindow title and
2594 resizebar)
2596 *** PixmapPath format changed
2598 What used to be
2600 PixmapPath = "/usr/local/share/pixmaps:~/foobar";
2602 must now be
2604 PixmapPath = ("/usr/local/share/pixmaps", "~/foobar");
2607 *** Added OffiX DND in dock
2609 Use the "Set drop arguments..." command in the menu and put a %d
2610 where the dropped object string should be substituted, like:
2612 xedit %d
2614 *** Escape thingies for menu and dock commands:
2616 %w - substitute with current selected X window ID
2617 %s - substitute with current selection
2618 %d - substitute with last dropped object
2619 %a(some text) - opens a input box with "some text" as a title. Then,
2620 the text typed will be substituted there
2622 \r, \n - substitute with corresponding characters
2625 *** The WMState file format has changed a little.
2626 The Command field for the dock application list is now a normal string,
2627 instead of a list. So, remove the parentheses and the commas for the command
2628 and join all the parts. Example:
2630 if it used to be
2632 Command = ( xterm," -geometry", "+10+10" );
2634 then make it
2636 Command = "xterm -geometry +10+10";
2639 --- 0.10.2
2641 AutoFocus = NO; disables automatic focusing of windows
2642 when they are first mapped
2645 --- 0.10.1
2647 titlebar gradients are in a single piece now
2649 the WMDock file was merged into the WMState file. You can insert this
2650 file in WMState and set it's key to Dock. For example, if your WMDock
2651 contains:
2654         Applications = { {Command = (); }};
2655         Position = "-64,0";
2656         Lowered = NO;
2659 and WMState contains:
2662         Workspaces = ( "Workspace 1" );
2665 then you can merge both and have:
2668         Workspaces = ( "Workspace 1" );
2669         Dock = {
2670                 Applications = { {Command = (); }};
2671                 Position = "-64,0";
2672                 Lowered = NO;
2673         };
2678 The configuration format has changed!! Forget everything about the old
2679 format.
2681 dockapp was removed and the old version will not work anymore. 
2683 the dialogs require tcl/tk. they will be rewritten in plain C
2686 These are some tips for people upgrading from older versions and don't want
2687 too many unused files around. There is no problem if you decide to keep 
2688 them for a while.
2690         you can  rm -r ~/gnustep if you don't want anything from there
2692         remove the files in /usr/local/share/WindowMaker before installation
2694         the /usr/local/share/pixmaps directory can be removed