Re: [wmii] wmii-3 configuration - in Ruby

From: Mauricio Fernandez <>
Date: Mon, 5 Jun 2006 02:06:05 +0200


On Sun, Jun 04, 2006 at 11:24:39AM -0700, Suraj N. Kurapati wrote:
> why the lucky stiff wrote:
> > Yay, well done. It kind of gets you away from using the numbers like they're
> > just virtual desktops. My wmiirc is feeling that.
> Why, thank you. ;-)
> > Suraj, have you seen Mauricio Fernandez' wmiirc?[1] Yours has a very nice
> > simplicity. His has some fun syntax.
> Very cool. It has the feeling of setting up tasks in Rake. Thanks
> for the tip.

I hesitated to talk about my wmiirc on this list because I feel a bit guilty
about it being so long: it goes a bit against wmii's minimalist philosophy.
But I've been using wmii for a while now, and I'd have hated to have to script
it in sh. And I felt like providing some syntactic sugar to the future myself.

I've been adding some experimental stuff (i.e. things whose usability I want
to put to test) as of late. Here's a short summary of what I've implemented
so far:

* abstracted the event loop
* proper handling of child processes (status etc.) independently from update
  rates (will soon improve it further)
* auto-updating program list with caching
* "internal" actions: defined in wmiirc instead of in a separate script, in
  addition to the normal way
* MOD-Shift-t (retag client) accepts +foo that adds foo to the tag list,
  leaving other tags untouched.
* MOD-Shift-r retags, like MOD-Shift-t, and moves to the view corresponding
  to the new/added tag (seems good)
* namespaces: tags of the form namespace:subtag, as presented a few days ago
  on this list. I've only been using namespaces for a couple days, but it
  seems good so far.
  * MOD2-Shift-t: if a client is tagged as foo and the given tag is bar,
    it'll be retagged as foo:bar. If we pass +bar, it'll be foo+foo:bar
  * MOD2-Shift-r: same as MOD2-Shift-t, plus switches to the new view
  * quick cycling through the views in the current namespace: MOD2-UP/DOWN
* cycling through the views (the classic :); I've mapped that to
* Mod-Control-y prefix to execute a program in a new (numeric) view and switch
  to it (used for scratchpads).
* volume control with the mouse scroll buttons
* quick dict lookup: ask for word with wmiimenu, get kdict to define it with
  dcop, switch to that view --- I'll be changing to a text-mode dictd client
* changing the active view with the mouse scroll buttons (I rarely use it
  nowadays, the mouse is so far from the home row...)

Mauricio Fernandez  -   -  singular Ruby
Received on Mon Jun 05 2006 - 02:06:08 UTC

This archive was generated by hypermail 2.2.0 : Sun Jul 13 2008 - 16:07:49 UTC