So, encouraged by the idea that people actually seem to *like* Cydget, I've spent the last day or two making a bunch of improvements.

To start with, by default, the Notification Center updates now sit behind the iOS blur, and you get the default clock back. This was a major source of frustration for people who were just trying to render a really complex replacement background, and still wanted notifications.

However, I personally think that there is a lot to be had from building themes that are "compatible" with the notification mechanism. For an example, /u/theCarryAll posted a demonstration of cycling through Cydgets that happened to really nicely render with the notifications. (below)

To that end, you can specify NotificationList=YES in the CYConfiguration for your Cydget, and then you will be allowed to play at the same level as the notification list mechanism. If you have a Cydget currently that is relying on this, you will need to go set that setting now (sorry).

I also worked on the issue with the media controls. It turns out that I simply hadn't noticed that the media controls command changed: it used to be that double-tap changed the media controls, but now single-tap does, which conflicts with "change active Cydget".

I've thereby remapped the iOS behavior back to double-tap, and fixed a few other issues I found in the tap handling (such as getting stuck in Siri, unable to escape without trying to confuse her into letting you out of her vicious trap despite her ploy to ask you to repeat yourself).

In the process, I also changed how Now Playing works with Cydget on iOS 7. On iOS 6, Now Playing was a SpringBoard plugin from Apple. Now, it's kind of a pseudo-plugin. It used to be that Now Playing thereby took control from Cydget, but on iOS 7 it wasn't doing that anymore.

I've thereby fixed the behavior on iOS 7, because some people really miss their album art, and want it by default: you can now turn on Now Playing in the Cydget settings, which will cause AwayView to become the "start" Cydget *even if AwayView wasn't selected* if Now Playing is up.

This also solves the problem that the media HUD conflicts with most Cydgets because you are more likely to be in Now Playing on the AwayView when this is relevant anyway. To this end, I've disabled Cydgets from getting media controls by default. MediaControls=YES to bypass.

So, now that you have these ways of being able to opt in to theme with the default controls, you might wonder how you can possibly do that: you render a clock, and now there's a media control on top... it would be cool if you could somehow change your layout to compensate, right?

I've thereby made a few more modifications to WebCore to change how it parses CSS to add @media queries for random SpringBoard features. Maybe you just need to remove a clock or otherwise "clear some room", or maybe you have to reflow the whole page: now you can do that.

The syntax, of course, should be familiar to those who use CSS: "@media (-cydget-media-controls) { ... }" to have CSS specific to when the media controls are being rendered, and "@media (-cydget-notification-list) { ... }" to have CSS specific to when the notification list is being rendered.

Finally, I've added support for dealing with the blur (which some people are reporting as a dim... maybe on older devices or with some setting you can turn off the blurs?) and to better integrate with the sliding lock screen experience: you can specify a separate HTML page for the background.

The way you do this is you specify Background="page.html" (which, by the way, can now be a URL relative to the Cydget, instead of an absolute file:/// URL). This page will then be rendered as the background view (yet can be transparent to the wallpaper). The views slide separately.