menu man page on Slackware

Man page or keyword search:  
man Server   14563 pages
apropos Keyword Search (all sections)
Output format
Slackware logo
[printable version]

menu(n)			     Tk Built-In Commands		       menu(n)

______________________________________________________________________________

NAME
       menu, tk_menuSetFocus - Create and manipulate menu widgets

SYNOPSIS
       menu pathName ?options?
       tk_menuSetFocus pathName

STANDARD OPTIONS
       -activebackground     -borderwidth	  -foreground
       -activeborderwidth    -cursor		  -relief
       -activeforeground     -disabledforeground  -takefocus
       -background	     -font

       See the options manual entry for details on the standard options.

WIDGET-SPECIFIC OPTIONS
       [-postcommand postCommand] If this option is specified then it provides
       a Tcl command to execute each time the menu is posted.  The command  is
       invoked	by  the post widget command before posting the menu. Note that
       in Tk 8.0 on Macintosh and Windows, all post-commands in	 a  system  of
       menus  are  executed before any of those menus are posted.  This is due
       to  the	limitations  in	 the  individual  platforms'  menu   managers.
       [-selectcolor selectColor]  For	menu entries that are check buttons or
       radio buttons, this option specifies the color to display in the	 indi‐
       cator   when   the   check   button   or	  radio	 button	 is  selected.
       [-tearoff tearOff] This option must have a proper boolean value,	 which
       specifies  whether  or  not the menu should include a tear-off entry at
       the top.	 If so, it will exist as entry 0 of the	 menu  and  the	 other
       entries	will  number starting at 1.  The default menu bindings arrange
       for the menu to be torn off when the tear-off entry is  invoked.	  This
       option  is ignored under Aqua/Mac OS X, where menus cannot be torn off.
       [-tearoffcommand tearOffCommand] If this option has a non-empty	value,
       then  it	 specifies  a  Tcl command to invoke whenever the menu is torn
       off.  The actual command will consist of the value of this option, fol‐
       lowed  by a space, followed by the name of the menu window, followed by
       a space, followed by the name of the name of the torn off menu  window.
       For  example,  if the option's value is “a b” and menu .x.y is torn off
       to  create  a  new  menu	 .x.tearoff1,  then  the  command  “a  b  .x.y
       .x.tearoff1” will be invoked.  This option is ignored under Aqua/Mac OS
       X, where menus cannot be torn off.  [-title title] The string  will  be
       used  to	 title	the  window created when this menu is torn off. If the
       title is NULL, then the window will have the title of the menubutton or
       the  text  of  the  cascade  item  from	which  this  menu was invoked.
       [-type type] This option can be one of menubar, tearoff, or normal, and
       is  set when the menu is created. While the string returned by the con‐
       figuration database will change if this option is  changed,  this  does
       not  affect  the	 menu  widget's	 behavior. This is used by the cloning
       mechanism and is not normally set outside of the Tk library.
_________________________________________________________________

INTRODUCTION
       The menu command creates a new top-level window (given by the  pathName
       argument)  and  makes  it  into	a  menu	 widget.   Additional options,
       described above, may be specified on the command line or in the	option
       database	 to configure aspects of the menu such as its colors and font.
       The menu command returns its pathName argument.	At the time this  com‐
       mand  is	 invoked,  there  must	not exist a window named pathName, but
       pathName's parent must exist.

       A menu is a widget that	displays  a  collection	 of  one-line  entries
       arranged	 in  one or more columns.  There exist several different types
       of entries, each with different properties.  Entries of different types
       may  be	combined  in  a single menu.  Menu entries are not the same as
       entry widgets.  In fact, menu entries are not  even  distinct  widgets;
       the entire menu is one widget.

       Menu  entries are displayed with up to three separate fields.  The main
       field is a label in the form of a text string, a bitmap, or  an	image,
       controlled  by  the  -label, -bitmap, and -image options for the entry.
       If the  -accelerator option is specified for an	entry  then  a	second
       textual	field is displayed to the right of the label.  The accelerator
       typically describes a keystroke sequence	 that  may  be	typed  in  the
       application  to	cause the same result as invoking the menu entry.  The
       third field is an indicator.  The indicator is present only for	check‐
       button  or  radiobutton	entries.   It  indicates  whether the entry is
       selected or not, and is displayed to the left of the entry's string.

       In normal use, an entry becomes active  (displays  itself  differently)
       whenever	 the  mouse  pointer  is over the entry.  If a mouse button is
       released over the entry then the entry is invoked.  The effect of invo‐
       cation is different for each type of entry; these effects are described
       below in the sections on individual entries.

       Entries may be disabled, which causes their labels and accelerators  to
       be  displayed  with  dimmer colors.  The default menu bindings will not
       allow a disabled entry to be activated or  invoked.   Disabled  entries
       may  be	re-enabled, at which point it becomes possible to activate and
       invoke them again.

       Whenever a menu's active entry is  changed,  a  <<MenuSelect>>  virtual
       event is send to the menu. The active item can then be queried from the
       menu, and an action can be taken,  such	as  setting  context-sensitive
       help text for the entry.

TYPES OF ENTRIES
   COMMAND ENTRIES
       The  most  common  kind of menu entry is a command entry, which behaves
       much like a button widget.  When a command entry is invoked, a Tcl com‐
       mand  is	 executed.   The  Tcl  command	is specified with the -command
       option.

   SEPARATOR ENTRIES
       A separator is an entry that is	displayed  as  a  horizontal  dividing
       line.   A  separator  may  not  be  activated or invoked, and it has no
       behavior other than its display appearance.

   CHECKBUTTON ENTRIES
       A checkbutton menu entry behaves much like a checkbutton widget.	  When
       it  is invoked it toggles back and forth between the selected and dese‐
       lected states.  When the entry  is  selected,  a	 particular  value  is
       stored  in  a particular global variable (as determined by the -onvalue
       and -variable options for the entry);  when  the	 entry	is  deselected
       another	value  (determined  by	the -offvalue option) is stored in the
       global variable.	 An indicator box is displayed	to  the	 left  of  the
       label  in a checkbutton entry.  If the entry is selected then the indi‐
       cator's center is displayed in the  color  given	 by  the  -selectcolor
       option  for the entry; otherwise the indicator's center is displayed in
       the background color for the menu.  If a -command option	 is  specified
       for  a  checkbutton entry, then its value is evaluated as a Tcl command
       each time the entry  is	invoked;   this	 happens  after	 toggling  the
       entry's selected state.

   RADIOBUTTON ENTRIES
       A  radiobutton  menu  entry  behaves  much  like	 a radiobutton widget.
       Radiobutton entries are organized in groups of which only one entry may
       be selected at a time.  Whenever a particular entry becomes selected it
       stores a particular value into a particular global variable (as	deter‐
       mined  by the -value and -variable options for the entry).  This action
       causes any previously-selected entry in	the  same  group  to  deselect
       itself.	 Once  an entry has become selected, any change to the entry's
       associated variable will cause the entry to deselect itself.   Grouping
       of radiobutton entries is determined by their associated variables:  if
       two entries have the same associated variable then they are in the same
       group.	An  indicator diamond is displayed to the left of the label in
       each radiobutton entry.	If the entry is selected then the  indicator's
       center  is  displayed in the color given by the -selectcolor option for
       the entry; otherwise the indicator's center is displayed in  the	 back‐
       ground  color  for  the	menu.  If a -command option is specified for a
       radiobutton entry, then its value is evaluated as a  Tcl	 command  each
       time the entry is invoked;  this happens after selecting the entry.

   CASCADE ENTRIES
       A cascade entry is one with an associated menu (determined by the -menu
       option).	 Cascade entries allow the construction	 of  cascading	menus.
       The postcascade widget command can be used to post and unpost the asso‐
       ciated menu just next to of the cascade	entry.	 The  associated  menu
       must  be	 a  child  of  the  menu containing the cascade entry (this is
       needed in order for menu traversal to work correctly).

       A cascade entry posts its associated menu by invoking a Tcl command  of
       the form
	      menu post x y
       where menu is the path name of the associated menu, and x and y are the
       root-window coordinates of the upper-right corner of the cascade entry.
       On  Unix,  the  lower-level menu is unposted by executing a Tcl command
       with the form
	      menu unpost
       where menu is the name of the associated menu.  On other platforms, the
       platform's native code takes care of unposting the menu.

       If a -command option is specified for a cascade entry then it is evalu‐
       ated as a Tcl command whenever the entry is invoked. This is  not  sup‐
       ported on Windows.

   TEAR-OFF ENTRIES
       A  tear-off  entry  appears  at the top of the menu if enabled with the
       -tearoff option.	 It is not like other menu entries in that  it	cannot
       be  created  with the add widget command and cannot be deleted with the
       delete widget command.  When a tear-off entry is created it appears  as
       a  dashed  line	at  the	 top of the menu.  Under the default bindings,
       invoking the tear-off entry causes a torn-off copy to be	 made  of  the
       menu and all of its submenus.

MENUBARS
       Any  menu  can  be set as a menubar for a toplevel window (see toplevel
       command for syntax). On the Macintosh,  whenever	 the  toplevel	is  in
       front,  this menu's cascade items will appear in the menubar across the
       top of the main monitor. On Windows and Unix, this menu's items will be
       displayed  in  a menubar across the top of the window. These menus will
       behave according to the interface guidelines of	their  platforms.  For
       every  menu set as a menubar, a clone menu is made. See the CLONES sec‐
       tion for more information.

       As noted, menubars may behave differently on different platforms.   One
       example	of this concerns the handling of checkbuttons and radiobuttons
       within the menu.	 While it is permitted to put these menu  elements  on
       menubars,  they may not be drawn with indicators on some platforms, due
       to system restrictions.

   SPECIAL MENUS IN MENUBARS
       Certain menus in a menubar will be treated specially.   On  the	Macin‐
       tosh,  access to the special Application, Window and Help menus is pro‐
       vided. On Windows, access to the Windows System menu in each window  is
       provided.   On  X  Windows,  a special right-justified help menu may be
       provided if Motif menu compatibility is enabled. In  all	 cases,	 these
       menus  must  be	created with the command name of the menubar menu con‐
       catenated with the special name. So for a menubar  named	 .menubar,  on
       the Macintosh, the special menus would be .menubar.apple, .menubar.win‐
       dow  and	 .menubar.help;	 on  Windows,  the  special  menu   would   be
       .menubar.system; on X Windows, the help menu would be .menubar.help.

       When  Tk	 sees  a .menubar.apple menu as the first menu in a menubar on
       the Macintosh, that menu's contents make up  the	 first	items  of  the
       Application  menu  whenever  the	 window	 containing  the menubar is in
       front.  After all of the Tk-defined items, the menu will have a separa‐
       tor,  followed  by  all standard Application menu items.	 Such a .apple
       menu must be present in a menu when that menu is first configured as  a
       toplevel's  menubar,  otherwise a default application menu (hidden from
       Tk) will be inserted into the menubar at that time and subsequent addi‐
       tion of a .apple menu will no longer result in it becoming the Applica‐
       tion menu.

       When Tk sees a .menubar.window menu on the Macintosh, the  menu's  con‐
       tents  are inserted into the standard Window menu of the user's menubar
       whenever the window's menubar is in front. The first items in the  menu
       are  provided  by  Mac OS X, and the names of the current toplevels are
       automatically appended after all the Tk-defined items and a separator.

       When Tk sees a .menubar.help menu on the Macintosh, the menu's contents
       are  appended  to the standard Help menu of the user's menubar whenever
       the window's menubar is in front. The first items in the menu are  pro‐
       vided by Mac OS X.

       When  Tk	 sees  a System menu on Windows, its items are appended to the
       system menu that the menubar is attached to. This menu is tied  to  the
       application  icon  and  can  be	invoked	 with  the  mouse or by typing
       Alt+Spacebar.  Due to limitations in the Windows API, any font changes,
       colors,	images, bitmaps, or tearoff images will not appear in the sys‐
       tem menu.

       When Tk sees a Help menu on X Windows and Motif menu  compatibility  is
       enabled the menu is moved to be last in the menubar and is right justi‐
       fied. Motif menu compatibility is enabled  by  setting  the  Tk	option
       *Menu.useMotifHelp to true or by calling tk::classic::restore menu.

CLONES
       When  a	menu is set as a menubar for a toplevel window, or when a menu
       is torn off, a clone of the menu is made. This clone is a  menu	widget
       in  its	own  right,  but it is a child of the original. Changes in the
       configuration of the original are reflected in the clone. Additionally,
       any cascades that are pointed to are also cloned so that menu traversal
       will work right. Clones	are  destroyed	when  either  the  tearoff  or
       menubar goes away, or when the original menu is destroyed.

WIDGET COMMAND
       The  menu  command  creates  a  new Tcl command whose name is pathName.
       This command may be used to invoke various operations  on  the  widget.
       It has the following general form:
	      pathName option ?arg arg ...?
       Option and the args determine the exact behavior of the command.

       Many  of the widget commands for a menu take as one argument an indica‐
       tor of which entry of the menu to operate  on.	These  indicators  are
       called indexes and may be specified in any of the following forms:

       number	   Specifies the entry numerically, where 0 corresponds to the
		   top-most entry of the menu, 1 to the entry below it, and so
		   on.

       active	   Indicates  the entry that is currently active.  If no entry
		   is active then this form is equivalent to none.  This  form
		   may not be abbreviated.

       end	   Indicates  the  bottommost entry in the menu.  If there are
		   no entries in the menu then	this  form  is	equivalent  to
		   none.  This form may not be abbreviated.

       last	   Same as end.

       none	   Indicates  “no  entry  at  all”; this is used most commonly
		   with the activate option to deactivate all the  entries  in
		   the	menu.	In most cases the specification of none causes
		   nothing to happen in the widget command.  This form may not
		   be abbreviated.

       @number	   In  this  form,  number is treated as a y-coordinate in the
		   menu's window;  the entry closest to that  y-coordinate  is
		   used.   For	example,  “@0” indicates the top-most entry in
		   the window.

       pattern	   If the index does not satisfy one of the above  forms  then
		   this	 form is used.	Pattern is pattern-matched against the
		   label of each entry in the menu,  in	 order	from  the  top
		   down, until a matching entry is found.  The rules of string
		   match are used.

       The following widget commands are possible for menu widgets:

       pathName activate index
	      Change the state of the entry indicated by index to  active  and
	      redisplay	 it  using  its	 active colors.	 Any previously-active
	      entry is deactivated.  If index is specified as none, or if  the
	      specified	 entry	is  disabled,  then  the  menu ends up with no
	      active entry.  Returns an empty string.

       pathName add type ?option value option value ...?
	      Add a new entry to the bottom of the menu.  The new entry's type
	      is  given	 by type and must be one of cascade, checkbutton, com‐
	      mand, radiobutton, or separator, or a unique abbreviation of one
	      of the above.  If additional arguments are present, they specify
	      the options listed in the MENU ENTRY OPTIONS section below.  The
	      add widget command returns an empty string.

       pathName cget option
	      Returns  the  current value of the configuration option given by
	      option.  Option may have any of the values accepted by the  menu
	      command.

       pathName clone newPathname ?cloneType?
	      Makes  a clone of the current menu named newPathName. This clone
	      is a menu in its own right, but any changes  to  the  clone  are
	      propagated to the original menu and vice versa. cloneType can be
	      normal, menubar, or tearoff. Should not normally be called  out‐
	      side of the Tk library. See the CLONES section for more informa‐
	      tion.

       pathName configure ?option? ?value option value ...?
	      Query or modify the configuration options of the widget.	If  no
	      option is specified, returns a list describing all of the avail‐
	      able options for pathName (see Tk_ConfigureInfo for  information
	      on  the  format  of  this list).	If option is specified with no
	      value, then the command returns a list describing the one	 named
	      option (this list will be identical to the corresponding sublist
	      of the value returned if no option is  specified).   If  one  or
	      more option-value pairs are specified, then the command modifies
	      the given widget option(s) to have the given value(s);  in  this
	      case  the	 command returns an empty string.  Option may have any
	      of the values accepted by the menu command.

       pathName delete index1 ?index2?
	      Delete all of the menu entries between index1 and index2	inclu‐
	      sive.   If  index2  is  omitted  then  it	 defaults  to  index1.
	      Attempts to delete a tear-off menu entry are  ignored  (instead,
	      you  should  change  the	-tearoff option to remove the tear-off
	      entry).

       pathName entrycget index option
	      Returns the current value of  a  configuration  option  for  the
	      entry  given  by	index.	 Option	 may  have  any	 of  the names
	      described in the MENU ENTRY OPTIONS section below.

       pathName entryconfigure index ?options...?
	      This command is similar to the configure command, except that it
	      applies  to the options for an individual entry, whereas config‐
	      ure applies to the options for the menu as a whole.  Options may
	      have  any of the values described in the MENU ENTRY OPTIONS sec‐
	      tion below.  If options are specified, options are  modified  as
	      indicated	 in  the  command  and	the  command  returns an empty
	      string.  If no options are specified, returns a list  describing
	      the  current  options  for entry index (see Tk_ConfigureInfo for
	      information on the format of this list).

       pathName index index
	      Returns the numerical index corresponding to index, or  none  if
	      index was specified as none.

       pathName insert index type ?option value option value ...?
	      Same  as	the  add widget command except that it inserts the new
	      entry just before the entry given by index, instead of appending
	      to  the  end of the menu.	 The type, option, and value arguments
	      have the same interpretation as for the add widget command.   It
	      is  not  possible to insert new menu entries before the tear-off
	      entry, if the menu has one.

       pathName invoke index
	      Invoke the action of the menu entry.  See the  sections  on  the
	      individual  entries  above  for details on what happens.	If the
	      menu entry is disabled then nothing happens.  If the entry has a
	      command  associated  with	 it then the result of that command is
	      returned as the result of the invoke widget command.   Otherwise
	      the  result  is  an  empty string.  Note:	 invoking a menu entry
	      does not automatically unpost the menu;	the  default  bindings
	      normally	take  care  of	this before invoking the invoke widget
	      command.

       pathName post x y
	      Arrange for the menu to be displayed on the screen at the	 root-
	      window  coordinates  given  by  x	 and y.	 These coordinates are
	      adjusted if necessary to guarantee that the entire menu is visi‐
	      ble  on  the  screen.   This  command  normally returns an empty
	      string.  If the -postcommand option has been specified, then its
	      value  is	 executed  as a Tcl script before posting the menu and
	      the result of that script is returned as the result of the  post
	      widget  command.	 If  an error returns while executing the com‐
	      mand, then the error is returned without posting the menu.

       pathName postcascade index
	      Posts the submenu associated with the  cascade  entry  given  by
	      index, and unposts any previously posted submenu.	 If index does
	      not correspond to a cascade entry, or if pathName is not posted,
	      the  command has no effect except to unpost any currently posted
	      submenu.

       pathName type index
	      Returns the type of the menu entry given by index.  This is  the
	      type  argument  passed  to the add or insert widget command when
	      the entry was created, such as command or separator, or  tearoff
	      for a tear-off entry.

       pathName unpost
	      Unmap the window so that it is no longer displayed.  If a lower-
	      level cascaded menu is posted, unpost  that  menu.   Returns  an
	      empty  string.  This subcommand does not work on Windows and the
	      Macintosh, as those platforms have their own  way	 of  unposting
	      menus.

       pathName xposition index
	      Returns a decimal string giving the x-coordinate within the menu
	      window of the leftmost pixel in the entry specified by index.

       pathName yposition index
	      Returns a decimal string giving the y-coordinate within the menu
	      window of the topmost pixel in the entry specified by index.

MENU ENTRY OPTIONS
       The following options are allowed on menu entries. Most options are not
       supported by all entry types.

       -activebackground value
	      Specifies a background color to use for  displaying  this	 entry
	      when  it	is  active.   If  this option is specified as an empty
	      string (the default), then the -activebackground option for  the
	      overall  menu  is used.  If the tk_strictMotif variable has been
	      set to request strict Motif  compliance,	then  this  option  is
	      ignored  and  the -background option is used in its place.  This
	      option is not available for separator or tear-off entries.

       -activeforeground value
	      Specifies a foreground color to use for  displaying  this	 entry
	      when  it	is  active.   If  this option is specified as an empty
	      string (the default), then the -activeforeground option for  the
	      overall  menu is used.  This option is not available for separa‐
	      tor or tear-off entries.

       -accelerator value
	      Specifies a string to display at the  right  side	 of  the  menu
	      entry.   Normally	 describes  an	accelerator keystroke sequence
	      that may be typed to invoke the same function as the menu entry.
	      This option is not available for separator or tear-off entries.

       -background value
	      Specifies	 a  background	color to use for displaying this entry
	      when it is in the normal state (neither  active  nor  disabled).
	      If  this	option	is specified as an empty string (the default),
	      then the -background option for the overall menu is used.	  This
	      option is not available for separator or tear-off entries.

       -bitmap value
	      Specifies	 a  bitmap to display in the menu instead of a textual
	      label, in any of	the  forms  accepted  by  Tk_GetBitmap.	  This
	      option  overrides	 the -label option (as controlled by the -com‐
	      pound option) but may be reset to an empty string	 to  enable  a
	      textual  label  to  be  displayed.   If a -image option has been
	      specified, it overrides -bitmap.	This option is	not  available
	      for separator or tear-off entries.

       -columnbreak value
	      When  this  option is zero, the entry appears below the previous
	      entry. When this option is one, the entry appears at the top  of
	      a new column in the menu.	 This option is ignored on Aqua/Mac OS
	      X, where menus are always a single column.

       -command value
	      Specifies a Tcl command  to  execute  when  the  menu  entry  is
	      invoked.	Not available for separator or tear-off entries.

       -compound value
	      Specifies	 whether  the  menu entry should display both an image
	      and text, and if so, where the image should be  placed  relative
	      to  the  text.  Valid values for this option are bottom, center,
	      left, none, right and top.  The default value is	none,  meaning
	      that  the button will display either an image or text, depending
	      on the values of the -image and -bitmap options.

       -font value
	      Specifies the font to use when drawing the label or  accelerator
	      string  in  this entry.  If this option is specified as an empty
	      string (the default) then the -font option for the overall  menu
	      is used.	This option is not available for separator or tear-off
	      entries.

       -foreground value
	      Specifies a foreground color to use for  displaying  this	 entry
	      when  it	is  in the normal state (neither active nor disabled).
	      If this option is specified as an empty  string  (the  default),
	      then  the -foreground option for the overall menu is used.  This
	      option is not available for separator or tear-off entries.

       -hidemargin value
	      Specifies whether the standard margins should be drawn for  this
	      menu  entry. This is useful when creating palette with images in
	      them, i.e., color palettes, pattern palettes, etc.  1  indicates
	      that the margin for the entry is hidden; 0 means that the margin
	      is used.

       -image value
	      Specifies an image to display in the  menu  instead  of  a  text
	      string or bitmap.	 The image must have been created by some pre‐
	      vious invocation of image create.	  This	option	overrides  the
	      -label  and  -bitmap  options  (as  controlled  by the -compound
	      option) but may be reset to an empty string to enable a  textual
	      or  bitmap  label to be displayed.  This option is not available
	      for separator or tear-off entries.

       -indicatoron value
	      Available only for checkbutton and radiobutton  entries.	 Value
	      is a boolean that determines whether or not the indicator should
	      be displayed.

       -label value
	      Specifies a string to display as an  identifying	label  in  the
	      menu entry.  Not available for separator or tear-off entries.

       -menu value
	      Available	 only for cascade entries.  Specifies the path name of
	      the submenu associated with this entry.  The submenu must	 be  a
	      child of the menu.

       -offvalue value
	      Available	 only for checkbutton entries.	Specifies the value to
	      store in the entry's associated variable when the entry is dese‐
	      lected.

       -onvalue value
	      Available	 only for checkbutton entries.	Specifies the value to
	      store in the entry's  associated	variable  when	the  entry  is
	      selected.

       -selectcolor value
	      Available	 only for checkbutton and radiobutton entries.	Speci‐
	      fies the color to display in the indicator  when	the  entry  is
	      selected.	  If  the  value is an empty string (the default) then
	      the -selectcolor option for the menu  determines	the  indicator
	      color.

       -selectimage value
	      Available	 only for checkbutton and radiobutton entries.	Speci‐
	      fies an image to display in the entry (in place  of  the	-image
	      option)  when  it	 is  selected.	Value is the name of an image,
	      which must have been created  by	some  previous	invocation  of
	      image  create.   This option is ignored unless the -image option
	      has been specified.

       -state value
	      Specifies one of three states for the entry:  normal, active, or
	      disabled.	  In  normal  state  the  entry is displayed using the
	      -foreground option for the menu and the -background option  from
	      the  entry or the menu.  The active state is typically used when
	      the pointer is over the entry.  In active	 state	the  entry  is
	      displayed	 using the -activeforeground option for the menu along
	      with the -activebackground  option  from	the  entry.   Disabled
	      state  means  that the entry should be insensitive:  the default
	      bindings will refuse to activate or invoke the entry.   In  this
	      state  the  entry	 is  displayed according to the -disabledfore‐
	      ground option for the menu and the -background option  from  the
	      entry.  This option is not available for separator entries.

       -underline value
	      Specifies	 the  integer index of a character to underline in the
	      entry.  This option is also queried by the default bindings  and
	      used  to	implement  keyboard  traversal.	  0 corresponds to the
	      first character of the text displayed in the  entry,  1  to  the
	      next character, and so on.  If a bitmap or image is displayed in
	      the entry then this option  is  ignored.	 This  option  is  not
	      available for separator or tear-off entries.

       -value value
	      Available	 only for radiobutton entries.	Specifies the value to
	      store in the entry's  associated	variable  when	the  entry  is
	      selected.	  If  an  empty	 string	 is specified, then the -label
	      option for the entry as the value to store in the variable.

       -variable value
	      Available only for checkbutton and radiobutton entries.	Speci‐
	      fies  the	 name  of  a  global variable to set when the entry is
	      selected.	 For checkbutton entries the variable is also set when
	      the  entry is deselected.	 For radiobutton entries, changing the
	      variable causes the currently-selected entry to deselect itself.

	      For checkbutton entries, the default value  of  this  option  is
	      taken from the -label option, and for radiobutton entries a sin‐
	      gle fixed value is used. It is recommended that you  always  set
	      the  -variable  option  when  creating either a checkbutton or a
	      radiobutton.

MENU CONFIGURATIONS
       The default bindings support four different ways of using menus:

       Pulldown Menus in Menubar
	      This is the most common case. You create a menu widget that will
	      become  the menu bar. You then add cascade entries to this menu,
	      specifying the pull down menus you wish to use in your menu bar.
	      You  then	 create all of the pulldowns. Once you have done this,
	      specify the menu using the -menu option of the toplevel's widget
	      command. See the toplevel manual entry for details.

       Pulldown Menus in Menu Buttons
	      This  is	the  compatible	 way  to do menu bars.	You create one
	      menubutton widget for each top-level  menu,  and	typically  you
	      arrange  a  series  of menubuttons in a row in a menubar window.
	      You also create the top-level menus and any  cascaded  submenus,
	      and tie them together with -menu options in menubuttons and cas‐
	      cade menu entries.  The top-level menu must be a	child  of  the
	      menubutton,  and	each  submenu must be a child of the menu that
	      refers to it.  Once you have done	 this,	the  default  bindings
	      will  allow  users  to traverse and invoke the tree of menus via
	      its menubutton;  see the menubutton manual entry for details.

       Popup Menus
	      Popup menus typically post in response to a mouse	 button	 press
	      or  keystroke.  You create the popup menus and any cascaded sub‐
	      menus, then you call the tk_popup procedure at  the  appropriate
	      time to post the top-level menu.

       Option Menus
	      An  option menu consists of a menubutton with an associated menu
	      that allows you to select one of several	values.	  The  current
	      value  is	 displayed  in	the menubutton and is also stored in a
	      global variable.	Use  the  tk_optionMenu	 procedure  to	create
	      option menubuttons and their menus.

       Torn-off Menus
	      You create a torn-off menu by invoking the tear-off entry at the
	      top of an existing menu.	The default bindings will create a new
	      menu  that  is  a	 copy of the original menu and leave it perma‐
	      nently posted as a top-level window.  The torn-off menu  behaves
	      just the same as the original menu.

DEFAULT BINDINGS
       Tk  automatically  creates  class bindings for menus that give them the
       following default behavior:

       [1]    When the mouse enters a menu, the	 entry	underneath  the	 mouse
	      cursor  activates;   as  the  mouse  moves  around the menu, the
	      active entry changes to track the mouse.

       [2]    When the mouse leaves a menu all of  the	entries	 in  the  menu
	      deactivate,  except  in  the  special case where the mouse moves
	      from a menu to a cascaded submenu.

       [3]    When a button is released over a menu, the active entry (if any)
	      is invoked.  The menu also unposts unless it is a torn-off menu.

       [4]    The Space and Return keys invoke the active entry and unpost the
	      menu.

       [5]    If any of the entries in a menu have letters underlined with the
	      -underline  option,  then pressing one of the underlined letters
	      (or its upper-case or lower-case equivalent) invokes that	 entry
	      and unposts the menu.

       [6]    The  Escape  key	aborts	a  menu	 selection in progress without
	      invoking any entry.  It also unposts the menu  unless  it	 is  a
	      torn-off menu.

       [7]    The  Up and Down keys activate the next higher or lower entry in
	      the menu.	 When one end of the menu is reached, the active entry
	      wraps around to the other end.

       [8]    The Left key moves to the next menu to the left.	If the current
	      menu is a cascaded submenu, then the submenu is unposted and the
	      current  menu entry becomes the cascade entry in the parent.  If
	      the current menu is a top-level menu posted from	a  menubutton,
	      then  the current menubutton is unposted and the next menubutton
	      to the left is posted.  Otherwise the key has  no	 effect.   The
	      left-right  order of menubuttons is determined by their stacking
	      order:  Tk assumes that the lowest menubutton (which by  default
	      is the first one created) is on the left.

       [9]    The  Right key moves to the next menu to the right.  If the cur‐
	      rent entry is a cascade entry, then the submenu  is  posted  and
	      the   current menu entry becomes the first entry in the submenu.
	      Otherwise, if the current menu was  posted  from	a  menubutton,
	      then  the current menubutton is unposted and the next menubutton
	      to the right is posted.

       Disabled menu entries are non-responsive:  they	do  not	 activate  and
       they ignore mouse button presses and releases.

       Several	of  the	 bindings make use of the command tk_menuSetFocus.  It
       saves the current focus and sets the focus to  its  pathName  argument,
       which is a menu widget.

       The behavior of menus can be changed by defining new bindings for indi‐
       vidual widgets or by redefining the class bindings.

BUGS
       At present it is not possible to use the	 option	 database  to  specify
       values for the options to individual entries.

SEE ALSO
       bind(n), menubutton(n), ttk::menubutton(n), toplevel(n)

KEYWORDS
       menu, widget

Tk				      4.1			       menu(n)
[top]
                             _         _         _ 
                            | |       | |       | |     
                            | |       | |       | |     
                         __ | | __ __ | | __ __ | | __  
                         \ \| |/ / \ \| |/ / \ \| |/ /  
                          \ \ / /   \ \ / /   \ \ / /   
                           \   /     \   /     \   /    
                            \_/       \_/       \_/ 
More information is available in HTML format for server Slackware

List of man pages available for Slackware

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net