The major new features of this snapshot release are:

 * WMPlex support for a sticky status display area to which WIonWS:s
   adjust properly. Modified to the dock module to support this method. 
   See the new dock.lua to set up the dock in the new embedded or old 
   floating manner (the API for the latter has also changed).
 * Primitive session management support.

There are also some bug fixes and many minor improvements; see the ChangeLog
for details. Work on mod_autows has also started, but it isn't ready for use
yet.
 

Notes on session management:

Ion loads mod_sm automatically when the SESSION_MANAGER environment variable
that should be set by the session manager is set, so there's no need load
it in ion.lua. 

When session management is in use, all entries in the 'Session' menu
(previously 'Exit' menu) actually invoke the session manager to do the
task. 'Save' asks the SM save the whole session and 'Exit' (ioncore.shutdown)
asks it to shut down the session instead of just causing the WM to quite.
To do the latter, use ioncore.resign.

Unfortunately, all session managers I have tried (from Debian/unstable), 
are broken/incomplete in one way or another:


xsm: doesn't support any requests from applications. This makes Ion's
session menu complete unfunctional. The only way to restart/exit/save
state is through xsm's window.


gnome-session: This seems the most complete of the all the session managers
and works fine until it is requested to shut down the session, when it dumps
core and session state is lost if was not explicitly saved previously.

A ~/.gnome2/session file to use with Ion follows:

[Default]
num_clients=2
0,id=default0
0,Priority=0
0,RestartCommand=gnome-smproxy --sm-client-id default0
1,id=default1
1,Priority=10
1,RestartCommand=/usr/local/ion-3/bin/ion -smclientid default1


ksmserver: Only supports a global shutdown request, so that Ion can not be
restarted or session state saved in the middle of a session.

 
 
New ChangeLog entries since previous snapshot release:

2004-07-03:

  * Implemented WRegion.rqclose for WDock (and removed
    WDock.destroy), so that empty docks can now be closed in a
    consistent manner.
  * Added code in dock.lua to create dock of either flavour.

2004-06-27:

  * WDock.set can now properly request changes when working as WMPlex
    stdisp.
  * Dock supports bindings now.

2004-06-26:

  * Added support for passive mplex layer 2 objects.
  * Unified generic stdisp and floating dock position
    parametrisation.
  * Removed generic stacking exports. Raise/lower is only available
    through WFloatWS.raise/lower now.

2004-06-22:

  * Added XID to querylib.show_clientwin.

2004-06-21:

  * Support dragging tab of current window by clicking anywhere in a
    frame.
  * Fixed drawing engine style loading code when neither font nor
    based_on was set.

2004-06-20:

  * Initial conversion of mod_dock to work with WMPlex sticky
    auto-sizing status display mechanisms.

2004-06-19:

  * Export WScreen.set_managed_offset.
  * Improved support for auto-sizing status display/dock.

2004-06-17:

  * Added some split-tree manipulation algorithms needed to
    eventually support an automagically properly sized dock.
  * Fixed handling of requested geometry in floatws_attach_clientwin.

2004-06-12:

  * Fixed querylib.query_exit and renamed it to
    querylib.query_shutdown.
  * Added WRegion.size_hints to exports
  * Moved autows penalty calculation code to Lua side for easier
    customisation.

2004-06-11:

  * Session saving is no longer disabled on exit if there was an
    error loading layout. Instead a backup of the layout savefile is
    made.
  * The behaviour of ioncore.resign was changed not to save session,
    but instead just quit and, when running under a session manager,
    instruct the session manager to not restart the WM again.

2004-06-10:

  * Changes in the set of exported WSplit methods and
    WIonWS:split_tree().

2004-06-09:

  * Removed WIonFrame and WAutoFrame. There's just WFrame and
    WFloatFrame (also to be unified?) now.

2004-06-08:

  * Binding to nil should again remove the binding.
  * Moved p_move from WFloatFrame to WFrame.

2004-06-06:

  * Moved Fx queries to WMPlex level so they're available on empty
    workspaces and full screen client windows as well.
  * Added querylib.query_menu that can be used to create a query of a
    menu.
  * Added querylib.show_clientwin to display information on a client
    window and put it in the context menu.

2004-06-05:

  * Added Xinerama sanity check.

2004-06-04:

  * Fixed WMPlex.l2_show focus.

2004-06-03:

  * Code that creates regions from tables now supports a 'reference'
    to use existing regions.
  * Added very preliminary WAutoWS layout code.

2004-05-30:

  * Fixed a serious brainfart in region name allocation. (Temporary
    hack; need to do this more efficiently.)

2004-05-29:

  * Bindmap binding count was not maintained correctly if a key/
    button was re-bound.
  * Fixed dec/inc_index bindings.
  * Added -noerrorlog startup option.

2004-05-26:

  * WMPlex layer2 object hide improved.
  * Unified WMPlex layer list access functions.
  * Libtool is no longer used: problems with one module depending on
    another.
  * Unified module and script search paths. There's only one search
    path now.
  * querylib.query_renameworkspace had been broken at some point.

2004-05-22:

  * Removed 'exec' from /bin/sh call to execute command so that more
    complex commands can be entered.

2004-05-21:

  * Added mod_sm.request_save.
  * Removed support for whatever (older?) session management system
    defines the macro "XSM".
  * Improved integration of exit/restart/save state with session
    management.
  * Removed ioncore.exit(); in most cases use ioncore.shutdown()
    instead (and ioncore.resign() in others).
  * SSH host completion now understands usernames. (Code taken from
    the Ion Wiki.)
  * Improved querylib.query_exec completion to break at spaces.
  * Removed os.execute block.

2004-05-20:

  * Split resizing code now first tries to use any unused space
    before shrinking a region.
  * Improved WAutoFrame "lazy" move/resize behaviour.
  * Added WClientWin.xid export to get X window id.
  * Automatically load mod_sm of the SESSION_MANAGER environment
    variable is set.
  * Moved session directory setup code to mod_sm.

2004-05-19:

  * Do not clear client window activity status when receiving focus
    if the urgency hint is still set.
  * Exported WRegion.notify_activity and WRegion.clear_activity.

2004-05-18:

  * Merged dock kde systray support patch and fixes from stable
    branch.
  * Changes in save directory under a session manager; use ~/.ion3/
    gnome-session-$GNOME_DESKTOP_SESSION_ID (with potentially
    unallowed characters replaced) if this environment variable is
    set.
  * Fixed exec bindings to correctly set the root window and changed
    ioncore.exec_on to accept any region as parameter.

2004-05-15:

  * Fixed attempt to free memory at middle of allocated area in menu
    typeahead find.
  * Converted ionws_placement_method to ionws_placement_alt hook.
    Removed the hook from WAutoWS code temporarily.

2004-05-14:

  * Fixed shade on WIonWS.
  * WMPlex contents are unmapped when either width or height of
    client managed area becomes at most 1 instead of resizing them.
    Previously this was only done vertically for frames (shade).
  * Changed mplex l2 hide/show to warp (if enabled) to new active
    region.
  * Some other focus handling fixes/changes.

2004-05-12:

  * New hook system. Both Lua and C-side now have the same hooks
    except for ioncore_handle_event_alt.
  * Oops. There was a typo that was causing region flags to be
    cleared when children were being rescued.

2004-05-09:

  * WM_COLORMAP_WINDOWS handling fixes. (Does something still use
    this/bother supporting indexed colour models at all?)

2004-05-03:

  * Fixed stippled tab font when -i18n was not set.

2004-05-02:

  * Added some basic framework for autows. No functionality
    essentially different from ionws yet.

2004-05-01:

  * Transparency configuration reading fix.

2004-04-30:

  * Minor session management support improvements; should work with
    gnome-session now.

2004-04-28:

  * Only kill active grab when esc is pressed, not released.

2004-04-17:

  * Slightly improved splitting code.
  * Added code to transpose splits.

2004-04-11:

  * Oops, there was an off-by-one bug in _NET_VIRTUAL_ROOTS setting.

2004-04-05:

  * Added a kludge to deal with waitrelease when the modifiers has
    already been released.

2004-04-02:

  * Changed compiled .lc files' path to LIBDIR/ion/lc.
  * WMPlex is now a proper non-virtual class and objects of this type
    can be created and nested like any others.

2004-03-27:

  * Removed object abstraction from drawing engine brushes to help
    creating drawing engines with other font routines.
  * Fixed floatframe client window size issue when shaded.

2004-03-24:

  * Don't put input method failure complaints in startup error log.

2004-03-23:

  * Client window unmap handling fixes (?).
  * querylib.query_restart and query_exit were not yet converted to
    the Ion3 scheme of things.

2004-03-21:

  * Fixed a colourmap update crash.

2004-03-20:

  * Moved activity notification window code from scratchpad to
    screen; also works for normal workspaces now.
  * Added very preliminary (and partially broken) session management
    support based on the 'sm' module for Ion1.

2004-03-18:

  * Made drawing engine objects inheritable and initialisation code
    reusable.
  * Improvements and fixes in keyboard mapping changes handling.

2004-03-17:

  * Some scratchpad activity notification window changes/fixes.

-- 
Tuomo

Reply via email to