Answer (February 2025)
Save this somewhere of your choosing:
<script>
function my_open(my_url) {
window.open(my_url, '_blank', 'popup');
}
my_open('https://web.whatsapp.com');
my_open('https://mail.someprovider.com');
// Add more as needed.
window.close();
</script>
Let's say you save it under /tmp/launcher.html.
Then run firefox file:///tmp/launcher.html.
From about:preferences you should find "Block pop-up windows" and add file:///tmp/launcher.html as an exception.
I tested this only on my machine, which runs (Void)
Linux, X, dwm and Firefox 134.0 (also in Firefox 112.0.2).
This works fine, except for...
Well, see "Further Work" below.
Justification
I couldn't find a documented way to do this according to my wishes. So I decided to post my method.
My wishes:
- Minimal external code, if at all (e.g. no add-ons)
- Minimal configuration
- No "but"s - For instance "Kiosk mode works okay but CTRL+T still opens a new tab." would be a fly in my soup.
SSB (site specific browser) seemed to be the way to go at first. But it's been removed: https://support.mozilla.org/en-US/questions/1348811
I tried the kiosk mode too. But I couldn't get out of fullscreen + other new windows that I'll use for my regular websites started to open in fullscreen too.
I tried creating a second profile.
I couldn't get userChrome.css to work.
Even if I could, this would go against my 2nd wish.
I want to use my own profile, with all my settings.
Plus, when I try open a link from the "app-ized webpage", it should open in a new tab in my profile.
AmitK's answer is actually the precursor to this answer. Its problem is that it has a rather long piece of code that pulls resources from all over the internet so it goes against my first wish.
Further work
This still comes with an address bar. What I want is the behaviour when you click on the about page (Kebab Menu > Help > About Firefox). I tried to find the piece of code that opens that page but I couldn't (I'm sure it's there but I couldn't invest enough time to searching).
So I searched the web. Replacing the 3rd argument in the code above, i.e. 'popup', with 'popup,location=no' should solve that too, but it doesn't. Apparently it's a security feature. Fair enough. Any website could draw Firefox's address bar and make you think you are browsing your online banking system, I guess. But I would disable it if I could. I tried. Setting dom.disable_window_open_feature.location to true did not work.