Prerequisites: C, UNIX, Xlib, and Xt programming experience
What you should be able to say before taking this course:
- I know how to write basic Xlib, XT, and Motif programs
- I know how to manipulate Widget Resources
What you should be able to say before taking this course:
- I understand how to program with the new New Motif 1.2 Features like Drag and Drop
- I know how Inter-Process Communication works in X and Xt
- I can write a Multi-Display Application
- I can write new widgets for any Xt-based widget class, including Motif
- I understand Xt Subclassing Mechanisms
- I understand Xt Widget Internals
- I understand many of the issues in Motif Widget Subclassing
- I understand Xt Translations and Actions
- I understand Geometry Management in Xt
- I understand how to write new Motif Compound Widgets
- I can write new Motif widgets which support: Motif Visual Characteristics [3D look], Virtual Keysyms and Translations, Keyboard Traversal, Compound String Handling, Synthetic Resources
- I understand X Protocol Extensions
- I understand Xlib Error Handling
- I understand the Use of Color in X
- I understand Keyboard Focus and Grabs
- I understand Private Xt Event Loops
- I understand the ICCCM: the Inter-Client Communication Conventions Manual
- I know how to improve the performance of my X, Xt, and Motif applications
Course Outline:
Days One and Two — Widget Writing and Subclassing Motif Widgets
- Xt Subclassing
- Simple Widgets and Composite Widgets
- Constraint Widgets, and Compound Widgets
- Subclassing the OSF/Motif Widgets, Supporting: 3D Visuals, Keyboard Traversal & Highlighting, Virtual Keysyms and Translations, Handling Compound Strings, Resolutions Independence, Synthetic Resources
Labs Day One and Two
- Create a Simple New Widget
- Create a Widget Which Interacts With the User
- Create Manager (Composite) Widget
- Creating New Motif Subclasses
Day Three — Inter-Process Communication in X
- The InterClient Communications Conventions Manual (ICCCM)
- Atoms, Properties, Sending Events, Selections
- Supporting Interclient Cut and Paste
- Motif 1.2 Update & X115 Update
- New Motif 1.2 Features Overview
- Drag and Drop
- Short Discussion of I18N
- X11R5 Features Overview
- Font Server and Scalable Fonts
- Short Discussion of PEX, I18N
- Private IPC in X
Labs Day Three
- Sending and Receiving Strings and Integers
- Talking to the Window Manager
- Implementing Selections
- Writing a Motif Application Which Utilizes Drag and Drop
Day Four — Advanced Xlib
- Extensions and Using Extensions
- Error Handling
- Xt-Level Events and Event Handling
- Xt Keyboard Focus and Grabs
- Private Event Loops
- Multi-Display Applications
- Performance Issues in Xlib, Xt, and Motif
Labs Day Four
- Write an Xt Application That Receives Input From Stdin
- Write A Multi-Display Application
- Using XSCOPE
- Using the Shape Extension to Have Non-Rectangular Objects
Day Five — Advanced Use of Color in X
- PseudoColor, TrueColor, and DirectColor Differences
- Visual Support for Overlays
- Standard Colormaps
- Alternate Color Models — X11R5 Device Independent Color
Lab Day Five
- Drawing With Overlay Planes