README 8.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205
  1. /* $XConsortium: README /main/2 1996/07/15 14:32:01 drk $ */
  2. This is the new ttsnoop. It currently gets built but not installed.
  3. See "Code Changes" for hints as to what more would have to be done
  4. to make it replace the current ttsnoop.
  5. * CRT Request: new ttsnoop
  6. * Requestor: Brian Holtz holtz@eng.sun.com
  7. * Component: tooltalk
  8. * CMVC
  9. name compName sev prio abstract
  10. ---- -------- --- ---- --------------------------------------------
  11. 5501 tooltalk 3 3 tttrace ^Z can hang session
  12. 6153 tooltalk 3 4 I18N: Bad layout of ttsnoop
  13. * Synopsis
  14. Replace TeleUse ttsnoop with CDE-integrated dtbuilder ttsnoop
  15. * Justification
  16. There are five major reasons to replace the TeleUse ttsnoop with
  17. the dtbuilder ttsnoop:
  18. - Integrated with CDE
  19. - Smaller
  20. - No need for localization
  21. - Fixes ttsnoop bugs
  22. - More features
  23. * Unlike the current ttsnoop, the new one is integrated with CDE:
  24. * Exposes TT CDE features: netfiles, CFI, tttk, tracing
  25. * Uses CDE Help
  26. * Generates TT_MSG action from any message
  27. * Prints all installed TT_MSG actions
  28. * Handles changes in font preference
  29. * Uses Actions to open man pages and generated buffers
  30. * Uses Motif file chooser for choosing files
  31. * Uses CDE standard colors in icon
  32. * Provides icons in all 3 standard CDE icon sizes
  33. * The new ttsnoop is smaller:
  34. * source: 17Kloc 36Kloc
  35. * object: 205K+32K+16K = 250K 370K+26K+33K = 430K
  36. * msg dialog: 325Kpixel^2 520Kpixel^2
  37. * pat dialog: 230Kpixel^2 455Kpixel^2
  38. * No need for localization
  39. The TeleUse ttsnoop has over 900 messages in it, mostly
  40. consisting of editorial commentary about ToolTalk. (Some of
  41. the commentary is wrong or not in sync with the CDE changes
  42. to ToolTalk.) The justification for not translating these
  43. messages is that ttsnoop is a programmer's tool, not an end
  44. user's tool.
  45. Except for its usage message, every string in the new ttsnoop
  46. is composed solely of keywords from public CDE APIs. The
  47. editorial commentary is replaced by automatically bringing up
  48. the relevant ToolTalk man pages (which are more likely to get
  49. localized than the old ttsnoop's 900+ messages).
  50. * Fixes ttsnoop bugs
  51. If a user runs the command-line message tracing tool
  52. (tttrace) and suspends it or pages its output, the result is
  53. that within minutes the entire desktop locks up (defect
  54. 5501). The existing ttsnoop is hard enough to use that
  55. customers are more likely to run tttrace directly and risk
  56. desktop freeze. The new ttsnoop makes running tttrace by
  57. hand unnecessary.
  58. The new ttsnoop uses relative layout and so behaves correctly
  59. for changes in geometry and font preference.
  60. The new ttsnoop has a proper and complete man page, and
  61. correctly places it in man1 (instead of man6).
  62. * More features
  63. The existing ttsnoop is missing all of these features of the
  64. new ttsnoop:
  65. * Messages
  66. * Separate properties window per message
  67. * Send on exit, Accept, Reject, Reply, Fail, Destroy
  68. * Add message callbacks
  69. * Messages printed in standard format via tt_message_print()
  70. * Generate
  71. * new message dialog containing cloned message
  72. * C code (including callback for requests and offers)
  73. * TT_MSG action
  74. * ptype containing matching static pattern
  75. * new pattern dialog containing matching dynamic pattern
  76. * new message dialog containing Status notice
  77. * Patterns
  78. * Handler patterns (as well as observer patterns)
  79. * Separate properties window per pattern
  80. * Unregister, (re)register, destroy
  81. * Add pattern callbacks
  82. * Files
  83. * Join, quit, get/set/unset default
  84. * Call ttdt_file_*() APIs
  85. * Call netfile APIs
  86. * Session: join, quit, set default
  87. * Ptype: declare, undeclare, set default, exists
  88. * Types: load, reload, enumerate, decompile, dump TT_MSG actions
  89. * Procids: open, close, suspend, resume
  90. * libc menu: system(), chdir(), pause(), exit()
  91. * Help
  92. * Menu items open man1/tt* man pages
  93. * On-item help opens man3/tt* man pages
  94. * Dialogs for choosing sessions, procids, standard ops
  95. * Comprehensive command line options
  96. * to specify initial pattern
  97. * to log snoop output
  98. * Interface Changes
  99. The ttsnoop GUI, CLI, and man page are completely new. Note
  100. that, except as noted under Documentation, there are no
  101. programmatic or documentation dependencies on these interfaces
  102. in the rest of CDE.
  103. * Code Changes
  104. update: cdesrc/databases/CDE-TT.udb
  105. update: cdesrc/databases/CDE-RUN.udb
  106. update: cdesrc/databases/CDE-MAN.udb
  107. update: cdesrc/databases/CDE-ICONS.udb
  108. create: cdesrc/cde1/icons/DtTtsnp.t_m.bm
  109. create: cdesrc/cde1/icons/DtTtsnp.t.pm
  110. create: cdesrc/cde1/icons/DtTtsnp.t.bm
  111. create: cdesrc/cde1/icons/DtTtsnp.m_m.bm
  112. create: cdesrc/cde1/icons/DtTtsnp.m.pm
  113. create: cdesrc/cde1/icons/DtTtsnp.m.bm
  114. create: cdesrc/cde1/icons/DtTtsnp.l_m.bm
  115. create: cdesrc/cde1/icons/DtTtsnp.l.bm
  116. create: cdesrc/cde1/icons/DtTtsnp.l.pm
  117. update: cdesrc/lib/tt/man/man6/Imakefile
  118. update: cdesrc/lib/tt/man/man1/Imakefile
  119. rename from: cdesrc/lib/tt/man/man6/ttsnoop.6xo
  120. to: cdesrc/lib/tt/man/man1/ttsnoop.1xo
  121. update: cdesrc/lib/tt/man/man6/ttsnoop.6xo
  122. update: cdesrc/lib/tt/bin/Imakefile
  123. create: cdesrc/lib/tt/bin/ttsnoop2/DtTt.h
  124. create: cdesrc/lib/tt/bin/ttsnoop2/apiTracer.bil
  125. create: cdesrc/lib/tt/bin/ttsnoop2/argChooser.bil
  126. create: cdesrc/lib/tt/bin/ttsnoop2/callbackChooser.bil
  127. create: cdesrc/lib/tt/bin/ttsnoop2/patternProps.bil
  128. create: cdesrc/lib/tt/bin/ttsnoop2/sessionChooser.bil
  129. create: cdesrc/lib/tt/bin/ttsnoop2/stringChooser.bil
  130. create: cdesrc/lib/tt/bin/ttsnoop2/ttChooser.bil
  131. create: cdesrc/lib/tt/bin/ttsnoop2/ttsnoop.C
  132. create: cdesrc/lib/tt/bin/ttsnoop2/tt_c++.h
  133. create: cdesrc/lib/tt/bin/ttsnoop2/ttsnoop.bil
  134. create: cdesrc/lib/tt/bin/ttsnoop2/ttsnoop.bip
  135. create: cdesrc/lib/tt/bin/ttsnoop2/fileChooser.bil
  136. create: cdesrc/lib/tt/bin/ttsnoop2/messageProps.bil
  137. create: cdesrc/lib/tt/bin/ttsnoop2/callbackChooser_stubs.C
  138. create: cdesrc/lib/tt/bin/ttsnoop2/ttChooser_stubs.C
  139. create: cdesrc/lib/tt/bin/ttsnoop2/externC.h
  140. create: cdesrc/lib/tt/bin/ttsnoop2/DtTt.C
  141. create: cdesrc/lib/tt/bin/ttsnoop2/Makefile.AIX
  142. create: cdesrc/lib/tt/bin/ttsnoop2/patternProps_stubs.C
  143. create: cdesrc/lib/tt/bin/ttsnoop2/tt_c++.C
  144. create: cdesrc/lib/tt/bin/ttsnoop2/messageProps_stubs.C
  145. create: cdesrc/lib/tt/bin/ttsnoop2/stringChooser_stubs.C
  146. create: cdesrc/lib/tt/bin/ttsnoop2/ttsnoop_stubs.C
  147. create: cdesrc/lib/tt/bin/ttsnoop2/fileChooser_stubs.C
  148. create: cdesrc/lib/tt/bin/ttsnoop2/sessionChooser_stubs.C
  149. create: cdesrc/lib/tt/bin/ttsnoop2/apiTracer_stubs.C
  150. create: cdesrc/lib/tt/bin/ttsnoop2/closeBrace.h
  151. create: cdesrc/lib/tt/bin/ttsnoop2/Makefile.SunOS
  152. create: cdesrc/lib/tt/bin/ttsnoop2/argChooser_stubs.C
  153. create: cdesrc/lib/tt/bin/ttsnoop2/Makefile.HP-UX
  154. create: cdesrc/lib/tt/bin/ttsnoop2/Ttsnoop
  155. * Risk
  156. No part of CDE depends on ttsnoop, so there is vanishingly small
  157. runtime risk.
  158. The overall CDE build depends on ttsnoop being able to build.
  159. ttsnoop builds on SunOS, HP-UX, and AIX with no problems. The
  160. risk of breaking the build is thought to be small.
  161. * Testing
  162. ttsnoop has been built and manually exercised on AIX, HP-UX, and
  163. SunOS.
  164. * Performance
  165. The new ttsnoop is much smaller than the old one, but that is
  166. not very relevant since its primary purpose is for debugging.
  167. * Documentation
  168. The man page has been completely rewritten, as has
  169. LearningProducts/APIdesktop/TooltalkUser/ttsnoop.mif.
  170. * Translation
  171. I would be surprised if either ttsnoop.6 or ttsnoop.mif have
  172. already been translated by anybody to any language (especially
  173. English ;-).