So I recently switched from ion2 to ion3, and I'm still messing
around. I've got a few questions that I think I'll try to answer on my
own, but there's one thing that I definitely can't figure out...

I'm trying to change the behavior of "attach tagged" as follows:
when I'm in a FloatWS, I don't want to attach the tagged windows to
the current frame in the workspace, I want to attach them to the
workspace as new toplevel frames. Unfortunately, WFloatWS is not a
WMPlex, so it doesn't define attach_tagged(). Therefore, I do:

    defbindings("WFloatWS", {
        submap(MOD1.."K", {
            bdoc("Bring tagged client wins to current workspace."),
            kpress("A", [[
                table.foreach(ioncore.clientwin_list(),
                    function(i, win)
                        if win:is_tagged() then
                            _:attach(win)
                            win:untag()
                        end
                    end)
                ]]),
        }),
    })

This seems to do the trick, but there's still a problem. In order to
get this to work, I have to remove any submap(MOD1.."K", ...) bindings
(including the defaults) for the WScreen and WMPlex contexts. If those
submaps are defined, the submap for WFloatWS doesn't seem to get
triggered at all. I don't understand this behavior. I guess there's
something I just don't fully comprehend about the way that key
bindings are invoked, but if someone could help explain it (and
hopefully suggest a way to get all these bindings to work together)
I'd really appreciate it.

As a more general question, the above seems like a a really
complicated way to accomplish my goal. Is there a reason that
attach_tagged() isn't defined for WFloatWS? How do the rest of you
guys go about moving a window from an ionws to a floatws? Or do you
just not do it? ;)

I suspect that more ion3 questions will follow... Thanks for any help,
and thanks so much, Tuomo, for ion!

Matt

-- 
Matt Hellige                  [EMAIL PROTECTED]

Reply via email to