Adds possibility to override default web browser per application

The idea is to allow override default browser per application for security/personal reasons. An extension of this idea would be to open url inside browser inside docker/container, tab browser

Do you miss this feature(i do)? Do you have idea how to improve this concept to be usable for more users? Of other use case not mentioned here?


At the end i am willing to implement this inside gnome-control-center if this won’t be too difficult. Did initial work here Draft: Adds possibility to override default web browser per application (!1566) · Merge requests · GNOME / Settings · GitLab

In the links below there in present my initial idea, how it could work.

Pre-requisite: User is logged in his browser from work and uses his favorite social networks

Use case: User opens URL from some social network(Telegram, WhatsApp,…) and wants to use different browser where he is logged under diferent account.

Use Case 2: User opens URL from email client XY, which he uses for hobby reasons and wants to comment something in gitlab, but under different account.

Use Case 3: User opens URL from not trusted application and wants to use second browser with enhanced security, like broser in docker, tor, …

1 Like

Hello Qwertyuiopzxcvbnmlkjhgfdsa1!

Here is my opinion.

Use cases 1 and 2: I see better having an account/identity management within the web-browser with possibly an extension or spec that links an account/identity between an app and a web browser.

Use case 3: For this case, there is also launching the browser in private mode (or any advanced configuration). What is needed here is something to tag an app as “untrusted”/“unsecure” so it automatically chooses a web browser (or its special mode like private browsing) you define for this particular need.

Hi Mikenux,
what you propose - a tag marking application insecure seems good to me. It would suit my needs(and hopefully other users as well).

It also means that there should be “definition of insecure browser/docker/anything”. Does the gnome have something like this? If not, then it could be part of this change. So “insecure app” tag and “definition of insecure browser/docker/anything”, two things to define/develop.

What do you think about it? And how to proceed next?

Thank you

The only ones that seem to be labeled as “secure” or “insecure” are sandboxed apps, but only in the following mockup which is not implemented as far as I know (see Sandboxed Apps): applications/applications-wires.png · master · Teams / Design / settings-mockups · GitLab.

For the rest, I don’t know because I’m not well informed. But I don’t think it’s defined.

The best is to discuss it with the design team, to convince them. Note that you definitely need a definition of secure web browser vs. insecure web browser vs. web browser secure by default, while considering private browsing (is it a security mode?), as it should be understandable for the naive user.

What you need to know is how to label/decide for non-sandboxed apps since the naive user will likely open an app and then click on a link within it that opens in the web browser. I think this is where the user needs to know if this link opens in a “secure” or “unsecure” web browser. It’s about the user experience (you have to think about it).

Seems like matrix is way to go to contact design team by this discussion

This task should stay simple, when solution will be not so easy, than it should be cut into smaller simple pieces.
For example my intention is to open Telegram’s(and other social networks) URL’s in some private browser/anything, as i choose. Gnome team seems to think about definition of secure/unsecure app, secure browser.

Curious what is achievable. Will join there and see.
Thanks for mockups @Mikenux

Transferring here discussion from gnome-design matrix channel:

i like the web override idea, but instead of a row that opens a new window, an expander row with radio buttons should be used instead
it’s kind of wasteful to open a new window with just a drop down menu
and most people will only have one or two browsers so a drop down menu might not be warranted

I agree with that.

If they are okay with integrating the selection of a web browser as is (without more elaborate user experience as seen here), it will certainly be better for you in terms of development.

I would say the questions are:

  1. Is giving suggestions about the use of the feature (i.e. for security/privacy reasons) worth it?
    Giving suggestions on its use can be helpful. However, giving no suggestions later allows users to be asked what they are using it for.

  2. What name should be given to this feature?
    It depends on whether we assume it is a security/privacy feature or not. However, if it’s a security/privacy feature, it might require detecting “safe” web browsers (so I’m assuming some additional code). If we keep it simple, then maybe “Opening In-App Web Links”? (maybe In-App is optional). I think that seems clearer.

  3. How will users discover this feature if we keep it simple?
    Reading the release notes of the new GNOME version? Noticing a new item in the Applications category in Settings?

Also, does your code only show this option for apps that have web links? (note that I am not a developer).

I am going to create update draft PR for this feature with suggestions from design team. When the design team will approve this, then will solve backend logic(i have now only UI without functionality). When both main parts(UI and backend logic) are in place, then it will be ready for main review.

For questions i think this:

ad 1) Not sure. Probably each user know why this feature will be used in his computer. If some use case would be mentioned, then something clear and common. Like “I want links from Writer(Libre Office) to be opened in another browser”.

ad 2) I would leave if this is privacy or security feature on somebody from gnome team. Both options are correct.

ad 3) Release notes. Video - screen-cast perhaps.

ad 4) Now it is draft, mainly for visual presentation. If will be most probably showed everywhere. On backend side i would like to rewrite url handler. Its open and could change during backend logic implementation.

The default web browser is just the default handler for the x-scheme-handler/http or x-scheme-handler/https pseudo-content-types. So it seems a bit weird to restrict this to just the default web browser (at least from the point of view of actually implementing this).

Also, do you plan to change the xdg standard for this? Or do you want this feature to be GNOME-specific?

In the latter case: Not all apps go through “GNOME-controlled” code to launch the default web browser, so I don’t see how this could work for all apps as a GNOME-specific feature. And even if “GNOME-controlled” code is involved, it might not always be possible: Say e.g. an app uses xdg-open to launch the browser, which then (on GNOME outside Flatpak) runs gio open, so “GNOME-controlled” code is involved. But at the point that code runs, it doesn’t have any information about which app originally made the request to start the browser. So it can’t start different browsers depending on the app.

Actual state is that default “Web” is used for applications. Aim of this is for user to have wider options of possibilities, so user can choose other than default browser.

No idea, what is xdg, outside of my knowledge. Lets talk about backend implementation after design team will approve design. Would like it to work for snap(flatpack?) applications . This should be achievable.

This is next evolution of design. MOck text instead real default browsers Would like to put into radio buttons also icons. Not sure it is possible in libadwaita.

Firefox running inside docker:

Hi @qwertyuiopzxcvbnmlkj, you can already accomplish this using this app: Junction – Apps for GNOME

All you have to do is set it up as your default browser in GNOME (it will ask you to do so when you first run it), and then, whenever you click on a link inside an app that ISN’T a web browser, it will open a window that lets you choose which browser you want to use to open the link with:

It will generally autodetect your installed browsers, but you can add custom ones if you want. You can also optionally open a link inside a private window if you don’t trust it:

Give it a try and let me know if this solves your problem!

Hi @CmdrKeen ,
have tried Junction. I like it, seems mature and stable.It would be great if some applications could have default browser predefined by Junction.

Are you developer of Junction by the chance?

No. @sonny is. I’m just a user.

I suppose having configurable rules similar to Choosy would be neat.


Choosy looks quite promising :grinning:

Junction is quite similar, but can do less

From my side, tried to debug Junction in Webstorm IDE, gave ~ 6 hours to it, not successful. At least managed to run the application from GIT.

Also accidentally found a way to knock out computer by running Junction as standard user :slight_smile:
But this is not a bug, so everything is ok Gnome hangs and is unresponsive when tried to run gnome extension from cli as standard user (#6349) · Issues · GNOME / gnome-shell · GitLab

It’s great, I’ve been using it on my Mac for many years. Well worth the 10 bucks.
Doesn’t work on Linux, however, and it’s not open source either.

Yes, but it’s also free AND open source.

1 Like

Created 5 issues related to Junction GitHub - sonnyp/Junction: Application/browser chooser. 2 of them could be considered as maintenance tickets and 3 are fresh development. Already created pull request, which solves at least basically one maintenance issue.

@sonny How do you see those ideas, new features? Do you think those could be added to Junction?

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.