FireBreath を使用して、それぞれのプラットフォーム用のネイティブ ライブラリを使用するクロス ブラウザー プラグインを作成しています (Windows 用の .NET ベースの DLL と Mac 用の Objective-C ベースの dylibs/frameworks)。ライブラリは、最終的に他のウィンドウの前面 (特にブラウザー ウィンドウの前面) に表示される UI を表示します。Windows の場合、win32 API を使用してウィンドウ ハンドラーを渡し、それをフォアグラウンドに表示します。これは今のところ問題なく動作しています。ただし、現在 Mac に適した回避策を見つけることができないため、ウィンドウは常に Mac のブラウザーの背後に表示されます。この問題の回避策はありますか?
私は次のアプローチを試しましたが、あまり成功しませんでした:
1) NSWindow のレベルをより高い値 (例: NSFloatingWindowLevel) に設定し、orderFront メソッドを呼び出します。
2) NSApp で activateIgnoringOtherApps プロパティを設定し、makeKeyAndOrderFront メソッドを呼び出します。
この点でどんな助けでも大歓迎です。