[comp.windows.x] Complaints about xterm mouse clicks

kit@ATHENA.MIT.EDU (Chris D. Peterson) (01/14/89)

> Once again, I'm going to flame about the xterm mouse clicks. 

Good thing the the X Consortium provides its staff with asbestos underwear :-)

[ long discussion of why the default mouse binding ruin his day ]

The default selection bindings are just that, defaults.  They are not cast
in concrete.  If you don't like them, change them.  As an example of how to
change them I will provide an entry for an X Resource file for the particular
set translations that you describe.

> I can't see any way to change this from the man page.

It is not obvious to you non-Xtoolkit people but it is there.

From the manual page for xterm (KEY/BUTTON BINDINGS):

	                     <KeyPress>:insert() \n\
          Ctrl     ~Meta     <Btn1Down>:mode-menu() \n\
              ~Meta          <Btn1Down>:select-start() \n\
              ~Meta          <Btn1Motion>:select-extend() \n\
          Ctrl     ~Meta     <Btn2Down>:mode-menu() \n\
         ~Ctrl     ~Meta     <Btn2Down>:ignore() \n\
              ~Meta          <Btn2Up>:insert-selection(PRIMARY, CUT_BUFFER0) \n\
         ~Ctrl     ~Meta     <Btn3Down>:start-extend() \n\
              ~Meta          <Btn3Motion>:select-extend() \n\
              ~Meta          <BtnUp>:select-end(PRIMARY, CUT_BUFFER0) \n\
	                     <BtnDown>:bell(0)

For you particular changes it sounds like you want to make 
the shift key be the exclusive modifier for the translations that handles 
cut and paste, to do this you need to add the following lines to
your X resource file (I checked this it works):

xterm.VT100.Translations: #replace \
                    <KeyPress>:insert() \n\
         Ctrl ~Meta <Btn1Down>:mode-menu() \n\
         Ctrl ~Meta <Btn2Down>:mode-menu() \n\
	    !Shift  <Btn3Down>:start-extend() \n\
	    !Shift  <Btn2Down>:ignore() \n\
            !Shift  <Btn1Down>:select-start() \n\
            !Shift  <Btn1Motion>:select-extend() \n\
            !Shift  <Btn2Up>:insert-selection(PRIMARY, CUT_BUFFER0) \n\
            !Shift  <Btn3Motion>:select-extend() \n\
                    <BtnUp>:select-end(PRIMARY, CUT_BUFFER0) \n\
		    <BtnDown>:bell(0)

There are other ways to do this, but I think that this has the minimum number
of lines.  For more information I refer you to the xterm manual page, and
the section of the Xt manual on translation tables (Appendix B).

						Chris D. Peterson     
						MIT X Consortium /
						Project Athena 

Net:	kit@athena.mit.edu		
Phone: (617) 253 - 1326			
USMail: MIT - Room E40-321
	77 Massachusetts Ave.		
	Cambridge, MA 02139