Firedragon fails to open file dialog and similar

Hi there :slight_smile:

I just updated my newly installed Sway installation, and it seems it lost its capability to open the file dialog, interact with the "download as text" button on Github and similar.

Pretty sure this worked in live mode, and it does work with Librewolf, so Firedragon exclusive issue.

My Sway config: Paste.ee - config

This issue came up not long ago in one of the Hyprland threads. My hunch is that the OpenSUSE patches built in to Firedragon (for enhanced KDE integration) are somehow responsible for this issue

I found this clue in the ArchWiki:

To use the KDE file selection and print dialogs in Firefox 64 or newer, install xdg-desktop-portal and xdg-desktop-portal-kde, then set widget.use-xdg-desktop-portal.mime-handler to 1 in about:config. You should also change widget.use-xdg-desktop-portal.file-picker from 2 to 1.

I compared the value of widget.use-xdg-desktop-portal.file-picker in Firedragon and Librewolf, and sure enough it’s 1 on Firedragon, but 2 on Librewolf. Unfortunately, this is sort of a “baked-in” change–it can’t be set back to 2 on Firedragon because the value is greyed-out and “locked”.

Firedragon on the left, Librewolf on the right:

Some part of applying the OpenSUSE patches appears to permanently change this setting. I’m afraid the simplest solution may be to simply use Librewolf instead.

4 Likes

Thanks a lot. I actually suspected this, as Librewolf doesnt do much different, besides of this.

I would honestly appreciate running KDialog on this anyway.
I got it running till this point:

I installed xdg-desktop-portal, xdg-desktop-portal-kde, plasma-integration, breeze, kio-extras and kdialog.

As you can see, does it not pickup the theme, any idea?

Wait. Is Firedragon preinstalled? Since when it is: Do we really ship a broken ISO, in this regard? I mean, did nobody test this, and we ship Sway ISOs, who cannot open such dialog boxes?

I am not 100% sure anymore, if it came by default, but it looks like it.

This seems like a bit of an exaggeration, don’t you think so? When I think of a “broken ISO”, I do not think of an ISO that installs, updates, and runs perfectly fine except one feature in the default browser isn’t working.

I’m not actually sure how long this has been an issue, but I am fairly certain the browser used to work just fine. The first time we noticed this problem (that I am aware of) was when we started digging in to the Hyperland configuration a bit–I don’t think anyone even realized Sway was also affected the same way.

Is this right? If so, perhaps we can attribute the breaking change to a specific version of Firedragon by downgrading it until it works normally.

Of course, it’s possible the problem isn’t with Firedragon at all but rather with some other package (perhaps one of the xdg-desktop-portal packages? :thinking:).

If we can’t figure out how to fix Firedragon to work normally with Sway, it may be best to replace it with Librewolf as the default browser (this is currently the intervention we settled on for Hyprland).

3 Likes

Yeah, broken ISO means usually that the ISO itself is technically impossible to use and install. Poor choice of words on my part here.

But you know, what I mean.

And I also think going for Librewolf is an acceptable solution.

One other issue that I see, is that the file dialog (at least on my 13 inch Notebook) scales so, that its impossible to reach (or even see) the Save and Cancel buttons.

So I would see a Qt/KDE based dialog more fitting, but I am biased and would probably prefer all applications be that way anyway, so dont ask me. :wink:

I will check on the live ISO, about the default state of Firedragon on it.

it might be worth a try to set that option in .firedragon/yourprofile/user.js. The syntax for that can be found in the same directory, in prefs.js

Sorry. I did not update on this. A restart got the icons:

There is a way to force its value to 2:

Open /usr/lib/firedragon/distribution/policies.json

Then add


    "Preferences": {
      "widget.use-xdg-desktop-portal.file-picker": 2
    },

At the top of the file, it should look like this:


{
  "policies": {
    "Preferences": {
      "widget.use-xdg-desktop-portal.file-picker": 2
    },
    "AppUpdateURL": "https://localhost",
    "DisableDeveloperTools": false,
...

This is how I fixed the issue on my side.

3 Likes

Nice one, I’ll for sure give this a shot and I think the Hyprland maintainers will be interested in this as well. Thanks for the tip!

2 Likes

This turned out to be a great clue. Many thanks for the heads-up!

To put up a MR for Sway and Hyprland though, I needed a way to override this value that did not directly modify /usr/lib/firedragon/distribution/policies.json so the change would survive an update to that file. This suggestion was so close:

Unfortunately, it seems the user.js file does not allow hard-coded values to be overridden (if you can’t change it in about:config, you can’t change it with user.js).

After some digging, I discovered Firedragon allows a file at ~/.firedragon/firedragon.overrides.cfg which does allow more aggressive overwrites. Some testing suggests this file needs to be named exactly firedragon.overrides.cfg to work, but I checked and neither Sway nor Hyprland set this file by default so I put through a couple MR to add it.

Thanks again for the clues everybody, there is no way I would have figured that out on my own. :smile:

2 Likes