Path: utzoo!censor!geac!torsqnt!news-server.csri.toronto.edu!rutgers!att!linac!pacific.mps.ohio-state.edu!zaphod.mps.ohio-state.edu!sdd.hp.com!hplabs!hplabsz!mayer From: mayer@hplabsz.HPL.HP.COM (Niels Mayer) Newsgroups: comp.sys.hp Subject: Re: Behavior of Xterms... Message-ID: <6250@hplabsz.HPL.HP.COM> Date: 22 Nov 90 01:41:36 GMT References: Reply-To: mayer@hplabs.hp.com (Niels Mayer) Distribution: comp Organization: Hewlett-Packard Labs, Software & Systems Lab, Palo Alto, CA. Lines: 165 Summary: Expires: Sender: Followup-To: In article love@spruce.cs.uiuc.edu (Christopher Love) writes: >For the application I am working on (adding X selection support to Epoch), >I am observing that HP xterms are looking only to XA_CUT_BUFFER0, *not* to >the selection XA_PRIMARY. This prevents "normal" communication between >clients in some situations. This behavior is in contrast to behavior with >xterms running on other platforms (386, Sun sparc), which look to the >selection. Disclaimer: I am not speaking as an employee of HP on this subject, just a user of HPUX 7.0 on an HP9000s370. Empirically, I've noticed that HP's product xterm is not based on the version of xterm that uses the X selection mechanism, rather, it is based on whatever version came out of MIT that still used "cut buffers" (my memory of the X11 history is foggy, but I think the xterm that used cutbuffer is from version X11r2). I don't know what is supplied on the other platforms you mentioned, but chances are that they're using X11r3 or X11r4 xterms. Perhaps these platforms are just using a local compile of the X11r4 distribution from MIT.... Since I too prefer the X selection mechanism over cut buffers, and also like the other features of the X11r4 xterm (e.g. security, ability to change fonts interactively), I went ahead and compiled the X11r4 "core" libraries and clients from MIT. This is a completely painless process, and lets you play with the latest and greatest toys from X11r4. Note however that the "free" MIT libs and clients have not gone through the rigorous quality assurance and testing that is required for the delivery of HP's HPUX product. Therefore, you are compeltely on your own w/r/t supporting these "home compiled" clients & libs. Since you are hacking on Epoch, you are undoubtedly studly enough to support the MIT stuff yourself. X11r4 building hints: Unless you've got lots of free disk space on your partition, get the MIT X11r4 core distribution installed on some central file server machine's disk and NFS mount your compile machine to it. Use the MIT supplied script mit/util/scripts/lndir.sh to create a shadow link directory structure via the NFS mount point for the sources. Then apply the following patches to mit/config/hp.cf and mit/config/site.def, cd to ./mit and do 'make World >& make.world.out... then go home and come back the next day... ththathats all folks. NB-1: don't bother using the MIT X11r4 X server. The product HPUX 7.03 X server is X11r4-based and is superior to the sample X server distributed by MIT NB-2: note use of -lmalloc and -DMALLOC_0_RETURNS_NULL in the patches below. *** hp.cf.orig Sun Dec 17 15:05:47 1989 --- hp.cf Sun Nov 18 00:17:55 1990 *************** *** 1,3 /* * SET VERSION NUMBERS BEFORE MAKING MAKEFILES; also, you'll need to install * util/scripts/bsdinstall.sh before doing a "make install" --- 1,5 ----- + #define ExtraLoadFlags -lmalloc + /* * SET VERSION NUMBERS BEFORE MAKING MAKEFILES; also, you'll need to install * util/scripts/bsdinstall.sh before doing a "make install" *************** *** 5,13 #define SystemV YES ! #define OSName HP-UX 6.5 ! #define OSMajorVersion 6 ! #define OSMinorVersion 5 #ifdef hp9000s800 #define StandardDefines -DSYSV #define LintOpts -ax -DSYSV --- 7,15 ----- #define SystemV YES ! #define OSName HP-UX 7.0 ! #define OSMajorVersion 7 ! #define OSMinorVersion 0 #ifdef hp9000s800 #define StandardDefines -DSYSV #define LintOpts -ax -DSYSV *************** *** 13,19 #define LintOpts -ax -DSYSV #define OptimizedCDebugFlags +O1 #else ! #define StandardDefines -Wc,-Nd4000,-Ns3300,-Ne700,-Np200 -DSYSV #define LintOpts -ax -Nd4000 -Ns3300 -Ne700 -Np200 -Na25000 -DSYSV #endif #define LnCmd ln -s --- 15,21 ----- #define LintOpts -ax -DSYSV #define OptimizedCDebugFlags +O1 #else ! #define StandardDefines -Wc,-Nd4000,-Ns3300,-Ne700,-Np200 -DSYSV -DMALLOC_0_RETURNS_NULL #define LintOpts -ax -Nd4000 -Ns3300 -Ne700 -Np200 -Na25000 -DSYSV #endif #define LnCmd ln -s *************** *** 26,32 /* This defines the server you want */ #define XhpServer Xhp ! #define BuildServer YES #define NeedBerklibInXlib YES /* snag Berklib for Xlib */ --- 28,34 ----- /* This defines the server you want */ #define XhpServer Xhp ! #define BuildServer NO #define NeedBerklibInXlib YES /* snag Berklib for Xlib */ *** site.def.orig Sun Dec 17 15:06:24 1989 --- site.def Sun Nov 4 03:04:59 1990 *************** *** 74,80 * used in Doug Young's book, set this to YES. */ #ifndef HasXwWidgets /* whether or not to include make vars */ ! #define HasXwWidgets NO #endif --- 74,80 ----- * used in Doug Young's book, set this to YES. */ #ifndef HasXwWidgets /* whether or not to include make vars */ ! #define HasXwWidgets YES #endif *************** *** 83,89 * set this to YES. */ #ifndef HasXcuWidgets /* whether or not to include make vars */ ! #define HasXcuWidgets NO #endif --- 83,89 ----- * set this to YES. */ #ifndef HasXcuWidgets /* whether or not to include make vars */ ! #define HasXcuWidgets YES #endif ------------------------------------------------------------------------------- Niels Mayer -- hplabs!mayer -- mayer@hplabs.hp.com Human-Computer Interaction Department Hewlett-Packard Laboratories Palo Alto, CA. *