Most changes in this release centre around making Ion more tolerant
to broken configuration files; for details see the ChangeLog. There
are also changes in binding configuration as I already mentioned in
an earlier poting. Namely common-frame-bindings.lua is gone and the
bindings previously set there (into variables that the *ws.lua
files later referenced) were moved to ioncore-bindings.lua and are
set using the new functions mplex_bindings and genframe_bindings
are were added. Old modified configuration files should still work,
however, but if you use 'make_active_leaf_fn', you will need to
include compat.lua as the global_bindings that used this were
replaced by bindings in mplex_bindings and the function
'make_current_clientwin_fn'.
There are also some (minor) bug fixes and a few other improvements
worth a mention. In particular all regions are now given names of
the form WFoobar<n> by default and DEFAULT_MOD.."F9" was bound to
create a new workspace without asking for a name. This binding and
QueryLib.query_workspace use the workspace type defined in the
variable default_ws_type instead of being hardcoded to WIonWS.
All objects passed to Lua now have a unique userdata (a WWatch cached in
a weak table) so they can be used e.g. as indices to tables.
New ChangeLog entries since previous release:
2003-06-14:
* Focus was being incorrectly changed when an inactive full screen
client window was destroyed.
2003-06-13:
* Some changes to grab and drag handler setup functions.
* Escape key was harcoded to kill any active grab (so that
misconfigured resize modes and such can't do harm).
2003-06-12:
* Error log should be somewhat easier to read now.
* More error-tolerant configuration reading setup: 1. If Lua fails
to load a configuration file (syntax error etc.), the next on
path is tried instead of failing. (If the configuration file dies
in an error during execution, the next one, however, is not
attempted.) 2. The main configuration file (ioncore.lua) is
executed through ioncore-startup.lua. This file redefines some of
the binding setup functions to monitor binding settings. If some
of the binding groups have been left empty by failing
configuration files, minimal bindings are created.
* Resize timeout timer was being set up only after some resize
action had been performed, not when entering the mode.
2003-06-10:
* The functions extl_dofile/string' were removed and
extl_loadfile/string added.
* Binding configuration (hopefully) simplified: bindings previously
defined in common-frame-bindings.lua were moved to
ioncore-bindings.lua and functions for defining bindings common
to all WMPlexes and WGenFrames were added.
* The confusing 'make_active_leaf_fn' was also removed (can still
be found in compat.lua) and instead client window bindings are
defined in mplex_bindings with the help of the perhaps a little
less confusing 'make_current_clientwin_fn'.
2003-06-09:
* Don't complain of disappeared windows at startup phase.
* WRegions (except WClientWins) are now given names of the form
'ClassName<n>' by default.
* 'QueryLib.query_workspace' new creates workspaces of the type set
in the variable 'default_ws_type' if no type is otherwise
specified and Mod1+F9 was bound to create workspaces of this type
without asking for a name. (The default name of
default_ws_type<n> is used.)
* Some client window initial focus policy unification.
* The Lua interfacing code now uses a unique (cached in a weak
table) WWatch for Ion's objects instead of creating a new
userdata/watch every time an object is passed to Lua. This allows
using the objects as indexes in tables.
* Warping on workspace switch had been broken by addition of
multiplexes.
2003-06-08:
* Workspace swithing while dragging tabs had been broken by the
mplex change.
* Added mplex_managed_count, mplex_managed_index and
mplex_current_index functions. The latter two are in
ioncore-mplexfns.lua that must specifically be loaded if the
functions are needed.
* Added -noxinerama command line option.
--
Tuomo