Pu7o Posted September 21, 2006 Share Posted September 21, 2006 When developing an application on Mac OS X, you have the choice of several different looks. However, if you want to give your application a "Unified" look, like Mail.app, you need to have a cocoa NSToolbar, and several other pre-requisites, or your application falls back to Aqua. And the iTunes 5+ look, well, that's not publically available at all, and you end up having to code it from scratch! So, to solve these two problems, I present these two libraries that allow you to achieve that look with near-zero effort. More importantly, other applications are unaffected, and you don't need to modify system files! To apply this to an application, you merely have to add the following lines to Contents/Info.plist from inside your .app package. For unified: <key>LSEnvironment</key> <dict> <key>DYLD_FRAMEWORK_PATH</key> <string>/Library/Frameworks/libUnified.framework</string> </dict> And for the iTunes 5+ look, a.k.a. "Polished Metal": <key>LSEnvironment</key> <dict> <key>DYLD_FRAMEWORK_PATH</key> <string>/Library/Frameworks/libPolished.framework</string> </dict> This should be added near the end of the file, but before the last two lines (usually the last two look like this): </dict> </plist> Then, assuming that the user has the libUnified/Polished combo, the application will have the desired look! Plus, you don't need to do it on your apps only, you can apply these looks to ANY application that you want to! (Just remember that Info.plist files are cached, and therefore changes don't take effect immediately. Oh, and DON'T do this on the Finder or the Dock. Seriously.) These libraries can be downloaded here. These were put together using files from the themes Iridium and UNO Shade, without them, this wouldn't have been possible. Here are a few sample screenshots of what can be done with these libraries: Oh look! A unified firefox! Actually, this one took a few minor tweaks to the main firefox theme, since Firefox creates its own widgets. I can release said tweaks if anybody's interested And look! A polished metal TextEdit! I bet you don't see many of these around... Enjoy this EDIT: Check a later post for libiTunes7. Link to comment Share on other sites More sharing options...
Takuro Posted September 22, 2006 Share Posted September 22, 2006 I tried this on Mail and nothing happened. I pasted the code right before the last two lines of the plist. I don't know what I could have possibly done wrong... Link to comment Share on other sites More sharing options...
sHARD>> Posted September 22, 2006 Share Posted September 22, 2006 Hrm, if someone could make an installer that would be wicked beast. Just apply and unapply the effects to applications. Sweeeeeet. Link to comment Share on other sites More sharing options...
Pu7o Posted September 22, 2006 Author Share Posted September 22, 2006 I tried this on Mail and nothing happened. I pasted the code right before the last two lines of the plist. I don't know what I could have possibly done wrong... Just remember that Info.plist files are cached, and therefore changes don't take effect immediately(...) If you want to force the cache to refresh for a specific app, you can use the following workaround in Terminal(using Mail.app as an example): sudo su mv /Applications/Mail.app /Applications/Mail-2.app cp -R /Applications/Mail-2.app /Applications/Mail.app rm -r /Applications/Mail-2.app exit And, of course, those lines don't have any effect if you don't install the libs in the first place. Link to comment Share on other sites More sharing options...
Takuro Posted September 22, 2006 Share Posted September 22, 2006 And, of course, those lines don't have any effect if you don't install the libs in the first place. That installer fails. Pacifist reveals that it looks for a few files that are nonexistent in the package. Was that a pre-patched mail.app? Anyway, it now appears that I have the right frameworks. However, this still doesn't work. I've duplicated mail.app and tried running the duplicate (which I know gets rid of the cache), and it still didn't work. I appreciate you sharing this with us, but I just want to see at least one other person confirm that they got this to work. Pacifist output: ERROR The file “/private/var/tmp/folders.502/TemporaryItems/Pacifist Temp/libUnified Folder/Applications” does not exist. And like I said, running the normal installer outside of Pacifist fails too. It tells me to try again. Link to comment Share on other sites More sharing options...
Pu7o Posted September 22, 2006 Author Share Posted September 22, 2006 Okay, plan B... http://pu7o.planetaclix.pt/libunif.sparseimage.gz <- Drag-and-drop these into /Library/Frameworks. By the way, remember that Mail.app is already unified, so you probably won't see much of a difference if you use libUnified with it. And a Polished Mail... Do you really want something that looks like this? Link to comment Share on other sites More sharing options...
Takuro Posted September 23, 2006 Share Posted September 23, 2006 Yeah Pu7o, I'm trying to make Tiger's Mail look like Leopard's Mail app basically. I already have a nice theme via ShapeShifter, so I don't want to use UNO. Were these frameworks compiled for 10.5 Leopard by any chance? I'm sort of getting the feeling that the problem is that simple: most people are running Tiger, which would be incompatible with these. I'm only saying this because I'm still getting no results whatsoever. If that is the case: 1- Could you list Leopard as an important requirement in your main post to save people some confusion? 2- Could you compile the frameworks for Tiger? I really can't wait to get these visual effects applied! It looks pretty awesome. If only it'd work. Bleh. Link to comment Share on other sites More sharing options...
Pu7o Posted September 23, 2006 Author Share Posted September 23, 2006 No, I'm using them on both Tiger and Leopard just fine. (I'm on a dual boot system) Proof: This is running on Tiger, and it's working. Yeah Pu7o, I'm trying to make Tiger's Mail look like Leopard's Mail app basically. I already have a nice theme via ShapeShifter, so I don't want to use UNO. I think ShapeShifter breaks this thing. Link to comment Share on other sites More sharing options...
Pu7o Posted September 23, 2006 Author Share Posted September 23, 2006 By the way, Tiger's Mail and Leopard's Mail look exactly the same, Leopard's Mail just has an extra icon for ToDos. Link to comment Share on other sites More sharing options...
non sequitur Posted September 23, 2006 Share Posted September 23, 2006 if someone wants to be my interweb hero they should make a dmg for the unified/polished metal firefox. Link to comment Share on other sites More sharing options...
Takuro Posted September 23, 2006 Share Posted September 23, 2006 I think ShapeShifter breaks this thing. I'll just make an exception in the ShapeShifter preferences for whichever applications I decide to skin then. Thanks for the advice! Link to comment Share on other sites More sharing options...
Colonel Posted September 23, 2006 Share Posted September 23, 2006 Awesome find. I'll be sure to implement it into a few of my apps. Link to comment Share on other sites More sharing options...
sHARD>> Posted September 23, 2006 Share Posted September 23, 2006 /me still notes his installer proposition Link to comment Share on other sites More sharing options...
Pu7o Posted September 23, 2006 Author Share Posted September 23, 2006 if someone wants to be my interweb hero they should make a dmg for the unified/polished metal firefox. http://pu7o.planetaclix.pt/firefox-unified.dmg.gz (You still need the libs installed) Link to comment Share on other sites More sharing options...
Suzuka Posted September 24, 2006 Share Posted September 24, 2006 I have no luck tring to use this with camnio and textedit even hen I install the libraries Link to comment Share on other sites More sharing options...
Takuro Posted September 25, 2006 Share Posted September 25, 2006 Ack... I got it to work. I had to add a few apps to ShapeShifter's exclude list. This is pretty cool, but then I loose the skin that the rest of my apps have. Darn it... Link to comment Share on other sites More sharing options...
non sequitur Posted September 26, 2006 Share Posted September 26, 2006 when i try to instal the libs, it says please try installing again. i did, and it still doesnt work. im running on the machine in my sig Link to comment Share on other sites More sharing options...
Pu7o Posted September 27, 2006 Author Share Posted September 27, 2006 Search for "Plan B" in this post Link to comment Share on other sites More sharing options...
Pu7o Posted October 10, 2006 Author Share Posted October 10, 2006 OK, here's libiTunes7 to add to the party. As you'd expect from the name, it gives you iTunes 7-style controls. It does NOT make your apps polished metal. It was made from an edited version of the Extras.rsrc in the iMetal guiKit. Code for the thing in Info.plist: <key>LSEnvironment</key> <dict> <key>DYLD_FRAMEWORK_PATH</key> <string>/Library/Frameworks/libiTunes7.framework</string> </dict> Link: http://web.ist.utl.pt/l57392/libiTunes7.dmg.gz The DMG has a link to the /Library/Frameworks folder inside it called "Drop-Here" to make the installation easier Enjoy it Oh, an example screenshot: It looks better in metal apps than in regular aqua apps. Link to comment Share on other sites More sharing options...
Lostgame Posted October 10, 2006 Share Posted October 10, 2006 Dude-you rock. Link to comment Share on other sites More sharing options...
Recommended Posts