Volume One: Xlib Programming Manual for Version 11 of the X Window System

Total Page:16

File Type:pdf, Size:1020Kb

Volume One: Xlib Programming Manual for Version 11 of the X Window System Volume One: Xlib Programming Manual for Version 11 of the X Window System X Window SystemISBN 1−56592−002−3 1992 Many of the designations used by manufacturers and sellers to distinguish their products are claimed as trademarks. Where those designations appear in this book, and O’Reilly & Associates, Inc. was aware of a trademark claim, the designations have been printed in caps or initial caps. This document is based in part on Xlib−−−C Language X Interface, by Jin Gettys, Ron Newman, and Robert Scheifer, and the X Window System Protocol, Version 11, by Robert Scheifer and Ron Newman, both of which are copyright © 1985, 1986, 1987, the Massachusetts Institute of Technology, Cambridge, Massachusetts, and Digital Equipment Corporation, Maynard, Massachusetts. In addition, we have included some material provided in Oliver Jones’ Xlib Tutorial Overheads, which was distributed at the MIT X Conference in January 1988 and which is copyright © 1987 Apollo Computer, Inc. We have used this material under the terms of its copyright, which grants free use, subject to the following conditions: "Permission to use, copy, modify and distribute this documentation (i.e., the original MIT, DEC, Sun Microsystems, or Apollo material) for any purpose and without fee is hereby granted, provided that the above copyright notice appears in all copies and that both that copyright notice and this permission notice appear in supporting documentation, and that the names of MIT, Apollo, Digital, Tektronix, or Sun not be used in advertising or publicity pertaining to this documentation without specific, written prior permission. MIT and Digital make no representations about the suitability of the software described herein for any purpose. It is provided ‘as is’ without expressed or implied warranty. " Note, however, that those portions of this document that are based on the original X11 documentation and other source material have been significantly revised, and that all such revisions are copyright © 1987, 1988, 1989, and 1990 O’Reilly & Associates, Inc. Inasmuch as the proprietary revisions cannot be separated from the freely copyable MIT source material, the net result is that copying of this document is not allowed. Sorry for the doublespeak! While every precaution has been taken in the preparation of this book, the publisher assumes no responsibility for errors or omissions, or for damages resulting from the use of the information contained herein. August 1988: First Edition. November 1988: Minor revisions. May 1989: Release 3 updates added. Minor revisions. April 1990: Second Edition covers Release 3 and Release 4. July 1990: Minor revisions. October 1990: Minor revisions. December 1991: Minor revisions. June 1992: Third Edition covers Release 4 and Release 5. March 1993: Minor revisions. Preface About This Manual This manual describes the X library, the C Language programming interface to Version 11 of the X Window System. The X library, known as Xlib, is the lowest level of programming interface to X. This library enables a programmer to write applications with an advanced user interface based on windows on the screen, with complete network transparency, that will run without changes on many types of workstations and personal computers. Xlib is powerful enough to write effective applications without additional programming tools and is necessary for certain tasks even in applications written with higher−level "toolkits." There are a number of these toolkits for X programming, the most notable being the DEC/MIT toolkit Xt, the Andrew toolkit developed by IBM and Carnegie−Mellon University, and the InterViews toolkit from Stanford. These toolkits are still evolving, and only Xt is currently part of the X standard. Toolkits simplify the process of application writing considerably, providing a number of widgets that implement menus, command buttons, and other common features of the user interface. This manual does not describe Xt or any other toolkit. That is done in Volumes Four and Five of our X Window System series. Nonetheless, much of the material described in this book is helpful for understanding and using the toolkits, since the toolkits themselves are written using Xlib and allow Xlib code to be intermingled with toolkit code. Summary of Contents This manual is divided into two volumes. This is the first volume, the Xlib Programming Manual. It provides a conceptual introduction to Xlib, including tutorial material and numerous programming examples. Arranged by task or topic, each chapter brings together a group of Xlib functions, describes the conceptual foundation they are based on, and illustrates how they are most often used in writing applications (or, in the case of the last chapter, in writing window managers). Volume One is structured so as to be useful as a tutorial and also as a task−oriented reference. The second volume, the Xlib Reference Manual, includes reference pages for each of the Xlib functions, organized alphabetically for ease of reference; a permuted index; and numerous appendices and quick reference aids. Volume One and Volume Two are designed to be used together. To get the most out of the examples in Volume One, you will need the exact calling sequences of each function from Volume Two. To understand fully how to use each of the functions described in Volume Two, all but the most experienced X "hacker" will need the explanation and examples in Volume One. Both volumes include material from the original Xlib and X11 protocol documentation provided by MIT, as well as from other documents provided on the MIT release tape. We have done our best to incorporate all of the useful information from the MIT documentation, to correct code references we found to be in error, to reorganize and present it in a more useful form, and to supplement it with conceptual material, tutorials, reference aids, and examples. In other words, this manual is not only a replacement but is a superset of the MIT documentation. Those of you familiar with the MIT documentation will recognize that each reference page in Volume Two includes the detailed description of the routine found in Gettys, Newman, and Scheifler’s Xlib−C Language X Interface, plus, in many cases, additional text that clarifies ambiguities and describes the context in which the routine would be used. We have also added cross references to related reference pages and to where additional information can be found in Volume One. How to Use This Manual Volume One is intended as an introduction to all the basic concepts of X programming and also as a useful reference for many of the most common programming techniques. It is divided into 14 chapters, which describe and demonstrate the use of the X programming library, and numerous appendices. You will find it necessary to read at least Chapters 1, 2, and 3 before attempting to program with the X library. Chapter 1, Introduction, provides a discussion of the context in which X programs operate. Chapter 2, X Concepts, describes the conceptual foundations underlying X programming. Chapter 3, Basic Window Program, presents a simple program. Chapters 4 through 9 (Window Attributes, The Graphics Context, Drawing Graphics and Text, Color, Events, and The Keyboard and Pointer) discuss various programming techniques that are used in all X programs. These chapters can be read as a tutorial and consulted for reference later. Chapter 10, Internationalization, and Chapter 11, Internationalized Text Input describe the Xlib features for making an application usable in any language without changes to the application binary. These features were added in Release 5. Chapter 12, Interclient Communication, is a description of communication between applications and between applications and the window manager, including properties and selections. The proposed conventions for interclient communication are presented in Appendix L, Interclient Communcation Conventions, of Volume Zero, X Protocol Reference Manual (as of the second printing). Chapter 13, Managing User Preferences, describes the facilities provided for database management, parsing the command line, and managing user preferences. Xlib calls this the resource manager. Chapter 14, A Complete Application, provides an example of a complete application. This chapter is especially useful in demonstrating managing user preferences with the resource manager. Chapter 15, Other Programming Techniques, describes programming techniques that will be useful to some but not all programs. It should be scanned for applicable techniques and read in detail when needed for a particular project. Chapter 16, Window Management, describes what window managers do and how they work. This information should provide a more complete knowledge of the variety of contexts in which X applications may function. It also describes the Xlib functions that are intended primarily for window management. A simple window manager program is described. Appendix A, Specifying Fonts, describes how the programmer should specify default font names. Appendix B, X10 Compatibility, describes the routines supported in X11 for compatibility with X Version 10. Appendix C, Writing Extensions to X, is a guide to writing extensions to X. This is for experienced X programmers only. It is provided so that this manual can serve as a complete replacement for the MIT Xlib documentation. Appendix D, The basecalc Application, presents the complete code for basecalc, the complete application described in Chapter 12, A Complete Application. Appendix E, Event Reference, describes each event type in a reference page format. Included is how to select the events, when they are generated, the contents of the event structures, and notes on how to use them. This information is vital in using the numerous events. Appendix F, The Xmu Library, describes the routines in this miscellaneous utilities library that are useful in Xlib programming. This library is not an X Consortium standard but is widely available. Appendix G, Sources of Additional Information, lists where to get the X software, companies that offer training in X programming, and descriptions of additional published books on the subject.
Recommended publications
  • Using a PC Card in Your NCD Thin Client Device
    Using a PC Card in Your NCD Thin Client Device Part Number 9300674, Revision A November, 1998 Network Computing Devices, Inc. 350 North Bernardo Avenue Mountain View, California 94043 Telephone (650) 694-0650 FAX (650) 961-7711 E-mail: [email protected] Copyright Copyright © 1998 by Network Computing Devices, Inc. The information contained in this document is subject to change without notice. Network Computing Devices, Inc. shall not be liable for errors contained herein or for incidental or consequential damages in connection with the furnishing, performance, or use of this material. This document contains information which is protected by copyright. All rights are reserved. No part of this document may be photocopied, reproduced, or translated to another language without the prior written consent of Network Computing Devices, Inc. Trademarks Network Computing Devices, PC-Xware, and XRemote are registered trademarks of Network Computing Devices, Inc. Explora, HMX, Marathon, NCDware, ThinSTAR, and WinCenter are trademarks of Network Computing Devices, Inc. PostScript, Display PostScript, FrameMaker, and Adobe are trademarks of Adobe Systems Incorporated. MetaFrame and WinFrame are trademarks of Citrix Systems, Inc. UNIX is a registered trademark in the United States and other countries licensed exclusively through X/Open Company Limited. X Window System is a trademark of X Consortium, Inc. Windows 95, Windows NT, and Windows Terminal Server are trademarks of Microsoft Corporation. Windows and Microsoft are registered trademarks of Microsoft Corporation. Other trademarks and service marks are the trademarks and service marks of their respective companies. All terms mentioned in this book that are known to be trademarks or service marks have been appropriately capitalized.
    [Show full text]
  • Using a Next Workstation As a Development Platform for Version 5 Sas Applications
    USING A NEXT WORKSTATION AS A DEVELOPMENT PLATFORM FOR VERSION 5 SAS APPLICATIONS Joseph E St Sauver, Office of University Computing, University of Oregon ABSTRACT Similarly. there is liUle sense in tieing up a PC for hours (or days) running a large statistical analysis when a sha.red SAS Institute has yet to announce any firm plans to port the mainframe will often have abundant horsepower to handle just SAS System* to NeXT* workstations. Nonetheless, a NeXT those sorts of CPU-intensive jobs. workstation can serve as an excellent platform for developing VAXNMS· (or other mainframe) SAS System code for remote The PC version of SAS atte~s to explott this philosophy by execution. giving the user the option of either processing SAS code locally using the SUBMIT command, or processing SAS code on a The combination of a strong windowing environment, display remote mainframe SAS host using the RSUBMIT command. In a PostScript support. a built-in athemet interlace and copious perfect world. this approach would allow the user to elect the slorage eapacny bundled on lOP of more-or-Iess BSD 4.3 UNIX" best mix of local and remote resources to achieve his or her make development of SAS System code on the NeXT for objectives in a timely and cost effective manner. remote execution on another mainframe quite easy. Unfortunately, in my experience, the happy symbiosis The author's experience with use of a NeXT as a remote code envisioned between the PC version of the SAS System and the development plaHorm for SAS and SAS/Graph" on a VAXNMS mainframe version of the SAS system often breaks down.
    [Show full text]
  • Porting a Window Manager from Xlib to XCB
    Porting a Window Manager from Xlib to XCB Arnaud Fontaine (08090091) 16 May 2008 Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version pub- lished by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts and no Back-Cover Texts. A copy of the license is included in the section entitled "GNU Free Documentation License". Contents List of figures i List of listings ii Introduction 1 1 Backgrounds and Motivations 2 2 X Window System (X11) 6 2.1 Introduction . .6 2.2 History . .6 2.3 X Window Protocol . .7 2.3.1 Introduction . .7 2.3.2 Protocol overview . .8 2.3.3 Identifiers of resources . 10 2.3.4 Atoms . 10 2.3.5 Windows . 12 2.3.6 Pixmaps . 14 2.3.7 Events . 14 2.3.8 Keyboard and pointer . 15 2.3.9 Extensions . 17 2.4 X protocol client libraries . 18 2.4.1 Xlib . 18 2.4.1.1 Introduction . 18 2.4.1.2 Data types and functions . 18 2.4.1.3 Pros . 19 2.4.1.4 Cons . 19 2.4.1.5 Example . 20 2.4.2 XCB . 20 2.4.2.1 Introduction . 20 2.4.2.2 Data types and functions . 21 2.4.2.3 xcb-util library . 22 2.4.2.4 Pros . 22 2.4.2.5 Cons . 23 2.4.2.6 Example . 23 2.4.3 Xlib/XCB round-trip performance comparison .
    [Show full text]
  • Sun Ultratm 5 Workstation Just the Facts
    Sun UltraTM 5 Workstation Just the Facts Copyrights 1999 Sun Microsystems, Inc. All Rights Reserved. Sun, Sun Microsystems, the Sun logo, Ultra, PGX, PGX24, Solaris, Sun Enterprise, SunClient, UltraComputing, Catalyst, SunPCi, OpenWindows, PGX32, VIS, Java, JDK, XGL, XIL, Java 3D, SunVTS, ShowMe, ShowMe TV, SunForum, Java WorkShop, Java Studio, AnswerBook, AnswerBook2, Sun Enterprise SyMON, Solstice, Solstice AutoClient, ShowMe How, SunCD, SunCD 2Plus, Sun StorEdge, SunButtons, SunDials, SunMicrophone, SunFDDI, SunLink, SunHSI, SunATM, SLC, ELC, IPC, IPX, SunSpectrum, JavaStation, SunSpectrum Platinum, SunSpectrum Gold, SunSpectrum Silver, SunSpectrum Bronze, SunVIP, SunSolve, and SunSolve EarlyNotifier are trademarks, registered trademarks, or service marks of Sun Microsystems, Inc. in the United States and other countries. All SPARC trademarks are used under license and are trademarks or registered trademarks of SPARC International, Inc. in the United States and other countries. Products bearing SPARC trademarks are based upon an architecture developed by Sun Microsystems, Inc. UNIX is a registered trademark in the United States and other countries, exclusively licensed through X/Open Company, Ltd. OpenGL is a registered trademark of Silicon Graphics, Inc. Display PostScript and PostScript are trademarks of Adobe Systems, Incorporated, which may be registered in certain jurisdictions. Netscape is a trademark of Netscape Communications Corporation. DLT is claimed as a trademark of Quantum Corporation in the United States and other countries. Just the Facts May 1999 Positioning The Sun UltraTM 5 Workstation Figure 1. The Ultra 5 workstation The Sun UltraTM 5 workstation is an entry-level workstation based upon the 333- and 360-MHz UltraSPARCTM-IIi processors. The Ultra 5 is Sun’s lowest-priced workstation, designed to meet the needs of price-sensitive and volume-purchase customers in the personal workstation market without sacrificing performance.
    [Show full text]
  • NCD Thin Client Xware User's Guide
    NCD NCD Thin Client Xware User’s Guide Part Number 5401612 June 1998 Network Computing Devices, Inc. 350 North Bernardo Avenue Mountain View, CA 94043-5207 Technical support: 503/641-2200 Technical support FAX: 503/641-2959 Email: [email protected] World Wide Web: http://www.ncd.com Copyright Copyright © 1998 by Network Computing Devices, Inc. The information contained in this document is subject to change without notice. NCD SHALL NOT BE LIABLE FOR ERRORS CONTAINED HEREIN OR FOR ANY DAMAGES WHATSOEVER, INCLUDING, WITHOUT LIMITATION, ANY INCIDENTAL OR CONSEQUENTIAL DAMAGES IN CONNECTION WITH THE FURNISHING, PERFORMANCE, OR USE OF THIS MATERIAL. This document contains information which is protected by copyright. All rights are reserved. Made in the U.S.A. No part of this document may be photocopied, reproduced, or translated to another language without the prior written consent of NCD. Title to and ownership of the Software, and all copies thereof, shall at all times reside with NCD and its licensors, and is protected by United States copyright laws and international treaty provisions. Trademarks Network Computing Devices is a registered trademark of Network Computing Devices, Inc. NCDnet, NCDware, and Thin Client Xware FTP are trademarks of Network Computing Devices, Inc. Apple and LaserWriter are registered trademarks of Apple Computer, Inc. Citrix, WinFrame, and ICA are registered trademarks of Citrix Systems, Inc. DECnet, DECwindows, VMS, VT, and ULTRIX are trademarks of Digital Equipment Corporation. Ethernet is a trademark of Xerox Corporation. Hewlett-Packard and LaserJet are registered trademarks of Hewlett-Packard Corporation. HP-UX is a trademark of Hewlett-Packard Corporation.
    [Show full text]
  • Gtk Drawing Area Example C
    Gtk Drawing Area Example C Abyssinian Cary always Indianised his examination if Amadeus is lowest or marshalling skywards. Ornithischian Rudd overruled, his deportation backscatters remilitarizing proud. Zodiacal Udale alkalizing: he repay his ceorl jazzily and observantly. End angle bracket iter to indicates data to c gtk drawing area Programming with gtkmm 3. You should only grab from gtk drawing area widget draws with either create. These programmatically hidden from the properties are put there are created and executable program that all gtk app into boxes, i am doing. This locus the 'traits' of the GtkDrawingArea widget are inherited to this class. GtkDrawingArea gtk-30 Valadoc. M cm else return cm m xm def drawself ctx area tops the egg. Gmcs pkggtk-sharp-20 rusrlibmono20MonoCairodll simplecs Here saying how we compile the example DrawingArea darea new. This source code of examples have thrown me at least we will create a button click to retrieve them into those who must be updated. How to integrate those header-only libraries and uses Catch as an example. We just ugly cast. The error comes from C I over no danger about tablet to drift this drawingrb. Useful for detriment to extract multiple copies of chair same dialog. For example if most have created a dialog box for entering some personal information you. Drawing operation draws the examples are the interior of. Application runs the example draws some way to be used for single cell renderer to this will execute it! This is prominent example in object-oriented behavior enforced in C by GTK. GtkDrawingArea getDrawingAreaStructbool transferOwnership false.
    [Show full text]
  • Encapsulated Postscript Application Guide for Mac And
    Encapsulated PostScript Encapsulated PostScript Application Guide for the Macintosh and PCs Peter Vollenweider Manager User Services Universi1y of Zurich A ·Carl Hanser .Verlag :II Prentice Hall First published in German 1989 by Carl Hanser Verlag under the title EPS-Handbuch: Encapsulated PostScript First published in English 1990 by Prentice Hall International (UK) Ltd 66 Wood Lane End, Hemel Hempstead Hertfordshire HP2 4RG A division of Simon & Schuster International Group ©Carl Hanser Verlag, Munich and Vienna 1989 ©Carl Hanser Verlag and Prentice Hall 1990 All rights reserved. No part of this publication may be reproduced, stored in a retrieval system, or transmitted, in any form, or by any means, electronic, mechanical, photocopying, recording or otherwise, witliout prior permission, in writing, from the publisher. For permission within the United States of America contact Prentice Hall, Inc., Englewood Cliffs, NJ 07632. The Sonata clef design on the cover shows the mixing of randomly placed Sonata font types, smoothed curves and patterns; courtesy of John F. Sherman, ND Design Program, University of Notre Dame, Indiana 46556, USA. Printed and bound in Great Britain by Dotesios Printers Ltd, Trowbridge, Wiltshire. Library of Congress Cataloging-in-Publication Data Vollenweider, Peter. (Encapsulated PostScript. English) Encapsulated PostScript : application guide for the Macintosh and PC's I Peter Vollenweider. p. em. Includes bibliographical references. ISBN 0-13-275843-1 1. PostScript (Computer program language) I. Title. QA76.73.P67V65 1990 005 .265-dc20 90-35469 CIP British Library Cataloguing-in-Publication Data Vollenweider, Peter Encapsulated PostScript : application guide for the Macintosh and PC's. 1. Microcomputer systems. Software packages I.
    [Show full text]
  • Writing Applications with GTK+ 1 Introduction
    + Writing Applications with GTK Owen Taylor April Introduction Graphical user interfaces have b ecome almost universally familiar However it may b e worth saying a few words ab out how graphical user interfaces work in Linux and X from the p oint of view of the programmer The X server is resp onsible for only the simplest op erations of drawing graphics and text on the screen and for keeping track of the users mouse and keyboard actions Pro grams communicate with the server via the Xlib library However programming applications in straight Xlib would b e a tremendous chore Since Xlib provides only basic drawing commands each application would have to provide their own co de to user interface elements such as buttons or menus Such user interface elemenets are called widgets To avoid such a lab orious job and to provide consistancy b etween dierent applications the normal practice is to use a to olkit a library that builds on top of Xlib and handles the details of the user interface The traditional choices for such a to olkit have b een two libraries built up on X Intrinsics libXt library distributed with X the Athena Widgets which are distributed with X and Mo 1 tif However Xt is complicated to learn and use the Athena Widgets havent lo oked stylish since and Motif while somewhat more up to date is large slow has an app earance disliked by many p eople and most imp ortantly is a proprietary pro duct without freely available source co de For these reasons and others much recent development has fo cused on to olk its that build directly
    [Show full text]
  • SUSE Linux Enterprise Server 9 SP3 for IBM Power
    NTS supported packages SLES 9 SP3 Novell SUSE Linux Package Description and Support Level Information for SLES 9 PPC for Contracted Customers and Partners Definitions and Support Level Descriptions ACC Additional Customer Contract necessary L1: Installation and problem determination, which means technical support designed to Configuration provide compatibility information, installation assistance, usage support, on-going maintenance and basic troubleshooting. Level 1 Support is not intended to correct product defect errors. L2: Reproduction of Potential problem isolation, which means technical support designed to Issues duplicate customer problems, isolate problem area and provide resolution for problems not resolved by Level 1 Support. L3: Code Debugging and problem resolution, which means technical support designed to Patch Provision resolve complex problems by engaging engineering in resolution of product defects which have been identified by Level 2 Support. Package Short Name Package Description SLES 9 PPC 3ddiag A Tool to Verify the 3D Configuration L3 844-ksc-pcf Korean 8x4x4 johab fonts L2 a2ps Converts ASCII Text into PostScript L3 aaa_base SuSE Linux base package L3 aaa_skel Skeleton for default users L3 aalib An ascii art library L3 aalib-64bit An ascii art library L3 aalib-devel Development package for aalib L3 aalib-devel-64bit Development package for aalib L3 acct User Specific Process Accounting L3 acl Commands for Manipulating POSIX Access Control Lists L3 acpid Executes Actions at ACPI Events L3 aide Advanced Intrusion Detection Environment L2 alice-compat Alice compatibility package L3 alsa Advanced Linux Sound Architecture L3 alsa-64bit Advanced Linux Sound Architecture L3 alsa-devel Include Files and Libraries mandatory for Development.
    [Show full text]
  • The Glib/GTK+ Development Platform
    The GLib/GTK+ Development Platform A Getting Started Guide Version 0.8 Sébastien Wilmet March 29, 2019 Contents 1 Introduction 3 1.1 License . 3 1.2 Financial Support . 3 1.3 Todo List for this Book and a Quick 2019 Update . 4 1.4 What is GLib and GTK+? . 4 1.5 The GNOME Desktop . 5 1.6 Prerequisites . 6 1.7 Why and When Using the C Language? . 7 1.7.1 Separate the Backend from the Frontend . 7 1.7.2 Other Aspects to Keep in Mind . 8 1.8 Learning Path . 9 1.9 The Development Environment . 10 1.10 Acknowledgments . 10 I GLib, the Core Library 11 2 GLib, the Core Library 12 2.1 Basics . 13 2.1.1 Type Definitions . 13 2.1.2 Frequently Used Macros . 13 2.1.3 Debugging Macros . 14 2.1.4 Memory . 16 2.1.5 String Handling . 18 2.2 Data Structures . 20 2.2.1 Lists . 20 2.2.2 Trees . 24 2.2.3 Hash Tables . 29 2.3 The Main Event Loop . 31 2.4 Other Features . 33 II Object-Oriented Programming in C 35 3 Semi-Object-Oriented Programming in C 37 3.1 Header Example . 37 3.1.1 Project Namespace . 37 3.1.2 Class Namespace . 39 3.1.3 Lowercase, Uppercase or CamelCase? . 39 3.1.4 Include Guard . 39 3.1.5 C++ Support . 39 1 3.1.6 #include . 39 3.1.7 Type Definition . 40 3.1.8 Object Constructor . 40 3.1.9 Object Destructor .
    [Show full text]
  • A Successor to the X Window System
    Y: A Successor to the X Window System Mark Thomas <[email protected]> Project Supervisor: D. R¨uckert <[email protected]> Second Marker: E. Lupu <[email protected]> June 18, 2003 ii Abstract UNIX desktop environments are a mess. The proliferation of incompatible and inconsistent user interface toolkits is now the primary factor in the failure of enterprises to adopt UNIX as a desktop solution. This report documents the creation of a comprehensive, elegant framework for a complete windowing system, including a standardised graphical user interface toolkit. ‘Y’ addresses many of the problems associated with current systems, whilst keeping and improving on their best features. An initial implementation, which supports simple applications like a terminal emulator, a clock and a calculator, is provided. iii iv Acknowledgements Thanks to Daniel R¨uckert for supervising the project and for his help and advice regarding it. Thanks to David McBride for his assistance with setting up my project machine and providing me with an ATI Radeon for it. Thanks to Philip Willoughby for his knowledge of the POSIX standard and help with the GNU Autotools and some of the more obscure libc functions. Thanks to Andrew Suffield for his help with the GNU Autotools and Arch. Thanks to Nick Maynard and Karl O’Keeffe for discussions on window system and GUI design. Thanks to Tim Southerwood for discussions about possible features of Y. Thanks to Duncan White for discussions about the virtues of X. All company and product names are trademarks and/or registered trademarks of their respective owners.
    [Show full text]
  • Xview Developer's Notes
    XView Developer’s Notes 2550 Garcia Avenue Mountain View, CA 94043 U.S.A. A Sun Microsystems, Inc. Business 1994 Sun Microsystems, Inc. 2550 Garcia Avenue, Mountain View, California 94043-1100 U.S.A. All rights reserved. This product and related documentation are protected by copyright and distributed under licenses restricting its use, copying, distribution, and decompilation. No part of this product or related documentation may be reproduced in any form by any means without prior written authorization of Sun and its licensors, if any. Portions of this product may be derived from the UNIX® and Berkeley 4.3 BSD systems, licensed from UNIX System Laboratories, Inc., a wholly owned subsidiary of Novell, Inc., and the University of California, respectively. Third-party font software in this product is protected by copyright and licensed from Sun’s font suppliers. RESTRICTED RIGHTS LEGEND: Use, duplication, or disclosure by the United States Government is subject to the restrictions set forth in DFARS 252.227-7013 (c)(1)(ii) and FAR 52.227-19. The product described in this manual may be protected by one or more U.S. patents, foreign patents, or pending applications. TRADEMARKS Sun, the Sun logo, Sun Microsystems, Sun Microsystems Computer Corporation, SunSoft, the SunSoft logo, Solaris, SunOS, OpenWindows, DeskSet, ONC, ONC+, and NFS are trademarks or registered trademarks of Sun Microsystems, Inc. in the U.S. and certain other countries. UNIX is a registered trademark of Novell, Inc., in the United States and other countries; X/Open Company, Ltd., is the exclusive licensor of such trademark. OPEN LOOK® is a registered trademark of Novell, Inc.
    [Show full text]