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.
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.