home *** CD-ROM | disk | FTP | other *** search
/ Celestin Apprentice 2 / Apprentice-Release2.iso / Source Code / C / Libraries / stdwin / Ports / x11 / To.do < prev    next >
Encoding:
Text File  |  1990-10-21  |  5.0 KB  |  180 lines  |  [TEXT/????]

  1. DO THIS FIRST
  2.  
  3. Fix textedit insert
  4.  
  5. Fix horizontal bar jitter
  6. (H scrollbar hit doesn't really know about imargin yet)
  7.  
  8. Make low-level key events available
  9.  
  10. cut/paste in dialogs?
  11.  
  12. When putting up a dialog box, use the last window that got an event
  13. rather than the active window (this differs if some window has the
  14. focus).  (Really a stdwin design bug -- no way to decide which window
  15. a dialog belongs to.)
  16.  
  17. Fix menus to use a real tick mark and to truly gray out
  18. (use a resource option to avoid graying)
  19.  
  20. Add wsetdefdocsize() and make unnecessary scroll bars disappear
  21.  
  22. Make default cursor a resource instead of using crosshair
  23.  
  24. Adapt menu bar height to menu font height
  25.  
  26. Can menus still cause level 0 debug messages?
  27.  
  28. De-lint, make void functions void, add prototypes for everything,
  29. make secret public names less obvious, standardize naming conventions,
  30. make certain public names available to clients.
  31.  
  32. Get rid of funny assignment forms "x= value"
  33.  
  34. Make code smaller, structure it more
  35. (add subroutines for various things like setting window properties)
  36.  
  37. Warning handler for stdwin users
  38.  
  39. Error handler?
  40.  
  41. WE_CATASTROPHE event?
  42.  
  43. DOCUMENT IT !!!
  44.  
  45. ------------------------------------------------------------------
  46. ICCCM P.M.
  47.  
  48. modifier mapping conventions: don't assume Mod1mask is the meta key
  49.  
  50. Exactly one window should have a WM_COMMAND property
  51.  
  52. Input focus?
  53.  
  54. selections To do:
  55.     - required targets TARGETS, MULTIPLE, TIMESTAMP
  56.     - fetch selections > 32K
  57.     - receive INCR targets?
  58.  
  59. ------------------------------------------------------------------
  60. NEW IDEAS
  61.  
  62. use regions again for exposure event compressing
  63.  
  64. ------------------------------------------------------------------
  65. VERY BAD BUGS (may stop all or most pgms from working)
  66.  
  67. textedit cursor remains on screen (problem is in X11 drawing module)
  68.  
  69. ------------------------------------------------------------------
  70. SERIOUS BUGS (affect only some pgms or nonstandard usage patterns)
  71.  
  72. ------------------------------------------------------------------
  73. MINOR BUGS (can live with)
  74.  
  75. Activate events seem to get lost (when exactly? after waskstr?)
  76.  
  77. Collapse multiple move events [done?]
  78.  
  79. Letter m mishandled by text drawing [huh?]
  80.  
  81. redraws after mouse move events have too low priority
  82.  
  83. Mouse-down: mouse-up lost when dialog box called in between.
  84.  
  85. Tab size in textedit is in pixels instead of 8*wcharwidth(' ') [done?]
  86.  
  87. Textedit should optimize even more (backspace, line inserts)
  88.  
  89. ------------------------------------------------------------------
  90. MAJOR FUNCTIONAL IMPROVEMENTS
  91.  
  92. Support setting point size with %d in font name, e.g., "courier%df".
  93.  
  94. Support setting bold/roman/italic with %s in font names ("", "b", "i", "bi").
  95. Example: "courier%d%sf".
  96.  
  97. Add auto-scroll?
  98.  
  99. Clean up should at least unload font structs, close windows etc.
  100.  
  101. Delay showing the caret
  102.  
  103. Suppress h/v bar if corresponding dimension zero.
  104.  
  105. Suppress menu bar if no menus (what with close box?)
  106.  
  107. Problem: delayed redrawing ofteen feels sluggish, especially with
  108. scrolling
  109.  
  110. ------------------------------------------------------------------
  111. MINOR FUNCTIONAL IMPROVEMENTS (REALLY DETAILS)
  112.  
  113. Add Y/N/C keyboard shortcuts to dialogs.
  114.  
  115. Too much redrawing after wscroll up combined with wchange on top; should
  116. use general regions for clipping instead of single rect
  117.  
  118. Double redraw when window created with set geometry (same cause as above?)
  119.  
  120. Use resources to override menu shortcuts (find a notation for
  121. Alt-left-arrow etc.)
  122.  
  123. Use low ^ instead of | for text caret?
  124.  
  125. Make 'reverse' option work for dialogs.
  126.  
  127. ------------------------------------------------------------------
  128. CODE COSMETICS
  129.  
  130. Don't reference gc->values!  This isn't guaranteed to work!
  131.  
  132. Use fewer GCs (how necessary is this with currently 2 GCs per window?
  133.  
  134. Use XrmGetResource instead of XGetDefault, to allow more flexible naming
  135. scheme
  136.  
  137. Use XEventsQueued instead of XPending/XQLength
  138.  
  139. Modularize code in smaller pieces (not a top priority as long as the X
  140. library itself is so big)
  141.  
  142. Even more meaningful comments
  143.  
  144. Allow compiling with no debug code (how?)
  145.  
  146. Improve use of _wdebuglevel:
  147. use it to selectively trace more of the user calls
  148.  
  149.     fatal    system errors (can't recover)
  150.     warning    user errors (including bad default resources etc.)
  151.     0    "cannot happen" cases
  152.     1    initialization; window open/close; defaults; screen inquiries
  153.     
  154.     N    wungetevent calls
  155.     N+1    rare events (mouse click, enter/leave, menu, expose etc.)
  156.     N+2    common events (move, key), all wgetevent calls
  157.     
  158.     X    wshow calls
  159.     X+1    wsetcaret calls
  160.     X+2    wchange calls
  161.     X+3    wscroll calls
  162.     
  163.     K    w{begin,end}drawing, some others
  164.     K+1    all non-text draw operations
  165.     K+2    all text draw operations
  166.     K+3    all text measure operations
  167.  
  168. ------------------------------------------------------------------
  169. QUESTIONS
  170.  
  171. wscroll doesn't know about pending updates (problem: there may be some
  172. in the queue) (Isn't this really a semantic problem in STWIN?)
  173.  
  174. Figure out how to use button grabs
  175.  
  176. Focusing stops working when a second window is created by a dialog box
  177. started using a keyboard shortcut.  Starts again when the original window
  178. is closed.  (This is only when uwm is running; not with twm,
  179. and not when no wm is running; probably an uwm bug.)
  180.