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.