%# #% %# You can read this document in its full glory by #% %# opening ./doc/index.html in your favorite Web browser. #% %# #% %#---------------------------------------------------------------------------- %| section "Version 3.2.1 (2010-03-22)" %#---------------------------------------------------------------------------- This release improves multi-threading support in Rumai's pure-Ruby implementation of the [IXP file-system interface](<%= wmii_ixp_url %>). %#-------------------------------------------------------------------------- %| paragraph "Thank you" %#-------------------------------------------------------------------------- * Gigamo reported the issue of status bar applets not refreshing according to their prescribed schedule (this is particularly noticable in the clock applet) and verified my fix for the problem. %#-------------------------------------------------------------------------- %| paragraph "Bug fixes" %#-------------------------------------------------------------------------- * Perform a blocking I/O read to recieve a 9P2000 message in `Rumai::IXP::Agent#recv` only if recieve buffer is empty. This gives other threads a chance to check the recieve buffer for their response. instead of being blocked by us as we greedily hold on to the 9P2000 message stream until our expected response arrives. %#-------------------------------------------------------------------------- %| paragraph "Housekeeping" %#-------------------------------------------------------------------------- * Upgrade to Inochi 2.0.0 and Dfect 2.0.0. %#---------------------------------------------------------------------------- %| section "Version 3.2.0 (2009-11-17)" %#---------------------------------------------------------------------------- This release adds a new automated view arrangement, simplifies the IXP transport layer, and cleans up the code and API documentation. %#-------------------------------------------------------------------------- %| paragraph "New features" %#-------------------------------------------------------------------------- * Add `Rumai::View#arrange_in_stacks` automated view arrangement. * Convert `:stack` and `:max` arguments into wmii 3.9 syntax in `Rumai::Area#layout=`. %#-------------------------------------------------------------------------- %| paragraph "Bug fixes" %#-------------------------------------------------------------------------- * Rewrote IXP transport layer (`Rumai::IXP::Agent`) to *not* use a background thread, according to [the XCB cookie approach](http://www.x.org/releases/X11R7.5/doc/libxcb/tutorial/#requestsreplies). %#-------------------------------------------------------------------------- %| paragraph "Housekeeping" %#-------------------------------------------------------------------------- * Clean up some code and API docs. * Reduce amount of string concatenation in `Struct#to_9p`. %#---------------------------------------------------------------------------- %| section "Version 3.1.1 (2009-11-16)" %#---------------------------------------------------------------------------- This release fixes bugs in automated view arrangements and updates the user manual. %#-------------------------------------------------------------------------- %| paragraph "Thank you" %#-------------------------------------------------------------------------- * Nathan Neff reported the client ordering bug in automated view arrangements. %#-------------------------------------------------------------------------- %| paragraph "Bug fixes" %#-------------------------------------------------------------------------- * The relative order of clients was not being preserved during view arrangements. * Focus on the current view was lost after automated view arrangement was applied if the current view was not the first view on which the initially focused (before the automated arrangement was applied) client appeared. %#---------------------------------------------------------------------------- %| section "Version 3.1.0 (2009-10-02)" %#---------------------------------------------------------------------------- This release adds new methods, fixes some bugs, and revises the manual. %#-------------------------------------------------------------------------- %| paragraph "New features" %#-------------------------------------------------------------------------- * Add `Client#float` methods to manipulate floating status. * Add `Client#manage` methods to manipulate managed status. * The `Client#tags=` method now accepts '~' and '!' tag prefixes. %#-------------------------------------------------------------------------- %| paragraph "Bug fixes" %#-------------------------------------------------------------------------- * There is no `View#move_focus` method, only `View#select`. * Assertion failure in test suite because all files in <tt>/rbar</tt> (inside wmii's IXP filesystem) contain an automatic color header when read. %#-------------------------------------------------------------------------- %| paragraph "Housekeeping" %#-------------------------------------------------------------------------- * Use simpler Copyright reminder at the top of every file. * Open source is for fun, so [be nice](http://loiclemeur.com/english/2009/03/never-criticize-your-competitors.html): speak of "related works" instead of "competitors". %#---------------------------------------------------------------------------- %| section "Version 3.0.0 (2009-05-11)" %#---------------------------------------------------------------------------- This release revises method names, adds new methods, and fixes a bug. %#-------------------------------------------------------------------------- %| paragraph "Incompatible changes" %#-------------------------------------------------------------------------- * Rename `#toggle_` methods to use `!` suffix in their names. * Rename `#float` methods to `#floating`. * Rename `View#floater` method to `View#floating_area`. %#-------------------------------------------------------------------------- %| paragraph "New features" %#-------------------------------------------------------------------------- * Add `Client#stick` methods to manipulate sticky status. * Add `Client#fullscreen` methods to manipulate fullscreen status. * Add `Client#slay` method which is a forceful version of `#kill`. * Add `View#select` method to move focus relatively inside a view. * Add `Area::floating` method for symmetry with `Area::curr`. * Add `View#managed_area` aliases for `View#column` methods. %#-------------------------------------------------------------------------- %| paragraph "Bug fixes" %#-------------------------------------------------------------------------- * Fix error when unzooming clients from temporary view. * Fix code that launches temporary terminals in <%= xref "Tutorial" %>. Use the <tt>/bin/sh</tt> version of the **read** command for portability. %#-------------------------------------------------------------------------- %| paragraph "Housekeeping" %#-------------------------------------------------------------------------- * Use `Client#send` instead of `#swap` in automated arrangements because it causes less traffic on /event/. * Add old release notes from blog to user manual. %#---------------------------------------------------------------------------- %| section "Version 2.1.0 (2009-05-09)" %#---------------------------------------------------------------------------- This release improves client arrangement, fixes several bugs, and cleans up the code. %#-------------------------------------------------------------------------- %| paragraph "Thank you" %#-------------------------------------------------------------------------- * Simon Hafner reported several bugs. * Michael Andrus verified bug fixes. %#-------------------------------------------------------------------------- %| paragraph "New features" %#-------------------------------------------------------------------------- * Focus is now restored on the initially focused client after applying <%= xref "Automated client arrangement" %>s. * The push(), insert(), and unshift() instance methods of the `Rumai::Area` class now preserve the order of inserted clients. * The `Rumai::View#arrange_in_grid()` method now accepts 1 as a parameter. This invocation causes every column to contain at most 1 client. %#-------------------------------------------------------------------------- %| paragraph "Bug fixes" %#-------------------------------------------------------------------------- * Fix error caused by focusing the top/bottom client in the destination area before sending new clients into that area. * Fix error when importing clients into an empty area. %#-------------------------------------------------------------------------- %| paragraph "Housekeeping" %#-------------------------------------------------------------------------- * Use snake_case instead of camelCase for variable names. * Add copyright notice at the top of every file. * Plenty of code formatting and beautification. %#---------------------------------------------------------------------------- %| section "Version 2.0.2 (2009-02-26)" %#---------------------------------------------------------------------------- This release fixes a connection bug. %#-------------------------------------------------------------------------- %| paragraph "Thank you" %#-------------------------------------------------------------------------- * Simon Hafner reported and helped debug the `$DISPLAY` bug. %#-------------------------------------------------------------------------- %| paragraph "Bug fixes" %#-------------------------------------------------------------------------- * wmii omits the fractional portion of `$DISPLAY` in its socket file path. Rumai was trying to connect with the entire `$DISPLAY` value (including the fractional portion) and thus could not find wmii's socket file. %#---------------------------------------------------------------------------- %| section "Version 2.0.1 (2009-01-25)" %#---------------------------------------------------------------------------- This release simplifies project administrivia using [<%= Inochi::PROJECT %>](<%= Inochi::WEBSITE %>), improves the unit tests, and revises the user manual. %#-------------------------------------------------------------------------- %| paragraph "Bug fixes" %#-------------------------------------------------------------------------- * The <tt>lib/rumai/ixp/message.rb</tt> library's unit test would fail if <tt>/rbar/status</tt> did not already exist in wmii. %#-------------------------------------------------------------------------- %| paragraph "Housekeeping" %#-------------------------------------------------------------------------- * Store IXP socket address in `Rumai::IXP_SOCK_ADDR`. * Added missing test cases for (TR)create and (TR)remove messages in the unit test for the <tt>lib/rumai/ixp/message.rb</tt> library. %#---------------------------------------------------------------------------- %| section "Version 2.0.0 (2008-02-04)" %#---------------------------------------------------------------------------- This release adds support for wmii 3.6, improves the performance of the IXP library, and fixes some bugs. %#-------------------------------------------------------------------------- %| paragraph "Thank you" %#-------------------------------------------------------------------------- * Christoph Blank tested Rumai 1.0.0 under wmii 3.6 and reported bugs. %#-------------------------------------------------------------------------- %| paragraph "Incompatible changes" %#-------------------------------------------------------------------------- * wmii version 3.6 or newer is now required. * The `Rumai::IXP::Agent::FidStream#read_partial` method has been replaced by `Rumai::IXP::Agent::FidStream#read(true)` for efficiency. * The `Rumai::IXP::Agent::FidStream#write` method no longer writes to the beginning of the stream. Instead, it writes to the current position in the stream. * The `Rumai::View#floating_area` method has been renamed to `Rumai::View#floater` for brevity. %#-------------------------------------------------------------------------- %| paragraph "New features" %#-------------------------------------------------------------------------- * Added several more methods (such as rewind, pos=, eof?, and so on) from Ruby's IO class to the `Rumai::IXP::Agent::FidStream` class. * Added the `Rumai::Client#kill` method to simplify client termination. %#-------------------------------------------------------------------------- %| paragraph "Bug fixes" %#-------------------------------------------------------------------------- * Fixed a race condition in `Rumai::Agent#talk` which would cause Rumai to hang when multiple threads used it. %#---------------------------------------------------------------------------- %| section "Version 1.0.0 (2008-01-26)" %#---------------------------------------------------------------------------- This is the first release of Rumai, the evolution of [wmii-irb](http://article.gmane.org/gmane.comp.window-managers.wmii/1704), which lets you manipulate the [wmii](<%= wmii_url %>) window manager through [Ruby](<%= ruby_url %>). Happy birthday!