This is the first development snapshot release of what is to be Ion3. 
The most visible changes to Ion2 so far are:

  * Default installation directory is /usr/local/ion-3 while user
    configuration files go in ~/.ion3

  * The mod_sp module was added. It creates an extra toggleable 
    "scratchpad" frame on each screen. Toggle is for now bound by default 
    to Mod1+section, which should be very conveniently located on most 
    Nordic keyboards (left of "1"), but you may have to change it. The 
    scratchpad should be nice for xconsole or similar monitors, xmessage 
    and other popups and just as temporary holding space for windows.

  * All modules except the drawing engine are now called mod_something.

  * Man-page complection supports a cache of known man-pages for faster
    completion. See the README for instructions on setting up a cronjob
    or manually generating the index if you want to use the feature.
    Also query_man_path is no longer used. Instead we try the ION_MC_MANPATH
    and MANPATH environment variables and the 'manpath' program.

  * Exported functions are now separated into tables (namespaces)
    instead of cluttering the globals table. Some frequently used
    configuration functions are imported into the globals table, though.
    Some functions have also been removed or renamed for simpler and
    more consistent function set.

  * New binding configuration mechanism. Dozens of *_bindings functions
    were replaced with a single [ioncorelib.]defbindings function that
    accepts a context parameter. Callbacks are specified as strings
    (although passing functions still works) to make it easier for
    external configuration programs to understand the configuration 
    files and perhaps remove some confusion among users who do not
    care to read a tiny bit of Lua documentation and understand the
    concept of anonymous functions.

  * It is now also possible to retrieve a list of bindings with
    ioncorelib.getbindings, for example, for self-documentation.

  * Single move/resize mode bindings instead of separate for both
    ionframe and floatframe.

There are also quite a few internal changes; see the ChangeLog for
details. No documentation tarball is available at the moment as the
documentation is out-of-date except for the function reference. If 
you need the reference, just checkout the documentation from the 
Subversion repository with

    svn co http://tao.uab.es/ion/svn/ion-doc/trunk ion-doc-3ds

and build the documentation.


ChangeLog entries:

2004-03-15:

  * Made some more minor changes to binding configuration and added
    ioncore.getbindings and ioncorelib.getbindings that can be used
    to get a table of made bindings for all contexts.
  * Added scratchpad activity notification bubble.

2004-03-14:

  * Multiplexers now save layer2 objects in layout savefile.

2004-03-13:

  * Added tentative mod_sp scratchpad module.

2004-03-12:

  * Exported functions can now accept nil objects as parameters
    except for the first parameter. (Most exported functions have
    just that first object parameter.)
  * Region closing method unifications.
  * Added functions to hide/show mplex layer 2 objects.

2004-03-10:

  * Use red-black trees added to libtu instead of a Lua tables to
    store split_of pointers of frames on WIonWS:s to avoid problems
    with object cache clean-up on frame deletion.
  * Also handle name allocation using red-black trees instead of Lua
    tables now that such are available in libtu.
  * Handle bindmaps using red-black trees for simpler code (before
    bindings were in arrays sorted and searched with qsort and
    bsearch).
  * Slightly reduce flicker with apps that update title too often by
    removing a redundant change notify call.
  * Slightly simpler and faster Lua object cache.

2004-03-07:

  * Stacking code relies on XQueryTree instead of maintaining our
    internal state that might not agree with X.
  * WMPlex now supports a full "second layer" of objects in addition
    to a single input.
  * A lot of WIonFrame code was removed and moved to WFrame.
  * New rescue and initial management handling code.
  * Merged recent changes from the stable branch (WFloatWS.attach,
    better gravity handling, goto_* routines return target).
  * All modules are now 'mod_something'.
  * Removed completion functions from ioncore, moving them to
    querylib and replacing with listing functions
    (ioncore.clientwin_list, ioncore.region_list).
  * Menus now support typeahead find.
  * Bound backspace in menus to clear typeahead buffer.

2004-02-18:

  * Merged tab drag&drop fixes and size guard additions from the
    stable branch.

2004-02-17:

  * Changed layout save mechanism to construct configuration tables
    instead of directly writing data to files.
  * Merged fixes from the stable branch.

2004-02-16:

  * Major namespace clean-up, both C and Lua-side.
  * Yet another binding configuration scheme.
  * Moved SunOS F11->SunF36, F12->SunF37 kludge to build time.

2004-02-15:

  * Removed delib.lua and moved the stuff on the C side.
  * Merged floatframe tab toggle and man page fixes from the stable
    branch.
  * Removed gr_get_brush_values and the possibility obtain brush
    parameters before creating a window.
  * Added "above" and "below" as supported directions with some ionws
    functions.
  * Added function to return line editor "mark".

2004-02-12:

  * Removed superfluous navigation functions from WIonWS.

2004-02-11:

  * New binding configuration scheme based on strings instead of
    direct passing of Lua functions.
  * Some WMPlex managed object indexing function changes.
  * Completion display wasn't being refreshed, if its size didn't
    change between completions.
  * Man-page completion is now implemented with the external script
    'ion-completeman'. The script supports cacheng names of known
    manual pages (as a cronjob) for much faster completion. It can
    also use the 'manpath' program in addition to the MANPATH or
    ION_MC_MANPATH environment variables to figure out the paths
    containing man pages.
  * Merged fixes from the "stable" Ion2 branch.
  * Querylib tries to waste a little less memory when reading
    completions from a pipe.
  * Portability fixes merged from stable branch.
  * Lua interface improvements.

2004-02-10:

  * Changed default installation path to /usr/local/ion-3 and user
    configuration file path to ~/.ion3.
  * Renamed WGenFrame to WFrame.
  * Move/resize mode is common to all types of frames.

-- 
Tuomo

Reply via email to