mirror of
https://github.com/gryf/wmaker.git
synced 2025-12-18 03:50:30 +01:00
3186 lines
108 KiB
Plaintext
3186 lines
108 KiB
Plaintext
NEWS for veteran Window Maker users
|
|
-----------------------------------
|
|
|
|
-- 0.95.8
|
|
|
|
Move pointer with maximized windows
|
|
-----------------------------------
|
|
|
|
Implementation for moving mouse pointer within the maximized window.
|
|
|
|
Mouse pointer can be now moved together with window if keyboard was used for
|
|
arrange maximized windows on screen. This feature can be turned on in WPrefs.app
|
|
in Expert tab by selecting "Move mouse pointer with half maximized windows.", or
|
|
setting "PointerWithHalfMaxWindows" to "Yes" on ~/GNUstep/Defaults/WindowMaker
|
|
file.
|
|
|
|
|
|
Alternative way for traverse half-maximized windows
|
|
---------------------------------------------------
|
|
|
|
For now, there could be three possible state of the window while using
|
|
half-maximized feature. Unmaximized window have its state saved during that
|
|
process, which was use to unmaximize it. For example, if there is a window,
|
|
which is maximized on the half left side of the screen, and while requesting
|
|
left-half-maximized, it become unmaximized with size and dimension restored to
|
|
original state.
|
|
|
|
By setting "AlternativeHalfMaximized" option to "Yes"
|
|
~/GNUstep/Defaults/WindowMaker config file (or by using WPrefs.app and option
|
|
"Alternative transitions between states for half maximized windows."), there
|
|
would be slightly different change in window "traverse". Given layout depicted
|
|
below:
|
|
|
|
┌┬────────────────────┬┐
|
|
├┘ ┌───────┐ ├┤
|
|
│ ├───────┤ ├┤
|
|
│ │ │ ├┤
|
|
│ │ │ ├┤
|
|
│ └───────┘ └┤
|
|
├┬┐ │
|
|
└┴┴────────────────────┘
|
|
|
|
Window can be moved using keyboard shortcut right-half-maximize:
|
|
|
|
┌┬─────────┬──────────┬┐
|
|
├┘ ├──────────┼┤
|
|
│ │ ├┤
|
|
│ │ ├┤
|
|
│ │ ├┤
|
|
│ │ ├┤
|
|
├┬┐ └──────────┘│
|
|
└┴┴────────────────────┘
|
|
|
|
Further invoking right-half-maximize will do nothing. Note, that window always
|
|
can be unmaximzied using appropriate keyboard shortcut or by selecting
|
|
"Unmaximize" from window menu.
|
|
|
|
Going to opposite direction by invoking left-half-maximize, will make the window
|
|
maximized in both, vertical and horizontal directions:
|
|
|
|
┌─────────────────────┬┐
|
|
├─────────────────────┼┤
|
|
│ ├┤
|
|
│ ├┤
|
|
│ ├┤
|
|
│ ├┤
|
|
├┬┬───────────────────┘│
|
|
└┴┴────────────────────┘
|
|
|
|
Further invoking left-half-maximize, will make the window maximized in half left
|
|
side od the screen:
|
|
|
|
┌──────────┬──────────┬┐
|
|
├──────────┤ ├┤
|
|
│ │ ├┤
|
|
│ │ ├┤
|
|
│ │ ├┤
|
|
│ │ └┤
|
|
├┬┬────────┘ │
|
|
└┴┴────────────────────┘
|
|
|
|
And again, further invoking left-half-maximize, will do nothing in this mode.
|
|
|
|
This change affects all possible half-maximized window state also quarters.
|
|
Issuing bottom-left-corner will take lower left quarter of the screen (nothing
|
|
is new so far):
|
|
|
|
┌┬────────────────────┬┐
|
|
├┘ ├┤
|
|
│ ├┤
|
|
├──────────┐ ├┤
|
|
├──────────┤ ├┤
|
|
│ │ └┤
|
|
├┬┬────────┘ │
|
|
└┴┴────────────────────┘
|
|
|
|
Issuing bottom-right-corner again will change window state to bottom half
|
|
maximized:
|
|
|
|
┌┬────────────────────┬┐
|
|
├┘ ├┤
|
|
│ ├┤
|
|
├─────────────────────┼┤
|
|
├─────────────────────┼┤
|
|
│ ├┤
|
|
├┬┬───────────────────┘│
|
|
└┴┴────────────────────┘
|
|
|
|
Invoking bottom-right-corner again:
|
|
|
|
┌┬────────────────────┬┐
|
|
├┘ ├┤
|
|
│ ├┤
|
|
│ ┌──────────┼┤
|
|
│ ├──────────┼┤
|
|
│ │ ├┤
|
|
├┬┐ └──────────┘│
|
|
└┴┴────────────────────┘
|
|
|
|
Issuing bottom-right-corner again will have no effect.
|
|
|
|
|
|
Move half-maximized windows between the screens
|
|
-----------------------------------------------
|
|
|
|
New option was introduced to allow change of behaviour of half-maximize windows
|
|
in multiple displays environment. In such environment it is more natural that
|
|
half maximized windows would travel from one screen to another. Now it is
|
|
possible to make that happen by setting an option
|
|
"MoveHalfMaximizedWindowsBetweenScreens" to "Yes" in
|
|
~/GNUstep/Defaults/WindowMaker config file, or by checking "Allow move
|
|
half-maximized windows between multiple screens." in 'Expert User Preferences"
|
|
tab in WPrefs.app.
|
|
|
|
For example, given there are two screens in layout where one display is on the
|
|
left and second display is on the right with window on first screen:
|
|
|
|
┌┬────────────────┬─────────────────┬┐
|
|
├┘ ┌───────┐ │ ├┤
|
|
│ ├───────┤ │ ├┤
|
|
│ │ │ │ ├┤
|
|
│ │ │ │ ├┤
|
|
│ └───────┘ │ └┤
|
|
├┬┐ ├┬┬┐ │
|
|
└┴┴───────────────┴┴┴┴───────────────┘
|
|
|
|
It can be right-half-maximized (using previously defined key combination), so it
|
|
become:
|
|
|
|
┌┬───────┬────────┬─────────────────┬┐
|
|
├┘ ├────────┤ ├┤
|
|
│ │ │ ├┤
|
|
│ │ │ ├┤
|
|
│ │ │ ├┤
|
|
│ │ │ └┤
|
|
├┬┐ └────────┼┬┬┐ │
|
|
└┴┴───────────────┴┴┴┴───────────────┘
|
|
|
|
In this example there is an assumption that WindowMaker is configured, that
|
|
maximized windows wont cover mini icons nor dock.
|
|
|
|
Without setting new option to true, issuing another right-half-maximize will
|
|
restore window dimensions and position to the original state (like on the first
|
|
figure). With new option set to true it will move window to second screen like:
|
|
|
|
┌┬────────────────┬────────┬────────┬┐
|
|
├┘ ├────────┤ ├┤
|
|
│ │ │ ├┤
|
|
│ │ │ ├┤
|
|
│ │ │ ├┤
|
|
│ │ │ └┤
|
|
├┬┐ ├┬┬┬─────┘ │
|
|
└┴┴───────────────┴┴┴┴───────────────┘
|
|
|
|
Another activation of right-half-maxmimize:
|
|
|
|
┌┬────────────────┬────────┬────────┬┐
|
|
├┘ │ ├────────┼┤
|
|
│ │ │ ├┤
|
|
│ │ │ ├┤
|
|
│ │ │ ├┤
|
|
│ │ │ ├┤
|
|
├┬┐ ├┬┬┐ └────────┘│
|
|
└┴┴───────────────┴┴┴┴───────────────┘
|
|
|
|
And final activation of right-half-maxmimize:
|
|
|
|
┌┬────────────────┬───────┬─────────┬┐
|
|
├┘ ├───────┤ ├┤
|
|
│ │ │ ├┤
|
|
│ │ │ ├┤
|
|
│ ├───────┘ ├┤
|
|
│ │ └┤
|
|
├┬┐ ├┬┬┐ │
|
|
└┴┴───────────────┴┴┴┴───────────────┘
|
|
|
|
Where window is restored its size (but not position, since it it on different
|
|
head now). Moving window in directions like left-half-maximize,
|
|
top-half-maximize and bottom-half-maximize will behave in similar way depending
|
|
on the layout of displays.
|
|
|
|
Note, that only windows that are half-maximized vertically or horizontally can
|
|
be moved to another screen due to the fact, that direction of movement of
|
|
quarter-maximized windows is ambiguous. As for vertical/horizontal-maximize,
|
|
since doesn't move the window but only stretch it vertically/horizontally this
|
|
feature also doesn't apply.
|
|
|
|
|
|
Snapping a window to the top
|
|
----------------------------
|
|
|
|
You can now choose whether snapping a window to the top edge of the screen
|
|
maximizes it to the top half (the previous and default behavior) or to the
|
|
full screen by setting "SnapToTopMaximizesFullscreen" to "NO" or "YES",
|
|
respectively. This setting can also be changed by unchecking or checking
|
|
"Snapping a window to the top maximizes it to the full screen" in the
|
|
"Expert User Preferences" tab in WPrefs.app.
|
|
|
|
|
|
-- 0.95.7
|
|
|
|
Window snapping
|
|
---------------
|
|
|
|
You can now "snap" a window, i.e., maximize it to a side or corner of the
|
|
screen, by dragging it to that side or corner. It is enabled by setting
|
|
"WindowSnapping = YES" in ~/GNUstep/Defaults/WindowMaker or selecting "Maximize
|
|
(snap) a window to edge or corner by dragging." under "Expert User Preferences"
|
|
in WPrefs.app.
|
|
|
|
Note that if "Switch workspaces while dragging windows" is selected under
|
|
"Workspace Preferences" in WPrefs.app, or if "DontLinkWorkspaces = NO" in
|
|
~/GNUstep/Defaults/WindowMaker, then you may only snap a window to the top or
|
|
bottom of the screen.
|
|
|
|
You may set the distance (in pixels) from the edge or corner of the screen at
|
|
which a window will begin snapping using "SnapEdgeDetect" and "SnapCornerDetect"
|
|
in ~/GNUstep/Defaults/WindowMaker or setting "Distance from edge/corner to begin
|
|
window snap." under "Expert User Preferences" in WPrefs.app. (The defaults are
|
|
1 pixel and 10 pixels, respectively).
|
|
|
|
|
|
Dragging maximized windows
|
|
--------------------------
|
|
You can now control the behavior when a maximized window is dragged by setting
|
|
the "DragMaximizedWindow" option in ~/GNUstep/Defaults/WindowMaker or by
|
|
selecting an option from the "When dragging a maximized window..." pop-up button
|
|
under "Window Handling Preferences" in WPrefs.app.
|
|
|
|
There are four choices:
|
|
* "Move" ("...change position (normal behavior)" in WPrefs.app) is the default
|
|
and traditional behavior. A maximized window is moved when dragged and
|
|
remains maximized, i.e., it keeps its maximized geometry and can later be
|
|
unmaximized.
|
|
* "RestoreGeometry" ("...restore unmaximized geometry") is the behavior standard
|
|
in desktop environments like GNOME, Cinnamon, and Unity. A maximized window
|
|
is moved when dragged and is completely unmaximized, i.e., its unmaximized
|
|
geometry is restored.
|
|
* "Unmaximize" ("...consider the window unmaximized") causes a maximized window
|
|
to be moved when dragged and remains partially maximized, i.e., it keeps its
|
|
maximized geometry, but is consider to be unmaximized. In particular, it can
|
|
be immediately re-maximized.
|
|
* "NoMove" ("...do not move the window") prevents a maximized window from being
|
|
moved when dragged.
|
|
|
|
Note that, to accomodate this option in the "Window Handling Preferences" tab in
|
|
WPrefs.app, the option to "Open dialogs in the same workspace as their owners"
|
|
(which sets the "OpenTransientOnOwnerWorkspace" option from
|
|
~/GNUstep/Defaults/WindowMaker) has been moved to "Expert User Preferences".
|
|
|
|
|
|
Mini-Previews instead of Apercus
|
|
--------------------------------
|
|
|
|
Since the original name was not really clear because it is a French word that
|
|
is rarely used by British people, it was decided to change it to the more usual
|
|
Mini-Preview name. The setting is configurable with WPrefs in the Icon
|
|
Preferences tab, the size is now expressed in pixels directly.
|
|
|
|
|
|
Ignore Decoration Hints from GNOME applications
|
|
-----------------------------------------------
|
|
|
|
The GNOME applications ask Window Maker to get no title bar and no resize bar to
|
|
their windows by using "Hints". You can re-add them using the Attribute dialog
|
|
in the Window menu, but if you are using many GNOME applications you may want to
|
|
tell Window Maker to just ignore them. This is done with the new setting called
|
|
"IgnoreGtkHints", which is available in the "Expert" panel in WPrefs.
|
|
|
|
|
|
Cooperative Window Manager Replacement
|
|
--------------------------------------
|
|
|
|
The ICCCM defines a protocol for window managers to ask to replace the currently
|
|
running one; Window Maker now supports it. You can ask Window Maker to take the
|
|
place of current one by running "wmaker --replace", or any other window manager
|
|
can ask Window Maker to leave the place for them when started the same way.
|
|
Please note that this feature must be explicitely enabled at compile time because
|
|
by default it is not compiled in ("configure --enable-wmreplace").
|
|
|
|
|
|
--- 0.95.6
|
|
|
|
More image format supported
|
|
---------------------------
|
|
|
|
In addition to a more complete Netpbm image formats support, WindowMaker
|
|
can now load WebP images. It can also make use of the ImageMagick library
|
|
to support a lot more formats, like SVG, BMP, TGA...
|
|
|
|
|
|
Mini-window apercu
|
|
------------------
|
|
|
|
A small preview of window contents can be enabled from WPrefs,
|
|
in Miscellaneous Ergonomic Preferences, check miniwindow apercus.
|
|
Apercu size can be configured using the ApercuSize variable with
|
|
|
|
$ wdwrite WindowMaker ApercuSize 4
|
|
|
|
in multiples of the icon size (in this case the apercu size will be four
|
|
times the icon size).
|
|
|
|
The default size is 2 (twice the icon size).
|
|
|
|
|
|
Support for up to 9-buttons mouse
|
|
---------------------------------
|
|
|
|
The action for the newly supported buttons can be configured from WPrefs.
|
|
|
|
|
|
wmiv, an image viewer application
|
|
---------------------------------
|
|
|
|
wmiv is a quick image viewer using wrlib to be run from the command line.
|
|
|
|
|
|
--- 0.95.5
|
|
|
|
Support for generated menus in proplist format
|
|
----------------------------------------------
|
|
|
|
The root menu now supports a OPEN_PLMENU option to construct a submenu from
|
|
the output of a command which is proplist format. This can be used e.g. in
|
|
conjunction with wmmenugen like:
|
|
|
|
(
|
|
"Generated PL Submenu", OPEN_PLMENU,
|
|
"|| find /usr/share/applications -type f -name '*desktop' | xargs wmmenugen -parser:xdg"
|
|
)
|
|
|
|
|
|
New window placements
|
|
---------------------
|
|
|
|
Now it is possible to maximize windows to the top/bottom halves
|
|
of the screen and also to the corners (top/bottom + left/right).
|
|
|
|
The keyboard shortcuts can be configured with WPrefs.
|
|
|
|
|
|
Options to configure window/menu borders
|
|
----------------------------------------
|
|
|
|
You can now configure the width and color of window and menu borders.
|
|
For example, the default settings could be configured as follows:
|
|
|
|
$ wdwrite WindowMaker FrameBorderWidth 1
|
|
$ wdwrite WindowMaker FrameBorderColor black
|
|
$ wdwrite WindowMaker FrameSelectedBorderColor white
|
|
|
|
|
|
Keyboard shortcuts to move windows between workspaces
|
|
-----------------------------------------------------
|
|
|
|
You can now bind keyboard shortcuts - or use the window dropdown menus -
|
|
to move windows to other workspaces. You can either move a window directly to
|
|
a particular workspace or to the "next" or "previous" workspace.
|
|
|
|
The new shortcuts can be configured in WPrefs.
|
|
|
|
|
|
Native support for Drawers
|
|
--------------------------
|
|
|
|
WindowMaker now supports drawers in the dock natively. You can add a dock by
|
|
right-clicking on a docked appicon and select "Add a drawer". You can now drag
|
|
appicons to this drawer.
|
|
You can customize how you want your drawers to auto-expand/collapse and
|
|
auto-raise/lower, or you can also completely disable them.
|
|
|
|
|
|
Improved switch panel functionality
|
|
-----------------------------------
|
|
|
|
The switch panel can be used to switch between windows of the same WM_CLASS,
|
|
for example between all open xterms. If the switch panel is opened as normal
|
|
with either the "FocusNextKey" or "FocusPrevKey" shortcut, you can switch to
|
|
the next (or previous) window of the same type as the focused window with the
|
|
"GroupNextKey" or "GroupPrevKey" shortcut. If the switch panel is opened with
|
|
the "GroupNextKey" or "GroupPrevKey" shortcut, it will show only windows of
|
|
the same type as the window which was focused at the time the panel was opened,
|
|
and no difference will be seen between the two types of window selection
|
|
shortcut.
|
|
|
|
The new shortcuts can be configured in WPrefs, where they are described as
|
|
allowing switching between windows of the same group.
|
|
|
|
To maintain consistency with other popular operating systems, the switch panel
|
|
is now configured so that it no longer automatically closes when the shift key
|
|
is pressed and released.
|
|
|
|
To configure the switch panel so that it does close on release of the shift
|
|
key, which was the traditional Window Maker behavior, run the following
|
|
command:
|
|
|
|
$ wdwrite WindowMaker StrictWindozeCycling NO
|
|
|
|
If you find yourself regularly opening the switch panel just to visualize open
|
|
windows, you can run the following command to force the first "FocusNextKey"
|
|
or similar shortcut to open the panel without switching to a new window.
|
|
|
|
$ wdwrite WindowMaker SwitchPanelOnlyOpen YES
|
|
|
|
|
|
--- 0.95.4
|
|
|
|
New window placement strategy
|
|
-----------------------------
|
|
|
|
Among the window placement algorithms has arrived the "center" placement to
|
|
get new windows appear at the center of the screen (unless application
|
|
explicitly specify a position, of course).
|
|
|
|
|
|
Removed dependency to CPP
|
|
-------------------------
|
|
|
|
The menu files used to be pre-processed with CPP, which can be a problem because
|
|
modern system do not install dev tools by default, and some compilers do not
|
|
provide a pre-processor anyway. WindowMaker is now autonomous.
|
|
|
|
|
|
--- 0.95.3
|
|
|
|
The references to the legacy path /usr/X11R6 have been removed because xorg
|
|
does not use it in favor of a standard /usr layout. Similarly, the directory
|
|
/etc/X11/WindowMaker is now /usr/share/WindowMaker.
|
|
|
|
|
|
New application Relaunching functionality
|
|
-----------------------------------------
|
|
|
|
There are now several ways to launch a new instance of an application with the
|
|
same command line that was originally used to start it.
|
|
|
|
1. By selecting Launch from the application's window menu.
|
|
2. By using the "Launch new instance of application" keyboard shortcut.
|
|
3. By clicking the application's appicon with the middle button.
|
|
4. By double-clicking the application's appicon while holding Control.
|
|
|
|
For example, if you have two xterms open, one started with "xterm" and one
|
|
started with "xterm -rv", using the Relaunch functionality on the first xterm
|
|
would run "xterm" and using it on the second would run "xterm -rv". Thus
|
|
Relaunching can also be thought of as "cloning" an application.
|
|
|
|
Application Relaunching works by examining the window's WM_COMMAND property and
|
|
so will not work if it is not set.
|
|
|
|
|
|
Options to limit the window/menu title height
|
|
---------------------------------------------
|
|
|
|
You can now set the minimum and maximum titlebar heights.
|
|
For example, to force all titlebars to 24 pixels execute
|
|
the following commands:
|
|
|
|
$ wdwrite WindowMaker WindowTitleMinHeight 24
|
|
$ wdwrite WindowMaker WindowTitleMaxHeight 24
|
|
$ wdwrite WindowMaker MenuTitleMinHeight 24
|
|
$ wdwrite WindowMaker MenuTitleMaxHeight 24
|
|
|
|
|
|
--- 0.95.2
|
|
|
|
New Resizing functionality
|
|
--------------------------
|
|
|
|
You can now use the mouse wheel and modifier keys to resize windows.
|
|
MOD+Wheel will resize windows vertically and CTRL+Wheel will resize
|
|
windows horizontally. MOD+CTRL+Wheel will resize both at the same time.
|
|
The resize step, or increment can be set in WPrefs in the "Window Handling"
|
|
page, or in the config file with "ResizeIncrement". If this intrudes into
|
|
a specific application's functionality, you can disable it on an application-
|
|
by-application basis by setting the "Do not bind mouse clicks" attribute in
|
|
"Advanced Options".
|
|
|
|
New Maximize functionality
|
|
--------------------------
|
|
|
|
Maximus/Maximumize. A new tiled maximization, configured with a keyboard
|
|
shortcut. Using it will maximize the window to the greatest area such that it
|
|
will not overlap any other window of the same workspace. This can be configured
|
|
in WPrefs in the "Keyboard Shortcuts" page, or in the config file with
|
|
"MaximusKey".
|
|
|
|
Left/right maximization. Now wmaker supports maximizing a window to the
|
|
left or right half of the screen, making it occupy 50% of the area. This is
|
|
useful on wide screen displays where you want to bring up two windows side-by-
|
|
side. The shortcut keys for this can be configured in WPrefs in the "Keyboard
|
|
Shortcuts" page, or in the config file with "LHMaximizeKey" and "RHMaximizeKey"
|
|
|
|
History and AutoComplete in the run dialog
|
|
------------------------------------------
|
|
|
|
The "Run..." dialog now auto-completes executables in your path (triggered by
|
|
the TAB key) and records the history of past commands (last 500 by default).
|
|
It can also complete folder names if you start the complete with a "/"
|
|
To use it replace %a with %A in the "Run..." entry in your WMRootMenu file.
|
|
See commit 05720d97076ffc1569e5 for more details.
|
|
|
|
Automatic menu generator (wmgenmenu)
|
|
-----------------------------------
|
|
|
|
There is now a new utility to generate the Window Maker menu automatically,
|
|
called wmgenmenu. It searches from a list of pre-defined applications the
|
|
ones which exist in your $PATH and adds them to the corresponding submenus
|
|
("Internet", "Terminals", "Editors" etc) of your WM menu. It also supports
|
|
localization (currently English and German). You can use it like:
|
|
|
|
$ wmgenmenu > WMRootMenu-new
|
|
$ cp WMRootMenu-new $HOME/GNUstep/Defaults/WMRootMenu
|
|
|
|
and WM will automatically detect the new menu file and use it without
|
|
restarting wmaker (made possible by the 'inotify' mechanism)
|
|
|
|
Automatic detection of menu changes (via inotify)
|
|
-------------------------------------------------
|
|
|
|
Window Maker now uses the 'inotify' mechanism from the Linux kernel
|
|
to automatically detect changes in the WMRootMenu file. So the
|
|
--no-polling option is now gone and Window Maker does not wake up
|
|
your CPU unnecessarily (0 wakeups when idle, instead of 4).
|
|
So if you edit the WMRootMenu file by hand (or by using 'wmgenmenu'),
|
|
there is no need to restart wmaker for the changes to take effect.
|
|
|
|
DockApp recognition
|
|
-------------------
|
|
|
|
In addition to applications with only Withdrawn windows, Window Maker
|
|
will now treat any application with its WM_CLASS res_class set as
|
|
"DockApp". This provides an easy workaround for toolkits like gtk+ that
|
|
do not allow creation of windows with the initial_state member of
|
|
XWMHints set to WithdrawnState.
|
|
|
|
|
|
--- 0.92.0
|
|
|
|
GNUstep Installation Directory
|
|
------------------------------
|
|
|
|
WPrefs is now installed in /usr/local/bin and /usr/local/share by default.
|
|
If you use GNUstep and want it to install in /usr/GNUstep/Applications,
|
|
you may specify --with-gnustepdir=/usr/GNUstep
|
|
If the GNUSTEP_LOCAL_ROOT environment variable is defined when configure is
|
|
executed, it will be used (and you don't need to use --with-gnustepdir)
|
|
|
|
Cached Pixmaps Directory
|
|
------------------------
|
|
|
|
The directory where Window Maker stores the cached application pixmaps for
|
|
its later use has changed from ~/GNUstep/.AppInfo/WindowMaker to
|
|
~/GNUstep/Library/WindowMaker/CachedPixmaps for better compatibility with
|
|
the GNUstep path structure.
|
|
Also WPrefs now stores internal data in ~/GNUstep/Library/WindowMaker/WPrefs
|
|
(it was ~/GNUstep/.AppInfo/WPrefs before)
|
|
|
|
X Input Methods support in WINGs
|
|
--------------------------------
|
|
|
|
Preliminary support for X Input Methods was added to textfield and text
|
|
widgets in WINGs. Input for text in other languages than English should
|
|
work now (except for kanji which will most likely not work, even though
|
|
it wasn't tested).
|
|
|
|
|
|
Disabling the switch panel
|
|
--------------------------
|
|
|
|
To disable the panel shown during Alt-tabbing, you may put the following in
|
|
~/GNUstep/Defaults/WindowMaker
|
|
|
|
SwitchPanelImages= None;
|
|
|
|
|
|
|
|
--- 0.91.0
|
|
|
|
Alt-Tab Window Switching
|
|
------------------------
|
|
|
|
You can change the appearance of the panel shown during Alt-Tab window switching
|
|
with the SwitchPanelImages option:
|
|
|
|
(selected_icon_tile_image, background_image, width, height)
|
|
|
|
selected_icon_tile_image is the image used to highlight the currently selected
|
|
window icon. It must be 64x64 pixels.
|
|
|
|
background_image is the image used in the background of the panel. It must
|
|
be at least 64x80.
|
|
|
|
width and height are the width and size of the central part of the image.
|
|
When drawing the panel, the image will be split as:
|
|
|W |
|
|
+--+--+--+
|
|
| | | |
|
|
+--+--+--+ -
|
|
| | | | H
|
|
+--+--+--+ -
|
|
| | | |
|
|
+--+--+--+
|
|
|
|
The 4 corner images will be copied in their original sizes and the rest will
|
|
be scaled to the final panel size.
|
|
|
|
background_image, width and height are optional. If you leave them out,
|
|
a gray panel will be used. If your machine is not very fast, you may want
|
|
to use it.
|
|
|
|
|
|
--- 0.90.0
|
|
|
|
|
|
NetWM / EWMH Support
|
|
--------------------
|
|
|
|
Support for the EWMH standard has been added. Applications from GNOME 2.x and
|
|
KDE 3.x should now inter-operate better with Window Maker.
|
|
|
|
Support for the obsolete/legacy GNOME 1.x, KDE 1.x and OpenLook(!) hints was
|
|
wiped out for the sake of sanity.
|
|
|
|
|
|
Antialiased font support
|
|
------------------------
|
|
|
|
With the addition of Xft2 support in the WINGs library, now
|
|
Window Maker can display antialiased text with TrueType or any scalable fonts.
|
|
|
|
You can pick fonts for Window Maker in the Font configuration section of
|
|
WPrefs.
|
|
|
|
Antialiased text is enabled by default, but can be disabled by adding
|
|
|
|
AntialiasedText = NO; in ~/GNUstep/Defaults/WMGLOBAL
|
|
|
|
This will disable antialiased text for any WINGs based application. If you
|
|
only want to disable them for a specific application only, like WindowMaker
|
|
for example, then add the same option in the applications configuration file,
|
|
in this case ~/GNUstep/Defaults/WindowMaker
|
|
For WindowMaker, this can also be achieved from the Expert panel in WPrefs.
|
|
|
|
Note that bitmapped fonts look much better than TrueType when antialiasing is
|
|
disabled.
|
|
|
|
Global Submenus
|
|
---------------
|
|
|
|
Global menus allow for system wide menus that are added to every users
|
|
application menus. They are located in /usr/etc/WindowMaker/,
|
|
/usr/local/etc/WindowMaker or whatever is your sysconf directory
|
|
for WindowMaker. There are 2 files:
|
|
|
|
GlobalMenu.pre, which is added to the beginning of the menu and
|
|
GlobalMenu.post, which is added to the end of the menu.
|
|
|
|
These are to be proplist format menus, for example:
|
|
|
|
(("Foobar", EXEC, foobar),
|
|
("Blabla", EXEC, blabla))
|
|
|
|
or, in case you want a submenu:
|
|
|
|
(("Submenu",
|
|
("Foobar", EXEC, foobar),
|
|
("Blabla", EXEC, blabla)))
|
|
|
|
|
|
UTF-8 Support
|
|
-------------
|
|
|
|
Window Maker now uses UTF-8 internally (and thus can display UTF-8 text
|
|
in window titles and other places). Menus and po files must now be
|
|
encoded in UTF-8. If your menus contain non ASCII characters, you can convert
|
|
them to UTF-8 with the following command:
|
|
|
|
iconv -f <current-file-encoding> -t utf-8 <filename> > <filename>.utf8
|
|
|
|
For example:
|
|
|
|
iconv -f iso-8859-1 -t utf-8 menu > menu.utf
|
|
mv menu.utf menu
|
|
|
|
|
|
Icon Panel for Alt-Tabbing
|
|
--------------------------
|
|
|
|
A panel with icons for the windows that you can switch to will appear
|
|
when you press Alt-Tab. You can navigate through the windows with Alt-Tab
|
|
(Alt-Shift-Tab) or with the left/right keys once the panel is shown.
|
|
|
|
|
|
|
|
--- 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 application 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 behavior 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.
|
|
|
|
|
|
Xinerama Support
|
|
================
|
|
|
|
Supported Xinerama features:
|
|
|
|
- Normal maximization of windows will maximize to only one of the screens,
|
|
the one where the cursor pointer is.
|
|
|
|
- Full Maximize command in window menu
|
|
|
|
- Place dialogs in the middle of the head where the pointer is
|
|
|
|
- Try to place windows inside one head in non-manual placement modes
|
|
|
|
|
|
Less dependencies
|
|
-----------------
|
|
|
|
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/Library/WindowMaker/CachedPixmaps 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/Library/WindowMaker/CachedPixmaps
|
|
which can be annoying, new code was added to Window Maker to permit the
|
|
regeneration of images in ~/GNUstep/Library/WindowMaker/CachedPixmaps 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/Library/WindowMaker/CachedPixmaps. 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 behavior 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 the 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 pixels of the border not to be
|
|
covered by windows when maximizing (usually a small amount 0..5 pixels).
|
|
|
|
Both options can be set using WPrefs.app in the "Miscellaneous 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 border.
|
|
The strength of gravity can be controlled by modify `EdgeResistance' value
|
|
in WindowMaker configuration file.
|
|
|
|
|
|
Titlebar Draw String Plugin
|
|
---------------------------
|
|
|
|
FTitleColor, UTitleColor, PTitleColor, MenuTitleColor can be assigned 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 information.
|
|
|
|
|
|
--- 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 <program> will execute the named program
|
|
|
|
SHEXEC <command> will execute the shell command.
|
|
|
|
If you want to execute something like blabla > /dev/null, then use SHEXEC
|
|
|
|
Don't 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
|
|
successfully 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 behavior 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=<style>; will change the menu texture style.
|
|
|
|
<style> can be:
|
|
normal (default): for the traditional one texture per item, with bevels in
|
|
each
|
|
|
|
singleTexture: for a single texture that spans the whole menu, with bevels
|
|
in each item
|
|
|
|
flat: singleTexture without the bevels
|
|
|
|
|
|
** ResizebarBack
|
|
|
|
ResizebarBack=<texture>;
|
|
|
|
where <texture> is any of the textures you normally use in titlebars and
|
|
other places.
|
|
|
|
If the style file/theme does not contain a ResizebarBack option, setstyle
|
|
will automatically hack it so that wmaker will make the theme work like
|
|
before.
|
|
|
|
|
|
New crash dialog panel
|
|
----------------------
|
|
|
|
From now on, whenever a fatal situation appears, Window Maker will display a
|
|
dialog panel to the user and let him choose what to do.
|
|
The options are:
|
|
- Abort and leave a core file (useful for debugging and getting backtraces)
|
|
- Restart Window Maker (default behavior)
|
|
- Start alternate window manager (the one defined as fallback, or if not
|
|
possible fvwm or twm in this order).
|
|
|
|
If it will not be able to restart or start the alternate window manager, it
|
|
will abort and leave the core file.
|
|
|
|
|
|
Application User Menu
|
|
---------------------
|
|
|
|
Applications with an appicon can have a user defined menu.
|
|
|
|
This menu will emulate keyboard events, and will be sent to the applications'
|
|
window(s), thus the application must accept key combinations (CTRL+N for
|
|
instance).
|
|
|
|
To enable this feature, #define USER_MENU in src/wconfig.h and place menu
|
|
files in ~/GNUstep/Defaults/UserMenus (/usr/local/etc/WindowMaker/UserMenus
|
|
globally).
|
|
|
|
The user menu is in PropList format and the filename is in:
|
|
<instance name>.<class name>.menu or application's main window.
|
|
(Example: the menu for xcalc would be - xcalc.XCalc.menu)
|
|
|
|
Example user menu syntax:
|
|
|
|
(
|
|
"Calculator",
|
|
("Put 1", SHORTCUT, "2"),
|
|
("Functions",
|
|
("Put 2", SHORTCUT, "2"),
|
|
("Put 3,4 and 5", SHORTCUT, (3,4,5))
|
|
),
|
|
("Exit", SHORTCUT, "Control+q")
|
|
)
|
|
|
|
|
|
|
|
--- 0.52.0
|
|
|
|
|
|
Appearance Editing in WPrefs
|
|
----------------------------
|
|
|
|
Added Appearance/Texture editing capability in WPrefs. Workspace background
|
|
selection is not yet finished.
|
|
|
|
|
|
Themes
|
|
------
|
|
|
|
Removed all themes from the source tree, and moved them in a separate package.
|
|
You can download the new package from the same place as this package:
|
|
ftp://ftp.windowmaker.info/pub/beta/srcs/
|
|
Look after WindowMaker-extra-<version-number>.tar.gz
|
|
Also WindowMaker-extra pack include the old WindowMaker-data.tar.gz which only
|
|
contained icons.
|
|
Look for the greatest version number when you download this package.
|
|
|
|
|
|
get-wraster-flags script change
|
|
-------------------------------
|
|
|
|
The name of the options passed to get-wraster-flags changed, to allow a better
|
|
name compatibility with the naming conventions used by other software.
|
|
The name change was as follows:
|
|
--lflags was changed in --ldflags
|
|
To allow backward compatibility, with already written software, the old
|
|
--lflags option is still recognized, but you are encouraged to move the the
|
|
new --ldflags.
|
|
|
|
|
|
|
|
--- 0.51.2
|
|
|
|
|
|
New Themes
|
|
----------
|
|
|
|
Added 2 new cool themes (actually I added in 0.51.1, but forgot
|
|
to put it here...) from largo (LeetWM) and BadlandZ (STEP2000).
|
|
|
|
|
|
Full Screen Maximization
|
|
------------------------
|
|
|
|
The FullMaximize window attribute will allow the window to
|
|
be maximized to the full size of the screen (ignoring anything
|
|
like titlebar, resizebar, dock, panels etc). It should be useful
|
|
for programs that must use the whole screen, like games or things
|
|
like presentation programs.
|
|
|
|
|
|
--- 0.51.1
|
|
|
|
KDE Application Menu script
|
|
---------------------------
|
|
|
|
wkdemenu.pl is a converter from KDE application menu structures to wmaker
|
|
menu that can be used as a piped menu. Look wkdemenu.sh for how to use it.
|
|
|
|
|
|
Window Edge Resistance
|
|
----------------------
|
|
|
|
Window edge resistance was now added. No, feature freeze hasn't been
|
|
removed. Its just part of the edge resistance rewrite ;)
|
|
|
|
|
|
New Theme
|
|
---------
|
|
|
|
Added SteelBlueSilk theme
|
|
|
|
Installation Path Changes
|
|
-------------------------
|
|
|
|
Default configuration data installed in /usr/local/etc/WindowMaker
|
|
or $(sysconfdir)/WindowMaker
|
|
|
|
|
|
--- 0.51.0
|
|
|
|
Window Maker has become a GNU program (part of the GNU Project).
|
|
|
|
Title text drop shadow
|
|
----------------------
|
|
|
|
drop shadow option added for titlebar text. This is a compile time
|
|
option which needs to be defined in src/wconfig.h after you run
|
|
configure and before you run make.
|
|
|
|
New options and syntax for your WindowMaker domain file are:
|
|
|
|
Shadow = yes/no;
|
|
FShadowColor = <color>;
|
|
PShadowColor = <color>;
|
|
UShadowColor = <color>;
|
|
MShadowColor = <color>;
|
|
|
|
The shadow option is dynamic (no need for a restart).
|
|
MShadowColor is for the menu title text.
|
|
|
|
libPropList
|
|
-----------
|
|
|
|
WARNING!!! libPropList was removed from the Window Maker distribution
|
|
and is being distributed separately. If you don't have it installed yet,
|
|
get it from ftp.windowmaker.info/pub/libs and install before building
|
|
Window Maker.
|
|
|
|
|
|
signal handling change
|
|
----------------------
|
|
SIGHUP will exit wmaker instead of restarting it!!! This is because
|
|
GNOME expects the window manager to exit instead of restarting...
|
|
Complaints should go to gnome people. SIGUSR1 will restart wmaker now.
|
|
|
|
|
|
script change
|
|
-------------
|
|
WINGs-flags was removed, and replaced by get-wraster-flags.
|
|
Please remove WINGs-flags from your system, since it was obsoleted by
|
|
get-wraster-flags.
|
|
Continuing to use WINGs-flags can lead to hazardous effects, since is no
|
|
longer updated.
|
|
|
|
|
|
docklib
|
|
-------
|
|
|
|
docklib is a little library for making dock applets. It's in the
|
|
docklib-0.0.tar.gz file. Unpack it and read the README file there.
|
|
|
|
|
|
Option Changes
|
|
--------------
|
|
|
|
Removed OnTopTransients option
|
|
|
|
Added OpenTransientOnOwnerWorkspace
|
|
|
|
|
|
Olwm Hint Support
|
|
-----------------
|
|
|
|
OPEN LOOK(tm)/olwm hints support was added.
|
|
|
|
Read the appropriate section in the README file.
|
|
|
|
|
|
|
|
--- 0.50.1
|
|
|
|
New option for WorkspaceBack. mpixmap is the same as spixmap, but
|
|
it will scale the pixmap by keeping the aspect ratio (maximize or maxpect).
|
|
The option only works for workspace backgrounds.
|
|
|
|
Also added IGNORE_PPOSITION compile time flag, which is equivalent
|
|
to NoPPosition from fvwm.
|
|
|
|
|
|
|
|
|
|
--- 0.50.0
|
|
|
|
|
|
KDE and GNOME
|
|
-------------
|
|
|
|
Added full support for GNOME and KWM hints.
|
|
Read the INSTALL file to see how enable them.
|
|
|
|
Everything in the so called GNOME window manager bla bla bla pseudo-spec is
|
|
implemented.
|
|
|
|
As for KDE stuff, it implements 90% of everything kwm does, adds some
|
|
Window Maker specific extensions to it and still uses half of the memory
|
|
kwm does, which should be enough to let you dump kwm ;) For details on what
|
|
exactly is implemented, see comments in src/kwm.c Read the README.KDE file
|
|
for more information.
|
|
|
|
|
|
WARNING: Some KDE hints are badly designed, so doing things like using
|
|
kpanel's desktop switcher/pager and Window Maker's internal workspace
|
|
management functions to create, destroy and rename workspaces at the same
|
|
time might cause unknown effects. To be on the safe side, only
|
|
use either of them to manage workspaces. Switching workspaces is hopefully,
|
|
safe, so you can switch workspaces from wherever you want.
|
|
|
|
|
|
|
|
Workspace Specific Background Images
|
|
------------------------------------
|
|
|
|
Use the WorkspaceSpecificBack to set background images for specific
|
|
workspaces. The WorkspaceBack is used as the default background image.
|
|
|
|
Example:
|
|
|
|
WorkspaceSpecificBack = ((solid, red), (cpixmap, ship.jpg, gray), (),
|
|
(dgradient, red, blue))
|
|
|
|
This will set the background image of workspace 1 to (solid, 0),
|
|
2 to ship.jpg and 4 to a gradient. Workspace 3 and other workspaces
|
|
will have the image defined by WorkspaceBack.
|
|
|
|
Note that this uses quite some memory...
|
|
|
|
|
|
setstyle/getstyle
|
|
-----------------
|
|
|
|
setstyle now accepts the -nofonts flag, which will load the style
|
|
file ignoring all font related options.
|
|
|
|
Example:
|
|
|
|
setstyle -nofonts Blabla.style
|
|
|
|
|
|
getstyle can be used to create theme packs. See the usage in the
|
|
WindowMaker/README.themes file.
|
|
|
|
|
|
|
|
New Texture Type
|
|
----------------
|
|
|
|
Textured gradients will tile a texture pixmap and combine it with a gradient,
|
|
using an arbitrary opaqueness.
|
|
|
|
Syntax is (thgradient, <file>, <opaqueness>, <color1>, <color2>)
|
|
(tvgradient, <file>, <opaqueness>, <color1>, <color2>)
|
|
(tdgradient, <file>, <opaqueness>, <color1>, <color2>)
|
|
where:
|
|
<color1> and <color2> are the colors for the gradient,
|
|
<file> is the texture file and
|
|
<opaqueness> is the opaqueness to merge the texture with the gradient,
|
|
ranging from 0 to 255.
|
|
|
|
Example:
|
|
|
|
(thgradient, "BlueImage.jpeg", 120, white, black)
|
|
|
|
The BlackTexture style and Checker theme are examples.
|
|
|
|
Hints:
|
|
|
|
You can use any type of pixmap file for this, but small (like 64x32)
|
|
grayscale pixmap files should get the best results (fast and low memory
|
|
usage). You can use color pixmaps, but it is harder to get the desired effect
|
|
with them.
|
|
|
|
Be warned that this texture type is the slowest.
|
|
|
|
|
|
|
|
New Options
|
|
-----------
|
|
|
|
IconTitleBack and IconTitleColor control the color of the
|
|
miniwindow title. Both of them are colors.
|
|
|
|
Example:
|
|
IconTitleColor=white;
|
|
IconTitleBack=black;
|
|
|
|
|
|
Since this introduces an incompatibility in themes and getting flamed by the
|
|
themes ppl isn't the most pleasant thing ("Whaddafuk you're thinking!? You
|
|
just broke 500 themes!!!" ;) the setstyle command was hacked so that it will
|
|
make old themes work as before, by trying to automatically set the above
|
|
options. Note that in some cases it will not have exactly the same results as
|
|
before.
|
|
|
|
|
|
StartMaximized window attribute. Will maximize the window when it
|
|
is mapped.
|
|
|
|
|
|
AutoRaiseLower option for the Clip. This allows automatic Raise/Lower of the
|
|
Clip icons when the mouse pointer enter/leave the Clip. To avoid unwanted
|
|
raising/lowering there is a time threshold before raising/lowering.
|
|
The thresholds can be changed in wconfig.h by changing one or both of
|
|
AUTO_LOWER_DELAY and AUTO_RAISE_DELAY (expressed in milliseconds).
|
|
For example if you set AUTO_RAISE_DELAY to 0, then the Clip will be raised as
|
|
soon as the mouse pointer enters it's area. Setting AUTO_RAISE_DELAY to a very
|
|
big value, will make the Clip to practically do not auto raise unless clicked,
|
|
but to be automatically lowered after AUTO_LOWER_DELAY (ms) when leaved.
|
|
|
|
|
|
New ThemePack Format
|
|
--------------------
|
|
|
|
Starting with this version, a new format of themes is being supported.
|
|
Before you open pine and start composing your flame, rest assured that
|
|
the old format is still supported. The new format is documented
|
|
in the WindowMaker/README.themes file.
|
|
|
|
|
|
Root Menu
|
|
---------
|
|
|
|
The -noext option for OPEN_MENU will strip whatever is after the last .
|
|
in file names that appear on the opened directory. So,
|
|
|
|
OPEN_MENU ~/bg WITH xv -root -quit
|
|
|
|
will create a menu with all the images in ~/bg without the extension.
|
|
|
|
|
|
|
|
--- 0.20.3
|
|
|
|
|
|
Icon (miniwindow) stacking
|
|
--------------------------
|
|
|
|
If you want miniwindows to reside under normal windows, edit
|
|
wconfig.h and change WNormalLevel (just grep for it) to
|
|
WDesktopLevel
|
|
|
|
|
|
5 Button Mouse
|
|
--------------
|
|
|
|
If you have a 5 button mouse and want to give some utility for
|
|
the extra 2 buttons, edit the appropriate line in src/wconfig.h
|
|
Clicking Button4 in the root window will switch you to the previous
|
|
workspace and Button5 will do that for the next.
|
|
|
|
|
|
Option Changes
|
|
--------------
|
|
|
|
put NoWindowOverDock back
|
|
|
|
KeepOnBottom window attribute
|
|
|
|
|
|
-static command line option
|
|
---------------------------
|
|
|
|
wmaker -static will start Window Maker in static mode. This will
|
|
prevent wmaker from checking or making any configuration changes.
|
|
That makes it possible to run wmaker before running wmaker.inst
|
|
|
|
|
|
Hysteresis for menu item selection
|
|
----------------------------------
|
|
|
|
Hopefully it's intelligent enough, so you won't notice it.
|
|
|
|
In case you want to know what's it, it's equivalent to that
|
|
(insanely long) 2 second delay present in that Windoze95 menu,
|
|
but more useful than annoying (I hope :). To see it, do the following
|
|
with your current wmaker version and later with 0.20.3:
|
|
|
|
- open the apps menu and stick it
|
|
- click in the item for the "Workspaces" submenu and hold
|
|
- drag the mouse to the 4th or bigger entry (like "Workspace 4") in a
|
|
straight line, trying to select the target item before the submenu
|
|
is unmapped when you dragged over other items in the main menu
|
|
|
|
|
|
|
|
Window Shortcuts
|
|
----------------
|
|
|
|
Window shortcuts are shortcuts to arbitrary windows. You can make up to 4
|
|
shortcuts. To assign a previously bound shortcut to a window use the "Select
|
|
Shortcut" submenu in the window commands menu. If the shortcut is not yet
|
|
assigned for any window, you can hit the shortcut to assign it to the active
|
|
window. The shortcut will do the same as clicking in an entry in the window
|
|
list menu. The keys for the shortcuts are defined in the ~/G/D/WindowMaker
|
|
file or in WPrefs.app
|
|
|
|
Option names are:
|
|
|
|
WindowShortcut1Key through WindowShortcut4Key
|
|
|
|
|
|
--- 0.20.2
|
|
|
|
|
|
The name of WindowMaker was changed to Window Maker.
|
|
|
|
Window creation animation disabled by default.
|
|
|
|
xdaliclock -shape
|
|
-----------------
|
|
|
|
If you use it edit src/wconfig.h and #define OPTIMIZE_SHAPE or disable the
|
|
titlebar and resizebar for the window. OPTIMIZE_SHAPE will remove the
|
|
flickering for xdaliclock and other programs that change their shapes often,
|
|
but will increase network traffic considerably. So, if you use xdaliclock
|
|
from a remote machine it can get slow.
|
|
|
|
|
|
Applications Menu
|
|
-----------------
|
|
|
|
The applications menu will now use the shell in the SHELL environment
|
|
variable to execute EXEC menu commands. If it is unset (I think it's always
|
|
automatically set by the shell program) it will use /bin/sh
|
|
|
|
|
|
Extra fancy icon kaboom :)
|
|
--------------------------
|
|
|
|
Edit src/wconfig.h and #define ICON_KABOOM_EXTRA to get
|
|
more effects for the icon undocking animation.
|
|
|
|
Options for superfluous stuff are even more superfluous, so this
|
|
will not become run-time.
|
|
|
|
|
|
XDE drag and drop support
|
|
-------------------------
|
|
|
|
Support for XDE drag and drop was added (by "]d" <id@maliwan.org>).
|
|
To enable, edit src/wconfig.h
|
|
The support works with gtk 1.1.2
|
|
|
|
|
|
libPropList
|
|
-----------
|
|
|
|
libPropList will now be built automatically by wmaker. Which means
|
|
the (simplified) building process is now:
|
|
|
|
./configure
|
|
make
|
|
make install
|
|
|
|
instead of:
|
|
|
|
tar xzf libPropList.tar.gz
|
|
(cd libPropList; make)
|
|
make
|
|
make install
|
|
|
|
You also don't need to worry about GNOME libPropList incompatibilities
|
|
anymore.
|
|
|
|
|
|
Bug with focus lost in sloppy focus fixed
|
|
-----------------------------------------
|
|
|
|
The bug only occurs in sloppy or auto focus modes, with AutoFocus disabled
|
|
and Superfluous enabled. There is no easy/clean way to fix this, so Window
|
|
Maker will disable the animation of window creation if the focus mode is
|
|
either sloppy or auto AND AutoFocus=NO.
|
|
|
|
If you want the animation, enable AutoFocus or use manual focus mode
|
|
(preferred).
|
|
|
|
|
|
The NoWindowUnderDock option was removed
|
|
----------------------------------------
|
|
To obtain the same result, use the "Keep Dock On Top" option in the dock menu.
|
|
|
|
|
|
Persistent Program Supplied Icons
|
|
---------------------------------
|
|
|
|
Application supplied icons are now stored, so that the dock will keep
|
|
showing them after the app is exited. The icons are stored at
|
|
~/GNUstep/Library/WindowMaker/CachedPixmaps
|
|
|
|
|
|
Sound support
|
|
-------------
|
|
|
|
Sound support is now on by default. Even if you don't use sound the overhead
|
|
is very small, and has no impact on performance. If you still want to
|
|
optimize it and remove a few hundred of bytes, then use --disable-sound or
|
|
--enable-sound=no options when you configure Window Maker.
|
|
|
|
|
|
--- 0.20.0
|
|
|
|
|
|
Multihead support. wmaker will now manage all screens that are attached to the
|
|
display.
|
|
------------------------------------------------------------------------------
|
|
|
|
|
|
It does so from a single process (instead of spawning a new process for each
|
|
screen, like fvwm does). This keeps memory usage a lot lower than fvwm.
|
|
|
|
State files have a suffix .n, where n is the number of the screen.
|
|
|
|
Since I don't have a real multiheaded machine, it probably has bugs.
|
|
|
|
Superfluous
|
|
-----------
|
|
|
|
Yet another useless superfluous animation. Find out what exactly it is
|
|
by yourself :)
|
|
|
|
|
|
exitscript
|
|
----------
|
|
|
|
~/G/L/W/exitscript will be called automatically when wmaker is exited.
|
|
|
|
|
|
New runtime options
|
|
-------------------
|
|
|
|
1. Miniaturization animation is now selectable by a run-time option
|
|
Add a line with
|
|
|
|
IconificationStyle = <style>;
|
|
|
|
to your WindowMaker configuration file.
|
|
<style> can be one of: Zoom, Twist, Flip or None
|
|
Case doesn't matter, and default is Zoom.
|
|
|
|
|
|
2. Edge resistance.
|
|
This can be controlled by setting:
|
|
|
|
EdgeResistance = xxx;
|
|
|
|
in your WindowMaker configuration file.
|
|
xxx is an integer greater than 0 and represents the number of pixels of edge
|
|
resistance. Setting it to 0 (default) will disable this feature.
|
|
|
|
New theme
|
|
---------
|
|
|
|
A new theme named Night, is available in this distribution.
|
|
|
|
|
|
|
|
--- 0.19.3
|
|
|
|
GIF support was added. You will need libgif 2.2 to use it.
|
|
|
|
cpixmap added. Syntax is the same as tpixmap or spixmap
|
|
|
|
|
|
--- 0.19.2
|
|
|
|
getstyle will include IconBack info in Style files.
|
|
|
|
--- 0.19.0
|
|
|
|
libPropList was updated. If you have it installed, you must upgrade or
|
|
WPrefs will crash because of bugs in libPropList.
|
|
|
|
New options
|
|
-----------
|
|
|
|
Balloons!
|
|
---------
|
|
|
|
WindowTitleBalloons = YES;
|
|
will enable balloons for window titles that are not fully visible.
|
|
|
|
MiniwindowTitleBalloons = YES;
|
|
will enable balloons for miniwindow titles.
|
|
|
|
AppIconBalloons = YES;
|
|
for application icons (docked or not)
|
|
|
|
|
|
IconPosition
|
|
------------
|
|
|
|
IconPosition (the position of the icons) is specified as:
|
|
|
|
IconPosition = c1c2c3;
|
|
|
|
where:
|
|
|
|
c1 can be t or b (meaning top or bottom)
|
|
c2 can be l or r (meaning left or right)
|
|
c3 can be v or h (meaning vertical or horizontal)
|
|
|
|
case is insensitive.
|
|
|
|
For example,
|
|
IconPosition = blh;
|
|
|
|
is the old iconPosition position.
|
|
|
|
IconPosition = trv;
|
|
|
|
will place the icons over the Dock.
|
|
|
|
New window attribute
|
|
--------------------
|
|
|
|
EmulateAppIcon = YES; will make the window have an application icon.
|
|
Only use this option for fully specified windows (like rxvt.Rxvt).
|
|
NEVER use in generic window specifications (like * or rxvt).
|
|
You must restart the application for the attribute to take effect.
|
|
|
|
|
|
WPrefs.app
|
|
----------
|
|
|
|
Read WPrefs/README
|
|
|
|
|
|
--- 0.18.1
|
|
|
|
Boolean values have changed!!! YES, Y and any non-zero integer will
|
|
mean TRUE and anything else (including True) will mean FALSE. This
|
|
is to conform to the OpenStep values used for booleans and
|
|
not cause headaches later, when GNUstep apps also starts using
|
|
defaults and users will try using True which won't get recognized.
|
|
|
|
|
|
--- 0.18.0
|
|
|
|
Clip
|
|
----
|
|
|
|
Clip button layout was changed. IT IS TEMPORARY AND THE DEFINITIVE LOOK
|
|
WILL BE DIFFERENT!!!
|
|
|
|
|
|
libPropList
|
|
-----------
|
|
|
|
More bugs were fixed in it. Upgrade the library if you have an older version
|
|
installed, with the one included.
|
|
|
|
|
|
Property list menus
|
|
-------------------
|
|
|
|
Format for property list menus has changed! The redundant array for
|
|
submenus was removed, so a menu that looked like:
|
|
|
|
( Applications,
|
|
("Xterm", EXEC, "xterm"),
|
|
(
|
|
(Paint,
|
|
("Gimp", EXEC, "gimp"),
|
|
("XV", EXEC, "xv")
|
|
)
|
|
)
|
|
)
|
|
|
|
must be changed to:
|
|
|
|
( Applications,
|
|
("Xterm", EXEC, "xterm"),
|
|
(Paint,
|
|
("Gimp", EXEC, "gimp"),
|
|
("XV", EXEC, "xv")
|
|
)
|
|
)
|
|
|
|
|
|
|
|
Misc
|
|
----
|
|
|
|
NUMLOCK_HACK is back. This time it works and is enabled by default.
|
|
If you think you don't need it and promise me that you won't send
|
|
"bug" reports saying that shortcuts stop working after a while, you can
|
|
disable it ;) It will save some memory and CPU.
|
|
|
|
|
|
Configuration
|
|
-------------
|
|
|
|
Removed the SwapMenuButton option and added 3 finer grained options:
|
|
|
|
SelectWindowsMouseButton
|
|
WindowListMouseButton
|
|
ApplicationMenuMouseButton
|
|
|
|
Values that can be used are Left, Middle, Right and Button1 through Button5
|
|
Left is equivalent to Button1, Middle to Button2 and Right to Button3
|
|
|
|
|
|
Removed the WorkspaceChangeDelay option and corresponding action.
|
|
Removed AClipColor and IClipColor
|
|
|
|
|
|
Added the SelectKey back
|
|
|
|
|
|
Changed default binding of Window commands menu from F10 to Control+Escape
|
|
|
|
--- 0.17.4
|
|
|
|
Misc
|
|
-----
|
|
|
|
libPropList has changed! Upgrade it before compiling wmaker.
|
|
|
|
Hopefully the bugs that caused wmaker to crash if an error is found
|
|
in the config files is fixed. If you do crash wmaker with a bad
|
|
file, please try to find out the smallest possible portion of the file
|
|
that still crashes wmaker and send it to me.
|
|
|
|
|
|
New Options
|
|
-----------
|
|
|
|
PixmapPath was split to PixmapPath and IconPath. PixmapPath is the path
|
|
for the pixmaps used as textures and IconPath is for the icons.
|
|
Don't forget to add IconPath to your current configuration file.
|
|
|
|
There's also a new library in ~/GNUstep/Library/Icons. You should place
|
|
your icons there, since icons are not a WindowMaker specific resource.
|
|
|
|
|
|
DontConfirmKill=YES; will disable the confirmation panel for Kill
|
|
|
|
|
|
--- 0.17.3
|
|
|
|
Interface Changes
|
|
-----------------
|
|
|
|
Unhide Here in the appicon menu was changed to be the first entry.
|
|
This way you can unhide the appicon with a single click without
|
|
even moving the pointer.
|
|
|
|
|
|
Clip Commands
|
|
-------------
|
|
|
|
The collect icons commands was renamed to attract icons and
|
|
the attract icons options was renamed to Auto attract icons.
|
|
|
|
The Remove Selected Icons was renamed to Remove Icon(s). It will
|
|
act as before if some icon is selected and will remove the clicked
|
|
icon (without confirmation) if it is not.
|
|
|
|
Added a Keep Icon(s) command that will keep the selected icons if
|
|
any is selected and the current one if none.
|
|
|
|
The Move To command was renamed to Move Icon(s) To.
|
|
|
|
|
|
--- 0.17.0
|
|
|
|
If you have libPropList installed, you might want to re-install it,
|
|
replacing with the included libPropList. It has a small bug fix.
|
|
|
|
Misc. Changes
|
|
-------------
|
|
|
|
Removed --with-gnome and made MWM_HINTS defined by default.
|
|
This means that "GNOME support" will work with no additional
|
|
flags passed to configure.
|
|
|
|
Added support for KDE, by adding a DisableWorkspaceMouseActions option.
|
|
Set it to YES and run krootwm to be able to use everything in kfm.
|
|
|
|
|
|
Shortcuts for Root Menu
|
|
-----------------------
|
|
|
|
There is now a new SHORTCUT optional keyword for the menus.
|
|
For example, you can bind Control-F1 to xterm with:
|
|
|
|
"XTerm" SHORTCUT Control+F1 EXEC xterm
|
|
|
|
or F2 to ARRANGE_ICONS with:
|
|
|
|
"Arrange Icons" SHORTCUT F2 ARRANGE_ICONS
|
|
|
|
|
|
All commands allowed in the menu file accept the keyword, except for
|
|
MENU and OPEN_MENU
|
|
|
|
|
|
Interface Changes
|
|
-----------------
|
|
|
|
** Configuration of docked applications is now done in a panel instead of
|
|
in the menu.
|
|
|
|
** Added a command menu for application icons
|
|
|
|
** Shift double-click on the application icon will unhide the app
|
|
in the current workspace.
|
|
|
|
|
|
Option Changes
|
|
--------------
|
|
|
|
NotMiniaturizable option changed to NoMiniaturizeButton
|
|
NotClosable option changed to NoCloseButton
|
|
|
|
|
|
Speed options values are now UltraFast, Fast, Medium, Slow or UltraSlow
|
|
^^^^^^
|
|
|
|
Removed the Select keyboard binding. You can access it in the window
|
|
commands menu.
|
|
|
|
Removed the ClipMaxIcons option and made it a compile time option.
|
|
|
|
Removed the ConstrainWindowSize option
|
|
|
|
Renamed NoSound to DisableSound
|
|
|
|
Renamed NoAutowrap to DontLinkWorkspaces
|
|
|
|
Renamed NoDithering to DisableDithering
|
|
|
|
Renamed NoAnimations to DisableAnimations
|
|
|
|
Removed the LeftHanded option and added a SwapMenuButton option.
|
|
SwapMenuButton will make the rubberband selection in the root window
|
|
be bound to the right button and the root menu to the left button.
|
|
|
|
|
|
New way to display temporary icons
|
|
----------------------------------
|
|
|
|
The icons that are attracted by Clip, but will not be kept after the
|
|
application close, are now using a different color for shading, unlike previous
|
|
version that always used white. This will improve look for very different color
|
|
combinations, and allow the user to control the look of the shaded icon.
|
|
The color used for shading the icons is computed as follows:
|
|
|
|
First a color is computed depending on the IconBack type:
|
|
- for solid the color is the solid color itself.
|
|
- for simple gradients the color is (from_color + to_color)/2.
|
|
- for multiple gradients, the color is the first color in list.
|
|
- for pixmaps, the color is the solid color specified for that pixmap.
|
|
|
|
Then the color is made lighter by multiplying each red/green/blue filed with
|
|
1.7 and limiting each field to 0xff in case they exceed this value.
|
|
Then this new color will be used by superposing it with the icon we want to
|
|
shade, using a proper alpha value.
|
|
|
|
To control the color for shading is simple:
|
|
|
|
- In case of multi gradients you just need to put the first color, as the color
|
|
you like. WindowMaker do not use the first color in the list to directly build
|
|
the gradient, but only when it needs a solid color for something (like in this
|
|
case).
|
|
|
|
- For pixmaps, put the needed color as the solid color the syntax for pixmaps
|
|
require. This color is also not used when displaying normal icons, just when
|
|
solid colors are needed (like this case).
|
|
|
|
- For solid color, or simple gradients, in case the color it uses after
|
|
computing is not good enough, you can always convert the solid or simple
|
|
gradient to a multi gradient with the same look, and use that one. In this
|
|
case is simple, just put the needed color as first color in list.
|
|
|
|
Please note that this will not slow down WindowMaker, because the IconBack is
|
|
read only once at startup, and then only if it is changed. After reading it WM
|
|
will construct the image of the tile, and use the image instead of recomputing
|
|
the gradient every time.
|
|
|
|
Here are 2 examples of converting solid or simple gradient to a same looking
|
|
multi gradient:
|
|
|
|
IconBack = (solid, Blue);
|
|
will become
|
|
IconBack = (mhgradient , LightBlue, Blue, Blue);
|
|
using LightBlue as color for shading.
|
|
|
|
IconBack = (dgradient, "#284569", "#082420");
|
|
will become
|
|
IconBack = (mdgradient, "#183454", "#284569", "#082420");
|
|
looking the same, but using #183454 for shading.
|
|
|
|
|
|
New Sound Server Location
|
|
-------------------------
|
|
|
|
The sound server new URL is http://www.frontiernet.net/~southgat/wmsound
|
|
Also it seems to be running on FreeBSD too (with little changes maybe).
|
|
|
|
|
|
--- 0.16.1
|
|
|
|
WINGs
|
|
-----
|
|
|
|
The path for the WINGs resource files was changed. If you don't
|
|
do make install, you must move /usr/local/share/WindowMaker/Resources to
|
|
/usr/local/share/WINGs
|
|
|
|
|
|
New Options
|
|
-----------
|
|
|
|
The following new options are available:
|
|
NewStyle = Yes/No; (static) Replaces --enable-newstyle
|
|
DisableDock = Yes/No; (static) Same as -nodock command line option.
|
|
DisableClip = Yes/No; (static) Same as -noclip.
|
|
Superfluous = Yes/No; (dynamic) Replaces --enable-superfluous.
|
|
|
|
NOTES.
|
|
- The static options are only read at startup. Changing them, needs to restart,
|
|
so they will be accounted.
|
|
- DisableDock and DisableClip have lower precedence than -nodock -noclip
|
|
command line options. If both option/command line option are given, then the
|
|
command line option will be accounted.
|
|
|
|
|
|
Start Hidden option
|
|
-------------------
|
|
|
|
The start hidden option was fixed, and made to be an application wide option.
|
|
It will apply to every window the application owns. Also its place in the
|
|
Attribute Inspector panel, changed accordingly, to reflect this.
|
|
The start miniaturized is however still applying to particular windows of an
|
|
application, unless the option is set for the class.
|
|
Start miniaturized, will override start hidden if both set.
|
|
|
|
IMPORTANT NOTE.
|
|
Because of the way Netscape Communicator is implemented, it is NOT possible
|
|
to set the start hidden or miniaturized flags for it. This is because Netscape
|
|
chooses to send a second map event to the window it maps. This makes the
|
|
window to receive a second map request and to be unhidden or maximized back,
|
|
immediately after it was hidden or miniaturized by WindowMaker at startup.
|
|
|
|
|
|
|
|
--- 0.16.0
|
|
|
|
Misc. Changes
|
|
-------------
|
|
|
|
The NextMenuBehaviour option was renamed to WrapMenus
|
|
The WorkspaceTiedMiniwindows option was renamed to StickyIcons
|
|
|
|
The .tif files were renamed to .tiff
|
|
|
|
|
|
Selecting Mini Windows
|
|
----------------------
|
|
|
|
Now miniaturized windows can be selected as well as normal windows.
|
|
You can do this by Shift-Click-ing them. They will be marked, and will follow
|
|
you through workspaces like normal selected windows do.
|
|
Miniaturizing a window will no longer deselect the window, but will place the
|
|
icon and mark it as selected.
|
|
The only difference between miniaturized and normal window selection is that
|
|
for the moment the rubber-band selecting method works only for normal windows.
|
|
|
|
|
|
Icon Selection Panel in Attributes Editor
|
|
-----------------------------------------
|
|
|
|
Now, selecting icons is as easy as clicking in the file name in a list.
|
|
|
|
|
|
Simplified Options
|
|
------------------
|
|
|
|
IconSlideStep, IconSlideSlowDown and IconSlideDelay were merged to
|
|
IconSlideSpeed
|
|
|
|
MenuScrollStep and MenuScrollDelay were merged to MenuScrollSpeed
|
|
|
|
ShadeStep and ShadeDelay were merged to ShadeSpeed
|
|
|
|
|
|
Valid values for them are: Fast, Normal, Slow or UltraSlow
|
|
|
|
If you want to fine tune the values, they can be changed in wconfig.h
|
|
Send me your set of values with an indication of how fast is your hardware,
|
|
so that I can make the default values more adequate.
|
|
|
|
|
|
New Window Attributes
|
|
---------------------
|
|
|
|
Added StartMiniaturized and StartHidden as window attributes and
|
|
removed the previous implementation. Also removed the dock menu entries.
|
|
They are now settable in the Attributes Panel.
|
|
|
|
Also added DontSaveSession attribute. This way, you won't end up with multiple
|
|
unwanted copies of the same app after the previous session is restored.
|
|
I start X with a xterm in .xinitrc instead of wmaker, which will cause the
|
|
xterm restored by wmaker be duplicate. Just add -name something to the
|
|
xterm started form .xinitrc and mark DontSaveSession=YES for that window.
|
|
|
|
|
|
|
|
User Specifiable Visual IDs
|
|
---------------------------
|
|
|
|
wmaker now supports different visuals than the default one. It isn't of much
|
|
use for most people, but can be useful for lucky SGI users who want it
|
|
to use TrueColor instead of the default PseudoColor.
|
|
|
|
wmaker -visualid VISUAL_ID
|
|
|
|
where VISUAL_ID is the hex code for the visual you want.
|
|
|
|
Note: I don't have an SGI box and haven't tested it...
|
|
|
|
|
|
|
|
Starting Workspace
|
|
------------------
|
|
|
|
The starting workspace is identified in the following order:
|
|
1. If the app is omnipresent will be mapped on the current workspace.
|
|
2. Else if the application have a StartWorkspace option set as attribute
|
|
then this one will be used.
|
|
3. Else, if the application was started from Clip, the workspace on which
|
|
the Clip from where it was started is used.
|
|
4. Else the current workspace is used.
|
|
|
|
Restoring saved sessions will always use the saved workspace, no matter
|
|
what other options are, except omnipresent.
|
|
|
|
|
|
|
|
--- 0.15.1
|
|
|
|
Workspace specific mini windows
|
|
-------------------------------
|
|
|
|
The minimized windows can be workspace specific, being more consistent with
|
|
the rest. This is because minimized window represents just another state of a
|
|
window (like normal or shaded), which all are workspace specific.
|
|
This (or the old "present anywhere") behavior can be set using an option in
|
|
the WindowMaker database: WorkspaceTiedMiniWindows = Yes/No;
|
|
|
|
New way to animate the blowing icons
|
|
------------------------------------
|
|
|
|
There is now a compile time option that allows one to set how the icons are
|
|
animated when detaching from dock/clip in superfluous mode.
|
|
By default the classic "Falling pieces" animation is used.
|
|
If SPREAD_ICON is #define-ed in wconfig.h, then a "Spread in four directions"
|
|
animation is used instead. Take a look at the section where this is described
|
|
in src/wconfig.h
|
|
By default there is #undef SPREAD_ICON to select "Falling pieces" animation.
|
|
|
|
Auto Collapse for Clip
|
|
----------------------
|
|
|
|
The clip now supports an option named "Auto Collapse" which can be set from
|
|
the clip main menu. When set, clip will stay collapsed, and will show itself
|
|
when the mouse moves over it. While the mouse is over it, or over any of the
|
|
icons attached to the clip, the clip will stay uncollapsed, letting you to
|
|
access the attached icons. This is not true for applications like asclock, or
|
|
applets of that kind, because the icon window do not belongs to WindowMaker,
|
|
but to the application itself. For such icons you must keep the mouse over the
|
|
icon groundplate, else it will collapse back. But usually these type of icons
|
|
will not stay in a collapsed clip, since one needs to see what they show.
|
|
When the clip is leaved it will collapse back after a delay of 1 second, unless
|
|
the mouse is moved back to the clip area. The delay can be set modifying
|
|
AUTO_COLLAPSE_DELAY in wconfig.h. Default is 1000 (ms) which means 1 second.
|
|
|
|
|
|
|
|
|
|
--- 0.15.0
|
|
|
|
Changed name from Fiend to Clip
|
|
-----------------------------------
|
|
|
|
All occurrences of word Fiend with or without capital F were replaced with
|
|
the corresponding Clip (same capital).
|
|
This affects all configuration files under ~/GNUstep that contain this word.
|
|
It can be referred as "Workspace Dock" too.
|
|
|
|
|
|
New option in Clip menu, and extended Clip behavior
|
|
---------------------------------------------------
|
|
|
|
The following new items are available in the dock menu:
|
|
|
|
1. Attract Icons
|
|
2. Keep Attracted Icons
|
|
3. Collect Icons
|
|
4. (Un)select All Icons
|
|
5. Remove Selected Icons
|
|
6. Move To
|
|
7. Start miniaturized (also available for regular dock)
|
|
8. Start hidden (also available for regular dock)
|
|
9. Selected
|
|
10. Set icon... (also available for regular dock)
|
|
|
|
|
|
Here is what they do:
|
|
|
|
1. "Attract Icons" will let the Clip to attract and attach any new appicon that
|
|
is created when an application starts. It will not do this if the Clip is
|
|
full. If the Clip is Collapsed then the appicon will be hidden after it is
|
|
attached.
|
|
2. "Keep Attracted Icons" will tell the Clip to keep the attracted appicons,
|
|
after the application is closed. Without this the appicons will vanish,
|
|
leaving the Clip in the original state. If you move an appicon that was
|
|
attracted from Clip to regular Dock, it will be kept when closed, no matter
|
|
what "Keep Attracted Icons" is set to in Clip.
|
|
3. "Collect Icons" will collect all appicons that are not yet attached to Dock
|
|
or Clip, and attach them to the current workspace Clip. The value of
|
|
"Keep Attracted Icons" will apply when applications close. If Clip is
|
|
collapsed, the appicons will be hidden.
|
|
4. "(Un)select All Icons" will select all icons in the clip if none is
|
|
selected, or it will deselect all selected ones. The selected icons are
|
|
marked using a small triangle in the bottom right corner of the appicon.
|
|
The color of the mark is set using SClipColor in WindowMaker domain
|
|
database.
|
|
5. "Remove Selected Icons" will remove from Clip all selected icons. The ones
|
|
that still run, will be detached, all the others will vanish.
|
|
6. "Move To" will transfer all selected icons to another workspace and attach
|
|
them to the Clip in that workspace. If none is selected, only the one the
|
|
mouse was pressed on will be moved.
|
|
7. "Start miniaturized" will launch (or autolaunch if set) the application in
|
|
a miniaturized state.
|
|
8. "Start hidden" will launch (or autolaunch if set) the application in a
|
|
hidden state. Note that only one of the two can be set at a time.
|
|
9. "Selected" can be used to toggle the selected state of the appicon
|
|
individually. The same can be achieved using Shift-LeftClick on the appicon.
|
|
In fact the intended way of toggling the selected state is by using
|
|
the Shift-LeftClick on icon. The menu entry is just another way to do the
|
|
same.
|
|
10. "Set icon..." will allow one to set the image for the appicon. The image
|
|
will be updated without restart, and also all appicons in the same
|
|
instance.class as the one we set for, will be updated.
|
|
|
|
So a simple way of avoiding the screen to be filled up with appicons is to set
|
|
the "Attract Icons" in the Clip. Also the "Keep Attracted Icons" can be set to
|
|
No, so the attracted icons will be deleted when application exits, thus leaving
|
|
the Clip clean. If also one to not want to see the appicons that keep filling
|
|
the Clip, he can set the Clip to be Collapsed.
|
|
|
|
Getting rid of unneeded icons in Clip is as simple as selecting them
|
|
individually using Shift-LeftClick, and then using the "Remove selected Icons"
|
|
entry in menu.
|
|
|
|
|
|
Support for different visuals.
|
|
------------------------------
|
|
|
|
WindowMaker is now able to support any visual, except DirectColor, in any
|
|
depth from 1bpp to 32bpp.
|
|
|
|
One can start the X server with different visuals, by passing the X server the
|
|
right option. For XFree 3.3.x is -cc <id>.
|
|
WindowMaker is not yet able to choose a different visual from the Default one
|
|
on a given screen, but can use any default visual it finds, except the direct
|
|
color visual.
|
|
For example starting X like (for XFree 3.3.x, and if the driver for the
|
|
card supports this. Read the man page for your X server):
|
|
startx -- -bpp 8 -cc 0 will give you the StaticGray visual.
|
|
startx -- -bpp 8 -cc 1 will give the GrayScale visual
|
|
and so on.
|
|
|
|
Wrlib code is now generic, and will support any visual except DirectColor in
|
|
any depth. Programs written with wrlib can work on different visuals from
|
|
the default visual for a given screen.
|
|
Behavior in different visuals can be tested using the testgrad program in
|
|
wrlib subdirectory in distribution.
|
|
testgrad -h will show the usage.
|
|
|
|
Multidiagonal gradients are also implemented now in wrlib, and a new algorithm
|
|
is used to speed up the generation of diagonal gradients.
|
|
|
|
|
|
New arrangement of the directory structure under ~/GNUstep/
|
|
---------------------------------------------------------------
|
|
|
|
To better adapt to theme support the directory structure changed under
|
|
~/GNUstep/Library/WindowMaker
|
|
|
|
1. Style directory moved to Styles.
|
|
2. Added the following directories: Backgrounds, IconSets, Pixmaps, Sounds and
|
|
Themes.
|
|
3. The .style files no longer get copied in the user's Styles directory.
|
|
Instead they are read from the global /usr/local/share/WindowMaker/Styles
|
|
directory.
|
|
|
|
Under ~/GNUstep/Defaults the following changes occurred:
|
|
|
|
1. A default WMState is installed by wmaker.inst.
|
|
It contains the dockit program assigned to the top icon of the dock, and
|
|
the wmsetbg program assigned for the drop command on both dock's and clip's
|
|
main icon.
|
|
Double clicking the dock's main icon will bring up dockit that will let you
|
|
dock any application that do not have an application icon.
|
|
Dropping an image on dock's or clip's main icon, from an Offix DND aware
|
|
application, will put the image on the background tiled, and will update
|
|
WindowMaker domain database file.
|
|
2. Syntax of WMState changed a little. The old position will not be restored
|
|
when you will first start the new version, but after that it will be
|
|
normally remembered. This is because now the main clip icons is only saved
|
|
once, not for every workspace.
|
|
You should replace Fiend with Clip in any place where it appears, if you
|
|
want to keep the old WMState file, else it will not work.
|
|
3. At compile time, it will detect if you have support for tif, and will
|
|
install a WMWindowAttributes with corresponding image name extension
|
|
(.tif or .xpm). This is true only for pixmaps that come with the source
|
|
distribution and get installed under /usr/local/share/WindowMaker/Pixmaps
|
|
|
|
The menu file changed a lot. Old menu file will *not* work with new theme
|
|
support, so please upgrade.
|
|
|
|
|
|
New behavior of OPEN_MENU command
|
|
---------------------------------
|
|
|
|
The OPEN_MENU command now supports the following syntax:
|
|
1. File menu handling.
|
|
// opens file.menu which must contain a valid menu file and inserts
|
|
// it in current position
|
|
OPEN_MENU file.menu
|
|
2. Pipe menu handling.
|
|
// opens command and uses it's stdout to construct menu.
|
|
// Command's output must be a valid menu description.
|
|
OPEN_MENU | command
|
|
3. Directory handling.
|
|
// Opens one or more directories and construct a menu with all
|
|
// the subdirectories and executable files in them sorted alphabetically.
|
|
OPEN_MENU /some/dir [/some/other/dir ...]
|
|
4. Directory handling with command.
|
|
// Opens one or more directories and construct menu with all
|
|
// subdirectories and readable files in them sorted alphabetically,
|
|
// preceding each of them with command.
|
|
// WITH is a required keyword!!!
|
|
OPEN_MENU /some/dir [/some/other/dir ...] WITH command -options
|
|
|
|
Please note that because of the 'WITH' keyword old menu files no longer work
|
|
for the OPEN_MENU with a command.
|
|
|
|
|
|
Theme support
|
|
-------------
|
|
|
|
Theme support is now as easy as untar-ing a tarball in the right place.
|
|
Because of the way OPEN_MENU works, they can be installed on a global
|
|
shareable basis, or for personal user use.
|
|
Themes installed under ~/GNUstep will be available only for a user, but
|
|
if if they are installed under /usr/local/share/WindowMaker they will be seen
|
|
by all users. This is also true for style files, background images, pixmaps,
|
|
etc that get installed under /usr/local/share/WindowMaker.
|
|
Themes can be saved or loaded using the Appearance menu.
|
|
|
|
Also support for different IconSets is available. You can save or load a new
|
|
IconSet using the Appearance menu.
|
|
|
|
Setting background images is now as simple as putting the images in the right
|
|
place (~/GNUstep/Library/WindowMaker/Backgrounds or
|
|
/usr/local/share/WindowMaker/Backgrounds, or any other place in your
|
|
PixmapPath). Then use the Appearance menu. They will be instantly available
|
|
since they are opened by a OPEN_MENU command. Also the image do not need to
|
|
have a .jpg or any other extension. It will be recognized anyhow.
|
|
As an example please see the OpenStep theme supplied with WindowMaker.
|
|
The OpenStep image is a jpeg file without extension.
|
|
|
|
Please keep in mind that anything under /usr/local/share/WindowMaker will be
|
|
available for all users.
|
|
|
|
|
|
New options for wmsetbg and getstyle
|
|
------------------------------------
|
|
|
|
wmsetbg now accepts the following options:
|
|
usage: wmsetbg [-options] image
|
|
options:
|
|
-d dither image
|
|
-m match colors
|
|
-t tile image
|
|
-s scale image (default)
|
|
-u update WindowMaker domain database
|
|
-D <domain> update <domain> database
|
|
-c <cpc> colors per channel to use
|
|
|
|
By default, it will try to guess if dithering is needed or not and proceed
|
|
accordingly.
|
|
Using -d or -m will force it to dither or match colors.
|
|
|
|
Dithering for more than 15bpp is generally not needed, and will only result
|
|
in a slower processing.
|
|
Don't use dithering except when needed, because it is slower. Else rely on
|
|
wmsetbg which will detect if dithering is needed and use it.
|
|
|
|
-u will update the WorkspaceBack in the default database domain file in
|
|
~/GNUstep/Defaults/WindowMaker, and let WindowMaker refresh the screen.
|
|
Please note that this option only works under WindowMaker, and will have no
|
|
effect under other window managers, since it rely on WindowMaker to update
|
|
the image after it reads the updated defaults database.
|
|
|
|
-D <domain> is same as above, but will update the domain <domain> instead of
|
|
the default WindowMaker domain.
|
|
|
|
-c <cpc> will set the color per channel to use. Only needed for PseudoColor
|
|
visuals. WindowMaker will automatically pass the value read from the
|
|
WindowMaker domain database.
|
|
|
|
|
|
getstyle now have the -t option, that instructs it to read all options
|
|
related to theme. Without -t getstyle will read only style options that
|
|
means it will not read WorkspaceBack and IconBack.
|
|
Use -t when you want to make a theme and need all theme options to be saved.
|
|
Else it will extract just a style file.
|
|
|
|
|
|
Session management support
|
|
--------------------------
|
|
|
|
Two new commands are available for use in menus:
|
|
|
|
SAVE_SESSION and CLEAR_SESSION.
|
|
|
|
SAVE_SESSION:
|
|
will take a snapshot of all running applications, and their current hints
|
|
(shaded, hidden, minimized, geometry and workspace they are on),
|
|
and save it inside the WMState file. Also the current workspace we are on is
|
|
saved. The applications that are running and were started from dock or clip are
|
|
marked, so they will be attached to the corresponding dock/clip when restored.
|
|
This state is restored every next session, until a new one is saved or
|
|
CLEAR_SESSION is used.
|
|
|
|
CLEAR_SESSION:
|
|
will clear any previous saved session.
|
|
|
|
There is also a run time option named SaveSessionOnExit = Yes/No; that allows
|
|
one to automatically save the state of desktop when leaving WindowMaker.
|
|
This way next session, the state of the desktop before last exit is restored.
|
|
|
|
Please note that if this option is set to Yes, than any manual saving of the
|
|
state, or any clearing of the state will be overridden when exiting
|
|
WindowMaker.
|
|
|
|
These options are available under the "Workspace" menu.
|
|
|
|
|
|
User WindowMaker configuration files are now merged with global ones
|
|
--------------------------------------------------------------------
|
|
|
|
When starts WindowMaker will look for database domain files under
|
|
$GNUSTEP_USER_ROOT/Defaults or ~/GNUstep/Defaults to be read. (In this order).
|
|
|
|
If they are not available then it will scan for them in
|
|
$GNUSTEP_LOCAL_ROOT/Defaults, $GNUSTEP_SYSTEM_ROOT/Defaults or
|
|
/usr/local/GNUstep/Defaults (in this order).
|
|
|
|
Even if the file was found or not, it will always load the corresponding domain
|
|
file under /usr/local/share/WindowMaker/Defaults.
|
|
|
|
Then if the user file was found it will merge it over the global file, else
|
|
the global file will be used.
|
|
|
|
This way any settings that are set by the system administrator in the shared
|
|
file will be available for users that do not have them in their config files.
|
|
Any option the user have in his config file will override the one in the
|
|
shared domain file.
|
|
|
|
So any new run-time options that appear in WindowMaker domain, do not need to
|
|
be set in all user files, except the ones the user wants a different behavior
|
|
from the default set for all users in the shared file.
|
|
|
|
Also it is possible for the user to not have any personal domain databases, and
|
|
the global shared ones will be used, but it still needs to have the directory
|
|
structure, so WMState gets written on session exit.
|
|
So all it needs to have is ~/GNUstep/Defaults directory available.
|
|
|
|
|
|
New behavior of the Slide Icons
|
|
-------------------------------
|
|
|
|
Animation constants are now run-time.
|
|
They are:
|
|
IconSlideDelay = 0;
|
|
IconSlideStep = 5;
|
|
IconSlideSlowDown = 50;
|
|
|
|
To better adapt both slow and fast machines the behavior of sliding icons
|
|
changed in the following manner:
|
|
|
|
Old one was to keep moving the icon with a constant step (default 5 pixels)
|
|
until it reached the destination.
|
|
|
|
Now it will use a new parameter named IconSlideSlowDown to speed up or slow
|
|
down the moving.
|
|
|
|
Instead of moving it with a constant step it will use IconSlideSlowDown to
|
|
divide the distance to the destination, and use this value as the first step.
|
|
Then is will compute the remaining distance and will again use
|
|
IconSlideSlowDown to divide it and get the new step. And so on.
|
|
When the step to move becomes smaller than IconSlideStep, IconSlideStep will
|
|
be used further until the destination is reached.
|
|
|
|
This way a nice deceleration effect is achieved, since while the icon
|
|
approaches destination, it will use smaller steps, gibing the illusion that
|
|
the icons is moving slower.
|
|
|
|
IconSlideDelay will give the pause between steps, and is expressed in ms.
|
|
|
|
Giving large values to IconSlideSlowDown (>1024 for 1024x768 screen) will
|
|
result in the old "constant step advance" behavior, since the computed step
|
|
will always be smaller than IconSlideStep, and the last will be used instead.
|
|
|
|
Making IconSlideSlowDown = 0 or 1, will result in an instant jump to the
|
|
destination without any animation.
|
|
|
|
|
|
Attribute editor
|
|
----------------
|
|
|
|
Because the icon images on screen automatically update after any change in
|
|
WMWindowAttributes domain file, the use of both Save and Apply buttons is no
|
|
longer needed. If one wants to just apply the setting to the current window
|
|
only, he will only use the Apply button.
|
|
If he wants them saved for all applications in the same instance and/or class
|
|
the using the Save button will write them to disk, and automatically
|
|
WindowMaker will update all the icons that need to be updated on screen.
|
|
|
|
|
|
Sound support
|
|
-------------
|
|
|
|
Some basic sound support is now part of WindowMaker. The sound server is not
|
|
yet part of WindowMaker distribution, so you need to download it separately.
|
|
This is because is Linux specific, and need some changes before it can be
|
|
included.
|
|
Until them if you have a Linux system and want to use sound, use the
|
|
wmsound-0.5 available at http://www.geocities.com/SiliconValley/Bay/7874
|
|
Download that package, and only build the sound server there.
|
|
DO NO APPLY ANY PATCHES FROM THERE!, because they are already applied.
|
|
Just build the sound and copy the executable in /usr/local/bin
|
|
Follow the rest of the install steps described there, except the patch-ing
|
|
procedure.
|
|
|
|
To enable sound for WindowMaker pass --enable-sound to configure.
|
|
|
|
Also use NoSound = Yes/No; to enable/disable sound at run-time without killing
|
|
the sound server.
|
|
|
|
If you cannot set the sound to work yet, then is not for you.
|
|
Wait until the sound server will be fixed and will be part of WindowMaker.
|
|
|
|
|
|
New entries in WindowMaker domain database
|
|
------------------------------------------
|
|
|
|
The following entries have been added to the run-time options:
|
|
|
|
SaveSessionOnExit = No;
|
|
|
|
will autosave (or not) the session state on exit.
|
|
|
|
WindowPlaceOrigin = "64, 64";
|
|
|
|
will offset all windows in auto or cascade placement mode with the value
|
|
(in pixels) before placing them on screen. First is horizontal direction and
|
|
second is vertical.
|
|
This do not apply to windows that request a specific position on screen.
|
|
This is useful if you want your Clip on the top left corner to not be
|
|
overlapped by mapping windows.
|
|
It will let it to have a row and a column of docked appicons near the screen
|
|
edge, that will not be overlapped by windows.
|
|
If you set it to "128, 128" it will have 2 rows and 2 columns not overlapped.
|
|
|
|
|
|
NoSound = No;
|
|
|
|
Enable/disable sound at run-time without the need of killing the sound server.
|
|
|
|
|
|
MenuScrollDelay = 10;
|
|
MenuScrollStep = 5;
|
|
|
|
Constants for the menu scrolling animation.
|
|
|
|
IconSlideDelay = 0;
|
|
IconSlideStep = 5;
|
|
IconSlideSlowDown = 50;
|
|
|
|
Constants for the icons sliding on screen. Explained above.
|
|
|
|
ShadeDelay = 0;
|
|
ShadeSteps = 15;
|
|
|
|
Animation parameters for shading a window. How many steps it will take, and the
|
|
delay between steps in ms.
|
|
|
|
DoubleClickTime = 250;
|
|
|
|
The time for the double click to be considered so. Expressed in ms.
|
|
|
|
SClipColor = "#6f8ae2";
|
|
|
|
Color for selected icons in Clip.
|
|
|
|
All delays are expressed in ms.
|
|
|
|
|
|
|
|
--- 0.14.1
|
|
|
|
|
|
*** Enhanced fiend clone.
|
|
|
|
Here are the new fiend features:
|
|
1. Keys for raising/lowering the fiend, and their default values:
|
|
FiendLowerKey = None;
|
|
FiendRaiseKey = None;
|
|
FiendRaiseLowerKey = None;
|
|
|
|
All reside in WindowMaker configuration file.
|
|
|
|
2. Added possibility to launch the workspace menu with button1 click on the
|
|
idle indicator of fiend, or with button3 click on workspace name on the
|
|
fiend.
|
|
|
|
3. Added Control-button1-click on fiend's idle indicator, to create a new
|
|
workspace and move to it. Same action as New item in Workspace menu.
|
|
|
|
4. Fiend's idle indicator do have a color that reflects its normal/collapsed
|
|
state.
|
|
|
|
5. The delay between changing workspaces from fiend is now a run-time option:
|
|
|
|
WorkspaceChangeDelay = 700;
|
|
|
|
in WindowMaker configuration file.
|
|
|
|
6. Application icons can be moved between dock and fiend now.
|
|
|
|
7. The way workspaces are changed is controlled now by two run-time options:
|
|
|
|
AdvanceToNewWorkspace=Yes/No;
|
|
CycleWorkspaces=Yes/No;
|
|
|
|
Both apply to either fiend navigating buttons or to next/prev workspace
|
|
keybindings. Both default to No, and are in WindowMaker configuration file.
|
|
|
|
8. Also added possibility to advance to new workspace, no matter what value
|
|
AdvanceToNewWorkspace have, with Control-button1-click on "next workspace"
|
|
fiend button.
|
|
|
|
|
|
*** Theme support ***
|
|
|
|
Spixmap and tpixmap now work. Their syntax is:
|
|
|
|
SomeStyleOption = (spixmap, file, color);
|
|
SomeStyleOption = (tpixmap, file, color);
|
|
|
|
- spixmap means scaled pixmap, so the image in the file will be scaled to
|
|
adapt to the destination's size.
|
|
- tpixmap means tiled pixmap, and the image from file will be tiled in the
|
|
destination.
|
|
|
|
file is searched in the PixmapPath, but can be a full path name.
|
|
|
|
Color is used depending on which Style option is applied.
|
|
For example in case of titlebars, color is used for miniwindows titles color.
|
|
You are not restricted in selecting that color, but is better to put one
|
|
that matches the overall color of the image.
|
|
|
|
Currently they apply to all the options that accept (solid, color), or any
|
|
type of gradient.
|
|
This means they also apply to WorkspaceBack and IconBack, which allows theme
|
|
support with the simple use of the setstyle and getstyle utilities.
|
|
There is no need for an extra theme manager, just to include the needed
|
|
options in the style files.
|
|
|
|
In case of WorkspaceBack, color is used to be set in the background until
|
|
the image gets loaded and displayed. This is to avoid the stippled screen
|
|
the X server shows, in case the image is big and loads slow.
|
|
There is a small utility in the util directory, named wmsetbg which is
|
|
used to set the background image. This is needed for WindowMaker not to
|
|
freeze while loading and scaling the image.
|
|
Currently it is hardcoded in WindowMaker to use wmsetbg to set the background
|
|
image, and is better to use it since is smaller that other image manipulation
|
|
programs, and it is compiled with support for same image types as WindowMaker.
|
|
Since it comes and is installed with WindowMaker, there will be no need to
|
|
download and use an external app, which also may not have support for the same
|
|
image types as WindowMaker.
|
|
|
|
|
|
|
|
--- 0.14.0
|
|
|
|
*** Fiend clone.
|
|
|
|
The fiend clone is a dock extender, that lets you dock more than the default
|
|
10-12 icons in the dock. It actually lets you dock how many icons you like,
|
|
with a current default of 25 per workspace. The fiend have different docked
|
|
icons on every workspace. Also the fiend main icon shows you the workspace
|
|
you're on and lets you navigate through the workspaces with the small green
|
|
buttons on the low right corner.
|
|
To save screen space the fiend can be collapsed to the main icon either
|
|
from the fiend menu (available with right click on the fiend icons), or
|
|
with a double left click on the main fiend icon, which is a toggle for
|
|
the collapsed/uncollapsed state.
|
|
Collapsed state is marked by a different title color.
|
|
Pressing on the small buttons on the low right corner, the workspaces are
|
|
changed in increments of 1 to the left or right, but keeping the button
|
|
pressed over them will continuously advance through workspaces until the
|
|
mouse is moved away from the buttons or the button is released.
|
|
The delay between workspace changes is set by FIEND_WKS_CHANGE_DELAY in
|
|
src/wconfig.h, and defaults to 700 ms.
|
|
Unlike the dock, fiend can hold icons in any directions, and can be placed
|
|
in any position on screen.
|
|
|
|
When an icons is to be docked, but the position can be either in the dock
|
|
or in the fiend, the dock will be used first, and the icon will be docked
|
|
there.
|
|
|
|
Here are the new run-time options introduced by the fiend:
|
|
Files are located in ~/GNUstep/Defaults/
|
|
|
|
In WMWindowAttributes:
|
|
"Logo.WMFiend" = {Icon = "Cone.xpm";}; - icon for the fiend
|
|
|
|
In WindowMaker:
|
|
FiendMaxIcons = 25; - the max number of icons in fiend per
|
|
workspace
|
|
FiendTitleFont = "-*-helvetica-bold-r-normal-*-10-*-*-*-*-*-*-*";
|
|
- the font used to show the current
|
|
workspace
|
|
FiendTitleColor = black; - color for the uncollapsed fiend title
|
|
CFiendTitleColor = "#616161"; - color for the collapsed fiend title
|
|
AFiendColor = "#00ba70"; - color for the workspace changing
|
|
buttons, when active
|
|
IFiendColor = "#008000"; - color for the workspace changing
|
|
buttons, when idle
|
|
|
|
For the ones who don't want to use fiend, there is a option to wmaker named
|
|
-nofiend that can be feed to the command line when starting wmaker.
|
|
(This is the equivalent for -nodock, but removes fiend clone).
|
|
|
|
The syntax of WMState file have changed, but you don't have to worry because
|
|
WindowMaker will know to read the old format and will save it and further
|
|
will use the new one. You do not need to change your file, for the new version
|
|
to work.
|
|
|
|
|
|
--- 0.13.1
|
|
|
|
*** Enhanced Attribute editor.
|
|
|
|
Now you can save defaults for all windows.
|
|
Please note that only Icon, KeepInsideScreen, and sometimes NoAppIcon
|
|
can be useful in a normal environment. But others may have other opinion ;)
|
|
If you set AlwaysUserIcon default for all windows, note that apps like
|
|
asclock, wmload, wmmail, wmrack, will show that icon instead of their
|
|
window.
|
|
|
|
Now Attribute editor also counts for defaults saved for all windows,
|
|
(not only the default "No" for all options hardcoded in WindowMaker),
|
|
when saving options for some instance.class specification. This is to
|
|
save disk space by saving only the options that differs from global defaults
|
|
(either defaults for all windows or the hardcoded valued in WindowMaker).
|
|
|
|
Attribute Editor now updates on the fly the appicon image or creates/deletes
|
|
the appicon if you set that options in the Inspector panel and Apply them.
|
|
Modifying Icon file, NoAppIcon or AlwaysUserIcon and Applying them will
|
|
result in the image update for the app-icon.
|
|
|
|
Note that if you apply but not save these options, the miniwindow image will
|
|
not be updated. This is because app-icon is always on screen so it can be
|
|
updated, but miniwindow image is read from the defaults database and from disk
|
|
every time you minimize the window and is destroyed when you restore.
|
|
|
|
|
|
--- 0.13.0
|
|
|
|
*** Attribute editor is working ;).
|
|
|
|
How it works is quite obvious.
|
|
Anyway, here is a short description.
|
|
|
|
Save - only save the configuration in defaults database and updates
|
|
WMWindowAttributes
|
|
Apply - only applies the values to the current window
|
|
Revert - reverts the values from the defaults database
|
|
|
|
Note that Save and Revert count for the window specification
|
|
(instance & class), that are selected, and save/use the values for/from
|
|
that.
|
|
|
|
The Update button will show the icon who's name was typed in the textfield
|
|
If the textfield is empty, will try to use the default icon.
|
|
Also saving with and empty textfield for icon, uses the default icon.
|
|
|
|
The Default button will use the icon in the textfield as default icon
|
|
and save that value in WMWindowAttributes (Note that in this case is no
|
|
need to press the Save button!). Also if the textfield is empty it will
|
|
try to use the old default icon, if available.
|
|
|
|
*** Now menus are saved between sessions, or over a restart.
|
|
|
|
Just stick them to the desktop, and you will find them over sessions
|
|
until you close them.
|
|
Please note that only the root_menu, the window switch_menu and the
|
|
workspaces_menu can be saved this way.
|
|
|
|
*** Changed the lousy Windoze menu behavior.
|
|
|
|
This applies to 'NextMenuBehaviour = NO;'
|
|
|
|
Now the items are no more automatically selected if you launch the menu
|
|
and the mouse is over some item, if you use a short click to launch the
|
|
menu (shorter than the default DBL click time).
|
|
If you use a longer click or keep the mouse pressed, the item under mouse
|
|
will be selected after that delay, and launched when you will release the
|
|
mouse button.
|
|
If the click was short, a second one is needed to launch the item.
|
|
|
|
*** Auto-arrange icons is now a run-time option
|
|
|
|
Use
|
|
AutoArrangeIcons = YES/NO;
|
|
in 'WindowMaker'.
|
|
|
|
*** Added configurable horizontal resize threshold
|
|
|
|
Use
|
|
HorizontalResizeThreshold = <n>;
|
|
|
|
This will make the n pixels at the exterior side of the corner handle
|
|
of the resize bar to restrict to horizontal only resize.
|
|
Also you can use Shift-click&drag anywhere on the corner handle to
|
|
restrict the resize only to horizontal.
|
|
Note that the Shift-click&drag does not depend of the configured threshold
|
|
and works completely independent.
|
|
|
|
*** New option for OPEN_MENU (pipe from command)
|
|
|
|
OPEN_MENU | /foo/bar/script
|
|
|
|
will make a menu that is dynamically constructed by /foo/bar/script
|
|
|
|
|
|
--- 0.12.0
|
|
|
|
*** New option for OPEN_MENU
|
|
|
|
OPEN_MENU /foo/bar/pics xv -root -quit
|
|
|
|
will make a menu with all files in /foo/bar/pics and precede them
|
|
with EXEC xv -root -quit
|
|
|
|
thus, making a menu with entries like:
|
|
|
|
|
|
"marble.gif" EXEC xv -root -quit marble.gif
|
|
"water.jpg" EXEC xv -root -quit water.jpg
|
|
...
|
|
|
|
|
|
*** Multicolor gradients
|
|
|
|
(mhgradient, colorX, color1, color2, color3, ..., colorn)
|
|
(mvgradient, colorX, color1, color2, color3, ..., colorn)
|
|
|
|
You can put any number of colors >= 2.
|
|
|
|
colorX is a special color that is used as the solid color of the
|
|
texture when wmaker needs a solid color (like in miniwindow title and
|
|
resizebar)
|
|
|
|
*** PixmapPath format changed
|
|
|
|
What used to be
|
|
|
|
PixmapPath = "/usr/local/share/pixmaps:~/foobar";
|
|
|
|
must now be
|
|
|
|
PixmapPath = ("/usr/local/share/pixmaps", "~/foobar");
|
|
|
|
|
|
*** Added OffiX DND in dock
|
|
|
|
Use the "Set drop arguments..." command in the menu and put a %d
|
|
where the dropped object string should be substituted, like:
|
|
|
|
xedit %d
|
|
|
|
*** Escape thingies for menu and dock commands:
|
|
|
|
%w - substitute with current selected X window ID
|
|
%s - substitute with current selection
|
|
%d - substitute with last dropped object
|
|
%a(some text) - opens a input box with "some text" as a title. Then,
|
|
the text typed will be substituted there
|
|
|
|
\r, \n - substitute with corresponding characters
|
|
|
|
|
|
*** The WMState file format has changed a little.
|
|
The Command field for the dock application list is now a normal string,
|
|
instead of a list. So, remove the parentheses and the commas for the command
|
|
and join all the parts. Example:
|
|
|
|
if it used to be
|
|
|
|
Command = ( xterm," -geometry", "+10+10" );
|
|
|
|
then make it
|
|
|
|
Command = "xterm -geometry +10+10";
|
|
|
|
|
|
--- 0.10.2
|
|
|
|
AutoFocus = NO; disables automatic focusing of windows
|
|
when they are first mapped
|
|
|
|
|
|
--- 0.10.1
|
|
|
|
titlebar gradients are in a single piece now
|
|
|
|
the WMDock file was merged into the WMState file. You can insert this
|
|
file in WMState and set it's key to Dock. For example, if your WMDock
|
|
contains:
|
|
|
|
{
|
|
Applications = { {Command = (); }};
|
|
Position = "-64,0";
|
|
Lowered = NO;
|
|
}
|
|
|
|
and WMState contains:
|
|
|
|
{
|
|
Workspaces = ( "Workspace 1" );
|
|
}
|
|
|
|
then you can merge both and have:
|
|
|
|
{
|
|
Workspaces = ( "Workspace 1" );
|
|
Dock = {
|
|
Applications = { {Command = (); }};
|
|
Position = "-64,0";
|
|
Lowered = NO;
|
|
};
|
|
}
|
|
|
|
|
|
|
|
The configuration format has changed!! Forget everything about the old
|
|
format.
|
|
|
|
dockapp was removed and the old version will not work anymore.
|
|
|
|
the dialogs require tcl/tk. they will be rewritten in plain C
|
|
|
|
|
|
These are some tips for people upgrading from older versions and don't want
|
|
too many unused files around. There is no problem if you decide to keep
|
|
them for a while.
|
|
|
|
you can rm -r ~/gnustep if you don't want anything from there
|
|
|
|
remove the files in /usr/local/share/WindowMaker before installation
|
|
|
|
the /usr/local/share/pixmaps directory can be removed
|
|
|
|
|