I believe it is compositor policy whether windows should be active when they're created. If this is an issue for you, it should be fixed in the compositor.
Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. |
I believe it is compositor policy whether windows should be active when they're created. If this is an issue for you, it should be fixed in the compositor.
At KDE we want to move away from unconditionally activating windows to allow for proper focus stealing prevention. I am pretty sure Gnome’s Mutter also has strict(er) activation policies nowadays.
We have rolled out a similar change to Qt to make it consistent with its other platforms and haven’t noticed any issue with it. If the window was activated automatically by the compositor, this new code will effectively no-op, so it does no harm.
Unfortunately, the whole activation scheme was somewhat underspecified, it wasn’t clear whether activation should be done on show, and it cannot really be changed now but we can at least improve client behavior where we see it.
Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. |
Kai Uwe BroulikI believe it is compositor policy whether windows should be active when they're created. If this is an issue for you, it should be fixed in the compositor.
At KDE we want to move away from unconditionally activating windows to allow for proper focus stealing prevention. I am pretty sure Gnome’s Mutter also has strict(er) activation policies nowadays.
We have rolled out a similar change to Qt to make it consistent with its other platforms and haven’t noticed any issue with it. If the window was activated automatically by the compositor, this new code will effectively no-op, so it does no harm.
Unfortunately, the whole activation scheme was somewhat underspecified, it wasn’t clear whether activation should be done on show, and it cannot really be changed now but we can at least improve client behavior where we see it.
Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. |
Kai Uwe BroulikI believe it is compositor policy whether windows should be active when they're created. If this is an issue for you, it should be fixed in the compositor.
Thomas AndersonAt KDE we want to move away from unconditionally activating windows to allow for proper focus stealing prevention. I am pretty sure Gnome’s Mutter also has strict(er) activation policies nowadays.
We have rolled out a similar change to Qt to make it consistent with its other platforms and haven’t noticed any issue with it. If the window was activated automatically by the compositor, this new code will effectively no-op, so it does no harm.
Unfortunately, the whole activation scheme was somewhat underspecified, it wasn’t clear whether activation should be done on show, and it cannot really be changed now but we can at least improve client behavior where we see it.
what is the GTK behavior?
I believe it is compositor policy whether windows should be active when they're created. If this is an issue for you, it should be fixed in the compositor.
A kwin maintainer here. As Kai said, we want to implement a more stricter window activation policy where the compositor doesn't activate new windows unconditionally. For example, if a user is typing in a password, we don't want some random window popping up and "stealing" the key presses. In order to achieve that, when a window is mapped, the app needs to provide a proof that it maps the window in response to user input so it can be activated. On wayland, it's xdg activation tokens.
In other words, at the compositor side, we want to trace every new mapped window to a particular button press or a key press that triggered it.
As far as I know, both GNOME and KDE are moving in this direction. For example, GNOME people proposed adding activation tokens to the global shortcuts portal, which we also really want.
Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. |
Kai Uwe BroulikI believe it is compositor policy whether windows should be active when they're created. If this is an issue for you, it should be fixed in the compositor.
Thomas AndersonAt KDE we want to move away from unconditionally activating windows to allow for proper focus stealing prevention. I am pretty sure Gnome’s Mutter also has strict(er) activation policies nowadays.
We have rolled out a similar change to Qt to make it consistent with its other platforms and haven’t noticed any issue with it. If the window was activated automatically by the compositor, this new code will effectively no-op, so it does no harm.
Unfortunately, the whole activation scheme was somewhat underspecified, it wasn’t clear whether activation should be done on show, and it cannot really be changed now but we can at least improve client behavior where we see it.
what is the GTK behavior?
I believe GTK4 also requests activation on show. When I launch Gnome Text Editor I can see it using xdg_activation right away.
Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. |
Code-Review | +1 |
Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. |
Code-Review | +1 |
Commit-Queue | +2 |
Kai Uwe BroulikI believe it is compositor policy whether windows should be active when they're created. If this is an issue for you, it should be fixed in the compositor.
Thomas AndersonAt KDE we want to move away from unconditionally activating windows to allow for proper focus stealing prevention. I am pretty sure Gnome’s Mutter also has strict(er) activation policies nowadays.
We have rolled out a similar change to Qt to make it consistent with its other platforms and haven’t noticed any issue with it. If the window was activated automatically by the compositor, this new code will effectively no-op, so it does no harm.
Unfortunately, the whole activation scheme was somewhat underspecified, it wasn’t clear whether activation should be done on show, and it cannot really be changed now but we can at least improve client behavior where we see it.
Kai Uwe Broulikwhat is the GTK behavior?
I believe GTK4 also requests activation on show. When I launch Gnome Text Editor I can see it using xdg_activation right away.
Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. |
Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. |
I have now adjusted the existing test to create the window inactive to ensure the explicit activation it tests for works, and I have added a new test for activate on show.
Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. |
Code-Review | +1 |
For simplicitly, a Wayland compositor typically activates a window
Please fix this WARNING reported by Spellchecker: "simplicitly" is a possible misspelling of "simplicity" or "implicitly".
To byp...
"simplicitly" is a possible misspelling of "simplicity" or "implicitly".
To bypass Spellchecker, add a footer with DISABLE_SPELLCHECKER
Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. |
For simplicitly, a Wayland compositor typically activates a window
Please fix this WARNING reported by Spellchecker: "simplicitly" is a possible misspelling of "simplicity" or "implicitly".
To byp...
"simplicitly" is a possible misspelling of "simplicity" or "implicitly".
To bypass Spellchecker, add a footer with DISABLE_SPELLCHECKER
Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. |
Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. |
[Wayland] Request XDG activation on window show
For simplicity, a Wayland compositor typically activates a window
when it is mapped. However, it does not necessarily have to and
might not want to in order to prevent stealing focus.
Therefore, explicitly request activation when the window is shown
as active. If it is not configured yet, wait for that to happen.
Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. |