prepare show/hide support
improve desktop switch
improve handle of floating window desktop
improve multiple desktop support