Would you recommended a different post-workout diet depending on the type of exercise - yoga class, lifting weights, long distance running, swimming?
Well yes definitely - nutrition after a yoga session will differ with nutrition after a long distance running session. It all comes down to what your goals are for training? Are your goals fat loss, muscle gain, general health/wellbeing, training for a specific event? It also depends on the intensity of your workouts and the frequency/duration of these!
If you are doing bodybuilding, or powertraining you should definitely eat within two hours after the workout. Your body, muscles, are in great need of protein, egg white, and -yes- even calories, to recover. It will take whatever energy supplies in your body to recover.
If you workout a lot, and don't eat enough, you will not put on any muscle.
The thing you need to think about is: how many calories/protein/egg whites does my body need - how hard was the work out? A normal full grown man should have an intake of 2000 - 2300 calories, depending on daily activity. You need to raise that to 2800 - 3000 if you do serious work outs, like body building.
If you do long distance running, or swimming, the problems you're most likely going to have are sore muscles, and cramps. To avoid these, you can eat bananas, and drink milk. Also, taking a very light extra dose ( available in powder ) of Creatine helps. Creatine keeps water in your muscles, and so lessens cramps and soreness.
If you're on a yoga class, i would recommend avoiding heavy meats, like Steak, ... and switch to chicken, which is easier to digest, and will not give you that "blown belly" feeling. Also look at what kind of vegetables you're eating. Some vegetables will give you more gas than others.