Re: browser wrapper

Patrick Cardona <[email protected]>
Newsgroups gmane.comp.lib.gnustep.general
Message-ID <9377fd23bd705219b20db422669378af@pi400>
Hi Richard,

On 2025-11-14 10:45:10 +0100 R Frith-Macdonald <[email protected]> wrote:

> 
> On 13/11/2025 23:03, Riccardo Mottola wrote:
>> Hi,
> 
>> we have simple appwrappers supplied with gworkspace.
> 
>> The infoplist contains
>>   XAppWrapper = YES;
> 
>> and this works for opening file in applications. There are side-effects 
>> with GWorkspace, but it mostly works in the sense that things open. If the 
>> app is reasonable, it will also open more files.
> 
>> I would like to  have this simple functionality also for Web Browsers.
>> There are already a couple of wrappers for browsers: firefox, seamonkey, 
>> konqueror, iceweasel...
> 
>> Now they don's seem to work. I think is becuase they do not register 
>> CFBundleURLTypes
> 
>> So I thought to add to the seamonkey wrapper:
>>   CFBundleURLTypes = (
>>     {
>>       CFBundleURLName = "Web site URL";
>>       CFBundleURLSchemes = (
>>     http,
>>     https
>>       );
>>     }
>>   );
> 
>> but it doesn't work. The wrapped app is seen in systempreferences internet 
>> panel and I can select it. However, if I click on an URL this do not work 
>> as expected.
> 
>> Seamonkey opens or comes to front, nothing happens.
>> The calling app (e.g. GNUMail with a link) hangs and complains after a 
>> while with No service matching 'OpenURL'
>> firefox comes and may open the link (or maybe not
> 
> Check the NSWorkspace documentation for this.  It provides an example and 
> explains how wrappers are used.
> 
> 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.

> 
> However, the question of why a particular web browser works or does not work 
> has nothing to do with GNUstep: it's all about theweb browser itself and the 
> shell script you provided to launch it (which you didn't show in this 
> email).  Basically, the shell script must launch the browser *and* tell the 
> browser which file to open, in a way the browser understands.
> 

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).
 
<Chromium>

Regards,
Patrick

-- 
Patrick Cardona - Pi400 - GNU/Linux aarch64 (Debian 13.1) 
Xorg (1:7.7+24) - libcairo2 (1.18.4-1+rpt1 arm64)
Window Maker (0.96.0) - GWorkspace (1.1.0 - 02 2025) - Theme: AGNOSTEP - MUA: GNUMail (1.4.0)
Chromium (application/octet-stream, 98 B) - not displayed
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.