NEWS for veteran Window Maker users ----------------------------------- --- 0.65.0 Single AppIcon -------------- Removed --single-appicon patch and replaced it with a application specific collapsing option. Check inspector panel and appicon menu. New options to configure the workspace mouse actions ---------------------------------------------------- The following options were removed from the WindowMaker defaults configuration file: SelectWindowsMouseButton, WindowListMouseButton and ApplicationMenuMouseButton. They were replaced with the following 3+1: MouseLeftButtonAction, MouseMiddleButtonAction and MouseRightButtonAction plus MouseWheelAction In the old way because all gravitated around the workspace actions to which specific mouse buttons could have been bound, it allowed one to specify in the configuration file settings which would have led to weird situations that also had undesirable results. For example the same mouse button (for example left) could have been assigned to all workspace actions: 'select windows', 'show window list menu' and 'show applications menu' which of course were not only impossible to accomplish while still having a properly working workspace, but they also allowed one to specify some settings in the configuration file that were never in fact translatable to proper workspace actions. To void this kind of user interface inconsistency, the new options now gravitate around the physical device (the mouse and its buttons) to which specific workspace actions can be bound. This way, even if one assigns the same action to all mouse buttons, that situation while gives redundant and unpractical settings it will still translatable to proper workspace actions: all buttons will execute the same action, but a button will execute only one action at a time. The new options take the following values: all Mouse...ButtonAction can have one of the following values: None, SelectWindows, OpenApplicationsMenu or OpenWindowListMenu MouseWheelAction can be one of None or SwitchWorkspaces If you had the default actions bound to mouse buttons before, then it will work for you without any intervention in the configuration files. Else you need to use WPrefs.app to bind the actions to the mouse buttons again to your old settings. Also if you want to change the mouse wheel behavior regarding workspaces you can now (use WPrefs.app to do this). Client supplied icons --------------------- Window Maker saves the client supplied icons in ~/GNUstep/.AppInfo/WindowMaker in XPM format for later use when the app is no longer running (to have the image to display for docked icons for example). Until recently the XPM images saved by Window Maker were incorrect, but a recent fix in the code to save XPM's fixed them. But with this fix, all previously saved XPM's in that directory are no longer readable (they give wrong images on screen or fail to load). To avoid the need for the user to fix this by hand editing WMWindowAttributes and removing all references to icons in ~/GNUstep/.AppInfo/WindowMaker which can be annoying, new code was added to Window Maker to permit the regeneration of images in ~/GNUstep/.AppInfo/WindowMaker if they are missing. With this addition, all you need to do to fix your old broken images, is to delete all *.xpm files from ~/GNUstep/.AppInfo/WindowMaker. Next time the application that is supplying an icon image will start the icon will be recreated if missing, but this time it will be saved with the new XPM save code which produces good XPM images. All the rest of the process is transparent to the user. Hermes library support ---------------------- If configure finds hermes library (an optimized pixel format conversion library) installed it will use it to do the pixel format conversion in the wraster library for some cases (TrueColor visuals without dithering). Currently the hermes routines cannot convert to an indexed destination, so we can't use hermes for PseudoColor, GrayScale and StaticGray visuals. Also hermes only does dithering for just 2 combinations of source/destination bits/masks none of them useful to out needs so for dithering we still use out routines. The Hermes library is completely optional, you can build Window Maker without having it, it just speeds up the things a little for some situations. hermes library is available here: http://www.clanlib.org/hermes/ --- 0.64.0 No Polling of Configuration Files --------------------------------- Running Window Maker with one of -nopolling or --no-polling command line options will make it not to poll every 3 seconds for changes in its configuration files (good for laptops to let them spin disks down when idle). Note: For the ones used with Jim Knoble's 'no polling' patch, this is the same, except that the need to #define ENABLE_NO_POLLING in wconfig.h was removed and the behaviour is always available if you use the command line option. --- 0.63.0 Interwoven Gradient ------------------- interwoven gradients rip^Winspired on blackbox. Will render a texture that interweaves 2 different ones. (igradient, from1, to1, thickness1, from2, to2, thickness2) Will render a interwoven texture with the 2 specified gradients, with each section having the specified thickness. wmagnify -------- The wmagnify utility will magnify the area on teh screen where your mouse pointer is located, updating it in real-time. tip: maximize it horizontally, make it Omnipresent and Always at Bottom. Then leave it in the bottom of the screen. workspace border ---------------- 2 options (WorkspaceBorder and WorkspaceBorderSize) were added to allow one to set a small (0..5 pixels) border for the workspace. This border will not be covered by windows when maximizing, allowing one to easily access the clip or map a menu using the mouse in the border area, even when there are windows maximized in both horizontal and vertical directions. WorkspaceBorder can be one of (None, LeftRight, TopBottom, AllDirections) while WorkspaceBorderSize is the size in pixles of the border not to be covered by windows when maximizing (usually a small amount 0..5 pixles). Both options can be set using WPrefs.app in the "Miscelaneous Ergonomic Preferences" section. WPrefs will always limit WorkspaceBorderSize in the (0..5) range. Note that if "full screen maximization" option is set for a window, that window will ignore this border area, maximizing to full screen. --- 0.62.0 Optimizations!! --------------- Code for converting wrlib images into X Pixmaps was optimized in many ways, both in the original C code and in assembly for Pentium(tm) processors (with and without MMX(tm)). Depending on the bit depth/color mode and CPU model, performance increases can go up to 150% Weendoze Window Cycling (alt-tab) --------------------------------- Window cycling was changed to weendoze style. NoBorder Window Attribute -------------------------- The NoBorder window attribute (to be put in ~/GNUstep/Defaults/WindowAttributes) was added and will remove the 1 pixel border around windows. Removed "Keep Attracted Icons" option from Clip's menu ------------------------------------------------------ Since this option brought more confusion than usefulness among users, and since it was usable only in a very limited context, being able to fill up the Clip very easily, it was removed. An alternative way of gaining the same functionality is to use the "Keep icon" entry in the Clip's main menu. Or select multiple icons before calling that entry, to make it apply to more than one icon. Note: "Keep icon", as the obsoleted "Keep Attracted Icons" had nothing to do with holding icons in Clip, while the application is running. Once they are attracted, they are kept until the application close. Using "Keep icon", will only assure that the icon will be kept, even after the application is closed. Please don't ask for this option back. It's error prone, and very unintuitive. Considering it's very restrictive usability, and it's very ambiguous topic, it does not need a special entry in the Clip's menu, taking in count that there are already better alternative ways of gaining the same functionality. Removed DisplayFont Option --------------------------- The font for the geometry size will be controlled by the default WINGs font (SystemFont in WMGLOBAL) now. Others ------ - added DONT_SCALE_ICONS compile time option - added --dont-restore cmd line option. When passed to wmaker, it wont restore the state saved previously. --- 0.61.1 New libPropList --------------- new libPropList-0.9.1 is REQUIRED to build Window Maker 0.61.1. go grab it and install it first. --- 0.60.1 Window Edge Attraction ---------------------- Window edge attraction was now added. Attraction = YES/NO; will enable/disable gravity to edge's boder. The strength of gravity can be controled by modify `EdgeResistance' value in WindowMaker configuration file. Titlebar Draw String Plugin --------------------------- FTitleColor, UTitleColor, PTitleColor, MenuTitleColor can be assigend with drawstring plugin instead of plain color. For example: FTitleColor = ( function, libwmfun.so, drawPlainString, gold, black, gray49 ); will invoke function drawplainstring from libwmfun.so and pass 3 colors for arguments. To code new plugin, please see plugin.h for more informations. --- 0.60.0 User Menu --------- The user menu is now a compile time option disabled by default. Supply --enable-usermenu to configure to enable it. root menu INCOMPATIBLE changes ------------------------------ EXEC will execute the named program SHEXEC will execute the shell command. If you want to execute something like blabla > /dev/null, then use SHEXEC Dont forget to update your menus. New Option For setstyle ----------------------- The --ignore flag will tell setstyle to not change the option that is specified, when modifying the Window Maker configurations. For example: setstyle --ignore MenuStyle sometheme.themed will cause the MenuStyle option to not be changed. setstyle --ignore FTitleBack --ignore UTitleBack --ignore PTitleBack bla.themed will load the theme, but keep the titlebar background related options as before. MultiByte Text Support Changes ------------------------------ The --enable-kanji configure option is not needed anymore and was removed. To enable support for multibyte text, you must: - set the LANG environment variable to the appropriate value - change the font configurations to contain font sets in the appropriate encodings in both ~/G/D/WindowMaker and ~/G/D/WMGLOBAL (for WPrefs) - set the MultiByteText option to YES in both of the above files New Options ----------- WorkspaceNameDisplayPosition = none/center/top/bottom/topleft/topright/bottomleft/bottomright SmoothWorkspaceBack = YES/NO will enable smoothing of scaled workspace background images. Application User Menu Path Changes ---------------------------------- Default configuration for user specific menus installed in /usr/local/share/WindowMaker/UserMenus or $(datadir)/WindowMaker/UserMenus and ~/GNUstep/Library/WindowMaker/UserMenus. Omnipresent icons in Clip ------------------------- Added ability to set icons docked in Clip to be omnipresent on all workspaces. To set/reset this flag use the clip menu. The Clip menu changed in the following way: - if you bring up the menu from the Clip's main icon, it will contain as before the "Rename Workspace" entry in the second position. - however, if you bring up the menu from any other icon in clip, the "Rename Workspace" menu entry is replaced by "Omnipresent" or "Toggle Omnipresent" depending on the context. This entry will work in the following way, depending on the context: 1. If there is no icon selected in the clip, then the menu will contain the entry named "Omnipresent" which will be checked accordingly to the current state of the icon (omnipresent or not), and will let you change the omnipresent state of the icon you brought the menu from. 2. If one or more icons are already selected when the Clip menu is called, the entry will be named "Toggle Omnipresent" and will apply to all selected icons trying to toggle their omnipresent state. The icons which will be succesfully changed to their new state as requested, will be unselected, while the ones that will fail for some reason to gain their new state, will remain selected. In both cases if there is no success in setting what user requested a panel will inform user of the failure. (Note: trying to set an icon to not-omnipresent will never fail. Failures can be met only when trying to set omnipresent for an icon). The icons set to omnipresent will be marked with a triangle in the upper left corner, having the color of the IconTitleColor. An icon can be set to omnipresent, only if its position is free in all the workspaces, else you will be informed of the problem and asked to fix it first. Also when dragging an omnipresent icon around in Clip, all the icons docked in all the workspaces are shown while the dragging is done, to let one easily see where are free slots in all workspaces. For advanced users, there is also a shortcut to set/reset the omnipresent state of an icon: just use "Shift+MiddleButton" (button2) on the icon you want to change. In this case only the mark in the upper left corner will appear in case of success, or nothing will happen if icon cannot be made omnipresent (advanced users are expected to know why the icon failed to be made omnipresent, so they don't need a panel to explain them why ;) ). Now before you load your gun to start a flame war because this is against your principles you love so much, please sit down and think that this is a feature, which, if you don't use, the old behaviour of the Clip is totally preserved. It just adds some extra capabilities to the Clip for people who think that this is useful. XDND drop on dock support ------------------------- Support for XDE on dock is now replaced by XDND. To enable, edit src/wconfig.h --- 0.53.0 New Options ----------- ** MenuStyle MenuStyle=