winequartz.drv Mac OS X UI discontinued?

Adam Strzelecki ono at java.pl
Sun Mar 2 11:14:45 CST 2008


Hi,

I know that CodeWeavers supports quite nicely Mac builds of Wine, and  
CrossOver for Mac, yet all of them are X11.
There was also once Darwine - an effort to provide Carbon Wine UI  
driver and Mac optimizations & L&F.
Pretty many of those were merged back to Wine, but not winequartz.drv.

Do you guys think about reviving winequartz.drv?

This would greatly improve Wine on Mac as we could have native Mac  
fonts handling that's faster than FreeType, Dock icons for Wine  
applications, and few others.
There's still old copy of the it hanging around, but it is abandoned,  
and no longer compiles with Wine.

Or I think it would be cool to write new winecocoa.drv or sthing like  
that, as Apple officially states that Carbon is deprecated.

While it is not well documented, it is pretty easy with Cocoa to make  
console non-bundled process to be UI foreground process and handle  
events and Dock:
(This code is copyrighted by myself ;P)

> int main(int argc, const char * argv[]) {
>         ProcessSerialNumber psn = {0, kCurrentProcess};
>         OSStatus returnCode = TransformProcessType(&psn,  
> kProcessTransformToForegroundApplication);
>         SetFrontProcess(&psn);
>
>         NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
>         [NSApplication sharedApplication];
>
>         NSImage *icon = [NSImage imageNamed:@"NSApplicationIcon"];
>         [NSApp setApplicationIconImage:icon];
>
>         [NSApp finishLaunching];
>
>         NSWindow *window = [[NSWindow alloc]  
> initWithContentRect:NSMakeRect(0, 0, 100, 100)
>                         styleMask:NSTitledWindowMask| 
> NSClosableWindowMask|NSMiniaturizableWindowMask|NSResizableWindowMask
>                         backing:NSBackingStoreBuffered defer:NO];
>         [window center];
>         [window setTitle:@"Test"];
>
>         NSButton *button = [[NSButton alloc]  
> initWithFrame:NSMakeRect(10, 10, 80, 80)];
>         [button setTitle:@"What?"];
>         [button setBezelStyle:1];
>         [[window contentView] addSubview:button];
>         [button release];
>
>         [window makeKeyAndOrderFront:NSApp];
>
>         while(1) {
>                 NSEvent *event = [NSApp  
> nextEventMatchingMask:NSAnyEventMask
>                                                                                         untilDate 
> :[NSDate distantFuture]
>                                                                                         inMode:NSDefaultRunLoopMode
>                                                                                         dequeue:YES 
> ];
>                 if(event) [NSApp sendEvent:event];
>         }
>         [pool release];
>         return 0;
> }

BTW. I heard that someone previously working for Wine project is now  
in Apple, it is true?

Regards,
-- 
Adam Strzelecki |: nanoant.com :|




More information about the wine-devel mailing list