= 2006-09-30

* Included 1.1.0 release of Ruby-IXP.


= 2006-09-29

* Fixed bug in toggle_maximize method (in rc.rb) due
  to accessing a nonexistent file in IXP file system.

  Thanks to Christian von Mueffling for reporting this bug.

* Fixed problem with reading
  index (Wmii::Client#index) of
  currently selected client.

* Wmii.find_client now accepts a variable number of places to be searched.


= 2006-09-28

* Added number_view_buttons method (in rc.rb) which numbers
  the view buttons displayed on the bar, from left to right.


= 2006-09-27

* Included two main concurrency fixes for Ruby-IXP.


= 2006-09-24

* Added two-stage event handling,
  to minimize the number of events
  missed while processing an event.


= 2006-09-23

* Fixed event & status bar loop. It was forgotten when I transitioned
  to the new Ixp::Node#method_missing behavior on 2006-09-22.

  Thanks to Fredrik Ternerot for reporting this bug.

* When selecting views based on their first letter: if more than one
  view matches, then they are cycled (adapted from Fredrik Ternerot).

* Added focus_view_matching method in rc.rb.

* Fixed errors that occurred when the tile and
  diamond arrangements were applied to empty views.


= 2006-09-22

* Ixp::Node#method_missing now only dereferences files. Also,
  the ! notation has been removed, as you can see below.

    >> Wmii.fs.bar.status
    => #<Ixp::Node:0xb7b5940c @path="/bar/status">
    >> Wmii.fs.bar.status.read
    => ["colors", "data"]
    >> Wmii.fs.bar.status.data
    => "Fri Sep 22 18:46:11 PDT 2006 | 0.06 0.10 0.08 | 531M 100% /home"
    >> Wmii.fs.bar.status.data!
    => #<Ixp::Node:0xb7b377e4 @path="/bar/status/data!">


= 2006-09-21

* Fix some forgotten changes from show_menu() returning *nil*.

* Exception error message (xmessage) now lets you restart *wmiirc*.

* Updated event loop to generate less 9P traffic.


= 2006-09-20

* Included code from upcoming Ruby-IXP 1.1.0 release.

* Ixp::Node#method_missing now only dereferences a node
  if the method is suffixed with an exclamation mark.

* show_menu now returns *nil* if nothing was chosen.

* Updated event loop for {wmii-3.1's /event overload bug
  fix}[http://wmii.de/pipermail/wmii/2006-September/002718.html].

* Added explicit termination of already running instances
  in *wmiirc* via Process.kill and `ps`, instead of using
  /event as a means of coordinating said task.


= 2006-09-19

* Included Ruby-IXP 1.0.3 release.

* Added Ixp::Node#open method to reduce 9P traffic.

* Added ability to fetch a sub-node
  via Ixp::Node#method_missing, while
  not dereferencing it (reading its
  contents if it is a file), by adding
  an exclamation to the file name.

  For example, consider the following output in *wmiish*.

    >> Wmii.fs.bar.status.data
    => "Tue Sep 19 10:50:41 PDT 2006 | 0.30 0.43 0.29 | 1.7G 98% /home"
    >> Wmii.fs.bar.status.data!
    => #<Ixp::Node:0xb7bf1f18 @path="/bar/status/data">

* *wmiirc* no longer automatically resumes from error. Instead,
  it throws you a terminal and shows you the error details so
  you have a chance to fix it and restart *wmiirc* yourself.


= 2006-09-18

* Included Ruby-IXP 1.0.2 release.


= 2006-09-17

* Added Wmii::View#empty? and Wmii::Area#empty? methods.

* change_tag_from_menu now returns the chosen tag.

* Included Ruby-IXP 1.0.1 release.


= 2006-09-16

* Fixed toggling of maximization
  of currently focused client,
  via toggle_maximize in rc.rb.

  Thanks to Fredrik Ternerot for reporting this bug.


= 2006-09-15

* Added Wmii.get_view and Wmii.get_client
  methods, to further minimize hard-coded
  IXP file system paths. This will make it
  easier to upgrade to wmii-4 later on.

* Fixed ruby-ixp to be internally buffered for Ixp#read.

* Event loop now uses Ixp#read instead of *wmiir*.

* Already running configurations now correctly
  exit when another instance starts up.


= 2006-09-14

* Added ability to swap current client with the
  currently focused client in any other column.


= 2006-09-13

* Reverted to *wmiir* for event loop, because
  Ixp#read isn't internally buffered!

* Changed Wmii::View#each to Wmii::View#each_column because
  floating area isn't a column (it doesn't have /mode file).

* Added shortcuts for setting layouts of all columns in current view.

* Added shortcuts for selection of current column.

* Fixed ability to terminate multiple clients.


= 2006-09-12

* Event loop now uses Ixp#read instead of *wmiir*.

  * Already running configurations now correctly
    exit when another instance starts up.

* Added Wmii::View#diamond! -- a diamond-shaped automated client arrangement.

* Added Wmii::Area#length= for setting number of clients in a column.


= 2006-09-11

* Added exception logging and recovery mechanism.

  * wmiirc is now split into a loader
    file (wmiirc) and a configuration
    file (wmiirc-config.rb), just
    like in the ruby-wmii project.

* IXPException' are no longer hidden away inside Ixp.

* Moved support for destructive area-operations
  from Wmii#with_selection into Array#each so
  that it is generally available.


= 2006-09-10

* Added wmiish--an interactive Ruby shell for controlling wmii.

* Lots of major refactoring in Ixp and Wmii.
  * Moved utility methods from wmiirc into rc.rb.


= 2006-09-09

* Cleaned up IXP abstraction... now
  multiple levels of method_missing
  works, and so does self[sub_path]

* Wmii#with_selection now supports destructive area-operations.

* Update for compliance with new unique-client-id in filesystem patch.


= 2006-08-31

* Added facility which sends the selection
  to temporary view or switches back again.


= 2006-08-30

* Add Wmii#with_selection method for operating on all clients in selection.
