The list of new ChangeLog entries is long time time, but I'm finally
starting to get to what I started working on almost two years ago. Yes,
there is *experimental* support for PWM-like "floating frame" workspaces.
A lot of the functionality is still missing -- no need to complain of
such at the time -- but there floatws.so module and basic functionality
is there. Most notably perhaps a menu module is not yet implemented.
(Porting the PWM menu code should a nice little task for whomever
interested... *wink*.) To create some PWM workspaces, load the floatw.so
module (should be loaded by default) and in query_workspace (Mod1+F9)
prefix workspace name with 'WFloatWS:' (or load the module before
ionws.so).
This release is also finally fully modularised: In addition to the
ion core binary that can not function alone, there are the modules
ionws.so, floatws.so and query.so. It is also possible statically
compile the modules in the core binary if the system doesn't support
libdl.
There's also *experimental* UTF8 support that must be specifically
enabled from system.mk. You must have XFree86 (4.x?) and C99 wide
char support available (either libc directly or maybe libutf8+libiconv).
Thanks to bugs (?) in some of the XFree86 Xutf8 functions, your locales
must be properly set up or else X will stop drawing strings at non-ascii
characters instead of ignoring them. See my earlier rants on the mailing
list for reasons on not using the more standard Xmb functions.
To actually see any special characters, you must load the necessary fonts
by specifying a comma-separated list of fonts to the font and tab_font
draw.conf options. Multiple font loading does not work when Xft support
is enabled at the time being.
There has been a lot of changes in the config files, again, and I can
promise there's still more to come. See the ChangeLog for details.
If you want to use your old workspaces configurations, move them to
~/.ion-devel/saves and replace the strings "WFrame" and "WWorkspace"
with "WIonFrame" and "WIonWS", respectively.
New ChangeLog entries:
2003-03-11:
* Function lookup order changed from region->parent to
region->manager.
2003-03-10:
* Added the compile time option CF_UNDERSCORED_MODULE_SYMBOLS for
some strange systems whose libdl insists on the calling program
prefixing module symbol names with an underscore.
* Tabs can now be dropped on WFloatWS workspaces to create a new
frames containing the region corresponding to the dragged tab.
2003-03-09:
* Updated default configuration files. Binding configuration is now
divided into multiple module-specific files with some common
bindings in common-frame-bindins.conf. Some look configuration
files were added and the rest were also changed to reflect
changes in the order frame border colours and sizes are
specified.
* Very preliminary and experimental (a lot is still missing)
support for PWM-like workspaces and frames: the floatws module.
* Renamed wmcore ioncore.
* Main configuration file name changed to 'ioncore.conf'.
* Added to ioncore generic workspace and frame classes (WGenWS,
WGenFrame) on which modules' implementations are to be based.
* Module initialization and deinitialization functions are now
named modulename_module_init and -deinit.
* Added module version checking. Modules are now supposed to
contain the variable 'char
modulename_module_ion_version[]=ION_VERSION;', where ION_VERSION
can be found in the top-level directory version.h. Ioncore will
refuse to load modules which have not set this variable or the
version is incorrect.
* Resize size calculation should be fixed now.
* The 'region_register_load_create_fn' interface was removed and
replaced with 'region_register_class'.
* Region create and reparent functions now have parent type WWindow
because everything expected that anyway.
* Workspace setups are now saved in ~/.ion-devel/saves/ to remove
clutter from ~/.ion-devel.
* Some minor bugs were fixed.
* Tiled workspace and frame code (WIonWS, WIonFrame) modularised
(ionws.so) and generic frame and worksapce code moved to Ioncore.
Dependencies on the query module were also removed.
* The query module was removed of dependencies to WIonFrame code
and is now a loadable module (query.so).
* The 'query_workspace' command by default creates workspaces of
the first registered (module loaded) kind. Other kinds of
workspaces can be created by prefixing workspace name with the
class name (WIonWS, WFloatWS) and a colon, e.g. 'WFloatWS:foo'.
* Support for compiling modules statically in the Ion core binary
* Resize size hint handling properly (?) implemented.
2003-03-08:
* 'make install' code moved from the toplevel Makefile to Makefiles
in subdirectories (etc, man, scripts)
* 'make install' code moved from the toplevel Makefile to Makefiles
in subdirectories (etc, man, scripts).
2003-03-06:
* Don't grab buttons that are only bound to an area (border, tab)
of the frame instead of the whole frame.
* Fixed a bug in do_fit_clientwin
2003-03-02:
* Some clean-up
* Some renamings that will break configuration files again.
2003-03-01:
* Use iconv instead of libunicode
* Added some locale checks
2003-02-28:
* Maybe focusing would work this time...
* Preliminary support for UTF8. XFree86 (4.x) and libunicode are
required.
* The 'transparent_background' draw.conf option now only applies to
empty frames. For client windows with a transparent background
the 'transparent' winprop should be set to true for transparent
frame background.
2003-02-26:
* do_fit_clientwin fixed
--
Tuomo