[wmii] Re: ruby-wmii & wmii 4

From: Jeremy Maitin-Shepard <jeremy_AT_jeremyms.com>
Date: Sun, 13 Aug 2006 00:13:43 -0400

Mauricio Fernandez <mfp_AT_acm.org> writes:

> [snip]

> Any chance I could have a look at the modifications? ;)


You can find my wmiirc and related files at:


I've also made available the version of the wmii code that I'm using,
namely the 20060705 snapshot with modifications that I've made,
including the following:

 - Reverted the changes to the tag bar, because I think they resulted in
   an uglier appearance, and I don't have any desire to use the mouse
   for retagging and such anyway.

 - Changed all references to clients in the filesystem interface to use
   the unique (i.e. never reused) client "ids" rather than client
   indices; this avoids race conditions in implementing various

 - Added a "select client <id>" command to /tag/<tag>/ctl to make the
   client with the specified id the selected client in the specified

 - Fixed a bug related to tag events when the first client window
   created and reassigned a tag due to /tagrules.

 - Changed the configurerequest handler to work more sanely, i.e. if the
   window is managed, ignore the request, and send a synthetic
   configurenotify event, as required by the ICCCM and on which various
   programs depend (without this change, a synthetic configurenotify
   event is not sent in most cases, and the request was sort of
   "partially" processed). Because I didn't bother adding in fullscreen
   switch handling code (which was written in somewhat of a hackish way,
   which is why I didn't bother adding it back in), I expected this
   change to break fullscreen switching, but for me fullscreen switching
   still seems to work. (Note that there are other places where
   attempts to set fullscreen mode are checked, so perhaps they are

 - Changed the client resizing and positioning logic to handle the
   aspect hint correctly, and avoid the non-uniform gaps between
   windows. The uniform margin size is specified by def.margin (which
   can be adjusted using the fs interface). If, due to aspect or
   resizeinc hints, a client window needs to take up less space than is
   available for the frame, it is centered in the frame and the
   remaining area is filled with black. There is no attempt to gain an
   extra few pixels of space by adjusting frame sizes based on resizeinc
   hints, as the code previously attempted to do (but I don't think it
   did it very well). This change prevents windows from annoyingly
   changing in size by small amounts when the focus changes.

Jeremy Maitin-Shepard
Received on Sun Aug 13 2006 - 06:14:36 UTC

This archive was generated by hypermail 2.2.0 : Sun Jul 13 2008 - 16:12:46 UTC