In my opinion, the redraw event should be trigged by user as well instead only called from OS. When redrawing our screen, we can create a running condition if OS decides to redraw as well.
My scape is to use double buffer technique, drawing on the mirror buffer and deserving to redraw event only a simple blit. A timer can trigger your mirror buffer update and the following code can rotate your message.
Code:
m=u"message"
m += m
s = len(m)/2
for n in range(3):
for i in range(s):
print m[i:i+s]
See you