Finally I found some time to improve support for PlexyDesk on Mac OS X Lion, there were few things which bothered me
when ever I tried to Plexydesk on Mac. For example when I start plexydesk on mac, it would steal all the focus and minimize all the windows.
which meant that I would have to restore each window manually, it didn’t stop here, if I click back on the desktop, I would lose the focus on the other windows again. Apart from this, Lions new Mission control was a big show stopper for plexydesk, since mission control would consider it as just another window on the exposed view , it made it difficult to use.
PlexyDesk is just a Frameless QWidget that stays below other windows on Mac, so it’s really hard to avoid the above symptoms, Without the help of some Native cocoa code to define the mac os x Desktop specific settings. Unfortunately Qt doesn’t really provide straight forward API to do this. But after few hours of struggling with the code and googling, I finally managed to interface Qt and NSWindow to solve my problem. Now plexydesk has following features on Mac.
- Renders one level above the desktop icons, which means all plexyesk widgets will work along with the mac default desktop.
- Users can interface with the native desktop rendered by Finder (copy/paste items, drag and drop, and also changing the wallpaper)
- Uses less memory, this is was completely unexpected, but with the new fixes plexydesk uses 1/2 the amount of RAM it use to take.
- Faster start up.
- Doesn’t steal the focus from currently running top level widows..
Overall I’m really pleased with the way Plexy works on Mac now, it’s usable, fast and makes my desktop look really pretty .