Bundles are a simple way for modders to change the way LockInfo Matte UI looks like and behaves.
Basically it overwrite the css and javascript used by LockInfo Matte UI.
As it's in the Winterboard themes folder, you can also use Winterboard features to theme the lockscreen graphics.
A Bundle is a folder named <Bundle name>.libundle
It looks like this :[dir] <Bundle name>.libundle [dir] Private | [js] bundle.js | [css] bundle.css Everything you want using Winterboard capabilities (UIImages, Bundles, etc...)
Everything that concerns LockInfo Matte UI is in the Private folder.
As shown above, there is two files in the Private folder. Only the bundle.js is really needed if you just want to tweak the LockInfo Matte UI Javascript.
However if you just want to do some graphic changes, everything happens in the bundle.css file even if you Bundle must contain a bundle.js file.
So the first thing to do when you start creating a Bundle is to create you bundle.js file. Even if you just want to edit css.
Your bundle.js file must always ends with this line :
Controller.bundleLoaded();It tells the theme controller that your Bundle has been loaded and it can continue loading everything else.
In this file you can overwrite every javascript property or method. You can this way change plugins default settings like the settings bundle (generated in this website) do.
There are several elements common for every plugin.
Here is a list of elements and their associated css class names :
Image Description class name - The theme container div#background if scrollable is enabled div#background.scrollable if hideExpandDots is enabled div#background.hideExpandDots Plugins header elements (whitout the background image where the icon is) div.header Plugins summary elements div.summary Plugins location elements div.location Plugins expansion elements div.expand The theme bottom bar div#bottombar
Here is a list of plugin specific elements and their associated css class names :
(Of you are a plugin developer and your plugin is on the website, you can send me the list of your plugin css class name)
Calendar plugin
Image Description class name - Calendar plugin container div.cal To access generic elements (header, summary, location or expand) use div.cal div.header Inner days header (when events are grouped by day). Not the first bar, just those whithout icon. div.cal div.header.dayHeader Events summary when event is a birthday div.cal div.summary.birthday Also apply to the location element div.cal div.location.birthday - Events during more than a day div.cal div.summary.more1dEvent Also apply to the location element div.cal div.location.more1dEvent - All-day events div.cal div.summary.allDayEvent Also apply to the location element div.cal div.location.allDayEvent - Events during less than a hour div.cal div.summary.less1hEvent Also apply to the location element div.cal div.location.less1hEvent - Events during less than a day and more than a hour div.cal div.summary.less1dEvent Also apply to the location element div.cal div.location.less1dEvent - On-going events div.cal div.summary.currentEvent Also apply to the location element div.cal div.location.currentEvent - Events expiring in less than a hour div.cal div.summary.willExpire Also apply to the location element div.cal div.location.willExpire - Calendars separation div.cal div.summary.calendar#NB# #NB# going from 0 to the number of calendar Calls
Missed calls plugin
Image Description class name - Missed Calls plugin container div.calls-phone To access generic elements (header, summary, location or expand) use div.calls-phone div.header Inner days header (when missed calls are grouped by day). Not the first bar, just those whithout icon. div.calls-phone div.header.dayHeader
Voicemail plugin
Image Description class name - Voicemail plugin container div.calls-voicemail To access generic elements (header, summary, location or expand) use div.calls-voicemail div.header Inner days header (when voicemails are grouped by day). Not the first bar, just those whithout icon. div.calls-voicemail div.header.dayHeader Mini Clock Bar
Image Description class name - Clock plugin container div.clock.header - When the clock plugin is on top of the lockscreen div#background.clockontop div.clock This is useful to change the clock appearance when the clock is on top The clock bar time. div.clock div.header span.time The clock bar date. div.clock div.header span.date The clock bar time when double setting is enabled. div.clock div.header.double span.time The clock bar date when double setting is enabled. div.clock div.header.double span.date Mail plugin
Image Description class name - Mail plugin container div.mail - Mail account container (when mails are grouped by account) div.mail div.account To access generic elements (header, summary, location or expand) use div.mail div.header Inner days header (when mails are grouped by day). Not the first bar, just those whithout icon. div.mail div.header.dayHeader Name of the day plugin
Image Description class name - Name of the day plugin container div.names To access generic elements (header, summary, location or expand) use div.names div.header Inner days header (when names are grouped by day). Not the first bar, just those whithout icon. div.names div.header.dayHeader Quotes plugin
Image Description class name - Quotes plugin container div.quotes To access the header generic element use div.quotes div.header Quote div.quotes div.quote Author div.quotes div.author Sms plugin
Image Description class name - Sms plugin container div.sms To access generic elements (header, summary, location or expand) use div.sms div.header Status Notifier plugin
Image Description class name - Status Notifier plugin headers div.header.statusnotifier Status Notifier specific header div.header.statusnotifier.#name# #name# can be rss, im, mms or silent Weather plugin
Image Description class name - Weather plugin container div.weather The current weather icon div.weather img.weatherIcon The weather city div.weather span.city The current weather temperature div.weather span.temp The current weather description div.weather span.desc The forecast container div.weather div.Forecast The weather error header div.weather div.header.error
Columns Weather Forecast mode
Image Description class name The forecast day name div.weather div.Forecast div.day The forecast day icon div.weather div.Forecast div.icon The forecast highest temp div.weather div.Forecast div.hi The forecast lowest temp div.weather div.Forecast div.low
Inline Weather Forecast mode
Image Description class name The forecast day container div.weather div.Forecast div.dayD The forecast day icon div.weather div.Forecast div.dayD div.icon The forecast day name div.weather div.Forecast div.dayD div.day The forecast desc div.weather div.Forecast div.dayD div.desc The forecast temp container div.weather div.Forecast div.dayD div.temp The forecast highest temp div.weather div.Forecast div.dayD div.hi The forecast lowest temp div.weather div.Forecast div.dayD div.low