One of the reasons I was interested in jailbreaking, in addition to getting video, was so I could put themes on my iPhone. I'm a tweaker and a fiddler. I like to change backgrounds, icons, and sounds. Changing the wallpaper on the unlock screen wasn't doing it for me. First, of course, you have to jailbreak. Here are instructions for Mac computers and iPhones with the 2.2 firmware upgrade (once you upgrade the firmware, previous jailbreaks are gone). It's really really no big deal, honestly, and if you mess it up you can restore the phone anyway. However, if you're not made of jailbreaking stuff, give up on this post! Apple wants you to have a plain black screen and stock icons. OK, so you've got a jailbroken phone. Start up the app called Cydia, and go to Featured Packages. Download Winterboard: this is your "brain" app for switching themes and other UI elements. Winterboard comes with a few themes, so fire it up and change stuff to see how it works. You can search for "theme" in Cydia and download one of the zillions on there (you can almost always preview the theme under menu items such as "More info" or "Screenies"), or you can haunt sites such as mbtheme (Google "iPhone themes").
Eventually you'll probably find a theme that you can't get through Cydia, and then you have to download it to your Mac and put it manually on the iPhone. You can do this through an FTP program you already have (I use Fugu, but any program that allows SFTP should work). Use Cydia to download OpenSSH and MobileTerminal, and reboot the iPhone.
The default username and password for all 3G iPhones are "root" and "alpine." Obviously you want to change this posthaste, so start MobileTerminal on your iPhone and type the following (don't type the dollar signs; they're system prompts):
$ login root [logs you in as root]
$ alpine [gives password once you're logged in as root]
$ passwd [tells the iPhone you want to change your password]
$ [whatever you want your new password to be]
$ [retype new password]
Delete MobileTerminal if you want. I don't like leaving it on my iPhone because that makes it very easy for someone to casually cause major problems.
Now open your Wifi preferences on the iPhone. Click the blue arrow next to your wireless network, and write down the iPhone's IP address. Open your FTP program (on the Mac) and put the iPhone's IP address in the "Connect to:" box. Fill in your username (still "root") and your new password, and whee! You should be connected to your iPhone securely through your Mac. By the way, don't allow your iPhone to fall asleep while you're doing this stuff or it will sever the connection.
Almost there. In the FTP screen showing your iPhone's contents, click up a level until you're at the very top level, and then navigate to /private/var/stash/Themes. In this folder should appear the stuff you already see in Winterboard. You can plunk the themes you've downloaded in here (if you downloaded a theme called "Cool Theme," it should come in folder named thusly, and that's what you put in the Themes folder). Quit the FTP program, start Winterboard, and switch to the new theme. No sweat.
If you're like me, you'll soon see a thing or two about your theme that you'd rather change, and you can do that too. Open the theme's folder on your Mac or iPhone. Anything in there you can replace as long as you give it the same name. For example, if you have an icon you'd rather use instead of the theme's iPod icon, stick the new icon in the Icons folder and name it iPod.png. (Check the dimensions of the original icon and resize the new one to match, too.) If you make the changes on your Mac, be sure to upload the changed files to your iPhone!
Just as an example, I got this fab Leopard Official theme from mbtheme:
[caption id="" align="aligncenter" width="224" caption="From mbtheme.com"][/caption]
I didn't like the phone and iPod icons (they're the same), but I loved the rest of the theme, so I made new icons for those two things and am now a happy camper:
It's not that hard, and it's fun to muck around with making the iPhone look like and do whatever you prefer.