Results 1 to 6 of 6

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


Thread: DisplayOrder.plist and icon placement myth or reality ?

  1. #1
    What's Jailbreak? 0solvent's Avatar
    Join Date
    Jul 2007
    Location
    Portland, OR. USA
    Posts
    8
    Thanks
    0
    Thanked 0 Times in 0 Posts

    Default DisplayOrder.plist and icon placement myth or reality ?
    I've spent more time than I care to mention dealing with DisplayOrder.plist updates, and I didnt get what I expected, seems like the iphone just made up its own mind. I'm updating the correct location /System/Library/blah-.
    can some explain the mysterious workings of icon placement (oh, and backgrounds too)...please.
    --0solvent

    ps: things are getting interesting, the new Finder is cool, Launcher too.
    I still use Solaris

  2. #2
    I was having the same problem I found someone saying that EVERY app has to be in the displayorder.plist. If you don't want it shown, you put it in the.....'special' section. I think it's called special anyway. It's the section where the MALogger is. If you don't have an app listed *SOMEWHERE* in displayorder.plist then it's going to pop it up on the springboard by default.

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

    that is exactly right

  4. #4
    It's not a myth. It was really hard to do but I reconfigured my iPhone to display the VNotes right after Notes. Then on the 4th row it goes as follows:

    Installer Launcher NES Settings

    I've always wanted Settings to be on the bottom right of the apps.

    All other installed apps appear in Launcher but even if I didn't fill up the entire 4th row, I know how to hide icons from Springboard so they those apps can only be accessed through Launcher.

    Do you guys want a tutorial?

  5. #5
    iPhone? More like MyPhone
    Join Date
    Aug 2007
    Location
    Akron, OH
    Posts
    111
    Thanks
    4
    Thanked 7 Times in 7 Posts

    yes, a tutorial would be nice!

  6. #6
    Okay, so here's what you do. This is going to sound complicated, but the concept is very simple and understandable. I'm not at all hacker-savvy so if I can figure it out anyone can do it.

    In order to customize the order of your Apps in Springboard and whether or not to hide some of them, you must get comfortable using DisplayOrder.plist in /System/Library/CoreServices/SpringBoard.app/DisplayOrder.plist


    Now, I used a trial version of Coda to edit DisplayOrder.plist but if you've installed the DevTools that would work even better. Also, I'm using CyberDuck to edit the files right off my iPhone. If you know a better way go ahead but I recommend this method, it's really really simple.

    What you want to do is familiarize yourself with the list. It's quite simple and instead of me telling you exact steps it'd be better if you understood what you had to do in order to do exactly what you want.

    The list is separated into three parts. One is "buttonBar", which is the bottom 4 apps (Phone, Mail, Safari, iPod). I wouldn't screw with these but if you feel adventurous be my guest.

    The next section is going to take most of your focus. It's "iconList" and it controls the exact order of all your apps on SpringBoard. On the default DisplayOrder.plist Settings is last in this section.

    The last and also important section is "special". It HIDES apps from SpringBoard. By default, DemoApp and FeildTest are in this list along with SpringBoard (I dunno why) and an app I don't recognize. In other words, I wouldn't take anything off the hidden list, we're just gonna focus on adding them.

    Before I go further, COPY DisplayOrder.plist somewhere. On your computer, on your iPhone, it really doesn't matter. I screwed something up and to download the dmg and find the exact file on the restore software and replace it. That's not what you want to do.

    Okay, so the way DisplayOrder.plist works is by application identifers. For example, the first application on your iPhone is Text, right? Well, in DisplayOrder.plist it's the first listed under "iconList" and is coded as follows:
    Code:
    <dict>
    		<key>displayIdentifier</key>
    		<string>com.apple.MobileSMS</string>
    	</dict>
    To apply this to other apps you can duplicate everything above, it's true for all apps, except the "com.apple.MobileSMS". This is what you really need to pay attention to. In order to hide/show apps in the order you want you need to find what your Application identifiers go by. Now, before you jump to conclusions the identifier isn't just com.apple.WhateverApplicationName. 3rd Party apps aren't made by Apple So the next step is to teach you how to find the Application identifier on any installed app.

    Goto /Applications/ and find the folder of the application. I'm going to use the example of the SendSong app. The file we're going to open up inside the app is called Info.plist. In accordance with our example, the file would be located at /Applications/SendSong.app/Info.plist

    Inside that app's Info.plist you'll find a small bit of text but what are you looking for? The part that says "com.something.app". Example:

    Code:
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
    <plist version="1.0">
    <dict>
    	<key>CFBundleDevelopmentRegion</key>
    	<string>English</string>
    	<key>CFBundleExecutable</key>
    	<string>sendsong</string>
    	<key>CFBundleIdentifier</key>
    	<string>com.sadun.SendSong</string>
    	<key>CFBundleInfoDictionaryVersion</key>
    	<string>6.0</string>
    	<key>CFBundlePackageType</key>
    	<string>APPL</string>
    	<key>CFBundleSignature</key>
    	<string>????</string>
    	<key>CFBundleVersion</key>
    	<string>1.0</string>
    </dict>
    </plist>
    The code that's in bold is what you're looking for. That's the Application identifier.

    MOST apps will have com.maker.AppName but I have seen one that's org.maker.AppName instead of com.maker.AppName but yeah. Get the picture?

    So just copy the code from another app (they're all the same) and replace the com.whatever.whatever with your app's identifier. If you want to hide an app so it only appears in Launcher, place the code under the 3rd part of DisplayOrder.plist, "special". It will be hidden there. Example code:
    Code:
    <dict>
    		<key>displayIdentifier</key>
    		<string>com.sadun.SendSong</string>
    	</dict>
    So if you wanted to hide SendSong just place that anywhere under "special" in DisplayOrder.plist in between one of the other apps.

    Now SendSong will no longer appear in SpringBoard. If you wanted to put SendSong in some specific order, that's simple. Under the 2nd part of DisplayOrder,plist, "iconList", put the code in between the apps you want it to appear. Does that make sense? The way I set my DisplayOrder.plist up is like this:
    Code:
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
    <plist version="1.0">
    <dict>
    	<key>buttonBar</key>
    	<array>
    		<dict>
    			<key>displayIdentifier</key>
    			<string>com.apple.mobilephone</string>
    		</dict>
    		<dict>
    			<key>displayIdentifier</key>
    			<string>com.apple.mobilemail</string>
    		</dict>
    		<dict>
    			<key>displayIdentifier</key>
    			<string>com.apple.mobilesafari</string>
    		</dict>
    		<dict>
    			<key>displayIdentifier</key>
    			<string>com.apple.mobileipod</string>
    		</dict>
    	</array>
    	<key>iconList</key>
    	<array>
    		<dict>
    			<key>displayIdentifier</key>
    			<string>com.apple.MobileSMS</string>
    		</dict>
    		<dict>
    			<key>displayIdentifier</key>
    			<string>com.apple.mobilecal</string>
    		</dict>
    		<dict>
    			<key>displayIdentifier</key>
    			<string>com.apple.mobileslideshow-Photos</string>
    		</dict>
    		<dict>
    			<key>displayIdentifier</key>
    			<string>com.apple.mobileslideshow-Camera</string>
    		</dict>
    		<dict>
    			<key>displayIdentifier</key>
    			<string>com.apple.youtube</string>
    		</dict>
    		<dict>
    			<key>displayIdentifier</key>
    			<string>com.apple.stocks</string>
    		</dict>
    		<dict>
    			<key>displayIdentifier</key>
    			<string>com.apple.Maps</string>
    		</dict>
    		<dict>
    			<key>displayIdentifier</key>
    			<string>com.apple.weather</string>
    		</dict>
    		<dict>
    			<key>displayIdentifier</key>
    			<string>com.apple.mobiletimer</string>
    		</dict>
    		<dict>
    			<key>displayIdentifier</key>
    			<string>com.apple.calculator</string>
    		</dict>
    		<dict>
    			<key>displayIdentifier</key>
    			<string>com.apple.mobilenotes</string>
    		</dict>
    		<dict>
    			<key>displayIdentifier</key>
    			<string>com.sadun.VoiceRecorder</string>
    		</dict>
    		<dict>
    			<key>displayIdentifier</key>
    			<string>com.nullriver.iphone.Installer</string>
    		</dict>
    		<dict>
    			<key>displayIdentifier</key>
    			<string>com.peizosoftware.MobileMoney</string>
    		</dict>
    		<dict>
    			<key>displayIdentifier</key>
    			<string>com.nullriver.iphone.Launcher</string>
    		</dict>
    		<dict>
    			<key>displayIdentifier</key>
    			<string>com.apple.Preferences</string>
    		</dict>
    	</array>
    	<key>special</key>
    	<array>
    		<dict>
    			<key>displayIdentifier</key>
    			<string>com.apple.springboard</string>
    		</dict>
    		<dict>
    			<key>displayIdentifier</key>
    			<string>com.apple.fieldtest</string>
    		</dict>
    		<dict>
    			<key>displayIdentifier</key>
    			<string>com.apple.DemoApp</string>
    		</dict>
    		<dict>
    			<key>displayIdentifier</key>
    			<string>com.apple.MALogger</string>
    		</dict>
    	</array>
    </dict>
    </plist>
    Notice that I didn't add anything to the "special" section to hide apps because I have a full 4th row and thus no other apps show anyways. But I have tried it and it does work to put apps there to hide them.

    If you'll notice at the end I ordered my apps to go Notes, VNotes, Installer, Money, Launcher, then Settings. I always thought settings should be last no matter what.

    So there you go. It's late and I'm kinda recuperating from drunk dancing so I'll probably check this tomorrow and update something I missed. But right now it seems like you guys are set! If you have any questions don't be afraid to message me.

  7. The Following 2 Users Say Thank You to nato64 For This Useful Post:

    footballfanatic28 (08-25-2007), Jacent (09-13-2007)

Posting Permissions
  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •