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"? 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? 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? 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? 68. Write manual entries for new exported binding procedures. 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? 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? 86. Change "tkVersion" variable to "tk_version" for consistency. 89. Eliminate hard-wired behavior for scales and scrollbars: use class bindings instead. 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. 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? 100. Extend scrollbar "set" command so that arrow increment can be set explicitly. Or, change scrollbar interface completely so that the scrollbar only gets two numbers giving slider position, and sends commands of the form "foo scroll up1" or "foo scroll upScreen". 101. Eliminate TK_DONT_WAIT option to Tk_DoOneEvent. 103. Get image displaying widget from Paul Mackerras (paulus@cs.anu.edu.au) and incorporate into Tk. 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?". 110. Extend bitmaps to allow direct specification (#0xffff ...) 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. 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? 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. Set grab automatically on visibility change so Tcl scripts don't have to worry about this? 128. Scroll windows when selecting off edge of window (do for listboxes, entries, and text)? 129. Add keyboard traversal to text and listboxes. 130. When redoing packer, change so that space in padx and pady requests is always outside window area, even if fillx or filly has been specified. 131. Should new characters in text widget get tags of character they precede or character they follow (currently it's "follow")? Or neither? 132. Extend "option" command to make it possible to retrieve the original resource pattern specs. 134. Allow upper-left character in text not to be the first character of a line: otherwise, with very long line and small window, won't be able to view the end of a line. 136. Implement mechanism for using existing window as main window for application, support with command-line argument in wish. 137. Modify default bindings so that they can handle multiple mice working simultaneously on different displays (right now there is a single variable that keeps track of the active window, for example). 138. Add packer option not to set requested geometry for parent window? 139. Change canvas Postscript generation to be smarter about font names that have been abbreviated: use X to look up the full name. 140. Canvas Postscript isn't stippling text like it should: the code seems not to have been written at all. 141. Change "send" code to be cleverer about reclaiming names of dead interpreters. E.g. check for duplicate window names in the registry or check for a unique-id property on the commWindow. 142. Need to add "-displayfor" option to the following commands: focus, selection, send. 143. There are tricky issues about send and multiple displays. Does some name get registered for a top-level window on a new display? If so, how to deal with multiple different names for application? If not, can this window be sent to by other applications on its display?