phoenix3200 / libstatusbar

Compatibility layer for the statusbar under 4.0

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Libstatusbar: pwning the statusbar for you.

Libstatusbar is chiefly a compatibility library for 3.x-like statusbar icon support under 4.x++, but allows for a more advanced API for custom time strings and icon swapping.


All icons should be placed in either:

3.x style, does not support retina icons:
Silver statusbar: /System/Library/CoreServices/SpringBoard/Default_<name>.png 
Black statusbar:  /System/Library/CoreServices/SpringBoard/FSO_<name>.png

4.x style, supports retina (@2x) icons:
Silver statusbar: /System/Library/Frameworks/UIKit.framework/Silver_<name>.png
Black statusbar:  /System/Library/Frameworks/UIKit.framework/Black_<name>.png

5.x style, additionally supports notification center icons:
Silver statusbar: /System/Library/Frameworks/UIKit.framework/ColorOnGrayShadow_<name>.png
Black statusbar:  /System/Library/Frameworks/UIKit.framework/WhiteOnBlackEtch_<name>.png
Notif. statusbar: /System/Library/Frameworks/UIKit.framework/WhiteOnBlackShadow_<name>.png

6.x style: Same as 5.x, but the silver statusbar went poof.

7.x style: Take a completely black icon and tint it to the appropriate shade.
/System/Library/Frameworks/UIKit.framework/LockScreen_<name>.png
/System/Library/Frameworks/UIKit.framework/Black_<name>.png

To support color icons, use the following naming conventions:
/System/Library/Frameworks/UIKit.framework/LockScreen_<name>_Color.png
/System/Library/Frameworks/UIKit.framework/Black_<name>_Color.png
/System/Library/Frameworks/UIKit.framework/White_<name>_Color.png

3.x-6.x styles are cross compatible; 7.x is not.  Blame Apple for royally screwing the pooch by using overlapping names with different meanings (black statusbar vs black icon) vs. the 4.x convention.  So, for 7.x, please change over/update your icons for the new style.

--- BASIC API ---

3.x-style, simply add/remove items.  These will appear in the right list.

[UIApp addStatusBarImageNamed: (NSString*) name];
[UIApp removeStatusBarImageNamed: (NSString*) name];

--- ADVANCED API ---

Libstatusbar also supports the ability to swap out icons, temporarily hide them, and change the statusbar string.

See LSStatusBarItem.h for the API and Testing.mm for example usage

Additionally, Libstatusbar now supports the ability to add and remove icons from daemons.  Use with care.




About

Compatibility layer for the statusbar under 4.0


Languages

Language:Objective-C++ 82.1%Language:Objective-C 9.7%Language:C 6.7%Language:Makefile 1.1%Language:C++ 0.4%