srag, I don't really agree with your comment about Evolution toolbar and their HIG compliance. Or maybe it is also the HIG I don't agree with, but I haven't found that bit about "not changing the toolbar" even if it makes sense to some extent. BTW, the 'G' in HIG means Guidelines, not Rules or Regulations.

What Behdad describe is clearly both case when the action is a toggle. Spam/Not Spam, Delete/Undelete. It clearly make sense to have ONE toolbar item that does it (instead of 2) and that actually toggle more that just "embossing" the control. It is not changing the toolbar it is just reflecting the proper state. The message in Spam? Then the spam action is Not Spam. And vice versa.

The same applies to Rhythmbox with bug 326066 where the Play button should toggle to Pause and vice-versa, just because it makes more sense. One of the reason is that we are used to with real life items. Look at most CD player with a button labelled Play/Pause. But in that case it is even better, on the software when can clearly reflect the state, unlike on the player were you have to refer to either a LED or the display about the status (not counting the immediate effect of the music playing or not, which end up being confusing in fact when the volume is too low or when there is blank, hello bonus hidden track).

All in all, I think that HIG should be stretched when needed, and that Behdad suggestion is actually pretty valid. All the UI innovations comes from HIG breakage. Look at Apple: they set the "rules" (guidelines actually), break them and innovate.