Bruce Stephens <[EMAIL PROTECTED]> writes:

> Etan Reisner <[EMAIL PROTECTED]> writes:

[...]

>> For that you'd probably need to write an script that listens for
>> the clientwin_do_manage_alt hook (I think) and check if the client
>> being placed is one you want to handle and then which frame you are
>> in and then just place it in the correct one.
>
> Yes, and maybe I'll end up doing that.  For the moment, however,
> I'll try the much simpler approach of using winprops.  Probably
> that'll be fine.

Seems fine, so I'll probably stop while I'm ahead.  The trick was
knowing that frames could be named, as well as workspaces; for some
reason I hadn't noticed that.

It turns out that Emacs isn't that helpful in what it provides in the
way of class, role, etc.

However, I noticed that one instance I had (which I use for email) had
an instance "emacs21" (presumably I start it using the command
emacs21), and the others are "emacs".

So that's enough.  I also start my second emacs (the one I use for
everything other than gnus) off in a workspace I never look at, and
use gnuclient (configured to use a new frame for each request).  So
I've used this after naming the appropriate frames (for the record, in
case anyone else finds it useful):

defwinprop{
   instance = "emacs",
   target = "hidden",
   oneshot = true
}

defwinprop{
   instance = "emacs",
   target = "rr"
}

defwinprop{
   instance = "emacs21",
   target = "gnus"
}

So I edit the diff, moving that to a frame other than rr, and frames
it pops up to view source go into rr.

Surprisingly convenient---it was never particularly irritating doing
it by hand, but it's just nice for it to happen automatically, so I
don't need to worry about it.

Reply via email to