I´m trying to get a list of windows on OSX from the core-graphics API with Swift (to capture an image of them later on). After some research I found the CGWindowListCopyWindowInfo Objective-C API call with the following signature:
CFArrayRef CGWindowListCopyWindowInfo(
CGWindowListOption option,
CGWindowID relativeToWindow
);
Parameters
option: The options describing which window dictionaries to return. Typical options let you return dictionaries for all windows or for windows above or below the window specified in the relativeToWindow parameter. For more information, see Window List Option Constants.
relativeToWindow: The ID of the window to use as a reference point when determining which other window dictionaries to return. For options that do not require a reference window, this parameter can be kCGNullWindowID.
https://developer.apple.com/library/mac/documentation/Carbon/Reference/CGWindow_Reference/Reference/Functions.html
In my swift application I tried to use it like this:
import Cocoa
import CoreFoundation
let option: CGWindowListOption = kCGWindowListOptionOnScreenOnly
let relativeToWindow: CGWindowID = kCGNullWindowID
let info = CGWindowListCopyWindowInfo(option, relativeToWindow)
But XCode (playground) tells me
- it can´t use an int as CGWindowListOption (kCGWindowListOptionOnScreenOnly == 0)
- kCGNullWindowID is an unresolved identifier
What am I doing wrong here?