Diapositive PPT
# The procedure below is invoked repeatedly to invoke two commands at periodic intervals. It normally reschedules itself
# after each execution but if an error occurs (e.g. because the window was deleted) then it doesn't reschedule itself.
# w - Text widget reference.
# cmd1 - Reference to a list of tag options.
# sleep1 - Ms to sleep after executing cmd1 before executing cmd2.
# cmd2 - Reference to a list of tag options.
# sleep2 - Ms to sleep after executing cmd2 before executing cmd1 again.
my($w, $cmd1, $sleep1, $cmd2, $sleep2) = @_;
# return if not Exists $w;
$w->after($sleep1, [sub {text_toggle(@_)}, $w, $cmd2, $sleep2, $cmd1, $sleep1]);