Hello,As we already discussed about the needed service to provide an openURL action, I tried to set some...
- First stage: trying to get a working service to open an URL selected in a text.
But it is not yet successful. I have not the error message, "Failed to contact service provider for 'Open URL'", but nothing happens when I use the menu "Services > Open URL".
I am attaching a basis of that work: <GNUmakefile><openURLServiceInfo.plist><service.m> Maybe you will find something obvious I am not able to see.On 2025-10-05 19:47:45 +0200 Patrick Cardona <[email protected]> wrote:
Hello, When I click on a web link from GNUMail... I note this behaviour: 1) The Chromium Web Browser is launching with a new blank tab; 2) An alert panel says: "No Service matching 'OpenURL'"3) When I close this panel, the clicked URL is finally opened in a new tab of Chromium.What am I missing to avoid this alert panel: a service? (...)
Regards, Patrick -- Patrick Cardona - Pi400 - GNU/Linux aarch64 (Debian 13.2) Xorg (1:7.7+24) - libcairo2 (1.18.4-1+rpt1 arm64)Window Maker (0.96.0-4) - GWorkspace (1.1.0 - 02 2025) - Theme: AGNOSTEP - MUA: GNUMail (1.4.0)
GNUmakefile
Description: Binary data
openURLServiceInfo.plist
Description: Binary data
#import <Foundation/Foundation.h>
#import <AppKit/AppKit.h>
@interface OpenURLService : NSObject
@end
@implementation OpenURLService
- (void)openURL:(NSPasteboard *)pboard
userData:(NSString *)userData
error:(NSString **)error
{
NSString *url = [pboard stringForType:NSStringPboardType];
if (url) {
[[NSWorkspace sharedWorkspace] openURL:[NSURL URLWithString:url]];
}
}
@end
int main(int argc, char **argv)
{
NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
[NSApplication sharedApplication];
OpenURLService *service = [[OpenURLService alloc] init];
[NSApp setServicesProvider:service];
[service release];
[NSApp run];
[pool release];
return 0;
}
