1. A method of displaying a plurality of desktops and/or applications, each having at least one window, on a multi-screen device, comprising: receiving, by a processor, a first input that represents an instruction to reveal one of a desktop or application on a first display of the multi-screen device; selecting, by a processor, a first desktop or application to display on the first display; receiving, by a processor, a second input that represents an instruction to reveal one of a desktop or application on a second display of the multi-screen device; selecting, by a processor, a second desktop or application to display on the second display; displaying, by a processor, the selected first and second desktops or applications on the first and second displays; and selectively moving, by a processor, at least one of the displayed first and second desktops or applications to another selected position comprising either a position on the other display or a non-visible position.