Fix "Make default browser" on Linux
Spinnin off #87, since it has more Windows stuff than Linux, even though we have also a separate Windows issue, so creating the Linux one.
Things to figure out:
- the
.desktop
file needs to be in the correct place:- how are we expecting the file to end there? At the moment there's a
--register
thing, but it isn't a great UX at all - we could have the browser copy the file somewhere to the right subdirectory of the home for portable mode
- users expect the browser to be self contained when running in portable mode, should we warn them about the copy?
- we override
$HOME
, this is yet another thing that the override might hurt
- the
.desktop
file should add the browser to the applications menu, whatever implementation a users uses (GNOME, KDE, Mate, XFCE, etc...).- Are we expecting users to be able to add more channels, but one "installation" at the time? Because the
.desktop
needs a name🙂 .- If we keep only one installation per channel, using a different name
Mullvad Browser Alpha.desktop
ormullvad-browser-alpha.desktop
should be fine - Possible problem: when we check a browser is set as a default, we also need to check the file is pointing to the right directory, with a lot of false positives/negatives
- If we keep only one installation per channel, using a different name
- An alternative is that we add a suffix to relate to a certain installation
- Might solve the problem, but this usually freaks out a series of users, even though this random ID isn't available to content. In general, it's something we try to avoid
- If we end up allowing multiple channel and register (aka copy) the
.desktop
file to the right directory from the browser, should we add a second button, to register the browser without making it the default?
- Are we expecting users to be able to add more channels, but one "installation" at the time? Because the
- What about uninstallation?
- Currently it can be done from the start script (if it works). Should we add a button also to unregister, if we add one to register?
- how are we expecting the file to end there? At the moment there's a
- Open problem: snap installation.
- Less difficult problem: an actual system install, which will add the right .desktop file where needed, and will be updated through the package manager (no in-browser updates as well, makes our life easier
🎉 )
/cc @ruihildt