Whilst what has been said is quite true, one essential piece of info is missing, as soon as you change the cursor name you must tell the mainloop to update so that the new cursor appears! Obviously you should do this JUST BEFORE your app goes into 'busy' mode.