You are going to have to work with a bit of appKit there to get the multiple monitors. Take a look at NSScreens. I tried this
struct Screens {
static func getScreens() -> [NSScreen]{
return NSScreen.screens
}
}
for screen in Screens.getScreens() {
print(screen.frame)
}
I tried that and I got the dimensions of my main screen. The other dimensions are relative to the main screen so in theory setting the the windows you generate to the frame of those values will cover all the screens.
Thats problem 1.
I am not certain how to create these windows on SwiftUI - on my app it just works with the contentview, maybe use windowgroup - there is some mention of that on the web.
So on launch if can create the windows, you need to iterate the screens and create a window on each screen. If you are stuck there I might be able to help. I might need auto window generation in my own app soon.
For the window opacity you need something ike this
window.opaque = false
window.backgroundColor = NSColor.clearColor()
Levels are set with window.level. Take the highest from here.
https://developer.apple.com/documentation/appkit/nswindowlevel?language=objc
And to make it borderless take a look at the styleMask
https://developer.apple.com/documentation/appkit/nswindow/stylemask