fix set_desktop bug