I am trying to create an Application on Mac OS X Lion which requires application to be assigned to All Desktops (Spaces). This can be manually done by Right clicking on applicat
You can use method setCollectionBehavior: of NSWindow
with the NSWindowCollectionBehaviorCanJoinAllSpaces bitwise flag.
It will make the window visible on all spaces.
NSUInteger collectionBehavior;
// Gets the current collection behavior of the window
collectionBehavior = [ myWindow collectionBehavior ];
// Adds the option to make the window visible on all spaces
collectionBehavior |= NSWindowCollectionBehaviorCanJoinAllSpaces;
// Sets the new collection behaviour
[ myWindow setCollectionBehavior: collectionBehavior ];
Note
This method was introduced in Mac OS X 10.6.
On Mac OS X 10.5, you'll need to use the canBeVisibleOnAllSpaces: method of NSWindow
.