When the user drags text within a document, the natural default action is move. Since users may also want to use DND to duplicate text, one needs to define a modifier key (e.g. Meta) for this. One cannot use a different mouse button since X users expect middle-click to mean "paste" and right-click to mean "extend the current selection." (the de-facto standard set by xterm)
On the other hand, when the user drags text to another document, the natural default action is copy since the two documents are unrelated. This is also the safest alternative because the original data will not be lost, regardless of what the target does after the drop. It is reasonable to provide move as well, but not as the default.
A special case is a compound document where different parts are managed by different applications. In this case, move is the natural default action because the user perceives it to be a single document. Users will still expect copy to be the default when text is dragged to a different document. (Since the X window ID of the source is included in the XdndPosition message, it is possible to tell if the drop is on a different part of the same document.)
When two documents cooperate (e.g. linked spreadsheets), link is an appropriate option, but it should not be the default.
The best way to tell the user what will happen after a drop is for the trashcan to change its appearance based on the user's setting.
If you have an interesting example, please let us know [jafl@alice.wonderland.caltech.edu].
Last updated on August 17, 1998
Back to the main page.