If you’d like silent notifications, without the BZZ BZZ of your iPhone buzzing on the table or in your pocket, then check out a new free jailbreak tweak called Calmi by iOS developer gvirdis.

Calmi was created to make toggling the vibrate feature easier. The tweak effectively turns your ringer/silent switch into a vibration toggle, which can be used to enable or disable the vibrate feature whenever you receive a notification. Notably, the tweak silences incoming notification sounds too, so you don't have to worry about disabling vibration and then still hearing the ringtone or text tone.

At the same time that sounds and vibrations are disabled, your lock screen will still light up with notifications, and notification banners, alerts, and badges will still show up whenever you receive notifications, so they’re basically silent notifications. This is great for when you have your phone sitting on your desk in front of you in class or in a work meeting and don’t want to make a distraction whenever you receive notifications. Since your iPhone will be right in front of you, you will obviously see any notifications, whether you're vibrating or not.

Tweaks like Auxo, SBSettings, and many others can also toggle the vibration feature. You can even go completely old-fashioned and disable vibration via the Settings application. Calmi is simply another (and easier) method of doing this that might be preferred by some. The tweak is enabled or disabled via the Settings application in the Calmi preferences pane. If you’re interested in trying the tweak, you will find it for free in Cydia’s BigBoss repository.

I'd love a way to disable vibrate when on a call. Nothing more annoying than the iPhone bashing your skull when talking. I've suggested this to Apple so many times, yet it is still there.

This exists! I too hate that vibration while on a call, and it's terrible to people on the other end if you put them on speaker.

The tweak is called NotiQuiet - you can disable notifications while any of your apps (selected from a list in Settings) are in the foreground. Default setting is just Phone.app toggled, and it does the job.