How to Write MissionControl/Expose Replacement
How to Write MissionControl/Expose Replacement
- Subject: How to Write MissionControl/Expose Replacement
- From: Commodore 64 <email@hidden>
- Date: Sat, 18 Aug 2012 14:26:33 -0700
I'd like to know how to how to write my own MissionControl/Exposè replacement for Mountain Lion. I am very new to Cocoa, and this might be my first project with Cocoa.
For those of us who think it might not be possible, it is already done in TotalSpaces (http://totalspaces.binaryage.com). Whether its a good idea to write a basic OS feature replacement remains to be debated.
I am wondering how to do the following basic things.
1) I am going to need to know how to get a list of all open windows including full-screen apps. I'll need to iterate over these and get a preview image of these. How do I get this? Will the technique work for all apps written is any framework, or will it only work for apps written in Cocoa? What about legacy Carbon apps?
2) I'll also need to get notified that a particular window was resized, so that I can update my thumbnail images. MissionControl thumbnails are live---as the source window updates, the thumbnails also update. I'd like to support this, and would like to know how.
3) Once the user selects which windows to bring to top, I'd like to programmatically hide the others that don't belong to the current Space. How does one hide a window?
4) Animation. I have read a book on Core Animation, so I know some bits and pieces. I am thinking that I will need to create a CALayer, draw every thumbnail on it, place the CALayer on top of everything on the desktop, do the animation, and then hide the CALayer.
5) I'd like to control the action that the window is about to take when the user clicks the minimize button. How does one do this? I'd like to perform my own custom animation.
6) And finally, I'd like to intercept CMD-TAB and like to do my own thing.
Any pointers on these topics will be greatly appreciated. I'll also like to know if someone has done an open source project that does similar things so that I can get the idea.
_______________________________________________
Cocoa-dev mailing list (email@hidden)
Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden