問題タブ [macos-high-sierra]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
multithreading - macOS 10.13 High Sierra: バックグラウンド スレッドの [NSGraphicsContext flushGraphics] は効果がありません
macOS 10.12 までは、次のコードはバックグラウンド スレッドで正常に動作しました。
ただし、10.13 では、flushGraphics はビューのコンテンツをすぐに更新しなくなりました。
バックグラウンド スレッドからの描画が推奨されなくなったことは理解していますが、これはもはや不可能であることを意味するものではありません。実際、 ... draw something ... のすべては、引き続きビューのバッキング ストアに送られます。次回メイン UI スレッドで drawRect: が呼び出されると、ビューが更新され、すべてのコンテンツが適切に配置されます。
これをすぐに実現するにはどうすればよいでしょうか。ビューに変更を加えてすぐに表示する方法はありますか?
macos-high-sierra - MacOS High Sierra - 仮想アクセシビリティ キーボードと同じレベルのウィンドウを作成 & 通知
High Sierra のアクセシビリティ キーボードと通知と同じレベルのウィンドウを作成しようとしています。私の望む結果は、スクリーンセーバーやロック画面など、他のすべてのウィンドウの上に表示されるウィンドウを取得することです。
el cap/sierra では使用できましwindow.level = NSWindow.Level(Int(CGWindowLevelForKey(.maximumWindow)))
たが、High Sierra ではコードが機能せず、スクリーンセーバーやロック画面にウィンドウが表示されません。
いくつか実験した後、通知とアクセシビリティ キーボードがロック画面/スクリーンセーバーの上に表示されることに気付き、同じレベルでウィンドウを作成できるかどうか疑問に思っていました。
2 つの写真を含めました。1つはキーボードと通知の両方を示すロック画面です。2 番目の画像は、あるウィンドウから別のウィンドウに移行したときに何が起こるかを示しています。デモ ウィンドウはデスクトップにとどまりますが、キーボード/通知はデスクトップの上に表示され、分割バーを介して別のウィンドウに移行します。
ウィンドウでこの種の動作を作成する方法を知っている人はいますか?