I have a lot of things to do...
MosaicWindows720p.mov
ただし、このままだとウィンドウのタイトルがほとんど取れない。これはプライバシーの観点で取れないようになっている。 取得するためには画面収録のパーミッションが必要で、以下のコードを実行することでパーミッションを得られる。
CGRequestScreenCaptureAccess()
- [macOS][Swift4.1] すべてのウインドウをキャプチャして一覧表示する方法
- Window List Option Constants
- Quartz Window Services
- kCGWindowIsOnscreen
control + H
で隠したときにfalse- 他のウインドウで隠れているだけの場合はtrue
- Top Window at Point
onScreen
という名前のあるものはwindowsが順番に前から後ろの順序で返ってくるとのことwindows.insert(window, at: windows.endIndex)
のように代入するといい- kCGWindowLayerはWindowLevelに相当する。同じ階層にいくつかの値が存在するのでこれだけではZ方向の重なりは決定できない
- デスクトップ上にあるウインドウの一覧を取得する
- How can my app detect a change to another app's window?
AXUIElementRef
経由でWindowの変更通知を取得できる…かも