Path: utzoo!utgpu!attcan!uunet!cs.utexas.edu!tut.cis.ohio-state.edu!rutgers!mit-eddie!uw-beaver!cornell!rochester!pt.cs.cmu.edu!andrew.cmu.edu!wjh+ From: wjh+@andrew.cmu.edu (Fred Hansen) Newsgroups: comp.windows.x Subject: Re: R3 Selection Mechanism Message-ID: Date: 24 May 89 19:42:33 GMT References: <8905241501.AA01105@expire.lcs.mit.edu> Organization: Information Technology Center, Carnegie Mellon, Pittsburgh, PA Lines: 69 In-Reply-To: <8905241501.AA01105@expire.lcs.mit.edu> > Excerpts from mail: 24-May-89 Re: R3 Selection Mechanism > rws@expo.lcs.mit.edu (884) > On the other hand, I think the selection mechanism is quite suitable for > a range of UIs (both inside and outside X) that are on the market today, > and many product UIs in the X environment will use it. To maximize > "interoperability" between different applications, I do believe we > should encourage use of the mechanism. At this juncture, I must admit my ignorance. What is the user interface to selections? How is the X selection protocol used in practice? Let's be specific and list some tasks. In the following list, let "xxx" stand for some piece of text, a picture element, or some other selectable quantity. 1. Delete xxx. 2. Make a copy of xxx and insert it somewhere else. 3. Make a copy of xxx and use it to replace something somewhere else. 4. Make a copy of xxx and insert it at several places. 5. Move xxx from where it is to some other place. Problem statement: Describe the user's actions to achieve each of the tasks above, where an action is X select xxx T select target K type a key M pick a menu item C click a mouse button D drag with mouse button down B click the mouse on a screen button or whatever Action letters may be suffixed with lower case letters to indicate which key, button, or item. To indicate actions where some key or button is held down while other actions are done, the suffixes ! and ^ indicate the downstroke and upstroke respectively. Example: Here is the description of the tasks for Andrew. In each case the menu selection (M) could be a key stroke (K). In ATK the S and T selections are done with the left and right mouse buttons. Clicking the left button selects a point between characters. Dragging with the left button down selects everything from where the button goes down to where it goes up. The right button extends the selection from the furthest point of the previously existing selection to the point where the right button goes up. (In ATK there is always exactly one selection in each text; there is no secondary selection or independent typing point.) 1. Delete: S Mcut 2. Copy once: S Mcopy T Mpaste 3. Replace: S Mcopy T Mreplace 4. Several copies: S Mcopy T Mpaste T Mpaste T Mpaste 5. Move: S Mcut T Mpaste Comment: The five tasks are very common editting operations. If we are to "maximize 'interoperability'" can we really ask the user to do them differently in different applications? Fred Hansen