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
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.clearColorto 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
NSColor.clearColorfor 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
NSVisualEffectViewto 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
NSVisualEffectViewbehind the text view, but that would be a different kind of transparency, unlikely to be compatible with the themes currently using alpha.