Hidden iPod touch Settings revealed (including Album Shuffle)

GO TO ADMIN PANEL > ADD-ONS AND INSTALL VERTIFORO SIDEBAR TO SEE FORUMS AND SIDEBAR

BlackWolf

New member
Joined
Oct 12, 2007
Messages
1,306
Points
0
darkchicken50 said:
It works!!!!!

Wew, the only thing i found that didn't work was Asian Fonts section.

Great work blackwolf! GREAT!

Absolutely brilliant, i don't know how you found this stuff! It looks like you rewrote the whole app!

Brilliant
thanks a lot, but I actually changed very little of it :D most of it is unchangeable unfortunatly :-(

Zach23 said:
Heres my original iPhone preferences.app

Code:
[url]http://rapidshare.com/files/81610518/Preferences.app.rar[/url]
thanks. I think I should be able to create an iphone version. I will put it in the installer repository if finished and of course create a post here, but it could take a little since some people are still having problems/questions regarding the touch version. But I'll do what I can.
 

csdonz

Scottish and Proud :D
Joined
Nov 15, 2007
Messages
132
Points
0
Location
Scotland
thanks very much, is it 100% safe to install this, I quite fancy making my own repository, how do I make one and is it free?
 

BlackWolf

New member
Joined
Oct 12, 2007
Messages
1,306
Points
0
csdonz said:
thanks very much, is it 100% safe to install this, I quite fancy making my own repository, how do I make one and is it free?
have a look at this file:
http://m8an.de/installer.xml
you have to create an xml file similair to this. first there is an info-section with information about the repository itself which you can see when you tap on the repository in your sources section in the installer.
after that comes a package-section which holds all packages of that repository. I think most stuff should be self-explaining. theres always a key that tells the installer what the data represents that follows after the key. so let's take this example:
<key>name</key>
<string>Advanced Preferences</string>
name tells the installer that the following data is the name of the package. after that the package name follows, whereas "string" is the data-type (http://en.wikipedia.org/wiki/Primitive_type, string just means "text"). I believe the installer only knows string, integer and real.
well, I think I used most or all the keys the installer knows in my xml file. so for example he knows the key location which is the location of the package, or description or category ... just take a look at the file.

may sound a little complicated at first, but I think if you have a look at the xml structure you should get it. just play with it a little.
 
Last edited:

BlackWolf

New member
Joined
Oct 12, 2007
Messages
1,306
Points
0
csdonz said:
I think I'll pass lol is this 100% safe to add the new preferences
it's not that complicated, you just have to understand the structure of the .xml file

yeah it should be. if you don't like it you can always uninstall it. absolute worst case szenario is that you have to connect to your iPod with SSH and copy the normal prefs in there by hand, but thats very very unlikely if you do it with the installer (actually I can't think of a way how this should happen ... but in my years working with PCs I learned that nothing is impossible when you made something and other people use it :D)

oh btw: I will upload an update in the next hour or so together with a iphone version. you might wanna wait or just update later. should be the same.

iPhone-Version & Update
well, even though there are some (very little) people who can't install my prefs through the installer (god knows why) I updatet them a little. The update doesn't do much except put some original settings back in I accidentally kicked out (noone seemed to have noticed ... well, anyways :D)

Bigger news is that the iPhone-Version is ready. Available through the same installer repository as the iPod-Version (http://m8an.de/installer.xml) you can find it in the "Tweaks"-Category. Just make sure you install the IPhone version not the iPod touch version.
Since I don't have an iPhone I can't test everything myself, so please gimme feedback. I don't know which settings are more important on an iphone. I assumed phone and sounds was important so I put it on the main page at the top. I also added some stuff to the "Home Button Double Tap"-Option. Please test it and let me know if this works.

enjoy :)
 
Last edited:

csdonz

Scottish and Proud :D
Joined
Nov 15, 2007
Messages
132
Points
0
Location
Scotland
if i install your preferences from the installer will i lose all my settings like internet passwords and email settings?
 

BlackWolf

New member
Joined
Oct 12, 2007
Messages
1,306
Points
0
csdonz said:
if i install your preferences from the installer will i lose all my settings like internet passwords and email settings?
no you will not. it just modifies the application, the interface, that allows you to change your settings. your settings are not modified until you want them to!
 

Zach23

New member
Joined
Jan 4, 2008
Messages
6
Points
0
Thanks so much for the iPhone version... However I can't seem to find the PIN lock to lock the phone.

Also, can u link me to the download not on installer..

once again thank you soooo much!
 

BlackWolf

New member
Joined
Oct 12, 2007
Messages
1,306
Points
0
Zach23 said:
Thanks so much for the iPhone version... However I can't seem to find the PIN lock to lock the phone.

Also, can u link me to the download not on installer..

once again thank you soooo much!
download would be
http://www.m8an.de/iPhone_Preferences_1.0.zip

with PIN lock do you mean the screen lock/pincode lock for the screen? if so it should be found in general & tweaks->display->screen lock

if you meant something else can you tell me where it was originally located on the iphone?
one thing I'm particularly interested in: do the new, additional home-button options work? I know they are displayed in your settings but do they actually WORK? :D

thanks ^^
 

Zach23

New member
Joined
Jan 4, 2008
Messages
6
Points
0
Kk yeah I found screen lock, thats what I meant.

The additional home-button options unfortunately do not work. All the ones beginning in GO dont work.

Zach
 

BlackWolf

New member
Joined
Oct 12, 2007
Messages
1,306
Points
0
Zach23 said:
Kk yeah I found screen lock, thats what I meant.

The additional home-button options unfortunately do not work. All the ones beginning in GO dont work.

Zach
too bad. will take the settings out then.

unfortunatly since too many people have complained about problems since I updated the installer.xml I had to put it down to prevent anyone from maybe getting serious problems (after recieving a feedback mail that said that one person installed my prefs and they disappeared from the home screen. Don't know how that can happen, but it happened)
I will have a further look at it and the installer.xml will be back online as soon as I resolved the problems with this. unfortunatly, school started again today so it might take a little.

Sorry for all the inconvenience. I don't really understand all the problems, I installed it like 30 times with all the different installer.xml-versions I had and every time it worked perfectly.
I will take a look at it as soon as I can.

In the meantime, iPod touch user may use installer2.xml since it seems to work much better. I will edit installer.xml so it works like installer2.xml for iPod and iPhone as soon as I can!
 

Jim Danner

New member
Joined
Jan 7, 2008
Messages
6
Points
0
Hi BlackWolf,

Thanks for putting all this together. You did a lot of work! I tested the iPhone version, and it has a lot of interesting settings. Considering that you probably don't have an iPhone, I'm impressed!

I have a few suggestions for things that might make it even better. Would like to hear what you think.
  • The variable SBEnableOverlayControls is set in your General.plist, but it's already included in the default Home Button.plist. It regulates whether the music controls pop up when the Home button is double-clicked outside Music Player while music is playing; not only when the phone is locked, but also otherwise (for people who always want to go to Favorites when they double-click Home). So it's not specifically "Sleep"-related.
  • It would be great if you could include some hidden settings that are unique to the iPhone. One that comes to mind specifically is SBUseNewDock (from com.apple.springboard), which enables us iPhone users to have that nice shiny reflective dock of the iPod Touch. You could take a look at this blog post and the pages it links to (one link contains some code that you could more or less copy-paste).
  • The settings for "fake time" and "fake carrier" would be more flexible if instead of the limited selection of fake names (currently "", "iPod" and "iPod Touch" -- not useful for phone owners), there would be free text entry so you could actually set your own name. I took a look at some code, and I think it's a matter of replacing the SBFakeTimeString section in General.plist with something like this:
    Code:
                    <dict>
    			<key>cell</key>
    			<string>PSEditTextCell</string>
    		        <key>detail</key>
                            <string>PSDetailController</string>
                            <key>defaults</key>
    			<string>com.apple.springboard</string>
    			<key>key</key>
    			<string>SBFakeTimeString</string>
    			<key>label</key>
    			<string>Text</string>
    			<key>placeholder</key>
    			<string>Text that replaces time</string>
    		</dict>
    A similar thing applies to SBFakeCarrier.
  • When uninstalled, your package leaves some settings behind that didn't exist before. For example, SBFakeCarrier and SBFakeTime normally don't exist. In a way this is inevitable, because the Settings application has to create variables for every setting it controls. However, it can lead to problems. Maybe it's a good idea to make a backup copy of /var/root/Library/Preferences/com.apple.springboard.plist (where these settings mostly reside) during installation, and put it back during uninstall.
I posted about your work on an iPhone forum (see here) and there were positive reactions. The only worry was the settings variables left behind at uninstall (the last of my list above). One user said: "Does anyone know how to get your carrier image back? I installed this and even when i didnt tell it to change the carrier image, it changed it to ipod or blank and I cant get my t-mobile carrier back. Help".

Anyway, a good piece of work. Thanks!
 

BlackWolf

New member
Joined
Oct 12, 2007
Messages
1,306
Points
0
Jim Danner said:
Hi BlackWolf,

Thanks for putting all this together. You did a lot of work! I tested the iPhone version, and it has a lot of interesting settings. Considering that you probably don't have an iPhone, I'm impressed!

I have a few suggestions for things that might make it even better. Would like to hear what you think.
  • The variable SBEnableOverlayControls is set in your General.plist, but it's already included in the default Home Button.plist. It regulates whether the music controls pop up when the Home button is double-clicked outside Music Player while music is playing; not only when the phone is locked, but also otherwise (for people who always want to go to Favorites when they double-click Home). So it's not specifically "Sleep"-related.
  • It would be great if you could include some hidden settings that are unique to the iPhone. One that comes to mind specifically is SBUseNewDock (from com.apple.springboard), which enables us iPhone users to have that nice shiny reflective dock of the iPod Touch. You could take a look at this blog post and the pages it links to (one link contains some code that you could more or less copy-paste).
  • The settings for "fake time" and "fake carrier" would be more flexible if instead of the limited selection of fake names (currently "", "iPod" and "iPod Touch" -- not useful for phone owners), there would be free text entry so you could actually set your own name. I took a look at some code, and I think it's a matter of replacing the SBFakeTimeString section in General.plist with something like this:
    Code:
                    <dict>
    			<key>cell</key>
    			<string>PSEditTextCell</string>
    		        <key>detail</key>
                            <string>PSDetailController</string>
                            <key>defaults</key>
    			<string>com.apple.springboard</string>
    			<key>key</key>
    			<string>SBFakeTimeString</string>
    			<key>label</key>
    			<string>Text</string>
    			<key>placeholder</key>
    			<string>Text that replaces time</string>
    		</dict>
    A similar thing applies to SBFakeCarrier.
  • When uninstalled, your package leaves some settings behind that didn't exist before. For example, SBFakeCarrier and SBFakeTime normally don't exist. In a way this is inevitable, because the Settings application has to create variables for every setting it controls. However, it can lead to problems. Maybe it's a good idea to make a backup copy of /var/root/Library/Preferences/com.apple.springboard.plist (where these settings mostly reside) during installation, and put it back during uninstall.
I posted about your work on an iPhone forum (see here) and there were positive reactions. The only worry was the settings variables left behind at uninstall (the last of my list above). One user said: "Does anyone know how to get your carrier image back? I installed this and even when i didnt tell it to change the carrier image, it changed it to ipod or blank and I cant get my t-mobile carrier back. Help".

Anyway, a good piece of work. Thanks!
thanks a lot for your feedback. I really need this for the iphone-version since I don't own one myself. to answer your suggestions:

  • you're right. that's actually something from the ipod touch version. for some reason you cannot set the doubletap-action on the touch and SBEnableOverlayControls switches the playback controls in sleepmode on and off. but on the iPhone its different, I will take that out.
  • I noticed yesterday that I forgot SBUseNewDock. I wanted to add it today anyway, but thanks.
  • Thanks a lot! I was actually searching for "PSEditTextCell". I wanted to create a textfield but couldn't find the code how to do it! I will add that in the next version!
  • I know about that problem. I thought about backing up the preferences files. The problem is that ALL settings you changed would be lost. And I thought that was even worse than some remaining settings. I'm aware of that problem, though I havn't found a good solution for this. If most users prefer that the changes they made get lost when they uninstall my prefs I can backup the com.apple.springboard.plist. Also I am aware of the carrier logo problem on the iPhone. Unfortunatly, I have to figure out how/where the iPhone controls the carrier logo before I can change that. I guess the iPhone has to have a variable that controls if the fake carrier should be on or off. I have to take a look at that.
thanks for your feedback. right now, the iPhone version is down unfortunatly since many people reported problems with installer.xml installation since I added the iphone version. I will create a new version of both iPhone and iPod settings and when I'm done the installer.xml will be re-uploaded. Since school started again today I can't guarantee I will get it finished today (It's 6pm here now) but I will work as fast as I can ;-)

but actually, the most important thing is to find out why the installer does not install correctly sometimes. since my instller.xml modifies the preferences.app it has to work correctly, since messing up the settings really sucks.

regards
PS: a user told me the new doubletap-actions I added don't work. is this true? if so, any ideas why?
 
Last edited:

Jim Danner

New member
Joined
Jan 7, 2008
Messages
6
Points
0
BlackWolf said:
Unfortunatly, I have to figure out how/where the iPhone controls the carrier logo before I can change that. I guess the iPhone has to have a variable that controls if the fake carrier should be on or off. I have to take a look at that.
It's basically that SBFakeCarrier variable (a text field). If it exists, even if it's equal to "", the normal carrier logo is not displayed. To get the logo back, the SBFakeCarrier must be deleted from com.apple.springboard.plist.

The way I usually do that is with the plutil command (a file that can be downloaded from here). When that is on the phone, the command
Code:
plutil -r SBFakeCarrier /var/root/Library/Preferences/com.apple.springboard.plist
really removes the variable.

You could include plutil with the installation package and issue this command at uninstall. Of course the problem remains that you never know whether the user wanted to keep that setting - but it's more likely that they don't. If there was a way to ask during uninstallation, that would be best, but I don't know whether Installer is able to do that.
 

Jim Danner

New member
Joined
Jan 7, 2008
Messages
6
Points
0
On second thought, if people don't uninstall the tool but simply delete the fake carrier name from the text field, they will have this same problem (the SBFakeCarrier value will still be present, equal to "", and the regular logo will not be displayed).

Considering all this, plus the fact that there is a dedicated application for the fake carrier (Make It Mine), I would think that the best solution is perhaps to leave this setting out of your package.
 

BlackWolf

New member
Joined
Oct 12, 2007
Messages
1,306
Points
0
Jim Danner said:
It's basically that SBFakeCarrier variable (a text field). If it exists, even if it's equal to "", the normal carrier logo is not displayed. To get the logo back, the SBFakeCarrier must be deleted from com.apple.springboard.plist.

The way I usually do that is with the plutil command (a file that can be downloaded from here). When that is on the phone, the command
Code:
plutil -r SBFakeCarrier /var/root/Library/Preferences/com.apple.springboard.plist
really removes the variable.

You could include plutil with the installation package and issue this command at uninstall. Of course the problem remains that you never know whether the user wanted to keep that setting - but it's more likely that they don't. If there was a way to ask during uninstallation, that would be best, but I don't know whether Installer is able to do that.
that's exactly the problem. I can't really delete the variable. I figured out that setting it to <integer>0</integer> at least causes the normal carrier text to be shown on the iPod. I would assume that it also causes the carrier logo to be shown on the iphone. I think I'll work with this.
as for the remaining settings ... do you think it would be enough to just put a confirmation into the uninstallation routine. so when you uninstall it says something like "all settings will remain as they are. if you want to change settings that are not available after uninstall you will have to install advanced prefs again to change them." I think it's not the best solution but ... well, it's a solution :D I mean it's not actually much settings that remain. its shuffle, carrier text and fake time. the numeric stuff can be switched by just tapping the number ... . do you think this would satisfy people enough? because I really dislike the idea to copy old preferences in when my prefs are uninstalled.

csdonz said:
how do i type my own carrier text with these new preferences
I wrote a how-to in the first post of this thread. but I'm currently working on a new version that most likely will be released in a few hours where you have a textfield and can just enter the carrier/faketime text you want :)

Jim Danner said:
On second thought, if people don't uninstall the tool but simply delete the fake carrier name from the text field, they will have this same problem (the SBFakeCarrier value will still be present, equal to "", and the regular logo will not be displayed).

Considering all this, plus the fact that there is a dedicated application for the fake carrier (Make It Mine), I would think that the best solution is perhaps to leave this setting out of your package.
thought about that too. don't see why people should use it anyway when they can just copy in cool images as carrier logos. well, I believe I can put in a switch to activate/deactivate the carrier logo. like I said, I believe <interger>0</integer> as the value should bring back the carrier logo. Maybe I'll try that and if people like it I leave it in. if not, I'll remove it.
damn, <integer>0</integer> doesn't work as I expected. seems like I just have to kick it out on the iphone.
 
Last edited:

BlackWolf

New member
Joined
Oct 12, 2007
Messages
1,306
Points
0
New installer.xml | New Updates

Alright, here we go. I hope you (especially the mods) don't mind the doublepost, but I thought this would be better suited in a new post :)
The new installer.xml is ready!
URL: http://m8an.de/installer.xml
I think this one should really really be working now. I now set the filerights through the installer and improved the whole install routine a little. It now makes use of the way installer2.xml installed the prefs, since this worked for most people.
Unfortunatly, this new installer.xml requires you to uninstall all previous versions of the Prefs! The script will tell you that if you try to update/install.
You should definetly try this one. I think it should work for all of you (or at least I hope that).

Updates:
Together with the new installer.xml I introduce version 1.2 of both the iPod Touch and the iPhone version of my Prefs.

The iPod Touch version now has textfields where you can type in the carrier/faketime you want. Should be a lot nicer that way. Thanks to Jim Danner for the hint.

The iPhone version was improved even more. I removed the carrier possibility since I cannot provide a switch between carrier text and carrier logo, thus making it impossible to get the logo back without 3rd party tools or SSH. I of course added the textfield for the fake time. I kicked out "Sleep Controls" since that does not apply for the iphone and replaced it with a switch to switch between iphone and ipod touch dock.
I also made another try with the home button. I don't know if this works, but please let me know. If you go to Home Button Menu you now will have to enter another submenu to change the home button. I added several possibilities here and I desperatly want to know if they are working at all. It may require a restart of springboard. Please let me know if they are working instantly or after respring or not at all!

Enjoy it. I really hope this works flawlessly now!

PS: I renamed the script to "Extended Preferences" ... thought it suits better
 
Top