I'm not sure why an activiation request has to jump through these surface export hoops first. We export a surface... to do what with it? Export it to whom? What do they do with it? Instead, we could just activate the surface (though I'd suggest activating an xdg_toplevel rather than an arbitrary surface) directly. In that case I think it would be wise to just put an "activate" request (or perhaps "urgent" to avoid overloading the term) on xdg_toplevel rather than adding a standalone protocol.
Also, there are use-cases where applications can raise an urgency hint without stealing focus (though on X they very well might do that today), such as a chat client receiving a private message. Expressing this to the compositor via xdg_toplevel would be a good way to e.g. display that application differently in the panel. I see where you're going with this, though: an atomic and secure way of transferring focus to another application. This looks like an attempt to express something like intents on Wayland. I suggest looking into existing intents systems (e.g. Android) for prior art and putting together something a bit more sophisticated (and it might not make sense for it to live entirely in Wayland). Perhaps designing an out-of-band intents system first, then having it express some kind of handle, which can then be referred to from Wayland for the purpose of securely transferring focus, would be a better approach. It's hard to design a good Wayland protocol against the ephemeral "it may exist eventually" out-of-band negotiation process. -- Drew DeVault _______________________________________________ wayland-devel mailing list wayland-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/wayland-devel