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.