Advanced X and Motif Programming with Widget Writing (5 days)

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