私はデスクトップの背景画像を定期的に変更するための小さなアプリを作っています。macOSでは、別々の「スペース」/デスクトップごとに(プログラムで)壁紙を設定できますか?
私のプログラムでは、このコードブロックが含まれています
let screen = NSScreen.main()!
let newWallpaperURL = URL(/* ... */)
// ...
try! NSWorkspace.shared().setDesktopImageURL(newWallpaperURL, for: screen, options: [:])
これは動作しますが、キーボードのみに着目し、現在の「空間」のために。
私がフルスクリーンのアプリを使用している場合、フルスクリーンの占有アプリの背景のみが変更されます(通常のデスクトップの背景ではありません)。 私は2つのスペース/デスクトップを持っている場合、それらのいずれかの背景画像のみを変更します。
プログラムごとにスペースごとに壁紙を個別に設定することはできますか?
仮想デスクトップ(スワイプで切り替えるもの)の背景イメージを変更したいと思います。 'NSScreen.screens()'は各物理ディスプレイの画面のみを返します。 – PKBeam