Firefox not taking focus when opening links from (EDIT) some apps but not others on Wayland (KDE)

Thorned_Rose@kbin.social to Linux@lemmy.ml – 34 points –

Dunno if this is Wayland, Thunderbird, Firefox or KDE causing this issue but in the past few days I've been giving Wayland a go. Been much snappier and no issues but for Firefox not taking focus when I open web links in Thunderbird.

When I use Thunderbird with X and click on a link, Firefox will correctly grab focus and open the link.

Using Wayland, clicking a link in Thunderbird correctly opens the link in Firefox however Firefox stays minimised or drawn behind the other windows. My dock (KDE panel set to "Windows can cover") also does not pop up like it normally would if I've opened something but it's in the background. It stays hidden and I have to mouse over it to see that the Firefox icon is highlighted.

I've tried opening links from the Steam client and Firefox correctly takes focus from there so it so far seems to be just Thunderbird links not opening correctly in Firefox. I haven't been able to find anything in KDE's settings that would affect only Thunderbird.

EDIT (tested some different app combos):

Applications it correctly takes focus from: Pamac, Bottles, Calibre, Gnome Calculator, Gnome Evince Document Viewer, Steam, Strawberry Music Player

Applications it doesn't grab focus from: Thunderbird and Betterbird, Libreoffice (links in the About or URL links in a document), GIMP, Krita, Signal, Kdenlive, Darktable, VLC, QtAV QMLPlayer, Obsidian

I also tried Okular links but for some reason those opened in Chromium instead of Firefox (despite Firefox being set to default) but Chromium did take focus.

It's a minor annoyance but obviously I would like to fix it if possible and continue using Wayland given that, for me, it's noticeably faster than X.

OS: Arch Linux x86_64
Kernel: 6.6.10-arch1-1
DE: Plasma 5.27.10
WM: kwin
Display Server: Wayland 1.22.0-1
GPU: AMD ATI Radeon RX 6800 XT

Thunderbird 115.6.1, Firefox 121.0.1.

TIA!

9

The same issue happens to me when opening links from any app on Wayland. For example, every time I click a link on a Discord chat, I have to manually click on the Firefox window because the focus is not automatic.

Same for me on Ubuntu 23.10. When I open a discord link I get a notification saying "Firefox is ready" instead of switching focus to firefox, and clicking that notification does not open Firefox.

Maybe Firefox, Thunderbird or Steam are running in XWayland and that causes different behaviour between them. Just guessing.

I thought that too but if you see my edits above, I tried several different app combos, and it's not consistent. I tried setting Chromium as my default browser (it opened all links and took focus correctly every time) and when I switched Firefox back to the default browser, Firefox didn't take focus from Steam even though it did originally 🤦🏻‍♀️

I’m not sure about Thunderbird specifically, but it works with any apps (like Kitty terminal or Slack client) on Plasma Wayland session for me. You’ve got no reaction at all, or is the task manager icon at least turning orange for attention?

This used to be a problem few plasma versions back as there wasn’t any standardized protocol for this, and then it got stabilized and implemented https://wayland.app/protocols/xdg-activation-v1

Is your default web browser set properly (check default programs in system settings, you might try and set it to something else then back)? And how about the following:

xdg-open https://kde.org

The task manager icon does indeed correctly turn orange.

Default web browser is set properly. I tried setting it to Chromium and every single app I tested with Chromium, correctly opened and took focus with Chromium. Switched back to Firefox and once again it's not always taking focus. Only this time, when I tested Steam, Firefox didn't take focus from Steam even though it did before.

This definitely seems to be an issue with Firefox + Wayland given that Chromium had no issues opening up all the links from different apps I tried.

At least the issue is now whittled down a bit more. Thanks for your help!

This probably works as intended, even of it’s not the desired behavior. Given that the protocol only allows clients to activate() the surface that needs attention and never mentions the actual window focus, it is up to the compositor (in this case Kwin) to decide what to do exactly with the request.

On a side note, I think this behavior should be configurable. I for one would not want windows to automatically focus ever (and Plasma even switches the virtual desktops when that happens), but I also see why someone would want to.