NEWS for veteran Window Maker users ----------------------------------- --- 0.80.0 Shading/Unshading windows using mouse wheel on their titlebar --------------------------------------------------------- In addition to the known methods of shading/unshading a window, one can now do this by using the mouse wheel on the window's titlebar. The mouse events are interpreted via a mapping in the global WINGs configuration file, WMGLOBAL, by the MouseWheelUp and MouseWheelDown directives which will do shading and unshading respectfully. However, to avoid unwanted triggers of shading/unshading the window, two consecutive mouse wheel events in the same direction are required. The trigger won't occur if the events are separated by more than a double-click's worth of time, which is technically speaking like making a double-click with the button that corresponds to the mouse wheel direction. Practically speaking, this means that you have to move the mouse wheel up or down quickly, like when you want to quickly scroll over something big. Shared application icons ------------------------ Real application icon sharing was implemented in place of the collapse appicon thing. With this applications of the same instance.class will have a single shared application icon and hiding will hide all windows of the aplications attached to that appicon as if there is a single application. This feature is enabled by default for all applications in the global WMWindowAttributes defaults domain using: "*" = {SharedAppIcon = Yes;}; If you're not satisfied with this or want the old behaviour back you can revert this (either in the global domain for all users or in your personal WMWindowAttibutes domain) using SharedAppIcon = No; for "*" It can also be enabled/disabled for individual applications as needed. Setting this option can be done using the window's inspector panel in the "Application Specific" section. You can set/unset it for all applications by using the "Defaults for all windows" in the "Window Specification" section Basically using this can have 2 major scenarios: 1. Leave it on by default, but disable it for the few specific applications that do not behave well with it. (default) 2. Leave it off by default, and enable it for all applications for which you want it enabled. At this point all applications we tested work ok, some of them even work better with this feature turned on: for example xmms and Corel's WorkPerfect8 now only have 1 appicon (they used to have 2 without this feature). This feature is turned off by default for the following applications because it's incompatible with them: 1. all GNUstep applications 2. applications with an application menu (wterm, Aileron, etc) 3. all applications with withdrawn windows only (this means all dockapps) As a side note: wterm can use the shared appicon feature as long as it doesn't use the appmenu (will do this by default). If you start it using the appmenu (wterm -wm) it will disable the shared appicon feature because apps with appmenus are incompatible with this feature. If an application is a GNUstep application or if it has an appmenu, it's detected automatically and the shared appicon is disabled automatically without any user intervention or need to configure anything. Dock/Clip stealing appicons --------------------------- This feature is different form the Clip's "Autoattract Icons" feature as it won't attach any new icon to the dock/clip. What it does, is when you start an application by other means than dock/clip, like for example using the main menu or a terminal, it will search the dock/clips for the presence of an appicon for that application, that is not already running at that moment and will attach the started application to that appicon in the dock/clip if available, making it look like the dock/clip just stole the appicon for the started application. There is an animation for this to offer visual feedback that this happened. --- 0.70.0 New dock option --------------- Copy/paste launch in dock. For example, put netscape %s in the Docked icon for Netscape, select an url somewhere and then middle-click the icon. The command will be launched with the "pasted" string. Less dependancies ----------------- starting with 0.70.0 libPropList is no longer required to build Window Maker. PropList handling code was added to WINGs being now better integrated with all the rest. For more details check the Changelog and the following files: ./WINGs/ChangeLog ./WINGs/NEWS ./WINGs/WINGs/WUtil.h ./WINGs/WINGs/proplist-compat.h --- 0.65.1 Removed FocusFollowMouse option, only SloppyFocus present now. Added None option to MoveDisplay and ResizeDisplay --- 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=