In Motif 1.1, the text widgets used two different cursors. The I−beam was used to mark the insertion position, while a
caret (^) was used as the destination cursor when it was separate from the insertion cursor. The destination cursor
showed the last position that text was inserted, edited, or selected. Having two separate cursors was confusing for
users and programmers, so the model has been simplified for Motif 1.2 to use only the I−beam cursor.
The text widgets have predefined action routines that allow the user to perform simple editing operations such as
moving one character to the right or deleting backwards to the beginning of the line. The user can specify translations
in a resource file that modify the input behavior of the widgets. The widgets are modeless, so they are always in
text−insertion mode. In Motif 1.2, there is an action that puts the Text widget in overstrike mode, while in Motif 1.1, it
is programmatically possible to emulate such a mode using multiple action routines.
The user can use the action routines provided by the widgets to set up the translation table to mimic an editor such as
emacs. The Text widget does not insert nonprintable characters, so users typically bind control−character sequences to
editing action routines. An editor like vi cannot be emulated because there is no distinction between command mode
and text−entry mode.
15.1.2 Selecting Text
Users have become accustomed to the ability to cut and paste text between windows in GUI−based applications. ...