ratpoison-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[RP] Ramblings...


From: Mike Meyer
Subject: [RP] Ramblings...
Date: Fri Nov 30 07:17:02 2001

First, some ammunition for keyboard-driven window management, and for
giving frames numbers at the very least.

Because of a recent discussion elsewhere, I sat down and did the GOMS
calculations for going to a window by number (i.e. C-t <digit>)
vs. using the rat to point at it and click. The answer is that the
former is 50% more efficient. My personal configuration now goes to
frames with that mechanism, and I never use window numbers. That's
because my personal configuration has four frames pretty much fixed
displaying system information of various sorts, and four frames I use
to work in. Those frames have three different sizes. To use an
application, I typically go to the frame of the size I want it in,
then open the application. 90% of the time, I just go to the frame I
want, because the application set doesn't really change very much.

Second, on PLWM. As previously mentioned, that's a toolkit for
building window managers based on Python. I believe it's what was
discussed for rp version 2, except done in Python instead of Common
LISP.

The basic idea is that you create subclasses of the Client, Screen and
WindowManager classes that mix in the features you want, set the
client_class and screen_class class variables of your windowmanager
class to the your client and screen classes, then call a function in
the main module that deals with resource and the environment and
starts your customized window manager.

[Note: Because "frames" in most window managers refers to the
decoration around the window used with the rat to control it, this
feature is called panes outside of rp, and I'm going to use that
terminology from now on.]

I've been playing with it, and quite frankly, I'm amazed. It's the
neatest thing I've seen on a computer since I first saw a Lisa. It
took about two days to create a mixin for panes. Once I had that
going, simply adding the pre-existing color and border mixins got me
windows with borders. To change the border width, I set the class
variable for border width in my client class, and the look is
identical to my rp screen. Adding the focus mixin and calls in the
panes mixin to indicate changes in focus means that inactive windows
look like rp, but the active one has a border color of 60% grey. I
tried it the other way around, and didn't like it at all.

PLWM already provides support for keyboard handling, including
keymaps. The major downside is that PLWM doesn't have an "input"
window mechanism. Actually, I'm not sure that's a downside. It's
making me rethink the way things are done, and I think the results
might be better than rp is now. Then again, maybe not.

The panes stuff is not quite ready for release - I need to do some
hackery to get menus ala ratmenu working properly.

Last time I mentioned this on the list, I was told "We want the real
thing". While I understand the sentiment, Python provides most of what
I consider "the real thing", which was R3RS Scheme. More importantly,
the window manager that's a basis for all this has already been
written, and is working properly.

I'm also taking a different approach to the way windows and panes
interact than rp has. I'm not going to discuss it here, because I
think PLWM discussion is probably off-topic for the list. If you
really want to know, ask. If you include the list in the question,
I'll include it in the answer.

        <mike
--
Mike Meyer <address@hidden>                     http://www.mired.org/home/mwm/
Q: How do you make the gods laugh?              A: Tell them your plans.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]