erc@pai.UUCP (Eric F. Johnson) (06/19/91)
X Book List 18 June 91 Here is a list of X-related books broken down into useful categories. Please send me corrections and updated information. Motif Berlage, Thomas, OSF/Motif: Concepts and Programming, Addison-Wesley, UK, 1991. ISBN 0-201-55792-4. Johnson, Eric F. and Kevin Reichard, Power Programming Motif, MIS: Press, Portland, OR, 1991. ISBN 1-55828-059-6. Book with disk, ISBN 1-55828-061-8. Nye, Adrian and Tim O'Reilly, X Toolkit Intrinsics Programming Manual, Motif Edition, O'Reilly and Assoc., Sebastopol, CA, 1991. ISBN 0-937175-62-5. Open Software Foundation, Application Environment Specification (AES): User Environment Volume, Rev. B, Prentice Hall, Englewood Cliffs, NJ, 1991. ISBN 0-13-043530-9. Open Software Foundation, OSF/Motif Programmer's Reference, Revision 1.1, Prentice Hall, Englewood Cliffs, NJ, 1991. ISBN 0-13-640681-5. Open Software Foundation, OSF/Motif Style Guide, Revision 1.1, Prentice Hall, Englewood Cliffs, NJ, 1991. ISBN 0-13-640616-5. Open Software Foundation, OSF/Motif Programmer's Guide, Revision 1.1 Prentice Hall, Englewood Cliffs, NJ, 1991. ISBN 0-13-640673-4. Young, Douglas A., The X Window System: Programming and Applications with Xt, OSF/Motif Edition, Prentice Hall, Englewood Cliffs, NJ, 1990. ISBN 0-13-497074-8. X Toolkit Asente, Paul J. and Ralph R. Swick, X Window System Toolkit, Digital Press, Bedford, MA, 1990 (distributed by Prentice Hall). ISBN (Digital Press) 1-55558-051-3, (Prentice Hall) 0-13-972191-6. Keller, Brian J., A Practical Guide to X Window Programming, CRC Press, 1990. ISBN 0-8493-7406-5. McCormack, Joel, Paul Asente and Ralph R. Swick, X Toolkit Intrinsics: C Language Interface, X11 Release 4 version, 1989, MIT X Consortium. This document comes with the X Window System Release 4, from MIT. Nye, Adrian and Tim O'Reilly, X Toolkit Intrinsics Programming Manual, O'Reilly and Assoc., Sebastopol, CA, 1990. ISBN 0-937175-33-1. O'Reilly, Tim (editor), X Toolkit Intrinsics Reference Manual, O'Reilly and Assoc., Sebastopol, CA, 1990. ISBN 0-937175-35-8. Smith, Jerry D., Object-Oriented Programming with the X Window System Toolkits, John Wiley, New York, NY, 1991. ISBN 0-471-53259-2. X Library Barkakati, Nabajyoti, X Window System Programming, SAMS, 1991. ISBN 0-672-22750-9. Johnson, Eric F. and Kevin Reichard, X Window Applications Programming, MIS: Press, Portland, OR, 1989. ISBN 1-55828-016-2. Book with disk ISBN 1-55828-035-9. Johnson, Eric F. and Kevin Reichard, Advanced X Window Applications Programming, MIS: Press, Portland, OR, 1990. ISBN 1-55828-029-4. Book with disk ISBN 1-55828-054-5. Jones, Oliver, Introduction to the X Window System, Prentice Hall, Englewood Cliffs, NJ, 1989. ISBN 0-13-499997-5. Nye, Adrian, Xlib Programming Manual, vol. 1, 2nd ed., O'Reilly and Assoc., Sebastopol, CA, 1990. ISBN 0-937175-11-0. Nye, Adrian (editor), Xlib Reference Manual, vol. 2, 2nd ed., O'Reilly and Assoc., Sebastopol, CA, 1990. ISBN 0-937175-12-9. Scheifler, Robert W. and James Gettys, with Jim Flowers, Ron Newman and David Rosenthal, 2nd ed., X Window System: The Complete Reference to Xlib, X Protocol, ICCCM, XLFD, Digital Press, Bedford, MA, 1990. ISBN (Digital Press) 1-5558-050-5, (Prentice Hall) 0-13-972050-2. Open Look AT&T, UNIX System V Release 4 Programmer's Guide: OPEN LOOK Graphical User Interface, Prentice Hall, Englewood Cliffs, NJ, 1989. ISBN 0-13-931908-5. Heller, Dan, XView Programming Manual, O'Reilly and Assoc., Sebastopol, CA, 1990. ISBN 0-937175-52-8. Miller, John David, An OPEN LOOK at UNIX: A Developer's Guide to X, M&T Books, 1990. ISBN 1-55-851057-5. Sun Microsystems, OPEN LOOK: Graphical User Interface Fucntional Specification, Addison-Wesley, Reading, MA, 1990. ISBN 0-201-52365-5. Sun Microsystems, OPEN LOOK: Graphical User Interface Application Style Guidelines, Addison-Wesley, Reading, MA, 1990. ISBN 0-201-52364-7. Quick Reference Guides Mikes, Steven, X Window System Technical Reference, Addison-Wesley, 1990. ISBN 0-201-52370-1. O'Reilly and Assoc., The X Window System in a Nutshell, O'Reilly and Associates, 1990. ISBN 0-937175-24-2. Rost, Randi J., X and Motif Quick Reference Guide, Digital Press, Bedford, MA, 1990 (distributed by Prentice Hall). ISBN (Digital Press) 1-55558-052-1, (Prentice Hall) 0-13-972209-2. Young, Douglas A., OSF/Motif Reference Guide, Prentice Hall, Englewood Cliffs, NJ, 1990. ISBN 0-13-642786-3. X User Guides Mansfield, Niall, The X Window System: A User's Guide, Addison-Wesley, Amsterdam, 1989. ISBN 0-201-51341-2. Quercia, Valerie and Tim O'Reilly, X Window System User's Guide, O'Reilly and Assoc., 1990. ISBN 0-937175-14-5. Hope this helps, -Eric -- Eric F. Johnson BTI: Industrial Boulware Technologies, Inc. fax: +1 612 894 0316 automation systems 415 W. Travelers Trail email: erc@pai.mn.org and services Burnsville, MN 55337 USA
johnston@plains.NoDak.edu (jeff w. johnston) (06/21/91)
In article <1806@pai.UUCP> erc@pai.UUCP (Eric F. Johnson) writes: >X Toolkit > >Asente, Paul J. and Ralph R. Swick, X Window System Toolkit, >Digital Press, Bedford, MA, 1990 (distributed by Prentice Hall). >ISBN (Digital Press) 1-55558-051-3, (Prentice Hall) 0-13-972191-6. How good is this book? I just ordered it from my local Dalton's because it had "Toolkit" in its title. Also, does anyone know whether this is available with diskette? If anyone has high praise for a specific Xtoolkit book, please mail me the title. Thanks, --Jeff -- Jeff W. Johnston (the X-Disciple) | "J'aime deux choses dans la vie: SysAdm, Computer Engineering | toi et la rose. North Dakota State University | la rose pour un jours, EEE Building, Engineering Cmplx | et tois pour toujours."
quanbook@world.std.com (William J Szabo) (06/27/91)
In article <10907@plains.NoDak.edu> johnston@plains.NoDak.edu (jeff w. johnston) writes: >>X Toolkit >> >>Asente, Paul J. and Ralph R. Swick, X Window System Toolkit, >>Digital Press, Bedford, MA, 1990 (distributed by Prentice Hall). >>ISBN (Digital Press) 1-55558-051-3, (Prentice Hall) 0-13-972191-6. > >How good is this book? >If anyone has high praise for a specific Xtoolkit book, please >mail me the title. > The Asente and Swick book has sold quite well here...don't know from personal experience how good it is, but can try to get more information for you, if you want. Our best-selling book(s) on the Xtoolkit are the two-volume set from O'Reilly and Associates. Well written and clear. One is the _Programming Manual_, Volume 4, and Volume 5 is the _Reference Manual_. There is a Motif edition of volume 4 available as well... Email us if you want more information George -- Quantum Books We are moving to Four Cambridge Center, One Kendall Square Cambridge, MA 02142. Phone numbers remain Cambridge, MA 02139 the same. The move is July 4&5. Phone: 617-494-5042 Fax: (617) 577-7282 quanbook@world.std.com
ackerman@athena.mit.edu (Mark S. Ackerman) (06/27/91)
>>>Asente, Paul J. and Ralph R. Swick, X Window System Toolkit, >>>Digital Press, Bedford, MA, 1990 (distributed by Prentice Hall). >>>ISBN (Digital Press) 1-55558-051-3, (Prentice Hall) 0-13-972191-6. >> >>How good is this book? > >>If anyone has high praise for a specific Xtoolkit book, please >>mail me the title. >> I recommend this book highly. The examples are clear, and I haven't found any mistakes. I'd recommend using the O'Reilley books or Doug Young's for triangulation. Mark Ackerman ("Ack") Coordination Technology Group MIT/Center for Coordination Science
wiseb@turing.cs.rpi.edu (G. Bowden Wise) (06/28/91)
>> >>Asente, Paul J. and Ralph R. Swick, X Window System Toolkit, >>Digital Press, Bedford, MA, 1990 (distributed by Prentice Hall). >>ISBN (Digital Press) 1-55558-051-3, (Prentice Hall) 0-13-972191-6. >> >>How good is this book? > The Asente and Swick book has sold quite well here...don't know from personal > experience how good it is, but can try to get more information for you, if > you want. Can someone post a description of the table of contents for this book? Is it up-to-date? What toolkits are covered? -- -------------------------------------------------------------------- - Bowden Wise Computer Science Dept, Rensselaer Polytechnic Inst, Troy, NY 12180 internet: wiseb@cs.rpi.edu bitnet: bowden@rpitsmts
klee@wsl.dec.com (Ken Lee) (06/29/91)
In article <gkgl1=+@rpi.edu>, wiseb@turing.cs.rpi.edu (G. Bowden Wise) writes: |> >>Asente, Paul J. and Ralph R. Swick, X Window System Toolkit, |> >>Digital Press, Bedford, MA, 1990 (distributed by Prentice Hall). |> >>ISBN (Digital Press) 1-55558-051-3, (Prentice Hall) 0-13-972191-6. |> |> Can someone post a description of the table of contents for this book? |> Is it up-to-date? What toolkits are covered? This is the best X Toolkit book by far. It is current (X11R4) and includes both a tutorial and a complete specification. The tutorial is geared towards serious programmers. The section on writing your own widgets is excelent, and contains much information not found elsewhere. There is also tutorial info on writing applications, though this concentrates on generic X Toolkit use, not particular widget sets. If you're interested in Motif programming, Thomas Berlage's book *OSF/Motif: Concepts and Programming* is a good tutorial. It's not as complete as the OSF manuals, but does cover the complex subjects pretty well. If you're doing production-quality applications, you'll probably want the Asente & Swick book as well, for it's superior coverage of generic X Toolkit matters. -- Ken Lee DEC Western Software Laboratory, Palo Alto, Calif. Internet: klee@wsl.dec.com uucp: uunet!decwrl!klee
asente@adobe.com (Paul Asente) (06/29/91)
>>>Asente, Paul J. and Ralph R. Swick, X Window System Toolkit, >>>Digital Press, Bedford, MA, 1990 (distributed by Prentice Hall). >>>ISBN (Digital Press) 1-55558-051-3, (Prentice Hall) 0-13-972191-6. >Can someone post a description of the table of contents for this book? >Is it up-to-date? What toolkits are covered? The book completely covers the R4 Xt toolkit. It does not discuss any widget sets. The table of contents is at the end of this message. -paul asente asente@adobe.com ...decwrl!adobe!asente Ratz put a bucket of liquid in front of me. "I wanted a glass of docs, Ratz. What the hell is this?" I barked. "Motif don't fit in a glass anymore," he barked back. I looked at the liquid. It was totally opaque to me. TABLE OF CONTENTS Introduction PART I PROGRAMMER'S GUIDE Chapter 1. Applications Writing Applications 1.1. Structure of Toolkit Applications 1.2. What Is a Widget? 1.3. Object-Oriented Programming 1.4. Terminology 1.5. Intrinsics Data Types 1.6. The Callback Model 1.7. Error Handling 1.8. The Application User Interface 1.9. A Simple Application -- "Goodbye, world" 1.10. Application Contexts 1.11. Initializing the Toolkit 1.12. Exiting Applications 1.13. Writing Applications 1.14. Writing a New Widget 1.15. Debugging Toolkit Applications 1.16. Procedures and Macros 1.17. Procedure Types Writing Widgets 1.18. More on Header Files 1.19. Designing Widget Sets Chapter 2. Widgets Writing Applications 2.1. Common Widget Classes 2.2. The Class Hierarchy 2.3. Initializing Widget Classes 2.4. Widget Naming Conventions 2.5. Widget Resources 2.6. The Base Widget Classes 2.6.1. The Core Widget and Its Resources 2.6.2. The Composite Widget and Its Resources 2.6.3. The Constraint Widget 2.7. Visuals, Colormaps, and Window Depths 2.8. Creating Widget Instances 2.9. Realizing Widgets 2.10. Unrealizing Widgets 2.11. Destroying Widgets 2.12. Widget Information Functions Writing Widgets 2.13. Widget Data Structures 2.14. Structure Naming Conventions 2.15. Writing Header Files 2.15.1. Writing Private Header Files 2.15.2. Writing Public Header Files 2.15.3. Internal Header Files 2.16. The Base Widget Classes 2.16.1. The Core Class Structure 2.16.2. The Core Instance Structure 2.16.3. The Composite Class Structure 2.16.4. The Composite Instance Structure 2.16.5. The Constraint Class Structure 2.16.6. The Constraint Instance Structure 2.17. Declaring the Class Record 2.18. Class Methods 2.19. Class Information Functions 2.20. Class Initialization 2.21. Extension Records 2.22. Anticipating Subclassing 2.23. Initializing Widgets 2.24. Realizing Widgets 2.25. Destroying Widgets 2.26. Designing Class Methods 2.27. New Widget Methods Chapter 3. Resources and Callbacks Writing Applications 3.1. What Is a Resource? 3.2. Resource Naming Conventions 3.3. Resource Types 3.4. Resource Specifications 3.5. Resource Files 3.6. Parsing the Command Line 3.7. Resource Conversions 3.8. Argument Lists 3.9. Variable Argument Procedures 3.10. Resource Files versus Argument Lists 3.11. Application Resources 3.12. Finding Out about a Widget's Resources 3.13. Resources at Widget Creation 3.14. Getting Widget Resources 3.15. Setting Widget Resources 3.16. Callback Procedures Writing Widgets 3.17. Resource Lists 3.18. Designing Resources 3.19. The Conversion Cache 3.20. Resource Converters 3.21. Adding New Type Converters 3.22. Reference Counting 3.23. Providing Resource Values 3.24. Setting Resource Values 3.25. Subresources 3.26. Callbacks Chapter 4. Composite Widgets and Geometry Management Writing Applications 4.1. Geometry 4.2. Order of Children 4.3. Managed and Unmanaged Widgets 4.4. Mapping and Unmapping 4.5. Realized, Unrealized, Managed, and Unmanaged Widgets 4.6. Using Constraint Widgets Writing Widgets 4.7. Composite Widgets 4.8. Inserting and Deleting Children 4.9. Data Caching 4.10. Notification of Managed Set Changing 4.11. Control Flow for Widget Creation 4.12. Geometry Changes 4.13. Making Geometry Requests 4.14. Geometry Managers 4.15. Changing Geometry from Above 4.16. Responding to Geometry Changes 4.17. Querying Geometry 4.18. Writing Constraint Widgets Chapter 5. Shell Widgets and Pop-Ups Writing Applications 5.1. Shell Widgets 5.2. Shell Widget Resources 5.3. Shells and Geometry 5.4. Children of Shells 5.5. Creating a New Widget Tree 5.6. Pop-Up Shells and Pop-Up Children 5.7. Creating Pop-Up Shells 5.8. Types of Pop-Up Widgets 5.9. Controlling Pop-Ups Writing Widgets 5.10. The Shell Class Hierarchy 5.10.1. The Shell Widget 5.10.2. The Override Shell Widget 5.10.3. The Window Manager Shell Widget 5.10.4. The Vendor Shell Widget 5.10.5. The Transient Shell Widget 5.10.6. The Top-Level Shell Widget 5.10.7. The Application Shell Widget 5.11. What Shells Do 5.11.1. Setting Properties 5.11.2. Iconification and Deiconification 5.11.3. Changing Size and Position 5.11.4. External Geometry Changes 5.11.5. Size and Window Manager Hints 5.12. Vendor Shells Chapter 6. Event Handling Writing Applications 6.1. X Events 6.2. The Application Main Loop 6.3. Alternate Input Sources 6.4. Timers 6.5. The Grab List 6.6. Setting Window Manager Protocols 6.7. Handling Focus 6.8. Getting Events 6.9. Dispatching Events 6.10. Custom Event-Dispatching Loops 6.11. Background Work Procedures 6.12. Using Xlib Event Routines 6.13. Pointer and Keyboard Grabs 6.14. Sensitivity Writing Widgets 6.15. Event Filters 6.16. Handling Exposures 6.17. Visibility 6.18. Implementing Sensitivity 6.19. Accepting Input Focus 6.20. More on the Grab List 6.21. Pointer and Keyboard Grabs 6.22. X Event Handlers 6.23. Getting the Current Event Mask Chapter 7. Translation Management Writing Applications 7.1. Translation Tables 7.2. Setting the Multi-Click Timeout 7.3. Translation Tables in the Program 7.4. Translation Tables in Resource Files 7.5. Action Tables 7.6. Adding Application Actions 7.7. Writing Action Procedures 7.8. XtMenuPopup and XtMenuPopdown 7.9. Resolving Action Names 7.10. Registering Grab Actions 7.11. A Translation Example 7.12. Calling Action Procedures Directly 7.13. Handling the Keyboard 7.14. Action Hooks 7.15. Defining Accelerators 7.16. Installing Accelerators 7.17. An Accelerator Example 7.18. Using a Widget as a Window Writing Widgets 7.19. More on Translation Tables 7.20. Default Translations and Action Tables 7.21. Displaying Accelerators 7.22. Getting a Keysym from a Keyboard Event 7.23. Keycodes and Keysyms: Here Be Dragons Chapter 8. Nonwidget Objects Writing Applications 8.1. Background 8.2. The Base Object Classes 8.2.1. The Object and Its Resource 8.2.2. The Rectangle Object and Its Resources 8.2.3. Resources Not Defined for Objects 8.3. Types and Intrinsic Routines 8.4. Object Information Functions 8.5. Using Objects in Applications 8.6. Using Gadgets Writing Widgets 8.7. The Base Object Classes 8.7.1. The Object Class Structure 8.7.2. The Object Instance Structure 8.7.3. The Rectangle Object Class Structure 8.7.4. The Rectangle Object Instance Structure 8.7.5. The Unnamed Class 8.7.6. Object and Rectangle Object Declarations 8.8. Using Objects in Widgets 8.9. Writing Composite Widgets to Support Gadgets 8.10. Writing Gadgets Chapter 9. Odds and Ends Writing Applications 9.1. Toolkit Version 9.2. The Size of Arrays 9.3. Finding Widgets 9.4. Memory Management 9.5. Translating Coordinates 9.6. Error Handling 9.7. Setting Colormap Windows 9.8. Finding Files 9.9. Selections 9.10. Getting the Most Recent Timestamp Writing Widgets 9.11. Graphics Contexts 9.12. Merging Exposures 9.13. Selections 9.13.1. Getting the Selection Value 9.13.2. Providing the Selection 9.14. Incremental Selections 9.14.1. Getting the Selection Value Incrementally 9.14.2. Providing the Selection Incrementally 9.15. Getting the Selection Request Event 9.16. Selection Timeouts Chapter 10. Pulling It All Together Writing Applications 10.1. The Sample Widgets 10.1.1. The Label Widget 10.1.2. The Pubutton Widget 10.1.3. The MenuItem Widget 10.1.4. The Box Widget 10.1.5. The MinMax Widget 10.1.6. The Confirm Widget 10.1.7. The Menu Widget 10.1.8. The Label Gadget 10.1.9. The Graph Widget 10.1.10. The GraphDisplay Object 10.1.11. The BarDisplay Object 10.2. A Desktop Calculator 10.2.1. The Implementation 10.2.2. The Application Defaults File 10.2.3. Suggested Programming Exercises 10.3. A Mail Notifier 10.3.1. The Implementation 10.3.2. The Application Defaults File 10.3.3. Suggested Programming Exercises 10.4. A System Monitor 10.4.1. The Implementation 10.4.2. The Application Defaults File 10.4.3. Suggested Programming Exercises Writing Widgets 10.5. The Label Widget 10.5.1. The Public Header File 10.5.2. The Private Header File 10.5.3. The Implementation 10.5.4. Suggested Programming Exercises 10.6. The Pubutton Widget 10.6.1. The Public Header File 10.6.2. The Private Header File 10.6.3. The Implementation 10.6.4. Suggested Programming Exercises 10.7. The MenuItem Widget 10.7.1. The Public Header File 10.7.2. The Private Header File 10.7.3. The Implementation 10.7.4. Suggested Programming Exercises 10.8. The Box Widget 10.8.1. The Public Header File 10.8.2. The Private Header File 10.8.3. The Implementation 10.8.4. Suggested Programming Exercises 10.9. The MinMax Widget 10.9.1. The Public Header File 10.9.2. The Private Header File 10.9.3. The Implementation 10.9.4. Suggested Programming Exercises 10.10. The Confirm Widget 10.10.1. The Public Header File 10.10.2. The Private Header File 10.10.3. The Implementation 10.10.4. Suggested Programming Exercises 10.11. The Confirm Widget, Alternative Implementation 10.11.1. The Public Header File 10.11.2. The Private Header File 10.11.3. The Implementation 10.12. The Menu Widget 10.12.1. The Public Header File 10.12.2. The Private Header File 10.12.3. The Implementation 10.12.4. Suggested Programming Exercises 10.13. The Label Gadget 10.13.1. The Public Header File 10.13.2. The Private Header File 10.13.3. The Implementation 10.13.4. Suggested Programming Exercises 10.14. The Graph Widget 10.14.1. The Public Header File 10.14.2. The Private Header File 10.14.3. The Implementation 10.14.4. Suggested Programming Exercises 10.15. The GraphDisplay Object 10.15.1. The Public Header File 10.15.2. The Private Header File 10.15.3. The Implementation 10.16. The BarDisplay Object 10.16.1. The Public Header File 10.16.2. The Private Header File 10.16.3. The Implementation 10.16.4. Suggested Programming Exercises PART II SPECIFICATION Chapter 1. Intrinsics and Widgets 1.1. Intrinsics 1.2. Languages 1.3. Procedures and Macros 1.4. Widgets 1.4.1. Core Widgets 1.4.1.1. CoreClassPart Structure 1.4.1.2. CorePart Structure 1.4.1.3. Core Resources 1.4.1.4. CorePart Default Values 1.4.2. Composite Widgets 1.4.2.1. CompositeClassPart Structure 1.4.2.2. CompositePart Structure 1.4.2.3. Composite Resources 1.4.2.4. CompositePart Default Values 1.4.3. Constraint Widgets 1.4.3.1. ConstraintClassPart Structure 1.4.3.2. ConstraintPart Structure 1.4.3.3. Constraint Resources 1.5. Implementation-Specific Types 1.6. Widget Classing 1.6.1. Widget Naming Conventions 1.6.2. Widget Subclassing in Public .h Files 1.6.3. Widget Subclassing in Private .h Files 1.6.4. Widget Subclassing in .c Files 1.6.5. Widget Class and Superclass Lookup 1.6.6. Widget Subclass Verification 1.6.7. Superclass Chaining 1.6.8. Class Initialization: class_initialize and class_part_initialize Procedures 1.6.9. Initializing a Widget Class 1.6.10. Inheritance of Superclass Operations 1.6.11. Invocation of Superclass Operations 1.6.12. Class Extension Records Chapter 2. Widget Instantiation 2.1. Initializing the X Toolkit 2.2. Loading the Resource Database 2.3. Parsing the Command Line 2.4. Creating Widgets 2.4.1. Creating and Merging Argument Lists 2.4.2. Creating a Widget Instance 2.4.3. Creating an Application Shell Instance 2.4.4. Convenience Procedure to Initialize an Application 2.4.5. Widget Instance Initialization: the initialize Procedure 2.4.6. Constraint Instance Initialization: the ConstraintClassPart initialize Procedure 2.4.7. Nonwidget Data Initialization: the initialize_hook Procedure 2.5. Realizing Widgets 2.5.1. Widget Instance Window Creation: the realize Procedure 2.5.2. Window Creation Convenience Routine 2.6. Obtaining Window Information from a Widget 2.7. Unrealizing Widgets 2.8. Destroying Widgets 2.8.1. Adding and Removing Destroy Callbacks 2.8.2. Dynamic Data Deallocation: the destroy Procedure 2.8.3. Dynamic Constraint Data Deallocation: the ConstraintClassPart destroy Procedure 2.9. Exiting from an Application Chapter 3. Composite Widgets and Their Children 3.1. Addition of Children to a Composite Widget: the insert_child Procedure 3.2. Insertion Order of Children: the insert_position Procedure 3.3. Deletion of Children: the delete_child Procedure 3.4. Adding and Removing Children from the Managed Set 3.4.1. Managing Children 3.4.2. Unmanaging Children 3.4.3. Determining If a Widget Is Managed 3.5. Controlling When Widgets Get Mapped 3.6. Constrained Composite Widgets Chapter 4. Shell Widgets 4.1. Shell Widget Definitions 4.1.1. ShellClassPart Definitions 4.1.2. ShellPart Definition 4.1.3. Shell Resources 4.1.4. ShellPart Default Values Chapter 5. Pop-Up Widgets 5.1. Pop-Up Widget Types 5.2. Creating a Pop-Up ell 5.3. Creating Pop-Up Children 5.4. Mapping a Pop-Up Widget 5.5. Unmapping a Pop-Up Widget Chapter 6. Geometry Management 6.1. Initiating Geometry Changes 6.2. General Geometry Manager Requests 6.3. Resize Requests 6.4. Potential Geometry Changes 6.5. Child Geometry Management: the geometry_manager Procedure 6.6. Widget Placement and Sizing 6.7. Preferred Geometry 6.8. Size Change Management: the resize Procedure Chapter 7. Event Management 7.1. Adding and Deleting Additional Event Sources 7.1.1. Adding and Removing Input Sources 7.1.2. Adding and Removing Timeouts 7.2. Constraining Events to a Cascade of Widgets 7.2.1. Requesting Key and Button Grabs 7.3. Focusing Events on a Child 7.4. Querying Event Sources 7.5. Dispatching Events 7.6. The Application Input Loop 7.7. Setting and Checking the Sensitivity State of a Widget 7.8. Adding Background Work Procedures 7.9. X Event Filters 7.9.1. Pointer Motion Compression 7.9.2. Enter/Leave Compression 7.9.3. Exposure Compression 7.10. Widget Exposure and Visibility 7.10.1. Redisplay of a Widget: the expose Procedure 7.10.2. Widget Visibility 7.11. X Event Handlers 7.11.1. Event Handlers That Select Events 7.11.2. Event Handlers That Do Not Select Events 7.11.3. Current Event Mask Chapter 8. Callbacks 8.1. Using Callback Procedures and Callback List Definitions 8.2. Identifying Callback Lists 8.3. Adding Callback Procedures 8.4. Removing Callback Procedures 8.5. Executing Callback Procedures 8.6. Checking the Status of a Callback List Chapter 9. Resource Management 9.1. Resource Lists 9.2. Byte Offset Calculations 9.3. Superclass-to-Subclass Chaining of Resource Lists 9.4. Subresources 9.5. Obtaining Application Resources 9.6. Resource Conversions 9.6.1. Predefined Resource Converters 9.6.2. New Resource Converters 9.6.3. Issuing Conversion Warnings 9.6.4. Registering a New Resource Converter 9.6.5. Resource Converter Invocation 9.7. Reading and Writing Widget State 9.7.1. Obtaining Widget State 9.7.1.1. Widget Subpart Resource Data: the get_values_hook Procedure 9.7.1.2. Widget Subpart State 9.7.2. Setting Widget State 9.7.2.1. Widget State: the set_values Procedure 9.7.2.2. Widget State: the set_values_almost Procedure 9.7.2.3. Widget State: the ConstraintClassPart set_values Procedure 9.7.2.4. Widget Subpart State 9.7.2.5. Widget Subpart Resource Data: the set_values_hook Procedure Chapter 10. Translation Management 10.1. Action Tables 10.1.1. Action Table Registration 10.1.2. Action Names to Procedure Translations 10.1.3. Action Hook Registration 10.2. Translation Tables 10.2.1. Event Sequences 10.2.2. Action Sequences 10.2.3. Multi-Click Time 10.3. Translation Table Management 10.4. Using Accelerators 10.5. KeyCode-to-KeySym Conversions 10.6. Obtaining a KeySym in an Action Procedure 10.7. KeySym-to-KeyCode Conversions 10.8. Registering Button and Key Grabs For Actions 10.9. Invoking Actions Directly Chapter 11. Utility Functions 11.1. Determining the Number of Elements in an Array 11.2. Translating Strings to Widget Instances 11.3. Managing Memory Usage 11.4. aring Graphics Contexts 11.5. Managing Selections 11.5.1. Setting and Getting the Selection Timeout Value 11.5.2. Using Atomic Transfers 11.5.2.1. Atomic Transfer Procedures 11.5.2.2. Getting the Selection Value 11.5.2.3. Setting the Selection Owner 11.5.3. Using Incremental Transfers 11.5.3.1. Incremental Transfer Procedures 11.5.3.2. Getting the Selection Value Incrementally 11.5.3.3. Setting the Selection Owner for Incremental Transfers 11.5.4. Retrieving the Most Recent Timestamp 11.6. Merging Exposure Events into a Region 11.7. Translating Widget Coordinates 11.8. Translating a Window to a Widget 11.9. Handling Errors 11.10. Setting WM_COLORMAP_WINDOWS 11.11. Finding File Names Chapter 12. Nonwidget Objects 12.1. Data Structures 12.2. Object Objects 12.2.1. ObjectClassPart Structure 12.2.2. ObjectPart Structure 12.2.3. Object Resources 12.2.4. ObjectPart Default Values 12.2.5. Object Arguments To Intrinsics Routines 12.2.6. Use of Objects 12.3. Rectangle Objects 12.3.1. RectObjClassPart Structure 12.3.2. RectObjPart Structure 12.3.3. RectObj Resources 12.3.4. RectObjPart Default Values 12.3.5. RectObj Arguments to Intrinsics Routines 12.3.6. Use of Rectangle Objects 12.4. Undeclared Class 12.5. Widget Arguments To Intrinsics Routines Chapter 13. Evolution of the Intrinsics 13.1. Determining Specification Revision Level 13.2. Release 3 to Release 4 Compatibility 13.2.1. Additional Arguments 13.2.2. Set_values_almost Procedures 13.2.3. Query Geometry 13.2.4. UnrealizeCallback Callback List 13.2.5. Subclasses of WMell 13.2.6. Resource Type Converters 13.2.7. KeySym Case Conversion Procedure 13.2.8. Nonwidget Objects PART III APPENDICES Appendix A. Resource File Format Appendix B. Translation Table Syntax B.1. Notation B.2. Syntax B.3. Modifier Names B.4. Event Types B.5. Canonical Representation B.7. Examples Appendix C. Compatibility Functions Appendix D. Intrinsics Error Messages D.1. Error Messages D.2. Warning Messages Appendix E. StringDefs.h Header File Appendix F. Parameter and Return Types Appendix G. Naming Conventions G.1. File Name Conventions G.2. Widget Name Conventions G.3. Resource Name Conventions G.4. Constraint Name Conventions G.5. Extension Name Conventions Appendix H. The X Registry and the Examples H.1. The X Registry H.2. Getting the Example Programs INDEX LIST OF FIGURES 1.1. The structure of a toolkit application 1.2. Mapping user actions to application functions 1.3. A sample application's interface and its widget tree 1.4. Layout policies of various composite widgets 1.5. The widgets in the sample application with a pop-up 2.1. An example widget class hierarchy 2.2. The class linkage of several widgets 2.3. The instance linkage of several widgets 3.1. "Goodbye, world" with customizations 4.1. Managed, mapped, and unmanaged widgets 4.2. Geometry propagation at realization 4.3. The same MinMax widget at different sizes 5.1. A widget tree with several shells 5.2. The shell class hierarchy 6.1. Toolkit event handling 6.2. Focus redirection 6.3. Keyboard forwarding and grabs 7.1. "Goodbye, world" with an installed accelerator 8.1. The Intrinsics class hierarchy 8.2. Exposures and gadget children 9.1. A sample widget tree 10.1. Pushbuttons in various states 10.2. A menu with an inverted item 10.3. The same MinMax widget at different sizes 10.4. A Confirm widget 10.5. The calculator 10.6. The calculator's widget tree 10.7. The mail notifier and its widget tree 10.8. The system monitor and its widget tree LIST OF EXAMPLES 1.1. The "Goodbye, world" program 1.2. "Goodbye, world" using explicit initialization 2.1. The Label private header file 2.2. The Label public header file 2.3. The Label class record declaration 2.4. The Label class initialization procedure 2.5. A sample extension initialization routine 2.6. Utility procedures for the Label initialize procedure 2.7. The Label initialize procedure 2.8. The Label destroy procedure 2.9. The Label select text method 2.10. The Label class part initialization procedure 3.1. "Goodbye, world" using a defaults file 3.2. The "Goodbye, world" defaults file 3.3. Fallback resources for "Goodbye, world" 3.4. Fetching application resources 3.5. The Label resource list 3.6. The Pushbutton resource list 3.7. The string-to-justification converter 3.8. The string-to-justification converter using quarks 3.9. The string-to-widget converter 3.10. The string-to-string-list converter 3.11. The string-to-string-list destructor 3.12. The Label set_values procedure 3.13. Subresources for millimeter dimension resources 3.14. Initializing the subresources 3.15. Providing subresource values 3.16. Modifying subresource values 4.1. The Box change_managed procedure 4.2. The Box geometry manager 4.3. A complex Box geometry manager 4.4. The Label resize procedure 4.5. A sample use of XtQueryGeometry 4.6. Another use of XtQueryGeometry 4.7. The Label query_geometry procedure 4.8. Part of the MinMax private header file 4.9. The MinMax public header file 4.10. The MinMax constraint resources 4.11. Part of the MinMax class declaration 4.12. The MinMax constraint initialize procedure 4.13. The MinMax constraint set_values procedure 5.1. The sample Vendor.h header file 5.2. The sample VendorP.h header file 5.3. The sample vendor shell resources 5.4. Fetching an atom using type conversion 5.5. The sample vendor shell realize procedure 5.6. The sample vendor shell initialize procedure 5.7. The sample vendor shell set_values procedure 6.1. Setting the window manager protocols 6.2. Responding to window manager protocols 6.3. A work procedure to create pop-up widgets 6.4. The Label expose procedure 6.5. The Pushbutton expose procedure 6.6. Part of the Pushbutton set_values procedure 6.7. The Box widget's accept_focus procedure 6.8. The Menu widget's initialize procedure 7.1. A translation example 7.2. An accelerator example 7.3. The resources for the accelerator example 7.4. A program that uses a widget as a window 7.5. The Pushbutton default translations and actions 7.6. The Pushbutton action procedures 7.7. The display_accelerator method for Pushbutton 7.8. Mapping from keysyms to ISO Latin-1 characters 8.1. The Box insert_child procedure 8.2. The Box expose procedure 8.3. The LabelGadget expose procedure 9.1. The Label selection handling procedures 9.2. The Label select text method LIST OF TABLES PART I PROGRAMMER'S GUIDE Core widget resources Composite widget resources Chaining for widget methods Resource types Predefined command line options Shell widget resources Nonoverride shell widget resources Transient shell widget resources Top-level and application shell widget resources Application shell widget resources Shell resources that come in pairs Translation events and synonyms Translation events and synonyms Translation modifiers Synonyms for events with modifiers Synonyms for events with details Toolkit equivalents for Xlib key-handling routines Object resource RectObj object resources Core resources not defined for objects XtNameToWidget examples Label widget resources Pushbutton widget resources Box widget resource MinMax widget constraint resources Confirm widget resources Menu widget constraint resource Label gadget resources Graph widget resources GraphDisplay object resources BarDisplay object resources Mail notifier application resources Mail notifier command line options System monitor application resources System monitor command line option PART II SPECIFICATION Core widget resources CorePart default values Composite widget resources CompositePart default values Predefined command line options Shell types and variables Shell widget resources WMShell widget resources TransientShell widget resources TopLevelShell widget resources ApplicationShell widget resources ShellPart default values WMShellPart default values Shell resources that come in pairs TransientShellPart default values TopLevelShellPart default values ApplicationShellPart default values Resource types Object resources RectObj object resources PART III APPENDICES Translation modifiers Translation events and synonyms Abbreviations for events with modifiers and details Detail fields for events Standard error messages Standard warning messages Widget parameter types for Intrinsics routines Widget class parameter types for Intrinsics routines Widget file name conventions Widget name conventions for application programmers Widget name conventions for widget writers Resource name conventions Constraint name conventions Extension name conventions Where to get the example programs
quanbook@world.std.com (William J Szabo) (06/29/91)
> >Can someone post a description of the table of contents for this book? >Is it up-to-date? What toolkits are covered? Here is the TOC for the Asente and Swick _X Window System Toolkit_: PART 1: PROGRAMMER'S GUIDE -Chapter 1: Applications -Chapter 2: Widgets -Chapter 3: Resources and Callbacks -Chapter 4: Composite Widgets and Geometry Management -Chapter 5: Shell Widgets and Pop-Ups -Chapter 6: Event Handling -Chapter 7: Translation Management -Chapter 8: Nonwidget Objects -Chapter 9: Odds and Ends -Chapter 10: Pulling it all together PART 2: SPECIFICATION -Chapter 1: Intrinsics and Widgets -Chapter 2: Widget Instantiation -Chapter 3: Composite Widgets and Their Children -Chapter 4: Shell Widgets -Chapter 5: Pop-Up Widgets -Chapter 6: Geometry Management -Chapter 7: Event Management -Chapter 8: Callbacks -Chapter 9: Resource Management -Chapter 10: Translation Management -Chapter 11: Utility Functions -Chapter 12: Nonwidget Objects -Chapter 13: Evolution of the Intrinsics PART 3: APPEDICES -Appendix A: Resource File Format -Appendix B: Translation Table Syntax -Appendix C: Compatibility Functions -Appendix D: Intrinsics Error Messages -Appendix E: StringDefs.h Header File -Appendix F: Parameter and Return Types -Appendix G: Naming Conventions -Appendix H: The X Registry and the Examples The actual, full TOC is 20 pages long. Published by Prentice Hall, 1990, ISBN 0139721916 (Digital Press) 970 Pages, Paperback, $45.00 email us for more info or ordering George Quantum Books Cambridge, MA quanbook@world.std.com PH: 617.494.5042 -- Quantum Books We are moving to Four Cambridge Center, One Kendall Square Cambridge, MA 02142. Phone numbers remain Cambridge, MA 02139 the same. The move is July 4&5. Phone: 617-494-5042 Fax: (617) 577-7282 quanbook@world.std.com