Preheat a gas grill or the broiler, or start a charcoal fire; Heat should be medium-high.
Zest the lemon and mince the zest; Section the lemon, orange, and grapefruit and place these sections in a small saucepan.
Stir in the olive oil, thyme, garlic, onion, salt, and a fair amount of pepper.
Season the fish, too.
Grill or broil the fish until nicely charred on each side, about 8 to 10 minutes total.
If you grill, use a fish basket or move the fish around on the grill to keep it from sticking.
While the fish is cooking, warm the citrus mixture gently; Do not boil.
When the fish is done, serve immediately with the citrus sauce.