On Thu, May 29, 2008 at 05:15:29PM +0800, sqweek wrote:
* Event-Notice: nice idea, dicey implementation... I implemented
something similar as a seperate action awhile back, that would
remember the last 10 messages and cycle on mouse clicks. Never got
around to sharing (or using) it.

Yeah, the implementation is... wierd. I just ripped it out of one of my scripts, because it seemed general enough to be useful (it's in my volume changer, for instance). I don't want anything fancier, but something less 'dicey' would be great, if anyone wants to provide it. It works, as is.

* LBarMenu-3-Delete: Guess what function got unbound as soon as I noticed it? :P
 The generalised menu interface is kind of nice though.

It actually turns out to be useful. I'll take it out of the base rc.wmii if enough other people think it should go. It's pretty long.

* /tags/1 exists even with no clients now?

Yeah, it caused too much trouble, before. Plus, it only ever lasted until you either opened a client, or selected a view.

* # For the time being, this file follows the lisp bracing convention.
 This comment totally failed to surprise me; after debugging a couple
of things and absorbing the scripts, the *code* started reminding me
of lisp. I half suspect you'll take that as a compliment, but it got
me wondering... Why are we using rc? rc's forte is environment
manipulation and process spawning, not meta programming and api
construction (ok, rc.wmii does its fair share of the former aswell).
In fact, considering the interface now provided by wmii.rc, I wonder
why we use 9p at all. wmii could be using any sort of RPC protocol
behind wi_foo and no one would know the difference. The greatest one
for me was:

That's true, but the 9p RPC protocol is simple and poratable. There are several other implementations. Shells actually turn out to work surprisingly well for metaprogramming... You just have to pretend that they're tcl.

fn wi_readevent {
       wmiir read /event
}

What. The. Hell. wi_readevent is referenced exactly once, for those wondering.
I suspect this is half the point - hide details of the 9p interface
behind a "nice" rc interface.

Nope, that's not it at all. That actually probably shouldn't be there, but I needed it for one of my scripts that has a timer, and sends Tick events periodically. I was thinking about adding that to wmii.rc.

But isn't that the exact point of 9p? To
hide the details of X11 and window management behind a "nice" 9p
interface? The mere existance of wmii.rc just screams at me "Why, WHY?
Why do we need this extra level of indirection?" The obvious
conclusion is that our current 9p interface sucks, but I wonder if
there aren't other factors...

It's not about indirection, it's about verbosity. I got tired of seeing "wmiir read /foo/bar | awk '{some other crap}'" repeated. wmii.rc is only meant to capture common idioms. It probably needs to be scaled back a bit.

I haven't read uriel's reply to this. I suspect that I should just delete it.


Reply via email to