It's been a while since the previous release as I wanted to freeze the
Lua configuration/scripting interface for this release and therefore 
finish work on a few things. Well, on my part the interface is frozen,
but I will still accept constructive complaints for a short time and
after that the implemented parts of the scripting interface will be 
frozen. But in all likelihood, if no one has anything else to say, but
"it's ok", "it sucks", the interface will no longer change, only possibly
grow.

What's new for this release then?

  * Drawing engine module support.
  * OO-style exported functions. The old class_fn functions are now
    WClass.fn (an ugly wrapper is provided in compat.lua).
  * No more screen-specific configuration or savefiles.
  * Session name (can be specified on command line) instead of display
    name based savefiles. Also affects query history and not just workspace
    saves.
  * Bug fixes, most small and one bigger (almost complete rewrite of 
    the split resizing algorithm).
  * Some documentation improvements.

Converting configuration files.

Old .lua colour schemes and workspace save files can be automatically
converted to a format suitable to be loaded by this latest release.
Other files will have to be ported manually. To convert colour schemes,
use the script utils/lookconv.lua. The usage is

        lookconv.lua look-old.lua > look-new.lua

To convert workspaces savefiles, use the script utils/saveconv.sh. The
usage is

        saveconf.sh ~/.ion-devel/saves/workspaces-DISPLAY.*.lua \
                > ~/.ion-devel/SESSIONNAME/workspaces.lua

DISPLAY here is the actual display part of $DISPLAY, probably just ':0'.
'*' stands for all screens (if you have only one screen you could do
with perhaps just workspaces-:0.0.lua). SESSIONNAME is the name of
the session where you want to use the converted savefiles. Default
session name for DISPLAY is default-session-DISPLAY with the colon in
DISPLAY converted to a dash. For most people this is default-session--0.
In the simplest case the whole command line is therefore

        saveconv.sh ~/.ion-devel/saves/workspaces-:0.0.lua \
                > ~/.ion-devel/default-session--0/workspaces.lua

The scripts may or may not work and are only provided as a potential
convenience that will not be maintained and will be removed eventually.


The new ChangeLog entries:

2003-08-10:
  * Added some more functions to manipulate object indices within a
    WMPlex.

2003-08-08:
  * close_sub_or_self is now WRegion.close_sub_or_self.

2003-08-07:
  * Applied a patch to add title matching field 'name' (Lua regexp)
    in winprops.
  * Modified the winprop patch to use the numerical zero field
    instead of " ! " to store winprops with no name regexp specified.

2003-08-06:
  * Backslash wasn't being escaped in saved strings.
  * Implemented 'activity' display cue that is set when a newly
    created client window is not displayed or when the urgency hint
    is set by the client application.
  * Updated style configuration files to draw tabs with the
    'activity' attribute set in white on red. 'lookconv.lua' uses
    these same colours in converted files.
  * Wrote a conversion script from older .lua workspaces savefiles.
  * Changed where get_winprop is called to a later time where the
    client window's name has been set.
  * Fixed a typo in UTF8 font code.

2003-08-04:
  * Ionframe shade fixed.

2003-08-03:
  * Added options to set floatframe bar width limits and tab bar
    location for ionframes(fields
    floatframe_bar_max_w_q/floatframe_tab_min_w and
    ionframe_bar_inside_borderin frame style config).

2003-08-01:
  * Added ignore_cfgrq winprop.
  * Added some line editing and history exports.

2003-07-31:
  * Bound Control+G to end a query and Control+K G to clear mark in
    queries.
  * Fixed some problems with selections in queries and added
    wedln_clear_mark function.

2003-07-30:
  * Removed support for screen-specific configuration files.
  * Savefiles now go in ~/.ion-devel/sessionname (instead of
    ~/.ion-devel/saves) where sessionname is
    'default-session-displayname' by default (with colon in display
    name converted to a dash) but can be changed from the command
    line.
  * Workspaces are now saved in a single 'workspaces.lua' file in
    session directory and screens are also now set with a single
    'initialise_screen_id' call.
  * Added "deinit" hook.
  * Implemented keyboard resize acceleration.

2003-07-28:
  * Fixed a bug in the new split resizing algorithm that caused
    bottom/right regions in a split to be misplaced if both bottom
    and top or left and right border were moved of another region.

2003-07-27:
  * Fixed transient_mode = "current" in full-screen mode.
  * Added keys for manipulating tags and attaching tagged objects
    (Mod+T: toggle tag, Mod+K T: clear tags, Mod+K A: attach tagged).
  * Fixed a problem with the split resizing algorithm and keyboard
    resize by almost completely rewriting the algorithm.

2003-07-25:
  * Colour scheme configuration files were converted to the new
    format.
  * Ion now supports drawing engines as loadable modules!

2003-07-22:
  * Added a script (etc/lookconv.lua) to convert the old .lua colour
    schemes to the upcoming format.
  * The prospective default drawing engine was added.

2003-07-21:
  * Added a note on *BSD libtool version brain-damagedness.

2003-07-19:
  * Some va_list passing changes.

2003-07-18:
  * The fact that there is a configuration manual was made much
    better visible in the README.

2003-07-16:
  * Nested workspace handling had been broken by the add
    managed/attach interface change. Fixed.

2003-07-13:
  * Lua function binding for classes put into class-tables thus
    making the bindings more object-oriented in spirit.
  * The function 'exec_on_wm_display' was renamed 'exec'.

2003-07-10:
  * AnyModifier handling fixes; Xlib was crashing when lock ignore
    kludge was applied on AnyModifier grabs.

2003-07-08:
  * The 'have region A manage region B' interface was heavily
    revamped. The generic region_manage(_new) functions are gone and
    only WMPlexes now export the equivalent interfaces
    mplex_attach(_new). Only client windows' are now set up with a
    generic interface that is a lot simpler than the old.

2003-06-28:
  * Fixed a crash when the same key was bound as both submap and
    normal action on an object.

-- 
Tuomo

Reply via email to