This file contains a list of bugs to fix and minor feature changes
needed in the Tk toolkit.  The list is ordered by the time when the
idea for the change first arose;  no priority should be inferred from
the order.

6. Fill in default argument table in tkArgv.c, and document it.

8. Change Tk_Uid stuff so that there's a fast way to tell if a
string is really a Tk_Uid.

10. Write procedure to translate from a string to a Pixmap.

20. Change border specification so that instead of giving a width you
can give a string of the form "uudu20du" to indicate ranges of up and
down.  This would eliminate having a lot of extra frame windows.  On
the other hand, it might be confusing for things like buttons:  have to
give separate specs for "up" and "down"?

24. Add mechanism to determine which interpreter has the selection.

26. Extend "configure" widget command to output the type of the
option (string, color, etc.)?  Or should this be done with the class
field?

28. Need mechanism to change the name of a top-level window?

30. Make "." a frame widget in wish?

41. Make "pack" return the id of the parent window, so that packs can
be nested to make window structure more obvious?

47. Add new "option" subcommands to (a) query whole database or
(b) query all the option patterns that match for a particular option
(i.e. don't just return the one that will actually be used).

50. In error-handling code, ignore BadWindow errors if they occur
for a seemingly-legitimate Tk window.

51. Add a "contrib" directory for users to contribute various scripts
and other assistance?

52. Should "wm" have mechanism to allow resizing in a single direction
only?

53. Put the version number into a header file, instead of the Makefile.

55. More window-manager protocols, such as WM_DELETE_WINDOW and
WM_TAKE_FOCUS and WM_CLIENT_MACHINE.

57. Support for 2-byte fonts?

61. Allow widgets to be renamed?

63. Provide way to determine "type" of window (i.e. command under which
it was created) rather than current class?

65. Make sure that colors get mapped to B&W correctly on mono displays
(the motivating problem is a single display with multiple screens of
different types).

68. Write manual entries for new exported binding procedures.

69. Change "frame" option in "pack" command to "anchor".  Also allow
windows to be packed in windows other than their parents.

73. Provide mechanism in widgets like entry to query whether the
selection is there.  Perhaps implement standard selection target
that returns the selection's window and application?

75. Change Tk_Uid typedef to prevent confusion with (char *)?

76. Change listbox selection handling to return multiple items separated
by newlines rather than as a Tcl list?

77. Need way to delete selection handlers.  Specific problem:  TARGETS
not returning right values in Spotlight:  at different times, same
window provides different forms of selection, but no way to change
the TARGETS return value over time.

78. Can't safely delete file handlers from within a file handler.  Need
to fix main event loop so this is possible.

79. Change TK_CONFIG_PIXMAP to TK_CONFIG_BITMAP in tkConfig.c?

81. For check and radio buttons, change "command" config to separate
commands invoked when button becomes selected/deselected?

82. Eliminate "flash" option for buttons?

84. Change Tk class names so that there's only one capital letter in
each name.  Be consistent!

86. Change "tkVersion" variable to "tk_version" for consistency.

89. Eliminate hard-wired behavior for scales and scrollbars:  use class
bindings instead.

90. Add mechanism in menus to get y-coords of a particular entry (useful
for position selector menus).  Do similar things for other widgets, so
that positions of various elements can be determined.

91. Change menu buttons not to monitor variable anymore.  Retain group
mechanism for event sharing, though.

92. Add mechanism for interposing constraints in geometry management,
e.g. to allow a collection of buttons to all request same width (for
tables) or to provide a generic mechanism for padding widgets internally.

93. Add way to find out which geometry manager "owns" a particular
window.

94. Support stippled backgrounds in canvases.

95. Should "exportSelection" default to "no" in listboxes?

96. Check for memory leaks.

97. Need commands to raise and lower top-level windows.

98. Add Tk command to compute the bbox of a given text string in a given
font?

99. Change binding mechanism so that "bind . <Any-Control-h> {...}"
isn't sensitive to the shift key.

100. Extend scrollbar "set" command so that arrow increment can be set
explicitly.

101. Eliminate TK_DONT_WAIT option to Tk_DoOneEvent.

102. Allow $tk_library to be set from an environment variable.

103. Get image displaying widget from Paul Mackerras (paulus@cs.anu.edu.au)
and incorporate into Tk.

104. Make "delete" option for canvases take multiple arguments.

105. Eliminate the "activate" and "deactivate" commands for buttons
and menu buttons.

106. Add feature to buttons for automatic defaulting, where button
allocates extra space for default ring.

107. Eliminate the "disable" and "enable" commands for menus.

108. Change Tk_GetAtomName to return NULL instead of "?bad atom?".

109. Redo event-sharing stuff to use the same general approach as
used for grabbing, except generalized to a group of windows.  Perhaps
extend the grab command?

110. Extend bitmaps to allow direct specification (#0xffff ...)

112. Add "winfo exists" command to see if window exists.

113. Improve color handling facilities:  (a) when colors run out, drop
back to mono-style stuff;  (b) provide an override where the user can
say "treat this screen as mono even though it isn't".

114. Change default so that windows are normally resizable?

115. Change Tk_GetSelection to look in the cut buffer if no selection
can be found.

116. Change "cursor" stuff to "insert" stuff in entry widget.

117. Implement a mechanism for retrieving just the value of a configuration
option, without all the other stuff (name, default, etc.).  Perhaps
a "cvalue" widget command?

118. Add "-setgrid" option to listboxes.

119. There's no way to make a window the selection owner from Tcl.  Add
a "selection own" command.

120. If a selection handler written in Tcl returns an errors, it is ignored
and results in an empty selection being returned.  Change to propagate
the error.

123. Maintain visibility state in Tk and make available to clients.

124. Remove "-geometry" option from all widgets, and use "-width" and
"-height" instead.

125. Revise grab mechanism to eliminate various problems (see the
beginning of tkGrab.c for information about the problems).  Also, set
grab automatically on visibility change so Tcl scripts don't have to
worry about this?

126. Change menus to eliminate event sharing altogether.  Just use a
grab on the menu bar to achieve the same effect more cleanly.
