> On Oct 28, 2020, at 3:17 PM, Adrian Perez de Castro <ape...@igalia.com> wrote: > > Hello! > > On Tue, 27 Oct 2020 16:45:50 -0700 jra...@ceridwen.fremont.ca.us wrote: > >> In WebKitGtk 2.28.2 when built with GdkQuartz on macOS, the >> WebKitWebProcesses, one for each GtkWebKitWebView, produce tiles in the dock >> and the process-switcher (the bar of icons that comes up when you press >> command-tab) and a menubar. Worse, that's the process that gets focus when >> you start an application or create a new tab. >> >> This is reproducible with the MiniBrowser. It's been observed with both >> MacPorts and Gtk-OSX builds and there's even an unanswered Stack Overflow >> question: >> https://stackoverflow.com/questions/62918922/webkitwebprocess-makes-new-dock-icons. >> >> Any ideas on how to suppress this odd behavior? > > Not long ago I helped one of the persons working on the Nyxt browser [1] who > had some idea about how to solve this. It involved adding calls to a Cocoa > function that would prevent the additional entries in the dock and task > switcher for the WebKitWebProcess instances launched for each tab. > > If you clone their MacPorts repository [2] with Git, there seems to be some > patches for that. I don't know if there is some better way of achieving the > same, but it would be nice if we could have a patch for this in the upstream > repository—it would be great to have a maintainer taking care of keeping > WebKitGTK working on MacOS, and I am sure that some of us would be glad to > provide guidance and help out if someone would step up :-) > > I hope this helps, > —Adrián > > > --- > [1] https://nyxt.atlas.engineer/ > [2] https://source.atlas.engineer/view/repository/macports-port
Thanks very much, it does. I found two files and two patches that together arrange for WebKitWebProcess to call [NSApp setActivationPolicy: NSApplicationActivationPolicyProhibited] on startup. It does work. BTW I found that the WebProcess/cocoa code takes a similar approach though it calls [NSApplication _preventDockConnections] instead. It's declared in Source/WebCore/PAL/pal/spi/mac/NSApplicationSPI.h and not implemented anywhere so I suppose it would be unwise to use it. As written the patches are unconditional so they're not suitable for upstreaming; that's also true of the other patches needed to get WebKitGtk to build on macOS. The last time I tried to submit patches to WebKitGtk it got bogged down in long and eventually pointless discussions about coding style that resulted in a WebKitGtk developer writing their own changes. While those were no doubt better than the patches I submitted the exercise wasted a great deal of my time and was an experience I'd prefer not to repeat. The patches are available at https://gitlab.gnome.org/GNOME/gtk-osx, https://github.com/macports/macports-ports/blob/master/www/webkit2-gtk/files/, and in the nyxt repo mentioned earlier in this thread. Help yourselves, or not. Regards, John Ralls _______________________________________________ webkit-gtk mailing list webkit-gtk@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-gtk