Yes, if you consider Western liberal states as the "enemy", both the United States and the Anglosphere, and countrymen no less, then certainly non-violence works. However, I was actually referring to a matter of foreign policy not civil agitation. It is fantastic that Americans refrain from annihilating black civil rights protesters. Not surprising to me, but perhaps to Wonderment or you. Try it in Syria. They'd be firing into crowds until the barrels of their machine guns melted.
The reason Gandhi is a demigod in the leftist pantheon is because the British didn't shoot him behind a shack somewhere in Delhi or Pretoria. Ask if the Germans would have been as reluctant. Or the Soviets.
Are you going to praise the Czechoslovak communist regime for not physically liquidating Havel, too?