[Obj-C++] 13 NSDragOperationCopyの緑アイコン表示について

[M1 Mac, Big Sur 11.6.5, clang 13.0.0]

前回の続きです。

XCodeにプロジェクトをコピーして動作確認してみましたが、やはりNSView(=NSWindow)に入るとカーソル右下の緑アイコンが非表示になりました。これが仕様なのでしょう。

NSWindowの下の方はTextViewなのでそこにはドロップしないという意味では正しい挙動です。自製Makefileで作成した実行ファイルではホバーするウィジェットに関係なく常時表示し続けるという方がむしろ異常に思えてきました。

緑アイコンの役割を考えるとドロップと無関係なウィジェット上ではアイコン表示しないというのが正しいかと思います。

NSViewとNSWindowの座標・サイズが一致しているという今回の設定が特殊ということでしょう。NSView領域にカーソルが入っているから本来は緑アイコン表示すべきところですが、配置されているウィジェットとの兼ね合いがあるので基本非表示になるということです。