manpagez: man pages & more
man ntextBindings(n)
Home | html | info | man
ntextBindings(n)   Alternative Bindings for the Text Widget   ntextBindings(n)



______________________________________________________________________________


NAME

       ntextBindings - Alternative Bindings for the Text Widget


SYNOPSIS

       package require Tcl  8.5

       package require Tk  8.5

       package require ntext  ?0.81?

_________________________________________________________________


DESCRIPTION

       The  ntext  package  provides a binding tag named Ntext for use by text
       widgets in place of the default Text binding tag.

       The Text binding tag provides around one hundred bindings to  the  text
       widget (the exact number is platform-dependent).  A few of these behave
       in a way that is different from most contemporary text-editing applica-
       tions.  Ntext aims to provide more familiar behaviour.

       Features  of the Ntext bindings that differ from the default Text bind-
       ings:

       o      Clicking near the end of a (logical) line moves  the  cursor  to
              the  end  of that line (not the start of the next line).  If the
              widget is in -wrap word mode, the same rule applies  to  display
              lines.

       o      Double-clicking  or  dragging  near  the end of a (logical) line
              will highlight/select characters from the end of that line  (not
              the  next line, or the region at the end of the line where there
              are no characters).  If the widget is in -wrap  word  mode,  the
              same rule applies to display lines.

       o      The  End  key implements "Smart End" (successive keypresses move
              the cursor to the end of the display line, then to  the  end  of
              the  logical  line); the Home key implements "Smart Home" (which
              is similar to "Smart End", but also toggles between  the  begin-
              ning and end of leading whitespace).

       o      When  a  selection exists, a <<Paste>> operation (e.g. <Control-
              v>) overwrites the selection (as most editors do), and  does  so
              on all platforms.

       o      The  <Insert> key toggles between "Insert" and "Overwrite" modes
              for keyboard input.  (In contrast, the  Text  binding  tag  uses
              <Insert>  as  a  method to paste the "primary selection", a task
              that can be accomplished instead by mouse middle-click.)

       o      The <Escape> key clears the selection.

       o      Selecting with <Shift-Button1> selects from the  previous  posi-
              tion  of  the  insertion  cursor.  (In the Text binding tag, the
              selection anchor may be  the  position  of  the  previous  mouse
              click.)

       o      <Shift-Button1>  operations  do  not alter the selection anchor.
              (In the Text binding tag, they do.)

       o      By default, the Ntext binding tag does not  provide  several  of
              the Control-key bindings supplied by the Text binding tag.  Mod-
              ern keyboards offer alternatives, such as cursor keys for  navi-
              gation;  modern  applications often use the Control-key bindings
              for other purposes (e.g. <Control-p> for "print").

       The last three cases, the behavior of Text is often  useful,  so  Ntext
       gives  you  the option of retaining it, by setting variables defined in
       the ::ntext namespace to 1 (instead of their  default  0).   Explaining
       these features in more detail:

       o      If the mouse is clicked at position A, then the keyboard is used
              to move the cursor to B, then shift is held down, and the  mouse
              is  clicked  at C: the Text binding tag gives a selection from A
              to C; the Ntext gives a selection from B  to  C.   If  you  want
              Ntext to behave like Text in this respect, set ::ntext::classic-
              MouseSelect to 1.

       o      The Text binding tag allows successive  <Shift-Button-1>  events
              to  change  both  ends of the selection, by moving the selection
              anchor to the end of  the  selection  furthest  from  the  mouse
              click.   Instead,  the  Ntext  binding tag fixes the anchor, and
              multiple Shift-Button-1 events can only  move  the  non-anchored
              end  of the selection.  If you want Ntext to behave like Text in
              this respect, set ::ntext::classicAnchor to 1.  In both Text and
              Ntext,  keyboard  navigation with the Shift key held down alters
              the selection and keeps the selection anchor fixed.

       o      The following "extra" Text bindings are switched off by default,
              but  can be activated in Ntext by setting ::ntext::classicExtras
              to 1: <Control-a>, <Control-b>, <Control-d>, <Control-e>,  <Con-
              trol-f>,  <Control-h>,  <Control-i>,  <Control-k>,  <Control-n>,
              <Control-o>, <Control-p>,  <Control-t>,  <Control-space>,  <Con-
              trol-Shift-space>.



CONFIGURATION OPTIONS

       Ntext  provides  alternatives  to a number of behaviours of the classic
       Text binding tag.  Where there is an option,  the  Ntext  behaviour  is
       switched  on  by  default, except for display-line indentation which is
       discussed on a separate page at ntextIndent.

       The behaviour of Ntext may be configured  application-wide  by  setting
       the values of a number of namespace variables:

       ::ntext::classicAnchor

       o      0  -  (default  value)  selects Ntext behaviour, i.e. the anchor
              point is fixed

       o      1 - selects classic Text behaviour, i.e.  the  anchor  point  is
              variable


       ::ntext::classicExtras

       o      0  -  (default  value)  selects  Ntext  behaviour,  i.e. several
              "extra" Text bindings are de-activated

       o      1 - selects classic Text behaviour, i.e. the "extra" Text  bind-
              ings are activated


       ::ntext::classicMouseSelect

       o      0  -  (default  value)  selects Ntext behaviour, i.e. the anchor
              point for mouse selection operations is moved by keyboard  navi-
              gation

       o      1 - selects classic Text behaviour


       ::ntext::overwrite

       o      0  - (initial value) text typed at the keyboard is inserted into
              the widget

       o      1 - text typed at the keyboard overwrites text  already  in  the
              widget

       o      The value is toggled by the Insert key.



EXAMPLE

       To use Ntext but keep classic Text 's variable-anchor feature:

       package require ntext
       text .t
       set ::ntext::classicAnchor 1
       bindtags .t {.t Ntext . all}



SEE ALSO

       bindtags(n), ntext(n), ntextIndent(n), text(n)


KEYWORDS

       bindtags, text



ntext                                0.81                     ntextBindings(n)

Mac OS X 10.8 - Generated Mon Sep 10 15:57:10 CDT 2012
© manpagez.com 2000-2025
Individual documents may contain additional copyright information.