ratpoison-devel
[Top][All Lists]
Advanced

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

Re: [RP] Ramblings...


From: Mike Meyer
Subject: Re: [RP] Ramblings...
Date: Fri Nov 30 15:13:02 2001

Martin Samuelsson <address@hidden> types:
> On Fri, Nov 30, 2001 at 09:16:07AM -0600, Mike Meyer wrote:
> > 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.
> I know I'm not representive of the lists population, but I would like to
> read about anything related to rp on the list. Rewriting a similar with
> an other language and other toolkits seems related to me.

Ok. Actually, one of the cool things that got me happened when I was
dealing with window gravity. The default gravity is stored in class
variables for the panes (aka frames) mixin. When a client is opened in
a pane, it reads the gravity from that pane. The user changes the
default by overriding the Pane class variables. You can, of course,
move a window in a pane if you want to. More interesting, as a result
of this implementation, the user has the ability to change the default
gravity settings for an individual pane. I didn't set out to do that;
it's just a property of the implementation.

> Also I think general discussion about ratless software fits in as well.
> Or should we start a new list about such things?

I don't know, but I'll give a quick description here. If others want
it to move, let us know.

There's no functionality that lets the user set the name of a pane. On
the other hand, that would be a trivial mixin to write. Like so:

class namesClient:
    "Client mixin that lets the user specify the name to use for a client."

    name = None
    def get_title(my):
        if name: return name
        else return Client.get_title(my)

    def set_title(my, title): my.name = title

That's short enough it'll probably never be added to the panes mixin
proper. Just put the relevant segment in the client class you're
creating in your window manager.

Panes probably won't ever get names - numbers seem to be sufficient
for them. Adding that in the window manager would be a bit more
difficult than the above, but just a bit.

Mapped windows always "belong" to a pane. There's a menu to that lists
all the windows that belong to that pane to go to one of them. There's
also a menu of all the windows, mapped or not. It will open the window
in the current pane, even if it was opened in another pane. Finally,
there's a menu of all the panes, listing the pane number and the
window currently opened in it.

Note that the menus are actually implemented outside the panes mixin,
in the "window manager" proper. If you want a different behavior for
them, tweaking that is straightforward.

        <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]