<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/xhtml; charset=utf-8">
</head>
<body>
<div style="font-family:sans-serif"><div style="white-space:normal">
<p dir="auto">On 10 Apr 2019, at 18:51, Ronald Wampler wrote:</p>
</div>
<div style="white-space:normal"><blockquote style="border-left:2px solid #777; color:#777; margin:0 0 5px; padding-left:5px"><p dir="auto">I can confirm that transparency no longer works in Mojave using any releases<br>
that are linked against the 10.14 SDK. It appears the current method (setting<br>
the window to not be opaque and the text view to NSColor clearColor) doesn't<br>
work now.</p>
</blockquote></div>
<div style="white-space:normal">
<p dir="auto">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 <code style="background-color:#F7F7F7; border-radius:3px; margin:0; padding:0 0.4em" bgcolor="#F7F7F7">NSColor.clearColor</code> to make a subset of the window transparent (as we no longer erase into the shared buffer for enture full window).</p>
<p dir="auto">Instead we must ensure that all ancestor views are transparent, which would include setting <code style="background-color:#F7F7F7; border-radius:3px; margin:0; padding:0 0.4em" bgcolor="#F7F7F7">backgroundColor</code> to <code style="background-color:#F7F7F7; border-radius:3px; margin:0; padding:0 0.4em" bgcolor="#F7F7F7">NSColor.clearColor</code> for our window, and then making sure that all other views in the window have an opaque background.</p>
<p dir="auto">It might be doable, but a quick test showed a problem with the file browser, as it is using an <code style="background-color:#F7F7F7; border-radius:3px; margin:0; padding:0 0.4em" bgcolor="#F7F7F7">NSVisualEffectView</code>. It might work if we put a view behind the <code style="background-color:#F7F7F7; border-radius:3px; margin:0; padding:0 0.4em" bgcolor="#F7F7F7">NSVisualEffectView</code> 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.</p>
<p dir="auto">There is the ability to use an <code style="background-color:#F7F7F7; border-radius:3px; margin:0; padding:0 0.4em" bgcolor="#F7F7F7">NSVisualEffectView</code> behind the text view, but that would be a different kind of transparency, unlikely to be compatible with the themes currently using alpha.</p>
</div>
</div>
</body>
</html>