Raising windows on Wayland

Martin Flöser mgraesslin at kde.org
Tue Jul 3 17:32:46 BST 2018


Am 2018-07-03 18:05, schrieb Aleix Pol:
> On Tue, Jul 3, 2018 at 6:02 PM Martin Flöser <mgraesslin at kde.org> 
> wrote:
>> 
>> Am 2018-07-03 14:45, schrieb Aleix Pol:
>> > Dear kwiners,
>> > Would it be possible to find a way to do so?
>> >
>> > I know we don't want windows to be positioning themselves willy-nilly
>> > on the window stack, but we certainly need to figure out his use-case.
>> >
>> > What would need to happen to do this?
>> >
>> > If you need to, I can compile a list of use-cases.
>> 
>> Hi Alex,
>> 
>> this really depends on the use case. Instead of allowing general 
>> raising
>> I would prefer to make the workflows work correctly. E.g. if you want
>> that the polkit authentication dialog is above discover we can make 
>> this
>> work right now without needing to implement window raising.
>> 
>> Cheers
>> Martin
> 
> That's not the use-case.
> 
> A use-case is I was using Discover, someone pressed
> appstream://org.kde.kate and wants to install it. Discover changes but
> doesn't go into the foreground.
> Similarly, we want the web browser to raise after we've pressed a URL 
> on an app.
> Another thing I keep hitting: I open telegram or konversation on
> krunner, nothing happens. It's because it's open somewhere under my
> current window.

Ok, that's all the same pattern: we have an action in application A 
which should activate (and raise) application B.

First of: KWin should prevent application B to activate. This is only 
working because we don't have focus stealing prevention for Wayland 
windows yet. If we had focus stealing prevention, it would kick in and 
prevent application B from activating.

The solution to this is a mechanism to pass activation around through a 
side channel. Application A would need to create a token before 
activating B and pass the token to B. B would use this token towards the 
compositor and the compositor would be able to allow the request as it 
sees that application A passed the focus to application B. That kind of 
matches what startup notifications used to be on X11. This is basically 
https://phabricator.kde.org/T4448

Ideally this needs to be standardized so that it does not only work with 
our applications but with any.

Cheers
Martin


More information about the Plasma-devel mailing list