On 10 Apr 2019, at 18:51, Ronald Wampler wrote:

I can confirm that transparency no longer works in Mojave using any releases
that are linked against the 10.14 SDK. It appears the current method (setting
the window to not be opaque and the text view to NSColor clearColor) doesn't
work now.

The problem seems to be that when linking with the 10.14 SDK, views will draw into their own separate layers, so we can no longer “erase” the background with NSColor.clearColor to make a subset of the window transparent (as we no longer erase into the shared buffer for enture full window).

Instead we must ensure that all ancestor views are transparent, which would include setting backgroundColor to NSColor.clearColor for our window, and then making sure that all other views in the window have an opaque background.

It might be doable, but a quick test showed a problem with the file browser, as it is using an NSVisualEffectView. It might work if we put a view behind the NSVisualEffectView to draw the window background, but I’m hesitant to pursue this, as the less assumptions we make about how these views work, the better.

There is the ability to use an NSVisualEffectView behind the text view, but that would be a different kind of transparency, unlikely to be compatible with the themes currently using alpha.