QuickTime Playerのようにタイトルバーがフェードするウインドウを作ろうと思い色々試したのですが、
最終的に諦めました。
Cocoaではタイトルバーの左にあるボタン群は+[NSWindow standardWindowButton:forStyleMask:]で生成可能ですが、
あるトリックを使わなければマウスオーバー時に'+', '-'などのアイコンを表示できないようでした。
そのトリックとは、'superviewの_mouseInGroupをオーバーライドするというものです。
web上で情報を探してみましたが、これ以外の解決策は無さそうでした。
そもそも今回の目的は
・ウインドウ全面にビューを描画させる(NSBorderlessWindowMaskを使う)
・ウインドウ上へマウスオーバーした際にクローズボタンのみフェードさせる
だったので、通常のNSButtonでクローズボタンを作ることにしました。
参考:
・+ standardWindowButton:forStyleMask: - NSWindowClassReference
・Title Bar Buttons and Custom Title Bars
・Best practices for using standard window widgets in a custom window | Cocoabuilder
・insidegui/FOTWindow · GitHub
・madebyjeffrey/OrganicUI · GitHub
・irlabs/TransparentWebView · GitHub