+ Reply
Page 1 of 4 123 ... LastLast
Results 1 to 20 of 66

Your favorite Apple, iPhone, iPad, iOS, Jailbreak, and Cydia site.


Thread: A Proposal for Standards. Theme creators and junkies PLEASE READ and COMMENT!!

is a discussion within the

Skinning / Themes Discussion

forums, a part of the

Design and Media For the iPhone / iPod Touch

section;
So in dinking around with my iPhone and themeing things I've come to the conclusion that... well... Applying a theme really, really sucks. Every theme author has a different take
...
  1. #1
    What's Jailbreak?
    Join Date
    Jul 2007
    Location
    Portland
    Posts
    13
    Thanks
    1
    Thanked 6 Times in 4 Posts

    Exclamation A Proposal for Standards. Theme creators and junkies PLEASE READ and COMMENT!!
    So in dinking around with my iPhone and themeing things I've come to the conclusion that... well... Applying a theme really, really sucks. Every theme author has a different take on what to name the files... where to put the files (example, check out Bach theme, check out paperCONS theme).

    I have a proposal that I'd like some comments on.

    Anyways. The idea is to come up with a standard directory structure/bundle type for themes that is:

    1) Easy to figure out what goes where
    2) Supports multiple iPhone Operating System revisions (futureproof)
    3) Supports multiple variants of the same theme.

    Unfortunately, I am not a C coder, or I'd modify the iPhoneInterface program to support this... However I am a mean scripter, so I'm making a proof of concept PERL script that will apply a theme.

    Here's my current thinking for an "iPhone Bundle."

    Take the paperCONSv2 theme. An excellent theme to use as an example (and an excellent overall theme, IMO).

    Currently, if you unzip the theme you get this:

    paperCONSv2
    paperCONSv2/.DS_Store
    paperCONSv2/NO BACKGROUND
    paperCONSv2/NO BACKGROUND/album.png
    paperCONSv2/NO BACKGROUND/browser.png
    paperCONSv2/NO BACKGROUND/calender.png
    paperCONSv2/NO BACKGROUND/calulator.png
    paperCONSv2/NO BACKGROUND/camera.png
    paperCONSv2/NO BACKGROUND/clock.png
    paperCONSv2/NO BACKGROUND/ipod.png
    paperCONSv2/NO BACKGROUND/mail.png
    paperCONSv2/NO BACKGROUND/maps.png
    paperCONSv2/NO BACKGROUND/notes.png
    paperCONSv2/NO BACKGROUND/phone.png
    paperCONSv2/NO BACKGROUND/settings.png
    paperCONSv2/NO BACKGROUND/sms.png
    paperCONSv2/NO BACKGROUND/stocks.png
    paperCONSv2/NO BACKGROUND/Thumbs.db
    paperCONSv2/NO BACKGROUND/weather.png
    paperCONSv2/NO BACKGROUND/youtube.png
    paperCONSv2/preview.jpg
    paperCONSv2/preview2.jpg
    paperCONSv2/TINTED BACKGROUND
    paperCONSv2/TINTED BACKGROUND/album.png
    paperCONSv2/TINTED BACKGROUND/browser.png
    paperCONSv2/TINTED BACKGROUND/calender.png
    paperCONSv2/TINTED BACKGROUND/calulator.png
    paperCONSv2/TINTED BACKGROUND/camera.png
    paperCONSv2/TINTED BACKGROUND/clock.png
    paperCONSv2/TINTED BACKGROUND/ipod.png
    paperCONSv2/TINTED BACKGROUND/mail.png
    paperCONSv2/TINTED BACKGROUND/maps.png
    paperCONSv2/TINTED BACKGROUND/notes.png
    paperCONSv2/TINTED BACKGROUND/phone.png
    paperCONSv2/TINTED BACKGROUND/settings.png
    paperCONSv2/TINTED BACKGROUND/sms.png
    paperCONSv2/TINTED BACKGROUND/stocks.png
    paperCONSv2/TINTED BACKGROUND/Thumbs.db
    paperCONSv2/TINTED BACKGROUND/weather.png
    paperCONSv2/TINTED BACKGROUND/youtube.png
    paperCONSv2/TRANSPARENT BACKGROUND
    paperCONSv2/TRANSPARENT BACKGROUND/album copy.png
    paperCONSv2/TRANSPARENT BACKGROUND/browser copy.png
    paperCONSv2/TRANSPARENT BACKGROUND/calender copy.png
    paperCONSv2/TRANSPARENT BACKGROUND/calulator copy.png
    paperCONSv2/TRANSPARENT BACKGROUND/camera copy.png
    paperCONSv2/TRANSPARENT BACKGROUND/clock copy.png
    paperCONSv2/TRANSPARENT BACKGROUND/ipod copy.png
    paperCONSv2/TRANSPARENT BACKGROUND/mail copy.png
    paperCONSv2/TRANSPARENT BACKGROUND/maps copy.png
    paperCONSv2/TRANSPARENT BACKGROUND/notes copy.png
    paperCONSv2/TRANSPARENT BACKGROUND/phone copy.png
    paperCONSv2/TRANSPARENT BACKGROUND/settings copy.png
    paperCONSv2/TRANSPARENT BACKGROUND/sms copy.png
    paperCONSv2/TRANSPARENT BACKGROUND/stocks copy.png
    paperCONSv2/TRANSPARENT BACKGROUND/Thumbs.db
    paperCONSv2/TRANSPARENT BACKGROUND/weather copy.png
    paperCONSv2/TRANSPARENT BACKGROUND/youtube copy.png

    It makes sense and it doesn't make sense at the same time. First off, the names for the .png files doesn't coincide with the names of the directories that the images will be put in. Second, if you look at the TRANSPARENT BACKGROUND directory, all the files aren't even named the same as the other two directories!! Why is album.png named album.png? I figured out by myself that it's actually the icon-Photos.png. Still... the lack of consistency.. ARGH!!!

    Here is my proposal:

    paperCONS.ipb
    paperCONS.ipb/1.0
    paperCONS.ipb/1.0/Default
    paperCONS.ipb/1.0/Default/Applications
    paperCONS.ipb/1.0/Default/Applications/.DS_Store
    paperCONS.ipb/1.0/Default/Applications/Calculator.app
    paperCONS.ipb/1.0/Default/Applications/Calculator.app/icon.png
    paperCONS.ipb/1.0/Default/Applications/Maps.app
    paperCONS.ipb/1.0/Default/Applications/Maps.app/icon.png
    paperCONS.ipb/1.0/Default/Applications/MobileCal.app
    paperCONS.ipb/1.0/Default/Applications/MobileCal.app/icon.png
    paperCONS.ipb/1.0/Default/Applications/MobileMail.app
    paperCONS.ipb/1.0/Default/Applications/MobileMail.app/icon.png
    paperCONS.ipb/1.0/Default/Applications/MobileMusicPlayer.app
    paperCONS.ipb/1.0/Default/Applications/MobileMusicPlayer.app/icon.png
    paperCONS.ipb/1.0/Default/Applications/MobileNotes.app
    paperCONS.ipb/1.0/Default/Applications/MobileNotes.app/icon.png
    paperCONS.ipb/1.0/Default/Applications/MobilePhone.app
    paperCONS.ipb/1.0/Default/Applications/MobilePhone.app/icon.png
    paperCONS.ipb/1.0/Default/Applications/MobileSafari.app
    paperCONS.ipb/1.0/Default/Applications/MobileSafari.app/icon.png
    paperCONS.ipb/1.0/Default/Applications/MobileSlideShow.app
    paperCONS.ipb/1.0/Default/Applications/MobileSlideShow.app/icon-Camera.png
    paperCONS.ipb/1.0/Default/Applications/MobileSlideShow.app/icon-Photos.png
    paperCONS.ipb/1.0/Default/Applications/MobileSMS.app
    paperCONS.ipb/1.0/Default/Applications/MobileSMS.app/icon.png
    paperCONS.ipb/1.0/Default/Applications/MobileTimer.app
    paperCONS.ipb/1.0/Default/Applications/MobileTimer.app/icon.png
    paperCONS.ipb/1.0/Default/Applications/Preferences.app
    paperCONS.ipb/1.0/Default/Applications/Preferences.app/icon.png
    paperCONS.ipb/1.0/Default/Applications/Stocks.app
    paperCONS.ipb/1.0/Default/Applications/Stocks.app/icon.png
    paperCONS.ipb/1.0/Default/Applications/Weather.app
    paperCONS.ipb/1.0/Default/Applications/Weather.app/icon.png
    paperCONS.ipb/1.0/Default/Applications/YouTube.app
    paperCONS.ipb/1.0/Default/Applications/YouTube.app/icon.png
    paperCONS.ipb/1.0/Default/System
    paperCONS.ipb/1.0/Default/System/Library
    paperCONS.ipb/1.0/Default/System/Library/CoreServices
    paperCONS.ipb/1.0/Default/System/Library/CoreServices/SpringBoard.app
    paperCONS.ipb/1.0/Default/System/Library/CoreServices/SpringBoard.app/SBDockBG2.png
    paperCONS.ipb/1.0/No Background
    paperCONS.ipb/1.0/No Background/Applications
    paperCONS.ipb/1.0/No Background/Applications/.DS_Store
    paperCONS.ipb/1.0/No Background/Applications/Calculator.app
    paperCONS.ipb/1.0/No Background/Applications/Calculator.app/icon.png
    paperCONS.ipb/1.0/No Background/Applications/Maps.app
    paperCONS.ipb/1.0/No Background/Applications/Maps.app/icon.png
    paperCONS.ipb/1.0/No Background/Applications/MobileCal.app
    paperCONS.ipb/1.0/No Background/Applications/MobileCal.app/icon.png
    paperCONS.ipb/1.0/No Background/Applications/MobileMail.app
    paperCONS.ipb/1.0/No Background/Applications/MobileMail.app/icon.png
    paperCONS.ipb/1.0/No Background/Applications/MobileMusicPlayer.app
    paperCONS.ipb/1.0/No Background/Applications/MobileMusicPlayer.app/icon.png
    paperCONS.ipb/1.0/No Background/Applications/MobileNotes.app
    paperCONS.ipb/1.0/No Background/Applications/MobileNotes.app/icon.png
    paperCONS.ipb/1.0/No Background/Applications/MobilePhone.app
    paperCONS.ipb/1.0/No Background/Applications/MobilePhone.app/icon.png
    paperCONS.ipb/1.0/No Background/Applications/MobileSafari.app
    paperCONS.ipb/1.0/No Background/Applications/MobileSafari.app/icon.png
    paperCONS.ipb/1.0/No Background/Applications/MobileSlideShow.app
    paperCONS.ipb/1.0/No Background/Applications/MobileSlideShow.app/icon-Camera.png
    paperCONS.ipb/1.0/No Background/Applications/MobileSlideShow.app/icon-Photos.png
    paperCONS.ipb/1.0/No Background/Applications/MobileSMS.app
    paperCONS.ipb/1.0/No Background/Applications/MobileSMS.app/icon.png
    paperCONS.ipb/1.0/No Background/Applications/MobileTimer.app
    paperCONS.ipb/1.0/No Background/Applications/MobileTimer.app/icon.png
    paperCONS.ipb/1.0/No Background/Applications/Preferences.app
    paperCONS.ipb/1.0/No Background/Applications/Preferences.app/icon.png
    paperCONS.ipb/1.0/No Background/Applications/Stocks.app
    paperCONS.ipb/1.0/No Background/Applications/Stocks.app/icon.png
    paperCONS.ipb/1.0/No Background/Applications/Weather.app
    paperCONS.ipb/1.0/No Background/Applications/Weather.app/icon.png
    paperCONS.ipb/1.0/No Background/Applications/YouTube.app
    paperCONS.ipb/1.0/No Background/Applications/YouTube.app/icon.png
    paperCONS.ipb/1.0/No Background/System
    paperCONS.ipb/1.0/No Background/System/Library
    paperCONS.ipb/1.0/No Background/System/Library/CoreServices
    paperCONS.ipb/1.0/No Background/System/Library/CoreServices/SpringBoard.app
    paperCONS.ipb/1.0/No Background/System/Library/CoreServices/SpringBoard.app/SBDockBG2.png
    paperCONS.ipb/1.0/Transparent Background
    paperCONS.ipb/1.0/Transparent Background/Applications
    paperCONS.ipb/1.0/Transparent Background/Applications/.DS_Store
    paperCONS.ipb/1.0/Transparent Background/Applications/Calculator.app
    paperCONS.ipb/1.0/Transparent Background/Applications/Calculator.app/icon.png
    paperCONS.ipb/1.0/Transparent Background/Applications/Maps.app
    paperCONS.ipb/1.0/Transparent Background/Applications/Maps.app/icon.png
    paperCONS.ipb/1.0/Transparent Background/Applications/MobileCal.app
    paperCONS.ipb/1.0/Transparent Background/Applications/MobileCal.app/icon.png
    paperCONS.ipb/1.0/Transparent Background/Applications/MobileMail.app
    paperCONS.ipb/1.0/Transparent Background/Applications/MobileMail.app/icon.png
    paperCONS.ipb/1.0/Transparent Background/Applications/MobileMusicPlayer.app
    paperCONS.ipb/1.0/Transparent Background/Applications/MobileMusicPlayer.app/icon.png
    paperCONS.ipb/1.0/Transparent Background/Applications/MobileNotes.app
    paperCONS.ipb/1.0/Transparent Background/Applications/MobileNotes.app/icon.png
    paperCONS.ipb/1.0/Transparent Background/Applications/MobilePhone.app
    paperCONS.ipb/1.0/Transparent Background/Applications/MobilePhone.app/icon.png
    paperCONS.ipb/1.0/Transparent Background/Applications/MobileSafari.app
    paperCONS.ipb/1.0/Transparent Background/Applications/MobileSafari.app/icon.png
    paperCONS.ipb/1.0/Transparent Background/Applications/MobileSlideShow.app
    paperCONS.ipb/1.0/Transparent Background/Applications/MobileSlideShow.app/icon-Camera.png
    paperCONS.ipb/1.0/Transparent Background/Applications/MobileSlideShow.app/icon-Photos.png
    paperCONS.ipb/1.0/Transparent Background/Applications/MobileSMS.app
    paperCONS.ipb/1.0/Transparent Background/Applications/MobileSMS.app/icon.png
    paperCONS.ipb/1.0/Transparent Background/Applications/MobileTimer.app
    paperCONS.ipb/1.0/Transparent Background/Applications/MobileTimer.app/icon.png
    paperCONS.ipb/1.0/Transparent Background/Applications/Preferences.app
    paperCONS.ipb/1.0/Transparent Background/Applications/Preferences.app/icon.png
    paperCONS.ipb/1.0/Transparent Background/Applications/Stocks.app
    paperCONS.ipb/1.0/Transparent Background/Applications/Stocks.app/icon.png
    paperCONS.ipb/1.0/Transparent Background/Applications/Weather.app
    paperCONS.ipb/1.0/Transparent Background/Applications/Weather.app/icon.png
    paperCONS.ipb/1.0/Transparent Background/Applications/YouTube.app
    paperCONS.ipb/1.0/Transparent Background/Applications/YouTube.app/icon.png
    paperCONS.ipb/1.0/Transparent Background/System
    paperCONS.ipb/1.0/Transparent Background/System/Library
    paperCONS.ipb/1.0/Transparent Background/System/Library/CoreServices
    paperCONS.ipb/1.0/Transparent Background/System/Library/CoreServices/SpringBoard.app
    paperCONS.ipb/1.0/Transparent Background/System/Library/CoreServices/SpringBoard.app/SBDockBG2.png

    Now to dissect what's going on. The "paperCONS.ipb" directory will be the name of the theme. So for the recently released Bach theme, it'd be "Bach.ipb", for "The Matrix" theme, it could be "The Matrix.ipb" The reason I choose to add a file extension to the directory is so when someone smarter than myself decides to make a theme manager for MacOS X, they can simply say that .ipb directories are iPhone Bundles!

    Next up is a version number. 1.0. This will be the version of the iPhone OS that the theme is targeted for, NOT the theme version.

    Next up is Default. I think if a theme has only one variation it should just have one folder. Default. If it has multiple variations, the theme author will simply create whatever subfolder names they want. This could also help if a theme author wants multiple "versions" of their theme in the .ipb bundle (for instance, GunMetal could have GunMetal/1.0/Default, GunMetal/1.0/Version 1, GunMetal/1.0/Version 1.5, etc).

    Next up, you'll notice that inside the Default directory I've opted to keep the EXACT same directory structure as the iPhone. I honestly believe this makes the most sense in the long term. It also forces all theme authors to abide by a consistent standard.

    The other advantages is that we could use this directory structure to eventually theme non .png files... or add applications (once the developer toolkit is in place).

    Personally, I suck at graphics, but am a relatively decent sound enginner. I want to start released Audio themes... This method of organization allows me to do so easily!

    I'll be releasing the script that interfaces with iPhoneInterface within the next few days, so if anyone is interested in testing it, hit me up. It'll be written in PERL so it should be cross platform compatible (I use Mac).

    Now, the disadvantage to having things laid out like this is that if someone wants to apply a theme by hand, there are a LOT more directories to navigate. Another disadvantage with my proposal is "bad" themes could be created that overwrite files they shouldn't... However this could be negated by whomever creates the software to apply themes (for instance, only put .png and .caf files on the device unless otherwise allowed by the user). I can't think of any other disadvantages off the top of my head... or any problems with what I'm planning... which is why I'm posting here before I finish up the script I'm working on... to get feedback!

    --Tim

  2. The Following 3 Users Say Thank You to timblade For This Useful Post:

    Cody Overcash (07-28-2007), ColPhorbin (07-28-2007), JakeyBoy (08-17-2007)

  3. #2
    Owner / Founder - ModMyi
    aka cash7c3
    Cody Overcash's Avatar
    Join Date
    May 2007
    Location
    Denver, CO
    Posts
    11,893
    Thanks
    340
    Thanked 15,271 Times in 652 Posts

    if you get that script running correctly I'd be happy to test it out on os x. A also agree on a standard but it's hard to standardize individuals. Of course with a script that installs for a standard that might help influence the aceeptance of such standard.

  4. #3
    What's Jailbreak?
    Join Date
    Jul 2007
    Location
    Portland
    Posts
    13
    Thanks
    1
    Thanked 6 Times in 4 Posts

    Default Standard Skeleton
    In case any theme creators are interested, I've attached a zip file which has a Default theme skeleton.
    Attached Files Attached Files

  5. #4
    What's Jailbreak?
    Join Date
    Jul 2007
    Posts
    13
    Thanks
    4
    Thanked 0 Times in 0 Posts

    There was no file in the Skeleton.zip timblade.

  6. #5
    What's Jailbreak?
    Join Date
    Jul 2007
    Location
    Portland
    Posts
    13
    Thanks
    1
    Thanked 6 Times in 4 Posts

    Default Skeleton.zip
    Hmm. It should have no files... Just an empty directory structure ready for some creative skinner to load with goodies! If you'd like me to post the zip files for the Bach and paperCONS themes I converted to be in my layout, I could do so...

    Quote Originally Posted by Kembond View Post
    There was no file in the Skeleton.zip timblade.

  7. #6
    Owner / Founder - ModMyi
    aka poetic_folly
    Kyle Matthews's Avatar
    Join Date
    May 2007
    Location
    Tampa, Florida, United States
    Posts
    8,473
    Thanks
    568
    Thanked 4,798 Times in 1,222 Posts

    Awesome idea. I'd love to test it out on OS X as well. We have pretty much written the book on iPhone skinning, so it'd be great to put together a definite skin structure.

    Awesome work.
    .


    ↑ ↑ ↓ ↓ ← → ← → B A [select] [start] Kyle Matthews

  8. #7
    Retired Moderator arthursdomain's Avatar
    Join Date
    Jul 2007
    Location
    Mililani, Hawaii
    Posts
    850
    Thanks
    12
    Thanked 135 Times in 85 Posts

    i think your concept is sound, i have a few questions / assumptions.
    1. since its in perl it will work in either windows or mac?
    2. would your structure also cater to different DisplayOrder.plists?

    i think its a great idea, i would WELCOME one click or one line theme installs. Could you also include in this a restore feature? which could draw on a folder inside phonedmg or included with your code in a zip file. also there was another code which had a safety measure which would backup the last skin you had in your iphone then import the new skin in and hold the old skin in a directory. I thought that was a great idea especially if you just want to try out a skin. just some thoughts out loud. good luck, if its windows comp id like to try it. I'd also make my theme compatible with it if all works out well.
    ARTHURSDOMAIN
    ModMyI.com Apps Reviewer

    Retired ModMyi.com Moderator

    Follow me on twitter: twitter.com/laynem

    Reviewed Apps:
    Oregon Trail, Who Has The Biggest Brain, Lock Puzzle, Tweetie

    Want an app reviewed? PM me with the app name

  9. #8
    iPhone? More like MyPhone Shimizu1006's Avatar
    Join Date
    Jul 2007
    Location
    Los Angeles, CA
    Posts
    242
    Thanks
    19
    Thanked 11 Times in 11 Posts

    great idea. I will Definately follow suite on my next theme. The hard part is getting everyone to conform.

  10. #9
    Owner / Founder - ModMyi
    aka poetic_folly
    Kyle Matthews's Avatar
    Join Date
    May 2007
    Location
    Tampa, Florida, United States
    Posts
    8,473
    Thanks
    568
    Thanked 4,798 Times in 1,222 Posts

    Nah, it wouldn't be too tough for us to set a standard here. We have most of the iPhone skinners on our site, so it would be a simple matter of setting it all up and documenting it. Then we just get the guys to start following it, and write a program to install 'em.
    .


    ↑ ↑ ↓ ↓ ← → ← → B A [select] [start] Kyle Matthews

  11. #10
    What's Jailbreak?
    Join Date
    Jul 2007
    Location
    Portland
    Posts
    13
    Thanks
    1
    Thanked 6 Times in 4 Posts

    Smile reply
    1) Yes! I plan on actually using an open source package called "perl2exe" and trying to make the Windows version not require people to install a PERL distribution... Which should facilitate quick and early adoption.

    2) Yes! The beauty of how I'm proposing is that it'll allow you to use the "iPhoneBundle" package to put really anything on your phone. People could make ringtone packs. That recently released SOCKS proxy stuff... Someone could probably create a 2 or 3 step iPhoneBundle to install it (e.g. Install Bundle 1, restart, install Bundle 2, restart, install Bundle 3, etc.). Again, the downside of this is if someone blindly installs bundles, someone could sneak something malicious in there... which is why I plan on havng my program tell you exactly what it's about to write to your iPhone.

    I actually do plan on implementing a "backup files that are overwritten" feature. If you decide to use that switch then you'd provide a bundle name (example, install_ipb.pl -v -b MyBackup20070729 MyNewTheme).

    First I need to get an initial version done which puts the files up. I've done some experimentation and it will be possible for me to use perl to pipe commands into iPhoneInterface... I'm going on a 3 hour road trip (Portland to Seattle), so hopefully I'll have it ready to go for Mac people to test by tomorrow. I won't be able to test a Windows version quite yet (all I have are Macs).

    If you really are interested in testing, get http://www.activestate.com/store/pro...5-08d58c2648ca . It's PERL for Windows!

    I agree with poetic_folly in terms of getting people to adopt. I've been lurking on the forums for a bit waiting to see if anyone would spearhead something like I've proposed... No one has yet, and I think just getting some of the major players in the fledgling iPhone skinning scene to adopt this will cascade throughout.

    Also, I'd love to get in touch with the author of that ringtone uploading program (iFuntastic I think it is). I briefly checked it out and think it'd be a great candidate to implement this idea on the GUI side of things. Personally, I'm a command-line sort of guy.

    --Tim

    Quote Originally Posted by arthursdomain View Post
    i think your concept is sound, i have a few questions / assumptions.
    1. since its in perl it will work in either windows or mac?
    2. would your structure also cater to different DisplayOrder.plists?

    i think its a great idea, i would WELCOME one click or one line theme installs. Could you also include in this a restore feature? which could draw on a folder inside phonedmg or included with your code in a zip file. also there was another code which had a safety measure which would backup the last skin you had in your iphone then import the new skin in and hold the old skin in a directory. I thought that was a great idea especially if you just want to try out a skin. just some thoughts out loud. good luck, if its windows comp id like to try it. I'd also make my theme compatible with it if all works out well.

  12. #11
    Retired Moderator arthursdomain's Avatar
    Join Date
    Jul 2007
    Location
    Mililani, Hawaii
    Posts
    850
    Thanks
    12
    Thanked 135 Times in 85 Posts

    if it takes activestate ill install it to test it for you, just give me a link to the package and the test files you want me to upload and ill give it a shot for the windows folk, you may also want to talk with secks, hes doing something very similar to you, i dont think its in perl though but same concept , hes doing it for windows only called ithemer here
    ARTHURSDOMAIN
    ModMyI.com Apps Reviewer

    Retired ModMyi.com Moderator

    Follow me on twitter: twitter.com/laynem

    Reviewed Apps:
    Oregon Trail, Who Has The Biggest Brain, Lock Puzzle, Tweetie

    Want an app reviewed? PM me with the app name

  13. #12
    previously known as amalone87
    Join Date
    Jul 2007
    Location
    Knoxville, TN
    Posts
    270
    Thanks
    45
    Thanked 50 Times in 35 Posts

    This is AWESOME!
    Last edited by unknownentry; 08-18-2007 at 12:47 PM.

  14. #13
    What's Jailbreak?
    Join Date
    Jul 2007
    Location
    Portland
    Posts
    13
    Thanks
    1
    Thanked 6 Times in 4 Posts

    Smile sweet!
    Cool! I'll check your stuff out as soon as I'm around a computer with net access and let you know if the changes will be compatible with what I've written.

    I got my script functioning properly! I'll attach it as soon as I have net access (again, probably tomorrow).

    Quote Originally Posted by amalone87 View Post
    I have to be organized when I'm skinning my iPhone or I will go crazy so I came up with my own way of organizing all my files. After seeing several styles of organization, I think I like this way the best. I did, however, make a few changes to your "Skeleton" and am going to upload it. If anyone sees a mistake or would like to add something, just let me know. I am thinking about re-uploading all my Themes so that they will have my "Skin Structure". I will be using this on all my themes from now on. Any comments, concerns, additions, and suggestions?

    http://www.mediafire.com/?6mphxgxfch9

  15. #14
    Green Apple dmbaird's Avatar
    Join Date
    Jul 2007
    Location
    Palm Springs, California
    Posts
    55
    Thanks
    4
    Thanked 6 Times in 6 Posts

    Quote Originally Posted by timblade View Post
    I got my script functioning properly! I'll attach it as soon as I have net access (again, probably tomorrow).
    Nice!, I'm looking forward to see what you did.

  16. #15
    Owner / Founder - ModMyi
    aka poetic_folly
    Kyle Matthews's Avatar
    Join Date
    May 2007
    Location
    Tampa, Florida, United States
    Posts
    8,473
    Thanks
    568
    Thanked 4,798 Times in 1,222 Posts

    I'm excited too!
    .


    ↑ ↑ ↓ ↓ ← → ← → B A [select] [start] Kyle Matthews

  17. #16
    Retired Moderator arthursdomain's Avatar
    Join Date
    Jul 2007
    Location
    Mililani, Hawaii
    Posts
    850
    Thanks
    12
    Thanked 135 Times in 85 Posts

    downloading/install activestate now in anticipation
    ARTHURSDOMAIN
    ModMyI.com Apps Reviewer

    Retired ModMyi.com Moderator

    Follow me on twitter: twitter.com/laynem

    Reviewed Apps:
    Oregon Trail, Who Has The Biggest Brain, Lock Puzzle, Tweetie

    Want an app reviewed? PM me with the app name

  18. #17
    What's Jailbreak?
    Join Date
    Jul 2007
    Location
    Portland
    Posts
    13
    Thanks
    1
    Thanked 6 Times in 4 Posts

    Cool woohoo
    Alright, here is the initial version. It's definitely not feature complete.

    I've also packaged the paperCONS theme, however it was too big to attach. http://www.timmy.org/paperCONS.ipb.zip

    Ok. So unzip the installipb.zip file and throw installipb.pl into your phonedmg directory.

    Now, you can either create a directory called iPhoneBundles and throw the Bach.ipb.zip and paperCONS.ipb.zip files into said directory, or throw the zip files into your phonedmg directory. Uncompress the zip files.

    Now. Since it's late, and I'm tired, I'll just paste examples of how to use it and what it'll output currently (it's going to change).

    twisted:~/phonedmg tim$ ./installipb.pl Bach
    installipb.pl Version: 0.1
    Created By: Tim Blade <[email protected]>

    iPhoneInterface: /Users/tim/phonedmg/iPhoneInterface
    Bundles Directory: /Users/tim/phonedmg/iPhoneBundles
    Target Bundle: Bach.ipb
    Target Variant: Default
    iPhone OS Version: 1.0
    Target Directory: /Users/tim/phonedmg/iPhoneBundles/Bach.ipb/1.0/Default
    /Users/tim/phonedmg/iPhoneBundles/Bach.ipb/1.0/Default/Applications/Calculator.app - /Applications/Calculator.app
    /Users/tim/phonedmg/iPhoneBundles/Bach.ipb/1.0/Default/Applications/Maps.app - /Applications/Maps.app
    /Users/tim/phonedmg/iPhoneBundles/Bach.ipb/1.0/Default/Applications/MobileCal.app - /Applications/MobileCal.app
    /Users/tim/phonedmg/iPhoneBundles/Bach.ipb/1.0/Default/Applications/MobileMail.app - /Applications/MobileMail.app
    /Users/tim/phonedmg/iPhoneBundles/Bach.ipb/1.0/Default/Applications/MobileMusicPlayer.app - /Applications/MobileMusicPlayer.app
    /Users/tim/phonedmg/iPhoneBundles/Bach.ipb/1.0/Default/Applications/MobileNotes.app - /Applications/MobileNotes.app
    /Users/tim/phonedmg/iPhoneBundles/Bach.ipb/1.0/Default/Applications/MobilePhone.app - /Applications/MobilePhone.app
    /Users/tim/phonedmg/iPhoneBundles/Bach.ipb/1.0/Default/Applications/MobileSafari.app - /Applications/MobileSafari.app
    /Users/tim/phonedmg/iPhoneBundles/Bach.ipb/1.0/Default/Applications/MobileSlideShow.app - /Applications/MobileSlideShow.app
    /Users/tim/phonedmg/iPhoneBundles/Bach.ipb/1.0/Default/Applications/MobileSlideShow.app - /Applications/MobileSlideShow.app
    /Users/tim/phonedmg/iPhoneBundles/Bach.ipb/1.0/Default/Applications/MobileSMS.app - /Applications/MobileSMS.app
    /Users/tim/phonedmg/iPhoneBundles/Bach.ipb/1.0/Default/Applications/MobileTimer.app - /Applications/MobileTimer.app
    /Users/tim/phonedmg/iPhoneBundles/Bach.ipb/1.0/Default/Applications/Preferences.app - /Applications/Preferences.app
    /Users/tim/phonedmg/iPhoneBundles/Bach.ipb/1.0/Default/Applications/Stocks.app - /Applications/Stocks.app
    /Users/tim/phonedmg/iPhoneBundles/Bach.ipb/1.0/Default/Applications/Weather.app - /Applications/Weather.app
    /Users/tim/phonedmg/iPhoneBundles/Bach.ipb/1.0/Default/Applications/YouTube.app - /Applications/YouTube.app
    /Users/tim/phonedmg/iPhoneBundles/Bach.ipb/1.0/Default/System/Library/CoreServices/SpringBoard.app - /System/Library/CoreServices/SpringBoard.app
    twisted:~/phonedmg tim$


    That's me installing the Bach theme. You can either just say "Bach" as the argument or "Bach.ipb" My code doesn't care.

    Here's my example for installing the Transparent Background variant for paperCONS

    twisted:~/phonedmg tim$ ./installipb.pl -a "Transparent Background" paperCONS
    installipb.pl Version: 0.1
    Created By: Tim Blade <[email protected]>

    iPhoneInterface: /Users/tim/phonedmg/iPhoneInterface
    Bundles Directory: /Users/tim/phonedmg/iPhoneBundles
    Target Bundle: paperCONS.ipb
    Target Variant: Transparent Background
    iPhone OS Version: 1.0
    Target Directory: /Users/tim/phonedmg/iPhoneBundles/paperCONS.ipb/1.0/Transparent Background
    /Users/tim/phonedmg/iPhoneBundles/paperCONS.ipb/1.0/Transparent Background/Applications/Calculator.app - /Applications/Calculator.app
    /Users/tim/phonedmg/iPhoneBundles/paperCONS.ipb/1.0/Transparent Background/Applications/Maps.app - /Applications/Maps.app
    /Users/tim/phonedmg/iPhoneBundles/paperCONS.ipb/1.0/Transparent Background/Applications/MobileCal.app - /Applications/MobileCal.app
    /Users/tim/phonedmg/iPhoneBundles/paperCONS.ipb/1.0/Transparent Background/Applications/MobileMail.app - /Applications/MobileMail.app
    /Users/tim/phonedmg/iPhoneBundles/paperCONS.ipb/1.0/Transparent Background/Applications/MobileMusicPlayer.app - /Applications/MobileMusicPlayer.app
    /Users/tim/phonedmg/iPhoneBundles/paperCONS.ipb/1.0/Transparent Background/Applications/MobileNotes.app - /Applications/MobileNotes.app
    /Users/tim/phonedmg/iPhoneBundles/paperCONS.ipb/1.0/Transparent Background/Applications/MobilePhone.app - /Applications/MobilePhone.app
    /Users/tim/phonedmg/iPhoneBundles/paperCONS.ipb/1.0/Transparent Background/Applications/MobileSafari.app - /Applications/MobileSafari.app
    /Users/tim/phonedmg/iPhoneBundles/paperCONS.ipb/1.0/Transparent Background/Applications/MobileSlideShow.app - /Applications/MobileSlideShow.app
    /Users/tim/phonedmg/iPhoneBundles/paperCONS.ipb/1.0/Transparent Background/Applications/MobileSlideShow.app - /Applications/MobileSlideShow.app
    /Users/tim/phonedmg/iPhoneBundles/paperCONS.ipb/1.0/Transparent Background/Applications/MobileSMS.app - /Applications/MobileSMS.app
    /Users/tim/phonedmg/iPhoneBundles/paperCONS.ipb/1.0/Transparent Background/Applications/MobileTimer.app - /Applications/MobileTimer.app
    /Users/tim/phonedmg/iPhoneBundles/paperCONS.ipb/1.0/Transparent Background/Applications/Preferences.app - /Applications/Preferences.app
    /Users/tim/phonedmg/iPhoneBundles/paperCONS.ipb/1.0/Transparent Background/Applications/Stocks.app - /Applications/Stocks.app
    /Users/tim/phonedmg/iPhoneBundles/paperCONS.ipb/1.0/Transparent Background/Applications/Weather.app - /Applications/Weather.app
    /Users/tim/phonedmg/iPhoneBundles/paperCONS.ipb/1.0/Transparent Background/Applications/YouTube.app - /Applications/YouTube.app
    /Users/tim/phonedmg/iPhoneBundles/paperCONS.ipb/1.0/Transparent Background/System/Library/CoreServices/SpringBoard.app - /System/Library/CoreServices/SpringBoard.app
    twisted:~/phonedmg tim$

    So, currently the code is written specifically for UNIX. I'm using forward slashes, and not backslashes. I have absolutely no clue as to how PERL handles forward slashes under Windows. I don't specifically refer to any directories, everything is relative, so theoretically if ActivePerl automatically converts my forward slashes to backslashes, everything will work.

    Within the next few days I'll upload an updated more feature complete version that has more documentation.



    Oh yeah, after you install a theme, restart your iPhone.

    --Tim

    P.S. Daft Punk live was on eof the best concerts I've been too. Pure pyramid sex.
    Attached Files Attached Files

  19. The Following User Says Thank You to timblade For This Useful Post:

    Cody Overcash (07-30-2007)

  20. #18
    Green Apple
    Join Date
    Jul 2007
    Posts
    36
    Thanks
    0
    Thanked 9 Times in 5 Posts

    man that's sweet, makes the 25mins I spent last night doing copy putfile cd copy putfile cd seem pointless..

    Great work.

  21. #19
    What's Jailbreak?
    Join Date
    Jul 2007
    Posts
    12
    Thanks
    1
    Thanked 3 Times in 3 Posts

    I'm a little late posting a reply. I don't check my rss feeds over the weekend. This is a great idea. I was actually thinking about this over the weekend. Great work!

    justin 8)

  22. #20
    Green Apple
    Join Date
    Jul 2007
    Posts
    58
    Thanks
    1
    Thanked 16 Times in 11 Posts

    Default Wow
    This is amazing. This worked perfectly. Thanks so much. The first time it didn't work, but thats because I overlooked the fact that I needed to run ./jailbreak first. Duh... Anyways. This script is amazing and I will be remaking my themes to be compatible and all future themes. Hopefully LoringStudios and some of the other big designers will jump on board!


    BluewoodBoarder

    I was just wondering if there was a reason you wouldn't want the script to automatically add a new Services.plist file at the end of execution. I added the correct directories to my themes .ipb so it now does it automatically. But I think it would be better if the script would just grab a local copy of Services.plist from your phonedmg folder. Less chance of someone sneaking something nasty in that way.

    Noah
    Last edited by bluewoodboarder; 07-30-2007 at 06:16 PM. Reason: Automerged Doublepost

+ Reply
Page 1 of 4 123 ... LastLast
Posting Permissions
  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts