Re: browser wrapper
R Frith-Macdonald <[email protected]>
| Newsgroups | gmane.comp.lib.gnustep.general |
|---|---|
| Message-ID | <[email protected]> |
On 14/11/2025 11:11, Patrick Cardona wrote: >> For opening local files you need the appropriate NSTypes specification > The issue seems more related on the way URLs are handled within GNUstep. > No problem with an html local file. I read Riccardo's email as talking about gworkspace. Opening links in other apps is a totally different thing to app wrappers opening files. > In the case of Chromium (see bash script below) the use of 'xdg-open' produces the same issue from a link clicked in GNUMail, it never happens if you use xdg-open in the Terminal. > > e.g.: > - execute this in a Shell: > xdg-open https://example.com > It will open the requested URL in a new tab. No issue. > > - Now, try to click on the link below directly from this message read within GNUMail: > https://example.com > > It will produce the issue, with the same app wrapper of Chromium (opening one blank tab, complaining about "no service..." to handle URL... and finally a second tab with the requested URL). Opening external links is a completely different mechanism ... it starts off by trying to ask a running GNUstep application to open the URL. As far as I know, the only fallback if there is no GNUstep app, is to operate via the 'services' mechanism (though there is no reason that gnustep-gui could not add other fallback methods for opening URLs) using the OpenURL service. So for that you must set up a filter service which provides 'OpenURL' (and register it using the make_services tool). The documentation for filters is part of the NSPasteboard class documentation. To use a shell script as a filter, the filter would be set up to use NSUnixStdio as the filtering mechanism, and would receive the URL on its standard input.