How to add support for native KDE file save dialog windows in Firefox:
If you prefer your applications to be consistent there is a way to make the GTK based Firefox browser display the proper Plasma file dialogs with KDE. It involves a bit of work, but it's not too complicated and I've provided detailed instructions below.
If you have an older version of KDE Garuda installed you may not need to install the full list of required packages below.
On the newer lighter versions of KDE Garuda you will likely need to install the following packages:
xdg-desktop-portal
xdg-desktop-portal-kde
plasma-browser-integration
firefox-extension-plasma-integration
You can install all the above packages that are required with the following command:
sudo pacman -S xdg-desktop-portal xdg-desktop-portal-kde plasma-browser-integration firefox-extension-plasma-integration --needed
You will probably also want to install the "Plasma integration" extension for the best plasma support.
Install the "Plasma integration" extension through the Firefox Add-ons manager.
A logout or reboot may be required to activate the changes once all the installations are complete.
Once you have all the required pieces installed the only thing left to do is create a modified Firefox launcher.
On your desktop right click with your mouse and choose "create new" and then select "text file".
Name the file "firefox.desktop" then open the new file in whatever text editor you prefer.
Paste the contents of the code box below into the new text file:
[Desktop Entry]
Version=1.0
Name=Firefox
GenericName=Web Browser
Comment=Browse the World Wide Web
Keywords=Internet;WWW;Browser;Web;Explorer
Exec=GTK_USE_PORTAL=1 /usr/lib/firefox/firefox --new-window %u
Icon=firefox
Terminal=false
X-MultipleArgs=false
Type=Application
MimeType=text/html;text/xml;application/xhtml+xml;x-scheme-handler/http;x-scheme-handler/https;application/x-xpinstall;application/pdf;application/json;
StartupNotify=true
StartupWMClass=firefox
Categories=Network;WebBrowser;
Actions=new-window;new-private-window;
[Desktop Action new-window]
Name=New Window
Exec=GTK_USE_PORTAL=1 /usr/lib/firefox/firefox --new-window %u
[Desktop Action new-private-window]
Name=New Private Window
Exec=GTK_USE_PORTAL=1 /usr/lib/firefox/firefox --private-window %u
Save the modifiied desktop file's contents, and close your text editor.
The modified desktop start file should now be able to execute a startup of firefox with the proper native KDE file dialog present.
You can use the Firefox launcher from your desktop to start an instance of Firefox with the KDE dialogs present or move it elsewhere.
If you normally start your browser from a dock or panel then delete the Firefox icon that is currently there and replace it via drag and drop with the new launcher you've created.
If you normally start Firefox from within the terminal you can still do that via an alias with the following command:
GTK_USE_PORTAL=1 /usr/lib/firefox/firefox --new-window %u > /dev/null 2>&1 & disown; sleep 2; exit
I hope that helps some of the KDE lovers out there, as I hate the GTK dialog boxes (and I'm sure I'm not the only one out there that does).