In Windows 10 I have shortcuts pinned to my taskbar that are just
> ...firefox.exe" -P "profilename"
and then `taskbar.grouping.useprofile true` so only windows from the same profile are grouped together and some custom recolored Firefox icons for those pinned shortcuts and custom per-profile userChrome.css styling (#TabsToolbar background-color) for easy visual differentiation of a window's profile.
For Windows 10, no scripting is needed. Just the initial GUI profile setup.
I haven't messed with Firefox's PWA feature/taskbar-tabs[1] but it seems like under the hood it's just using shortcuts so you're probably looking for -taskbar-tab
This redditor looks like he's doing close to what you're asking with the caveat of needing an entry in taskbartabs.json to use -taskbar-tab (and maybe Windows OS only) [2]
I don't think it's completely chromeless but you can probably hide everything via custom CSS:
ctrl+shift+i (dev tools) -> f1 (settings)
check advanced settings:
enable browser chrome and add-on debugging
enable remote debugging
ctrl+shift+alt+i (browser dev tools)
Find element IDs or class names and try out CSS rules to your heart's content.
Set toolkit.legacyUserProfileCustomizations.stylesheets = true and put your changes in Firefox/Profiles/$profilename/chrome/userChrome.css.
Remember to turn off the advanced settings when you're done.
For Win 10, I set this up a while ago so my memory is a bit fuzzy but the key was the `taskbar.grouping.useprofile true` setting. I think after that's set Firefox and Windows did some AUMID shenanigans on profile launch.
I just made a new profile as a test and this is what I did:
...firefox.exe" -P -> create a new profile (ie. "newprofilename")
about:config set `taskbar.grouping.useprofile = true` (when I originally did this for many profiles I believe I copied prefs.js that already had it set)
close and reopen that profile instance. I used ...firefox.exe" -P "newprofilename" but any method of launching the profile should work. It should now be in a separate taskbar group.
Pin that new group to taskbar. Also modify its shortcut target to add -P "newprofilename"
Now you're done.
Normally I also renamed the pinned shortcut to something sane and then I changed the icon. I took the normal Firefox icon (I think w/ GIMP) and just messed with the colors via saturation or something so it was easy to tell the difference. I remember changing the shortcut icon had some headache but I sadly didn't write notes.
Also, I didn't set grouping.useprofile on all my profiles, just the profiles I wanted separately pinned on my taskbar. My default profile is pinned normally without grouping.useprofile set.
>from terminal [opening URLs in instances using profile paths] works exactly as expected regardless of how many profile instances are currently running or their state.
That's interesting. It didn't work a couple of years ago, perhaps it's been fixed.
> ...firefox.exe" -P "profilename"
and then `taskbar.grouping.useprofile true` so only windows from the same profile are grouped together and some custom recolored Firefox icons for those pinned shortcuts and custom per-profile userChrome.css styling (#TabsToolbar background-color) for easy visual differentiation of a window's profile.
For Windows 10, no scripting is needed. Just the initial GUI profile setup.
> ...firefox.exe" -P "profilename" "https://www.example.com"
from terminal works exactly as expected regardless of how many profile instances are currently running or their state.
You can even have multiple versions of Firefox installed and point them at different profiles. I have some profiles on ESR and some on Standard.