Cygwin/X

Cygwin/X Home
Cygwin Home
sourceware.org

Contributors
Development
  Change Logs
  Documentation
  To-Do List
  XWin Server
Documentation
  Contributor's Guide
  Frequently Asked Questions
  User's Guide
Donations
Features
Mailing Lists
  cygwin-xfree
  cygwin-xfree-announce
Mirror Sites
Screenshots

Cygwin/X - Development

Last updated: 2004-04-07 0200 EDT (Harold L Hunt II)

Links

Change Logs - Links to the change logs for the Documentation, XWin Server, and xwinclip.

Documentation - Contains compiled documents, sources, and change logs for the Cygwin/X documentation. Contributions to the Cygwin/X Documentation are more than welcome.

Donations - If you can not contribute time for development, then perhaps you can contribute a little money or hardware to make the current developers more productive.

To-Do List - Contains a list of open development items along with pointers on how to begin working on them.

XWin Server - Sources and change logs for updates to the Cygwin/X XWin Server. Contributions to the Cygwin/X XWin Server are more than welcome.

xwinclip - Contains binaries, sources, and change logs for updates to the clipboard manager that integrates the Cygwin/X and Microsoft Windows clipboards. Contributions to xwinclip are more than welcome.

Getting Started

  1. Install Cygwin and Cygwin/X using Cygwin's setup.exe. The Cygwin/X User's Guide may be helpful.
  2. Get the latest X.org source tree from CVS, using the instructions on the XWin Server Development page.
  3. You're going to need an editor that is capable of handling UNIX-style end-of-line characters on a Windows machine; two good candidates for this are nedit and emacs. Both nedit and emacs are available via Cygwin's setup.exe.
  4. Get Definition of the Porting Layer for X v11 Sample Server, April 8, 1994, Digital Equipment Corporation, MIT X Consortium, X Consortium. There is a link to this document below.
  5. Consider purchasing X Window System - The Complete Reference to Xlib, X Protocol, ICCCM, and XLFD for X11R5, 3rd Edition, 1992, Butterworth-Heinemann and Digital Press, ISBN 1-55558-088-2. A version of this is available in PDF form for X11R4. This book costs about $60; it has been replaced by a three book set costing around $180; for most people the single book will be enough, considering the price difference. Note that these books are available for free online in PDF form; the book is nice because it is much smaller and cleaner than any version that you could print yourself.
  6. Consider purchasing, if you don't already own it, Programming Windows, 5th Edition, 1999, Charles Petzold, Microsoft Press, ISBN 1-57231-995-X.
  7. MSDN Library Online had sufficient DirectDraw documentation for me to learn how to use it.
  8. View the XWin Server code in the X.org CVS tree under xc/programs/Xserver/hw/xwin/
  9. Pay attention to the cygwin-xfree mailing list and post your discoveries.

Developer Documentation Links

Online documents not available in print

The following documents are not generally available in print. All of these documents print out fine. Be aware that there are several versions of these documents, located on different servers, that do not print out correctly. For example, the first 20 or so pages will print fine, but the last 500 pages will be gibberish.

Definition of the Porting Layer for the X V11 Sample Server (179 KiB, 69 pages)

1994 - Covers up to X11R6; essential

Design of eXcursion Version 2 for Windows, Windows NT, and Windows 95 (301 KiB, 14 pages)

1996 - Discusses some of the difficulties in creating an X Server for Microsoft Windows. More geared towards implementing a server that translates X raster ops into Windows GDI raster ops. Cygwin/X does not currently, as of 2001-06-06, translate raster ops, though the framework to do so is in place, and development on raster op translation will be resumed in the not so distant future.

Strategies for Porting the X V11 Sample Server (77 KiB, 22 pages)

1988 - Might give you some insight

Godzilla's Guide to Porting the X V11 Sample Server (38 KiB, 11 pages)

1990 - Old and thin, but relevant

Writing a Graphics Device Driver and DDX for the Digital UNIX X Server (602 KiB, 272 pages)

1997 - Contains some good hints in the DDX section

The X Selection Mechanism or, How to Cut and Paste in 1000 lines or more (40 KiB, 13 pages)

1990 - Good information/tutorial about the X selection mechanism

Online versions of documents that are in-print

Online versions contain roughly the same information as the books, but the online versions are free. :) Some of these documents have graphics that appear out of place or grainy when viewing them on a computer display; most of these graphics are fine when printed.

X Window System - The Complete Reference to Xlib, X Protocol, ICCCM, and XFLD for X11R4 (1.5 MiB PDF, 711 pages)

1992 - The original X Window System book.

Xlib - C Language X Interface - X11R6.4 (1.1 MiB PDF, 466 pages)

1996 - Updated version of the Xlib section in the original X Window System book.

X Protocol - X11R6 (327 KiB PDF, 176 pages)

1994 - Updated version of the X Protocol section in the original X Window System book.

X Inter-Client Communication Conventions - X11R6 (166 KiB PDF, 70 pages)

1994 - Updated version of the X Inter-Client Communication Conventions section in the original X Window System book.

X Logical Font Description Conventions - X11R6 (67 KiB PDF, 37 pages)

1994 - Updated version of the X Logical Font Description Conventions section in the original X Window System book.

Print versions of X Window System manuals

All books listed below are in-print and available at amazon.com through the provided links.

X Window System - The Complete Reference to Xlib, X Protocol, ICCCM, and XFLD for X11R5 (Paperback, 1000 pages)

1992 - $59.95 - Original X Window System book. This book has been updated, its scope has been broadened, and it has been split into three parts, which are listed below. For your information, I own this book, as I cannot afford the three books listed below; I find that I rarely need to reference this book, but when I do reference this book the information that I need is recent enough to answer my question.

X Window System - Core Libraries and Standards - X11R6.1 (Paperback, 700 pages)

1996 - $59.95 - Part 1 of 3 replacing original X Window System book. Covers Xlib - C Language Interface, Inter-Client Communication Conventions Manual, X Logical Font Description, Xlib Functions and Protocol Requests, X Font Cursors, Extensions, Compatibility Functions, Bitmap Distribution Format, Compound Text Encoding, and X Consortium Character Set Names

X Window System - Core and Extension Protocols - X11R6.1 (Paperback, 700 pages)

1997 - $69.95 - Part 2 of 3 replacing original X Window System book. Covers X Window System Protocol, X Display Manager Control Protocol, X11 Input Extension Protocol, X Font Service Protocol, Inter-Client Exchange Protocol, Input Method Protocol, X Image Extension Protocol, KEYSYM Encoding, and Protocol Enoding

X Window System - Extension Libraries - X11R6.1 (Paperback, 400 pages)

1997 - $59.95 - Part 3 of 3 replacing original X Window System book. Covers X11 Nonrectangular Window Shape Extension Library, X11 Input Extension Library, Inter-Client Exchange Library, X Session Management Library, X Image Extension Library, XTEST Extension Library, and XC-MISC Extension Library

Valid XHTML 1.0! Valid CSS!