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
  • nyan@sh.itjust.works
    link
    fedilink
    arrow-up
    1
    ·
    1 hour ago

    In Firefox, I don’t remember having something similar. That was like 5+ years ago, I believe profiles were there, but perhaps less easy to use.

    The profiles feature in Firefox haa been there for a long, long time—more than a decade, and possibly longer than Chrome has existed—but not many people read the documentation to find the command-line switch to evoke the selector, and they’ve never been terribly easy to find from inside the GUI.