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