123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205 |
- /* $XConsortium: README /main/2 1996/07/15 14:32:01 drk $ */
- This is the new ttsnoop. It currently gets built but not installed.
- See "Code Changes" for hints as to what more would have to be done
- to make it replace the current ttsnoop.
- * CRT Request: new ttsnoop
- * Requestor: Brian Holtz holtz@eng.sun.com
- * Component: tooltalk
- * CMVC
- name compName sev prio abstract
- ---- -------- --- ---- --------------------------------------------
- 5501 tooltalk 3 3 tttrace ^Z can hang session
- 6153 tooltalk 3 4 I18N: Bad layout of ttsnoop
- * Synopsis
- Replace TeleUse ttsnoop with CDE-integrated dtbuilder ttsnoop
- * Justification
- There are five major reasons to replace the TeleUse ttsnoop with
- the dtbuilder ttsnoop:
- - Integrated with CDE
- - Smaller
- - No need for localization
- - Fixes ttsnoop bugs
- - More features
- * Unlike the current ttsnoop, the new one is integrated with CDE:
- * Exposes TT CDE features: netfiles, CFI, tttk, tracing
- * Uses CDE Help
- * Generates TT_MSG action from any message
- * Prints all installed TT_MSG actions
- * Handles changes in font preference
- * Uses Actions to open man pages and generated buffers
- * Uses Motif file chooser for choosing files
- * Uses CDE standard colors in icon
- * Provides icons in all 3 standard CDE icon sizes
- * The new ttsnoop is smaller:
- * source: 17Kloc 36Kloc
- * object: 205K+32K+16K = 250K 370K+26K+33K = 430K
- * msg dialog: 325Kpixel^2 520Kpixel^2
- * pat dialog: 230Kpixel^2 455Kpixel^2
- * No need for localization
- The TeleUse ttsnoop has over 900 messages in it, mostly
- consisting of editorial commentary about ToolTalk. (Some of
- the commentary is wrong or not in sync with the CDE changes
- to ToolTalk.) The justification for not translating these
- messages is that ttsnoop is a programmer's tool, not an end
- user's tool.
- Except for its usage message, every string in the new ttsnoop
- is composed solely of keywords from public CDE APIs. The
- editorial commentary is replaced by automatically bringing up
- the relevant ToolTalk man pages (which are more likely to get
- localized than the old ttsnoop's 900+ messages).
- * Fixes ttsnoop bugs
- If a user runs the command-line message tracing tool
- (tttrace) and suspends it or pages its output, the result is
- that within minutes the entire desktop locks up (defect
- 5501). The existing ttsnoop is hard enough to use that
- customers are more likely to run tttrace directly and risk
- desktop freeze. The new ttsnoop makes running tttrace by
- hand unnecessary.
- The new ttsnoop uses relative layout and so behaves correctly
- for changes in geometry and font preference.
- The new ttsnoop has a proper and complete man page, and
- correctly places it in man1 (instead of man6).
- * More features
- The existing ttsnoop is missing all of these features of the
- new ttsnoop:
- * Messages
- * Separate properties window per message
- * Send on exit, Accept, Reject, Reply, Fail, Destroy
- * Add message callbacks
- * Messages printed in standard format via tt_message_print()
- * Generate
- * new message dialog containing cloned message
- * C code (including callback for requests and offers)
- * TT_MSG action
- * ptype containing matching static pattern
- * new pattern dialog containing matching dynamic pattern
- * new message dialog containing Status notice
- * Patterns
- * Handler patterns (as well as observer patterns)
- * Separate properties window per pattern
- * Unregister, (re)register, destroy
- * Add pattern callbacks
- * Files
- * Join, quit, get/set/unset default
- * Call ttdt_file_*() APIs
- * Call netfile APIs
- * Session: join, quit, set default
- * Ptype: declare, undeclare, set default, exists
- * Types: load, reload, enumerate, decompile, dump TT_MSG actions
- * Procids: open, close, suspend, resume
- * libc menu: system(), chdir(), pause(), exit()
- * Help
- * Menu items open man1/tt* man pages
- * On-item help opens man3/tt* man pages
- * Dialogs for choosing sessions, procids, standard ops
- * Comprehensive command line options
- * to specify initial pattern
- * to log snoop output
- * Interface Changes
- The ttsnoop GUI, CLI, and man page are completely new. Note
- that, except as noted under Documentation, there are no
- programmatic or documentation dependencies on these interfaces
- in the rest of CDE.
-
- * Code Changes
- update: cdesrc/databases/CDE-TT.udb
- update: cdesrc/databases/CDE-RUN.udb
- update: cdesrc/databases/CDE-MAN.udb
- update: cdesrc/databases/CDE-ICONS.udb
- create: cdesrc/cde1/icons/DtTtsnp.t_m.bm
- create: cdesrc/cde1/icons/DtTtsnp.t.pm
- create: cdesrc/cde1/icons/DtTtsnp.t.bm
- create: cdesrc/cde1/icons/DtTtsnp.m_m.bm
- create: cdesrc/cde1/icons/DtTtsnp.m.pm
- create: cdesrc/cde1/icons/DtTtsnp.m.bm
- create: cdesrc/cde1/icons/DtTtsnp.l_m.bm
- create: cdesrc/cde1/icons/DtTtsnp.l.bm
- create: cdesrc/cde1/icons/DtTtsnp.l.pm
- update: cdesrc/lib/tt/man/man6/Imakefile
- update: cdesrc/lib/tt/man/man1/Imakefile
- rename from: cdesrc/lib/tt/man/man6/ttsnoop.6xo
- to: cdesrc/lib/tt/man/man1/ttsnoop.1xo
- update: cdesrc/lib/tt/man/man6/ttsnoop.6xo
- update: cdesrc/lib/tt/bin/Imakefile
- create: cdesrc/lib/tt/bin/ttsnoop2/DtTt.h
- create: cdesrc/lib/tt/bin/ttsnoop2/apiTracer.bil
- create: cdesrc/lib/tt/bin/ttsnoop2/argChooser.bil
- create: cdesrc/lib/tt/bin/ttsnoop2/callbackChooser.bil
- create: cdesrc/lib/tt/bin/ttsnoop2/patternProps.bil
- create: cdesrc/lib/tt/bin/ttsnoop2/sessionChooser.bil
- create: cdesrc/lib/tt/bin/ttsnoop2/stringChooser.bil
- create: cdesrc/lib/tt/bin/ttsnoop2/ttChooser.bil
- create: cdesrc/lib/tt/bin/ttsnoop2/ttsnoop.C
- create: cdesrc/lib/tt/bin/ttsnoop2/tt_c++.h
- create: cdesrc/lib/tt/bin/ttsnoop2/ttsnoop.bil
- create: cdesrc/lib/tt/bin/ttsnoop2/ttsnoop.bip
- create: cdesrc/lib/tt/bin/ttsnoop2/fileChooser.bil
- create: cdesrc/lib/tt/bin/ttsnoop2/messageProps.bil
- create: cdesrc/lib/tt/bin/ttsnoop2/callbackChooser_stubs.C
- create: cdesrc/lib/tt/bin/ttsnoop2/ttChooser_stubs.C
- create: cdesrc/lib/tt/bin/ttsnoop2/externC.h
- create: cdesrc/lib/tt/bin/ttsnoop2/DtTt.C
- create: cdesrc/lib/tt/bin/ttsnoop2/Makefile.AIX
- create: cdesrc/lib/tt/bin/ttsnoop2/patternProps_stubs.C
- create: cdesrc/lib/tt/bin/ttsnoop2/tt_c++.C
- create: cdesrc/lib/tt/bin/ttsnoop2/messageProps_stubs.C
- create: cdesrc/lib/tt/bin/ttsnoop2/stringChooser_stubs.C
- create: cdesrc/lib/tt/bin/ttsnoop2/ttsnoop_stubs.C
- create: cdesrc/lib/tt/bin/ttsnoop2/fileChooser_stubs.C
- create: cdesrc/lib/tt/bin/ttsnoop2/sessionChooser_stubs.C
- create: cdesrc/lib/tt/bin/ttsnoop2/apiTracer_stubs.C
- create: cdesrc/lib/tt/bin/ttsnoop2/closeBrace.h
- create: cdesrc/lib/tt/bin/ttsnoop2/Makefile.SunOS
- create: cdesrc/lib/tt/bin/ttsnoop2/argChooser_stubs.C
- create: cdesrc/lib/tt/bin/ttsnoop2/Makefile.HP-UX
- create: cdesrc/lib/tt/bin/ttsnoop2/Ttsnoop
-
- * Risk
- No part of CDE depends on ttsnoop, so there is vanishingly small
- runtime risk.
- The overall CDE build depends on ttsnoop being able to build.
- ttsnoop builds on SunOS, HP-UX, and AIX with no problems. The
- risk of breaking the build is thought to be small.
- * Testing
- ttsnoop has been built and manually exercised on AIX, HP-UX, and
- SunOS.
- * Performance
- The new ttsnoop is much smaller than the old one, but that is
- not very relevant since its primary purpose is for debugging.
-
- * Documentation
- The man page has been completely rewritten, as has
- LearningProducts/APIdesktop/TooltalkUser/ttsnoop.mif.
- * Translation
- I would be surprised if either ttsnoop.6 or ttsnoop.mif have
- already been translated by anybody to any language (especially
- English ;-).
|