Ваше решение прозрачного окна с CALayer внутри, вероятно, является наилучшим поддерживаемым способом сделать это.
Одна вещь, которая кажется хорошим решением (по крайней мере, это первое, о чем я подумал, когда хотел это сделать), но не - это enterFullScreenMode:withOptions:
NSView. Если память служит, то изначально она предназначалась для того, о чем вы здесь говорите, но анимация была удалена, и теперь она обычно работает не так хорошо.