On my system, I wanted Firefox profiles to feel like their own browser instances. Meaning, their own app icons and to not be grouped together. Almost like how it is on MacOS.
To do this, I had to make multiple .desktop files. Here are the contents of that file. This targets flatpak, but it should work for traditional Firefox installs too.
I called this profile “Personal”. Note that this says
--profile "/home/USERNAME/.var/app/org.mozilla.firefox/config/mozilla/firefox/personal". In this, “personal” is a symlink to the real profile folder name located in the same directory.[Desktop Entry] Version=1.0 Type=Application Exec=/usr/bin/flatpak run >--env=MOZ_APP_REMOTINGNAME=Personal >--branch=stable --arch=x86_64 --command=firefox >--file-forwarding org.mozilla.firefox --profile "/home/USERNAME/.var/app/org.mozilla.firefox/config/mozilla/firefox/personal" --name org.mozilla.firefox.Personal >--class org.mozilla.firefox.Personal @@u %u @@ Terminal=false X-MultipleArgs=false Icon=/home/USERNAME/.local/share/icons/firefox-heart.png StartupWMClass=org.mozilla.firefox.Personal DBusActivatable=false Categories=GNOME;GTK;Network;WebBrowser; MimeType=application/json;application/pdf;application/rdf+xml;application/rss+xml;application/x-xpinstall;application/xhtml+xml;application/xml;audio/flac;audio/ogg;audio/webm;image/avif;image/gif;image/jpeg;image/png;image/svg+xml;image/webp;text/html;text/xml;video/ogg;video/webm;x-scheme-handler/chrome;x-scheme-handler/http;x-scheme-handler/https;x-scheme-handler/mailto; StartupNotify=true Actions=new-window;new-private-window; Name=Firefox (Personal) Comment=Fast and private browser GenericName=Web Browser Keywords=Internet;WWW;Browser;Web;Explorer; X-GNOME-FullName=Mozilla Firefox [Desktop Action new-window] Exec=/usr/bin/flatpak run >--env=MOZ_APP_REMOTINGNAME=Personal >--branch=stable --arch=x86_64 --command=firefox >--file-forwarding org.mozilla.firefox --profile "/home/USERNAME/.var/app/org.mozilla.firefox/config/mozilla/firefox/personal" --name org.mozilla.firefox.Personal >--class org.mozilla.firefox.Personal --new-window @@u %u @@ Name=New Window [Desktop Action new-private-window] Exec=/usr/bin/flatpak run >--env=MOZ_APP_REMOTINGNAME=Personal >--branch=stable --arch=x86_64 --command=firefox >--file-forwarding org.mozilla.firefox --profile "/home/USERNAME/.var/app/org.mozilla.firefox/config/mozilla/firefox/personal" --name org.mozilla.firefox.Personal --class org.mozilla.firefox.Personal --private-window @@u %u @@ Name=New Private Window



What’s the difference? I surely missed the whole thing, I only remember some announcement about the new profiles being simpler and all that. What really changed? And what are you missing with the new implementation?