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