# Mousing Around
by Brent Welch

Before we consider the exmh user interface in more detail, let's go over the conventions for using the mouse and how cut and paste work. There are some key differences between Tk, which is used by exmh, and the Xt toolkit used by xmh. However, because just about everything is programmable in Tk, you can dig in and change things. Some of the customization is made easier by "Binding" dialogs, which are described in more detail in the Section Binding User Interface.

The selection is dragged out with the first mouse button. To modify the selection, hold the Shift key while pressing the first button. A double-click begins a word-oriented selection, and a triple-click begins a line-oriented selection. If you drag a selection off the bottom or top of a window, the text scrolls automatically and the selection is extended.

Probably the most confusing difference between Tk and other toolkits is that pasting the selection is done with a control-key sequence instead of the second mouse button. (You can configure exmh to paste with the second mouse button by using the Simple Edit dialog that is found under the Bindings menu. Sections Editing Commands and Editing Keys describe the editing bindings in more detail.)

The default paste sequence is <Control-y>, which is also used as the Emacs yank binding. Use <Control-w> to delete the selection, or use the <Delete> key.

The second mouse button is used for "drag-scrolling." To scroll, simply press the second mouse button over the text and drag the text. If you press the Shift key, the scrolling is faster. Drag-scrolling works in the text widgets, for vertical scrolling, and in the one-line entry widgets, for horizontal scrolling. (Text widgets display the folder contents and the current message. Entry widgets are used to enter values in various dialogs.)

Buttons and menus are also sensitive to which mouse button is pressed. Only the first mouse button (usually the left-hand button) activates an emxh button; this is called "clicking on" an exmh button. It is the <ButtonRelease> event (the location where you release the button) that is important. If you accidentally move the mouse pointer off of the button as you release it, nothing will happen. Don't worry: the wrong button won't be invoked.

To pull down a menu, press the first button over a menu button. Most of the menus in exmh are distinguished with a "..." in their label -- for example, `More...`. The menu will go away when you release the button. If you don't want to invoke any menu item, release the mouse button off the menu. The second button "tears off" a Tk menu. This is quite handy if you use the menu often. To get the menu to go away, you must click the first mouse button over the menu button. This reattaches the menu to the menu button. Another click will make the menu go away.