home *** CD-ROM | disk | FTP | other *** search
/ ftp.pasteur.org/FAQ/ / ftp-pasteur-org-FAQ.zip / FAQ / x-faq / part2 < prev    next >
Encoding:
Internet Message Format  |  1996-10-03  |  51.1 KB

  1. Path: senator-bedfellow.mit.edu!bloom-beacon.mit.edu!bone.think.com!paperboy.osf.org!june.osf.org!dbl
  2. From: dbl@osf.org (David Lewis)
  3. Newsgroups: comp.windows.x,news.answers,comp.answers
  4. Subject: comp.windows.x Frequently Asked Questions (FAQ) 2/7
  5. Followup-To: poster
  6. Date: 2 Oct 1996 20:15:25 GMT
  7. Organization: Open Software Foundation
  8. Lines: 1083
  9. Approved: news-answers-request@MIT.Edu
  10. Distribution: world
  11. Expires: Sun, 27 Oct 1996 00:00:00 GMT
  12. Message-ID: <52uigt$bs0@paperboy.osf.org>
  13. Reply-To: faq%craft@uunet.uu.net (X FAQ maintenance address)
  14. NNTP-Posting-Host: june.osf.org
  15. Summary: useful information about the X Window System
  16. Xref: senator-bedfellow.mit.edu comp.windows.x:110954 news.answers:83414 comp.answers:21525
  17.  
  18. Archive-name: x-faq/part2
  19. Last-modified: 1996/09/26
  20.  
  21. ----------------------------------------------------------------------
  22. Subject:  18)+ Can X11R6.1 be a freeware base? Will future X versions be free?
  23.  
  24. Here is the text of a letter from rws@x.org (Bob Scheifler) to comp.windows.x
  25. on 8 July 1996:
  26.  
  27. I suspect many of you have pretty much taken the X Consortium and the
  28. software it produces for granted for the past few years.  Now that the X
  29. Consortium will be going away, a few people have asked whether X will
  30. continue to be available as free software in the future.
  31.  
  32. The X Consortium has never been a freeware organization.  We have long given
  33. our software away, but that has been a means to an end, not an end unto
  34. itself.  Making our software freely available helped promote the commercial
  35. adoption of X by providing a level playing field, lowering the barrier to
  36. entry into the market, and promoting homogeneity and interoperability.
  37. Naturally, it also encouraged important R&D to take place within the academic
  38. and freeware communities, which was another way of promoting commercial
  39. adoption.
  40.  
  41. What many of you probably don't know is that, had we not made the decision to
  42. wind down the X Consortium, we had been planning to institute a new software
  43. licensing plan starting with the upcoming Broadway release.  Although the
  44. plan had been designed to have relatively little impact on non-commercial
  45. users (and indeed relatively little impact on X Consortium members), X would
  46. no longer have been free software in the usual sense of that term.
  47.  
  48. If the XFree86/Linux/GNU/university/etc. communities want to continue to
  49. evolve X, then X11R6.1 is an excellent, and free, software base for you to
  50. make use of.  Rights to that software can never be taken away from you.  The
  51. Broadway release will, I hope, be an even better base, and one that will
  52. still be free.  In a sense, once the X Consortium goes away, the freeware
  53. community may be in a better position to choose their own path, independent
  54. of what the UNIX platform vendors do.
  55.  
  56. I won't give you any promises about the licensing terms of future releases of
  57. X from the Open Group.  It remains to be seen whether future releases will
  58. add any substantial new technology, or just be maintenance releases.  While
  59. the benefits of providing free software will not be ignored, the economics of
  60. X and indeed of the whole UNIX desktop have changed, and the Open Group will
  61. be working with the UNIX vendors and with us to formulate a business model
  62. which makes sense in that context.  This will take some time, so don't expect
  63. quick answers.
  64.  
  65. I'm sure some of you have questions about our ftp site, mailing lists, etc.
  66. Those issues too will be dealt with during the remainder of this year.
  67. Please be patient.
  68.  
  69. ----------------------------------------------------------------------
  70. Subject:  19)  TOPIC: USING X IN DAY-TO-DAY LIFE
  71. ----------------------------------------------------------------------
  72. Subject:  20)  What are all these window managers? (Where can I get a "virtual" wm?)
  73.  
  74. The window manager in X is just another client -- it is not part of the X
  75. window system, although it enjoys special privileges -- and so there is no
  76. single window manager; instead, there are many, which support different ways
  77. for the user to interact with windows and different styles of window layout,
  78. decoration, and keyboard and colormap focus. In approximate chronological
  79. order (generally, the more recent ones conformant more with the ICCCM and
  80. are the only ones being maintained):
  81.  
  82. wm: this simple title-bar window manager was phased out in R2 or R3
  83.  
  84. uwm: the Universal Window Manager is still popular for its speed, although it
  85. is very outdated. Moved to contrib/ on the R4 tape.
  86.  
  87. twm (old): Tom's Window Manager was among the first non-Consortium window
  88. managers and offered the user a great deal of customization options in a
  89. re-parenting window manager.
  90.  
  91. awm: the Ardent Window Manager was for a while a hotbed for hackers and
  92. offered some features (dynamic menus) not found on more current window
  93. managers
  94.  
  95. rtl: Siemen's window manager tiles windows so that they don't overlap and
  96. resizes the window with the focus to its preferred size.
  97.  
  98. dxwm: Digital's dxwm is part of the DECwindows offering
  99.  
  100. hpwm: HP's window manager offers a 3D look; it is a precursor of mwm
  101.  
  102. mwm: the Motif window manager is part of the OSF/Motif toolkit
  103.  
  104. tekwm: Tektronix's window manager offering
  105.  
  106. olwm (Sun): olwm implements the OPEN LOOK GUI and some of the Style Guide
  107. functionality
  108.  
  109. olwm (AT&T): ditto
  110.  
  111. gwm: Bull's Generic Window Manager emulates others with a built-in Lisp
  112. interpreter. Version 1.8 is in koala.inria.fr:/pub/gwm/ and on ftp.x.org
  113. [7/95]
  114.  
  115. m_swm: the Sigma window manager is on the R4 tape
  116.  
  117. pswm: Sun's PostScript-based pswm is part of the OpenWindows release
  118.  
  119. swm: Solbourne's swm is based on the OI toolkit and offers multiple GUI
  120. support and also a panning virtual window; configuration information comes
  121. from the resources file. Sources are on ftp.x.org in R5contrib/swm.tar.Z; they
  122. require OI binaries.
  123.  
  124. twm (new): the new Tab Window Manager from the R4 tape is a reworked twm and
  125. is the basis for several derivatives, including the one on later X releases
  126.  
  127. vtwm: vtwm offers some of the virtual-desktop features of swm, with a
  128. single-root window implementation.  A new version, vtwm-5.3, is based on the
  129. R5 twm and is available from ftp.x.org. [1/94]
  130.  
  131. tvtwm: Tom's Virtual Tab Window Manager is also based on the Tab Window
  132. Manager and provides a virtual desktop modeled on the virtual-root window of
  133. swm. It is available on ftp.x.org and mirroring archive servers. The current
  134. [3/95] version is available at
  135. ftp.x.org:/contrib/window_managers/tvtwm.pl11.tar.gz.
  136.  
  137. olvwm: the vtwm-style virtual-desktop added to Sun's olwm. It is available on
  138. archive servers; version 4.1 [2/94] is on ftp.x.org.
  139.  
  140. mvwm: the vtwm-style virtual-desktop added to OSF's mwm. A beta version is
  141. floating around (most recently from suresh@unipalm.co.uk) but requires a
  142. source license to OSF/Motif 1.1.3 [3/92].
  143.  
  144. NCDwm: the window manager local to NCD terminals offers an mwm look
  145.  
  146. XDSwm: the window manager local to Visual Technology's terminals is simple
  147. but full-featured.
  148.  
  149. ctwm: Claude Lecommandeur's (lecom@sic.epfl.ch) modification of the R5 twm
  150. offers 32 virtual screens in the fashion of HP vuewm and also offers the
  151. window overview used in vtwm and tvtwm. Version 3.3 [9/95] source is on
  152. ftp.x.org and possibly also sunsite.unc.edu.
  153.  
  154. vuewm: HP's MWM-based window manager offers configurable workspaces.  SAIC
  155. offers a version of this VUE environment.
  156.  
  157. 4Dwm: SGI's enhanced MWM
  158.  
  159. piewm: this version of tvtwm offers pie menus
  160.  
  161. pmwm: IXI's Panorama version of MWM offers olvwm-like features.  Info: +44
  162. 223 236 555, +1 408 427 7700; mmoore@x.co.uk or michaela@x.co.uk or
  163. laurie@ixi.com.
  164.  
  165. fvwm: this virtual window manager has been rewritten from scratch and is very
  166. light on system resources (between half and two-thirds the memory usage of
  167. twm, on which it was based). fvwm offers most of the features others provide,
  168. plus additional features. Source is available from sunsite.unc.edu in
  169. /pub/Linux/X11/window-managers/; fvwm-1.24r-source.tar.z was current in 1/95;
  170. 2.1.0 is expected early 1996. Information:
  171. http://neutrino.nuc.berkeley.edu/neutronics/todd/fvwm.html 
  172. and ftp://ftp.hpc.uh.edu/pub/fvwm/version-2/ .
  173.  
  174. mwm 2.0: the 2.0 version of mwm includes support for multiple workspaces.
  175.  
  176. 9wm, by David Hogan (dhog@cs.su.oz.au), is an X window manager which attempts
  177. to emulate the Plan 9 window manager 8-1/2 as far as possible within the
  178. constraints imposed by X.  The latest version of 9wm is held at
  179. ftp://ftp.cs.su.oz.au/dhog/9wm .
  180.  
  181. mwfm: MWFM is a Microsoft-Windows-Program-Manager-style applications
  182. manager.  It offers Unix users the ability to work in a MS-Windows-like
  183. environment.  Sources are at ftp.x.org:contrib/desktop_managers/mwfm1.0.tar.Z.
  184.  
  185. Also of possible use is vr, by Richard Mauri (rmauri@netcom.com), on
  186. ftp.x.org and ftp.informatik.tu-muenchen.de
  187. (pub/comp/X11/contrib/clients/vr/vr-1.01.tar.Z); Vr is a workspace manager
  188. intended to be window-manager-independent.
  189.  
  190. ----------------------------------------------------------------------
  191. Subject:  21)  Why does my X session exit when I kill my window manager (sic)?
  192.  
  193. It needn't.  What is probably happening is that you are running your window
  194. manager as the last job in your .xsession or .xinitrc file; your X session
  195. runs only as long as the last job is running, and so killing your window
  196. manager is equivalent to logging out. Instead, run the window manager in the
  197. background, and as the last job instead invoke something safe like:
  198.  
  199.         exec xterm -name Login -rv -iconic
  200.  
  201. or any special client of your devising which exits on some user action.  Your
  202. X session will continue until you explicitly logout of this window, whether
  203. or not you kill or restart your window manager.
  204.  
  205. Alternatively, there is a chance that you are using OpenLook, which by
  206. default kills all clients on logging out. Change your Exit menu choice from
  207. EXIT to WMEXIT to correct this behavior.
  208.  
  209. ----------------------------------------------------------------------
  210. Subject:  22)  Can I save the state of my X session, like toolplaces does?
  211.  
  212. Although no known window manager directly supports such a feature (olvwm and
  213. swm may come close) -- which may be equivalent to writing out a
  214. .xinitrc or .xsession file naming the geometry and WM_COMMAND of each
  215. application  -- there is a contributed application which does much of what
  216. you are looking for, although it is not as complete as the SunView program
  217. toolplaces.  Look for the application "xplaces" on an archive-server near
  218. you.  There are several versions of this program floating around; look for a
  219. recent vintage.  [10/90]
  220.  
  221. Some new pseudo session-managers such as HP's vuewm provide for the saving of
  222. sessions including information on the geometry of currently-running
  223. applications and the resource database.  [Bjxrn Stabell
  224. (bjoerns@staff.cs.uit.no); 3/93.]
  225.  
  226. In Release 6 a new session management protocol was defined, called XSMP (see
  227. doc/specs/SM), for telling applications when to save their internal state and
  228. for managing user dialog during the save.  R6 contains a very simple session
  229. manager that exercises this protocol in the workInProgress directory; look
  230. for xsm.  R6 also added a new shell widget class to Xt to make it easier to
  231. write applications that react to messages from a session manager.  The window
  232. managers still have to do the work to save the window positions. [Dave
  233. Wiggins (dpw@x.org); 5/94.]
  234.  
  235. ----------------------------------------------------------------------
  236. Subject:  23)  How do I use another window manager with DEC's session manager?
  237.  
  238. DEC's session manager will start dxwm up by default. To override this, add to
  239. your .Xdefaults file something like this line, naming the full pathname:
  240.  
  241.     sm.windowManagerName:   /wherever/usr/bin/X11/your_favorite_wm
  242.  
  243. ----------------------------------------------------------------------
  244. Subject:  24)  How do I change the keyboard auto-repeat rate?
  245.  
  246. You can turn auto-repeat on or off by using "xset r on|off".
  247.  
  248. The base X11 protocol, doesn't provide for varying the auto-repeat rate,
  249. which is a capability not supported by all systems.
  250.  
  251. Some pre-R6 servers may provide command-line flags to set the rate at
  252. start-up time. If you have control over server start-up (see the man pages
  253. for xinit and xdm), you can invoke the server with the chosen settings; for
  254. example, you can start the R5 Xsun sample server with the options "-ar1 350
  255. -ar2 30" to reduce the sensitivity of the keyboard.
  256.  
  257. The R6 X Keyboard Extension provides a vendor-independent way to control
  258. repeat delay and rate.
  259.  
  260. ----------------------------------------------------------------------
  261. Subject:  25)  How do I remap the keys on my keyboard to produce a string?
  262.  
  263. There is no method of arranging for a particular string to be produced when
  264. you press a particular key. The xmodmap client, which is useful for moving
  265. your CTRL and ESC keys to useful places, just rearranges keys and does not do
  266. "macro expansion."
  267.  
  268. Some (few) clients, including xterm and several X-based editors, accept a
  269. translation resource such as:
  270.  
  271.     xterm*VT100.Translations: #override \
  272.         <Key>F1: string("setenv DISPLAY unix:0")
  273.  
  274. which permits the shorthand F1 to be pressed to reset the display locally
  275. within an xterm; it takes effect for new xterm clients. To include control
  276. characters in the string, use \nnn, where nnn is the octal encoding of the
  277. control character you want to include.
  278.  
  279. Window managers, which could provide this facility, do not yet; nor has a
  280. special "remapper" client been made available.
  281.  
  282. ----------------------------------------------------------------------
  283. Subject:  26)  How do I make a screendump or print my application (including menus)?
  284.  
  285. The xwd client in the X11 distributions can be used to select a window or the
  286. background. It produces an XWD-format file of the image of that window.  The
  287. file can be post-processed into something useful or printed with the xpr
  288. client and your local printing mechanism. To print a screendump including a
  289. menu or other object which has grabbed the pointer, you can use this
  290. command:
  291.  
  292.         csh% sleep 10; xwd -root > output.xwd &
  293.  
  294. and then spend 10 seconds or so setting up your screen; the entire current
  295. display will be saved into the file output.xwd. Note that xwd also has an
  296. undocumented (before R5) -id flag for specifying the window id on the
  297. command-line. [There are also unofficial patches on ftp.x.org to xwd for
  298. specifying the delay and the portion of the screen to capture.]
  299.  
  300. Note that xwd makes the assumption that it can make a single XGetImage call
  301. and then decode the returned pixels via the associated colormap; the pixels
  302. returned are undefined if the area you've selected includes multiple windows
  303. with varying visuals, colormaps, or double-buffer states.
  304.  
  305. Two publicly-available programs which allow interactive definition of
  306. arbitrary portions of the display and built-in delays are xsnap and xgrabsc.
  307.  
  308. xgrabsc is a free screendump program that provides multiple selection styles
  309. and several output formats.  Selection styles include xwd-style point and
  310. click, dragging a rectangle over an arbitrary portion of the screen, timed
  311. snapshots for menu capturing, and keyboard-based selection.  Output formats
  312. are xwd, XPM (v1 and 2), bitmap, puzzle, and monochrome, greyscale, and color
  313. PostScript.  PostScript output can be in ready-to-print true-scale form or
  314. encapsulated for inclusion in Frame, xfig, and other programs that accept EPS
  315. graphics.  There are several versions of xgrabsc; version 2.3, available on
  316. ftp.x.org [9/93] is the most recent.  xgrab, part of the package, is an
  317. interactive front-end to xgrabsc.
  318.  
  319. xwpick (formerly xpick) (by Evgeni Chernyaev (chernaev@mx.ihep.su)) is
  320. available on ftp.x.org as xwpick-2.20.tar.Z; it creates Level 2 color
  321. PostScript dumps of X screens and can generate GIF, PICT, and other formats.
  322. PostScript output is very small. xwpick runs under VMS and Unix systems.
  323.  
  324. xsnap includes some asnap features and supersedes it; it also renders XPM
  325. output [version unknown]. It is available on ftp.x.org or avahi.inria.fr; see
  326. xsnap-pl2.tar.Z.
  327.  
  328. A screen-dump and merge/edit program combining features of xwd and xpr is
  329. available from vernam.cs.uwm.edu as xdump1.0.tar.Z.  Information:
  330. soft-eng@cs.uwm.edu.
  331.  
  332. xprint, by Alberto Accomazzi (alberto@cfa.harvard.edu) is available from
  333. cfa0.harvard.edu (128.103.40.1) as /pub/wipl/xprint.export-2.1.tar.Z.  The
  334. package allows users to create encapsulated color PostScript files which will
  335. print on any PostScript Level-1 compliant printer (black and white or
  336. color).
  337.  
  338. To post-process the xwd output of some of these tools, you can use xpr, which
  339. is part of the X11 distribution (moved to contrib in R6). Also on several
  340. archives are xwd2ps and "import" (formerly XtoPS), which produce Encapsulated
  341. PostScript with trimmings suitable for use in presentations (see
  342. ftp.x.org:R5contrib/xwd2ps.tar.Z and
  343. contrib/applications/ImageMagick/ImageMagick3.7.tar.Z). Also useful is the
  344. PBMPLUS/Netpbm package on many archive servers; and the Xim package contains
  345. Level 2 color PostScript output.
  346.  
  347. The xv program can grab a portion of the X display, manipulate it, and save
  348. it in one of the available formats. ImageMagick has similar capabilities.
  349.  
  350. Also:
  351.  
  352. HP's capture tool (provided with MPower and SharedPrint) corrects some of
  353. the problems xwd has with XGetImage.
  354.  
  355. Bristol Technology (info@bristol.com, 203-438-6969) offers Xprinter, an Xlib
  356. API for PostScript and PCL printers; a demo is in
  357. ftp.bristol.com:/pub/Demos/DE.
  358.  
  359. ColorSoft 9619-459-8500) offers OPENprint; the package includes a
  360. screen-capture facility, image-processing, and support for PostScript and
  361. non-PostScript printers.
  362.  
  363. Some vendors' implementations of X (e.g. DECWindows and OpenWindows) include
  364. session managers or other desktop programs which include "print portion of
  365. screen" or "take a snapshot" options. Some platforms also have tools which
  366. can be used to grab the frame-buffer directly; the Sun systems, for example,
  367. have a 'screendump' program which produces a Sun raster file.  Some X
  368. terminals have local screen-dump utilities to write PostScript to a local
  369. serial printer.
  370.  
  371. Some vendors' implementations of lpr (e.g. Sony) include direct support for
  372. printing xwd files, but you'll typically need some other package to massage
  373. the output into a useful format which you can get to the printer.
  374.  
  375. ----------------------------------------------------------------------
  376. Subject:  27)  How do I make a color PostScript screendump of the X display?
  377.  
  378. If you need color PostScript in particular, you can 
  379.  
  380.     - grab the screen-image using a program which can produce color 
  381. PostScript, such as xgrabsc, xprint, xwpick, and xv
  382.  
  383.     - grab the screen-image using xwd and post-process xwd into color PS.
  384.  
  385. You can do this using xwd2ps or the "import" (formerly XtoPS) program from
  386. the ImageMagick distribution. The PBMPLUS/Netpbm package is also good for
  387. this, as is the Xim package.
  388.  
  389. Also:
  390.  
  391. Another alternative is to use the Xprinter product from Bristol Technology,
  392. Inc. which provides PostScript output using the Xlib API.  Send email to
  393. info@bristol.com for details.
  394.  
  395. ----------------------------------------------------------------------
  396. Subject:  28)  How do I make a screendump without having an X display?
  397.  
  398. Some applications need to be able to make a screendump at a point at which
  399. they don't have access to an X display or can't rely on one or can't rely on
  400. an unsupervised screendump operating correctly. An option for all these cases
  401. is to use the xvfb X Virtual Frame Buffer in X11R6.  The X Virtual Frame
  402. Buffer Server uses memory allocated in the process heap or even mmapped to a
  403. file as its frame buffer.
  404.  
  405. ----------------------------------------------------------------------
  406. Subject:  29)  How do I make a screendump including the X cursor?
  407.  
  408. This can't be done unless the X server has been extended. Consider instead a
  409. system-dependent mechanism for, e.g.,  capturing the frame-buffer.
  410.  
  411. ----------------------------------------------------------------------
  412. Subject:  30)! How do I convert or view Mac/TIFF/GIF/Sun/PICT/img/FAX images in X?
  413.  
  414. The likeliest program is an incarnation of Jef Poskanzer's useful++ Portable
  415. Bitmap Toolkit, which includes a number of programs for converting among
  416. various image formats. It includes support for many types of bitmaps,
  417. gray-scale images, and full-color images. PBMPLUS has been updated recently;
  418. the most recent version [12/91] is on ftp.x.org in
  419. R5contrib/pbmplus10dec91.tar.Z.
  420.  
  421. Netpbm is based on the PBMPLUS 10dec91 release, with many additions and
  422. improvements. It is intended to be portable to many platforms while allowing
  423. for conversion of images between a variety of formats. The latest sources are
  424. on several sites, including
  425. ftp.x.org:/contrib/utilities/netpbm-1mar1994.tar.gz, wuarchive.wustl.edu
  426. (128.252.135.4) and peipa.essex.ac.uk (155.245.115.161). Contact
  427. oliver@fysik4.kth.se to be added to the netpbm mailing list.
  428.  
  429. xpdf, a Portable Document Format (PDF) viewer for X, is at (source and
  430. binaries, especially Linux binaries):
  431. http://www.contrib.andrew.cmu.edu/usr/dn0o/xpdf/xpdf.html
  432. ftp://ftp.andrew.cmu.edu/pub/xpdf/
  433. ftp://sunsite.unc.edu/pub/Linux/X11/xapps/graphics/viewers/ . Version 0.4
  434. became available 4/96.
  435.  
  436. Certain pixmap editors (e.g. xpaint) can read in a variety of formats and
  437. write out in different formats.
  438.  
  439. Another tool is San Diego Supercomputing Center's IMtools ('imconv' in
  440. particular), which packages the functionality of PBM into a single binary.
  441. It's available anonymous ftp from sdsc.edu (132.249.20.22).
  442.  
  443. Useful for viewing and converting some image-formats is Jim Frost's
  444. xloadimage; the most recent [11/93] is on ftp.x.org in
  445. R5contrib/xloadimage.4.1.tar.Z.  Graeme Gill's updates to an earlier version of
  446. xloadimage are also on ftp.x.org; see xli.README and xli.tar.Z.uu; version
  447. 1.15 was released 7/93.
  448.  
  449. xv (X Image Viewer), written by John Bradley (xv@devo.dccs.upenn.edu for XV
  450. questions), can read and display pictures in Sun Raster, PGM, PBM, PPM, X11
  451. bitmap, TIFF, GIF and JPEG. It can manipulate on the images: adjust, color,
  452. intensity, contrast, aspect ratio, crop). It can save images in all of the
  453. aforementioned formats plus PostScript. It can grab a portion of the X
  454. display, manipulate on it, and save it in one of the available formats. The
  455. program was updated 5/92; see the file R5contrib/xv-2.21.tar.Z on ftp.x.org.
  456. Version 3.10a [3/95] is distributed as shareware. New versions are on
  457. ftp.cis.upenn.edu in pub/xv.
  458.  
  459. The latest revision of XAnim is 2.70.3 and can handle a wide range of audio
  460. and video formats, including Quicktime, AVI, FLI, IFF, GIF, MJPG.  XAnim's
  461. available from the XAnim Home Page at
  462. http://www.portal.com/~podlipec/home.html or via
  463. ftp://ftp.portal.com/pub/podlipec [3/96].
  464.  
  465. xa, an xview-based X11 animation tool by Derek Richardson
  466. (derek@phaeton.ucsc.edu), is available at
  467. ftp://ftp.x.org/contrib/applications/xa-1.2beta/ [5/96].
  468.  
  469. The Fuzzy Pixmap Manipulation, by Michael Mauldin (mlm@nl.cs.cmu.edu).
  470. Conversion and manipulation package, similar to PBMPLUS.  Version 1.0
  471. available via FTP as nl.cs.cmu.edu:/usr/mlm/ftp/fbm.tar.Z,
  472. uunet.uu.net:pub/fbm.tar.Z, and ucsd.edu:graphics/fbm.tar.Z.
  473.  
  474. The Img Software Set, by Paul Raveling <raveling@venera.isi.edu>, reads and
  475. writes its own image format, displays on an X11 screen, and does some image
  476. manipulations.  Version 1.3 is available via FTP on ftp.x.org as
  477. R5contrib/img_1.3.tar.Z, along with large collection of color images.
  478.  
  479. The Utah RLE Toolkit is a conversion and manipulation package similar to
  480. PBMPLUS.  Available via FTP as cs.utah.edu:pub/urt-*,
  481. weedeater.math.yale.edu:pub/urt-*, and freebie.engin.umich.edu:pub/urt-*.
  482.  
  483. Xim, The X Image Manipulator, by Philip Thompson, does essential interactive
  484. displaying, editing, filtering, and converting of images. There is a version
  485. in the X11R4 contrib area; but a more recent version (using R4 and Motif 1.1)
  486. is available from gis.mit.edu (18.80.1.118). Xim reads/writes gif, xwd, xbm,
  487. tiff, rle, xim, (writes level 2 eps) and other formats and also has a library
  488. and command-line utilities for building your own applications.
  489.  
  490. ImageMagick by cristy@dupont.com is an X11 package for display and
  491. interactive manipulation of images.  Includes tools for image conversion,
  492. annotation, compositing, animation, and creating montages.  ImageMagick can
  493. read and write many of the more popular image formats (JPEG, TIFF, PNM,
  494. PostScript, ...).  Available via FTP from ftp.x.org as
  495. contrib/applications/ImageMagick/ImageMagick3.7.tar.Z. [12/95] See also
  496. http://www.wizards.dupont.com/cristy/ImageMagick.htmlZ .
  497.  
  498. GIMP is a General Image Manipulation Program. It is available at
  499. http://www.csua.berkeley.edu/~gimp or via email to
  500. gimp@soda.csua.berkeley.edu. It is currently [12/95] in beta.
  501.  
  502. xtiff is a tool for viewing a TIFF file in an X window.  It was written to
  503. handle as many different kinds of TIFF files as possible while remaining
  504. simple, portable and efficient.  xtiff illustrates some common problems with
  505. building pixmaps and using different visual classes.  It is distributed as
  506. part of Sam Leffler's libtiff package and it is also available on ftp.x.org
  507. and comp.sources.x.  [dbs@decwrl.dec.com,10/90] xtiff 2.0 was announced in
  508. 4/91; it includes Xlib and Xt versions.
  509.  
  510. gpv is an image viewer with processing capabilities.  It uses Pacco to get
  511. all the image processing support and it is coded entirely in TCL.  Gpv can be
  512. fetched at ftp://iride.unipv.it/pub/Pacco/gpv-0.1.tar.gz . The latest
  513. release of Pacco is at ftp://iride.unipv.it/pub/Pacco/pacco-0.9a7.tar.gz .
  514. [8/96]
  515.  
  516. A version of Lee Iverson's (leei@McRCIM.McGill.EDU) image-viewing tool is
  517. available as R5contrib/vimage-0.9.3.tar.Z on ftp.x.org. The package also
  518. includes an ImageViewPort widget and a FileDialog widget.  [12/91;5/92]
  519.  
  520. The Andrew User Interface System (version 5.2 and later) provides an image
  521. inset which can view many image formats.  Like all Andrew insets, an image
  522. can be incorporated in a a document or sent in email via the MIME standard.
  523. The following formats can be read:  Sunraster, GIF, Xbitmap,  TIFF, Xpixmap,
  524. JPEG, PBM, XWD.
  525.  
  526. The LUG (Libreria de Utilidades Graficas) is a library of subroutines
  527. offering several routines for the manipulation of images in several different
  528. formats. The distribution includes viewers for several different platforms.
  529. The distribution is on telva.ccu.uniovi.es (156.35.31.31):
  530. /uniovi/mathdept/src/liblug-1.0.1.tar.gz.
  531.  
  532. The X Image Extension (XIE), an X Consortium standard in R6, provides
  533. facilities for transmitting displaying fax (G3, G4), TIFF, and JPEG images.
  534.  
  535. [some material from Larry Carroll (larryc@poe.jpl.nasa.gov), 5/91]
  536.  
  537. A distributed real-time MPEG video and audio player is available from
  538. ftp.cse.ogi.edu (129.29.20.2) in /pub/dsrg/Player/
  539. (http://cse.ogi.edu/DISC/projects/synthetix/Player/ ) [5/95].
  540.  
  541. ----------------------------------------------------------------------
  542. Subject:  31)  Where can I get an X-based 3-D object viewer?
  543.  
  544. xmgf by Paul Hoad (P.Hoad@ee.surrey.ac.uk) is an interactive tool for viewing
  545. 2D and 3D objects typically in gf/OFF/NFF/IGRIP/MINICAD/SLA/DXF format
  546. Sources are on ftp.x.org.  Version 1.9.1 became available 12/93.
  547.  
  548. x3d is a V.Fast 3D Object viewer for X it needs no special hardware or or
  549. widget libraries other that X and is optimized for speed.
  550.  
  551. XGobi can be used to to view such data.
  552.     
  553. VOGLE can be used to to view such data.
  554.  
  555. An interactive 3D viewer based on the X Window System is "Geomview";
  556. information is available at
  557. http://www.geom.umn.edu/software/geomview/docs/gvpeek.html .
  558.  
  559. xdim 2.6 is available [1/96] from
  560. ftp://ftp.uni-stuttgart.de//pub/unix/X11/graphics/xdim/xdim2_6.tar.gz .  XDim
  561. combines features from data processing (p.ex. import from table calc.
  562. programs) and image processing (p.ex. import GIF's and JPEG's) with an
  563. interactive 3D Viewer and Motif user interface.
  564.  
  565. Grapher-3D generates surfaces of two variable functions allowing users to
  566. view these surfaces from any three dimensional position.  Dynamic axis
  567. rotation and domain shifting help better illustrate the nature of a
  568. function.  Sources are on ftp.x.org in contrib/graphics/Grapher-3D/,
  569. including source grapher-3d-1.2.tar.gz and some binary sets. [3/96]
  570.  
  571. Also of use:
  572.  
  573. Hv (for Hot Views)  is a library that greatly simplifies the development of
  574. applications with a sophisticated graphical user interface. It is layered on
  575. top of X, Xt (R4 or later), and OSF Motif (version 1.1 or later); however,
  576. the developer is completely insulated from those libraries. Information:
  577. heddle@cebaf.gov. Sources are on ftp://ftp.cebaf.gov/pub/heddle/Hv/ .
  578.  
  579. ----------------------------------------------------------------------
  580. Subject:  32)  How can I change the titlebar of my terminal window?
  581.  
  582. The solution involves sending an escape sequence to xterm which will cause it
  583. to update the property which the window manager relies upon for the string
  584. which appears in the window titlebar.
  585.  
  586. A solution is as easy as typing this in an xterm running a shell:
  587.  
  588.         echo "ESC]2;TEXT^G"
  589.  
  590. where ESC is the escape key, TEXT is the string you wish to have displayed,
  591. and ^G is a Control-G (the BEL character). Note that the semi-colon is
  592. demanded by more recent versions of xterm. (Some shells and editors need an
  593. escape character, typically ^V, before accepting control characters
  594. literally.)
  595.  
  596. Here is a more complicated csh alias which changes the titlebar to the
  597. current working directory when you change directories:
  598.  
  599.         alias newcd 'cd \!*; echo -n ESC]2\;$cwd^G'
  600.  
  601. (for other shells e.g. ksh you will need to write a function for cd to print
  602. this value).
  603.  
  604. The digit '2' in these strings indicates to xterm that it should change only
  605. the title of the window; to change both the title and the name used in the
  606. icon, use the digit '0' instead, and use '1' to change only the icon name.
  607.  
  608. Note: another way to do this, which prevents an incorrect display of the
  609. local directory if a modified `cd` is used in a subshell, is to wrap the
  610. escape sequences into the PS1 prompt itself.
  611.  
  612. If you are using DECterm, the sequence for window titles is
  613. "ESC]21;TEXTESC\"; for icons, the sequence is "ESC]2L;TEXTESC\".  For an
  614. HPterm, you need "ESC&f0k<length>DTEXT". Here <length> is the number of
  615. characters in TEXT, as a decimal number in ASCII. To change the icon name,
  616. use "ESC&f-1k<length>DTEXT".  [thanks to Karsten Spang (krs@kampsax.dk);
  617. 12/94]
  618.  
  619. ----------------------------------------------------------------------
  620. Subject:  33)  Where can I find the xterm control sequences?
  621.  
  622. The best source of such information is in your R5/R6 sources in the file
  623. ctlseqs.ms (R6: xc/doc/specs/xterm/ctlseqs.ms); a PostScript version is in
  624. your R5 sources in mit/hardcopy/clients/ctlseqs.PS.Z and your R6 sources in
  625. xc/doc/hardcopy/xterm/ctlseqs.PS.Z.
  626.  
  627. Both editions of O'Reilly's Volume 3, the X User's Guide, include an R5
  628. version of the control sequences.
  629.  
  630. Other good sources of information include the R4 version of that document and
  631. also the file in the R4 sources called mit/clients/xterm/ctlseq2.txt, a
  632. compilation put together by Skip Montanaro (GE CR&D) listing the VT100
  633. sequences. It dates from R3 but is fairly accurate.  A hardcopy version was
  634. published in the December 1989 XNextEvent (the XUG newsletter).
  635.  
  636. In a pinch, a VT100 manual will do.
  637.  
  638. [last updated 10/91]
  639.  
  640. ----------------------------------------------------------------------
  641. Subject:  34)  How can I use characters above ASCII 127 in xterm ?
  642.  
  643.     In order to use special characters such as the o-umlaut, you need to
  644. "stty pass8" (you may need "stty -parenb -istrip cs8" on strictly-POSIX
  645. systems) but also to use a charcell ISO8859 font, such as
  646.     XTerm*font:     -*-*-medium-r-normal-*-*-130-*-*-c-*-iso8859-1
  647.     XTerm*boldfont: -*-*-bold-r-normal-*-*-130-*-*-c-*-iso8859-1 
  648. [The family is intentionally unspecified in this example.]
  649.  
  650. In addition, you may want to set this in your shell:
  651.     setenv LC_CTYPE iso_8859_1
  652.  
  653.     For a given character above 127, you can determine the key to use with
  654. the Alt modifier by finding the equivalent character below 127 (try using `man
  655. ascii`). For example, o-umlaut (v) is Alt-v and the section character (') is
  656. Alt-'.
  657.  
  658. [thanks to Greg Holmberg (greg%thirdi@uunet.uu.net) and Stephen Gildea
  659. (gildea@x.org); 6/92]
  660.  
  661. ----------------------------------------------------------------------
  662. Subject:  35)  Why are my xterm menus so small (sic) ?
  663.  
  664. You are probably setting the geometry small accidentally. If you give a
  665. resource specification like this:
  666.  
  667.         xterm*geometry: 80x24
  668.  
  669. then you are asking for all widgets under xterm to have their geometry set to
  670. 80x24. For the main window, this is OK, as it uses characters for its size.
  671. But its popup menus don't; they are in pixels and show up small. To set only
  672. the terminal widget to have the specified geometry, name it explicitly:
  673.  
  674.         xterm*VT100.geometry: 80x24
  675.  
  676. ----------------------------------------------------------------------
  677. Subject:  36)! How can I control the mouse with the keyboard?
  678.  
  679. If you have the X Keyboard (XKB) Extension, you can enable mouse keys, which
  680. makes it possible to generate mouse motion and button events using the
  681. keyboard.   Events generated by MouseKeys are completely transparent -- they
  682. will work with any application that connects to a server that has the X
  683. Keyboard Extension, regardless of whether the application itself uses XKB.
  684.  
  685. XKB is enabled by default in X11R6.1.  
  686.  
  687. First, set up the Num Lock key so that Shift+Num_Lock toggles mouse keys:
  688.  
  689.  xmodmap -e "keysym Num_lock = Num_Lock Pointer_EnableKeys"
  690.  
  691. (XFree86 3.1.2E is based on R6.1 and has the X Keyboard Extension; it also
  692. has a binding to Pointer_EnableKeys in its default keymap.  You use
  693. Alt+Shift+Num_Lock to toggle MouseKeys on and off.  If you are using an
  694. earlier release of X or XFree86, you won't have XKB and the instructions will
  695. not work. See http://www.XFree86.org/FAQ for more information.)
  696.  
  697. You might also have to turn off server num lock for this to work.  
  698. Now press "Shift+Num_Lock" to enable MouseKeys.  When MouseKeys are on:
  699.  
  700. o)   The keypad arrow keys move the pointer
  701. o)   The keypad '5' key behaves like the 'default' pointer button
  702. o)   The keypad '0' key locks the default pointer button (for easy dragging)
  703. o)   The keypad '.' key unlock the default pointer button (to release a drag)
  704. o)   The keypad '+' key double-clicks the default pointer button.
  705. o)   The keypad '/' key sets the 'default' button to Button1
  706. o)   The keypad '*' key sets the default button to Button2
  707. o)   The keypad '-' key sets the default button to Button3
  708.  
  709. This is the default configuration, but the mechanism allows for nearly
  710. infinite configurability.
  711.  
  712. [thanks to Erik Fortune (erik@westworld.engr.sgi.com), 6/96]
  713.  
  714. ----------------------------------------------------------------------
  715. Subject:  37)  How can I print the current X selection?
  716.  
  717. You could paste it into an xterm after executing the lpr command.  However, a
  718. program by Richard Hesketh (rlh2@ukc.ac.uk) specifically for manipulating the
  719. selection will help; e.g.
  720.  
  721.     % xselection PRIMARY | lpr 
  722.  
  723. finds the primary selection and prints it.
  724.  
  725. This command can be placed in a window-manager menu or in shell-scripts.
  726. xselection also permits the setting of the selection and other properties. A
  727. version is on ftp.x.org.
  728.  
  729. Also available is ria.ccs.uwo.ca:pub/xget_selection.tar.Z, which can be
  730. adapted to do this.
  731.  
  732. ----------------------------------------------------------------------
  733. Subject:  38)  Where are the resources loaded from?
  734.  
  735. The resources of a widget are filled in from the following places (from
  736. highest priority to lowest priority):
  737.  
  738.     1. Args passed at creation time.
  739.     2. Command line arguments.
  740.     3. User's per host defaults file
  741.     4. User's defaults file.
  742.     5. User's per application default file.
  743.     6. System wide per application default file.
  744.  
  745. Note that 2-6 are read only once on application startup.  The result of steps
  746. 3-6 is a single resource database used for further queries.
  747.  
  748. Please see the comp.windows.x.intrinsics FAQ, from which this information is
  749. abstracted, for a full explanation of how to specify the location of files;
  750. see also a good book on Xt, such as ORA's Volume 4, the Asente/Swick book, or
  751. the Xt documentation, for more information.
  752.  
  753. ----------------------------------------------------------------------
  754. Subject:  39)  How does Xt use environment variables in loading resources?
  755.  
  756.     You can use several environment variables to control how resources are
  757. loaded for your Xt-based programs -- XFILESEARCHPATH, XUSERFILESEARCHPATH, and
  758. XAPPLRESDIR.  These environment variables control where Xt looks for
  759. application-defaults files as an application is initializing.  Xt loads at
  760. most one app-defaults file from the path defined in XFILESEARCHPATH and
  761. another from the path defined in XUSERFILESEARCHPATH.
  762.  
  763.     XAPPLRESDIR existed in R3 and before.  As of R4, the Xt developers
  764. added the more sophisticated *SEARCHPATH mechanism, but left XAPPLRESDIR in
  765. place to avoid breaking existing software.
  766.  
  767.     Set XFILESEARCHPATH if software is installed on your system in such a
  768. way that app-defaults files appear in several different directory
  769. hierarchies.  Suppose, for example, that you are running Sun's Open Windows,
  770. and you also have some R4 X applications installed in
  771. /usr/lib/X11/app-defaults. You could set a value like this for
  772. XFILESEARCHPATH, and it would cause Xt to look up app-defaults files in both
  773. /usr/lib/X11 and /usr/openwin/lib (or wherever your OPENWINHOME is located):
  774.     setenv XFILESEARCHPATH /usr/lib/X11/%T/%N:$OPENWINHOME/lib/%T/%N
  775.  
  776. The value of this environment variable is a colon-separated list of
  777. pathnames.  The pathnames contain replacement characters as follows (see
  778. XtResolvePathname()):
  779.  
  780.     %N      The value of the filename parameter, or the
  781.         application's class name.  
  782.     %T      The value of the file "type".  In this case, the
  783.         literal string "app-defaults" 
  784.     %C      customization resource (R5/R6 only) 
  785.     %D    site default value for XFILESEARCHPATH (R6 only)
  786.     %S      Suffix.  None for app-defaults.  
  787.     %L      Language, locale, and codeset (e.g. "ja_JP.EUC") 
  788.     %l      Language part of %L (e.g. "ja") 
  789.     %t      The territory part of the display's language string 
  790.     %c      The codeset part of the display's language string
  791.  
  792.     Let's take apart the example.  Suppose the application's class name is
  793. "Myterm". Also, suppose Open Windows is installed in /usr/openwin.
  794. (Notice the example omits locale-specific lookup.)
  795.     /usr/lib/X11/%T/%N        means /usr/lib/X11/app-defaults/Myterm
  796.     $OPENWINHOME/lib/%T/%N    means /usr/openwin/lib/app-defaults/Myterm
  797.  
  798.     As the application initializes, Xt tries to open both of the above
  799. app-defaults files, in the order shown.  As soon as it finds one, it reads it
  800. and uses it, and stops looking for others.  The effect of this path is to
  801. search first in /usr/lib/X11, then in /usr/openwin.
  802.  
  803.     Let's consider another example. This time, let's set
  804. XUSERFILESEARCHPATH so it looks for the file Myterm.ad in the current working
  805. directory, then for Myterm in the directory ~/app-defaults.
  806.     setenv XUSERFILESEARCHPATH ./%N.ad:$HOME/app-defaults/%N
  807.  
  808.     The first path in the list expands to ./Myterm.ad.  The second expands
  809. to $HOME/app-defaults/Myterm.  This is a convenient setting for debugging
  810. because it follows the Imake convention of naming the app-defaults file
  811. Myterm.ad in the application's source directory, so you can run the
  812. application from the directory in which you are working and still have the
  813. resources loaded properly.  NOTE: when looking for app-default files with
  814. XUSERFILESEARCHPATH, for some bizarre reason, neither the type nor file suffix
  815. is defined so %T and %S are useless.
  816.  
  817.     With R5 and R6, there's another twist.  You may specify a customization
  818. resource value.  For example, you might run the "myterm" application like
  819. this:
  820.     myterm -xrm "*customization: -color"
  821.  
  822.     If one of your pathname specifications had the value
  823. "/usr/lib/X11/%T/%N%C" then the expanded pathname would be
  824. "/usr/lib/X11/app-defaults/Myterm-color" because the %C substitution character
  825. takes on the value of the customization resource.
  826.  
  827.     The default XFILESEARCHPATH, compiled into Xt, is:
  828.         /usr/lib/X11/%L/%T/%N%C:\  (R5) 
  829.         /usr/lib/X11/%l/%T/%N%C:\  (R5)
  830.         /usr/lib/X11/%T/%N%C:\     (R5) 
  831.         /usr/lib/X11/%L/%T/%N:\
  832.         /usr/lib/X11/%l/%T/%N:\ /usr/lib/X11/%T/%N
  833.  
  834.     (Note: some sites replace /usr/lib/X11 with a ProjectRoot in this
  835. batch of default settings.)
  836.  
  837.     The default XUSERFILESEARCHPATH, also compiled into Xt, is
  838.         <root>/%L/%N%C:\  (R5) 
  839.         <root>/%l/%N%C:\  (R5)
  840.         <root>/%N%C:\     (R5) 
  841.         <root>/%L/%N:\ 
  842.         <root>/%l/%N:\
  843.         <root>/%N:
  844.  
  845.     <root> is either the value of XAPPLRESDIR or the user's home directory
  846. if XAPPLRESDIR is not set.  If you set XUSERFILESEARCHPATH to some value other 
  847. than the default, Xt ignores XAPPLRESDIR altogether.
  848.  
  849.     Notice that the quick and dirty way of making your application find
  850. your app-defaults file in your current working directory is to set XAPPLRESDIR
  851. to ".", a single dot.  In R3, all this machinery worked differently; for R3
  852. compatibilty, many people set their XAPPLRESDIR value to "./", a dot followed
  853. by a slash.
  854.  
  855. [Thanks to Oliver Jones (oj@world.std.com); 2/93.]
  856.  
  857. ----------------------------------------------------------------------
  858. Subject:  40)  How to I have xdm put a picture behind the log-in window?
  859.  
  860. R5/R6 users can specify the "setup" script that xdm runs by changing the
  861. entry in the xdm-config file (usually in /usr/lib/X11/xdm) to name a
  862. different script; the sample script distributed with the X distribution
  863. simply runs xconsole.  See the SETUP PROGRAM section of the xdm man page in
  864. R6 for precise details.
  865.  
  866. Pre-R5 versions of the xdm client could be spoofed by in changing xdm's xrdb
  867. resource in the xdm-config file to run a program to change the background
  868. before loading the resources; for example, your /usr/lib/X11/xdm/xdm-config
  869. file may add the line
  870.     DisplayManager.0.authorize: false 
  871. to permit unrestricted access to the display before log-in (beware!) and also
  872.     DisplayManager*xrdb:    /usr/lib/X11/xdm/new.xrdb 
  873. where that file does something (for all connections) along the lines of:
  874.     #!/bin/sh 
  875.     #comes in with arguments: -display :0 -load /usr/lib/X11/xdm/Xresources
  876.     /usr/bin/X11/xsetroot -display $2 -bitmap /usr/lib/X11/xdm/new.bitmap 
  877.     /usr/bin/X11/xrdb $* 
  878. Substitute xloadimage or xv for xsetroot, to taste.  Note that this is a
  879. general hack that can be used to invoke a console window or any other client.
  880.  
  881. [Thanks to Jay Bourland (jayb@cauchy.stanford.edu), 9/91]
  882.  
  883. ----------------------------------------------------------------------
  884. Subject:  41)  Why isn't my PATH set when xdm runs my .xsession file?
  885.  
  886.     When xdm runs your .xsession it doesn't source your .cshrc or .login
  887. files. You can set the path explicitly as you normally could for any SH
  888. script; or you can place all environment-setting statements in a separate file
  889. and source it from both the .xsession file and your shell configuration file;
  890. or, if you set your PATH in your .cshrc file, the normal place, you can make
  891. your .xsession have PATH set simply by making it a csh script, i.e. by starting
  892. your .xsession file off with "#!/bin/csh".
  893.     If this doesn't work, also try starting off with:
  894.     #!/bin/sh # Reset path:  PATH=`csh -c 'echo $PATH'` ; export PATH
  895.  
  896. ----------------------------------------------------------------------
  897. Subject:  42)  How do I keep my $DISPLAY when I rlogin to another machine?
  898.  
  899. There are several ways to avoid having to do a "setenv DISPLAY ..." whenever
  900. you log in to another networked UNIX machine running X.
  901.  
  902. A trivial solution, if your account is cross-mounted on both machines, is to
  903. have your .xsession write your DISPLAY variable to a file, and then in your
  904. login dot-files to check for the existence of that that file and use its
  905. contents as your DISPLAY. [Thanks to joachim.fricker@zh014.ubs.ubs.ch.]
  906.  
  907. One solution is to use the clients/xrsh on the R5 and R6 contrib tapes.  It
  908. includes xrsh, a script to start an X application on remote machine, and
  909. xrlogin, a script to start a local xterm running rlogin to a remote machine.
  910. A more recent version is on export in contrib/utilities/xrsh-5.8.shar.gz
  911. [21/94].
  912.  
  913. One solution is to use the xrlogin program from der Mouse
  914. (mouse@larry.mcrcim.mcgill.edu). You can ftp caveat-emptor versions from
  915. ftp.cim.mcgill.ca (132.206.4.7) in pub/people/mouse/X/xrlogin/.  The program
  916. packages up $TERM and $DISPLAY into a single string, which is stuffed into
  917. $TERM.  rlogin then propagates $TERM normally; your .cshrc on the remote
  918. machine should contain
  919.  
  920.         eval `xrlogind`
  921.  
  922. where xrlogind is a program that checks $TERM and if it is of the special
  923. format it recognizes, unpacks it and spits out setenv and unsetenv commands
  924. to recreate the environment variables. [11/90]
  925.  
  926. In addition, if all you need to do is start a remote X process on another
  927. host, and you find
  928.  
  929.         rsh <HOST> -n /usr/bin/X11/xterm -display $DISPLAY 
  930.  
  931. too simple (DISPLAY must have your real hostname), then this version of xrsh 
  932. can be used to start up remote X processes. The equivalent usage would be 
  933.  
  934.         xrsh <HOST> xterm
  935.  
  936.   #! /bin/sh
  937.   # start an X11 process on another host
  938.   # Date: 8 Dec 88 06:29:34 GMT
  939.   # From: Chris Torek <chris@mimsy.umd.edu>
  940.   # rsh $host -n "setenv DISPLAY $DISPLAY; exec $@ </dev/null >&/dev/null"
  941.   #
  942.   # An improved version:
  943.   # rXcmd (suggested by John Robinson, jr@bbn.com)
  944.   #       (generalized for sh,ksh by Keith Boyer, keith@cis.ohio-state.edu)
  945.   #
  946.   # but they put the rcmd in ()'s which left zombies again.  This
  947.   # script combines the best of both.
  948.   
  949.   case $# in
  950.   [01])  echo "Usage: $0 host x-cmd [args...]";;
  951.   *)
  952.       case $SHELL in
  953.       *csh*)  host="$1"; shift
  954.           xhost "$host" > /dev/null
  955.           rsh "$host" -n \
  956.               "setenv TERM xterm; setenv DISPLAY `hostname`:0; \
  957.               exec $* </dev/null >& /dev/null" &
  958.           ;;
  959.       *sh)
  960.           host="$1"; shift
  961.           xhost "$host" > /dev/null
  962.           rsh "$host" -n \
  963.               "TERM=xterm export TERM; \
  964.               DISPLAY=`hostname`:0 export DISPLAY; \
  965.               LD_LIBRARY_PATH=/usr/X11/lib export LD_LIBRARY_PATH; \
  966.               PATH=\$PATH:/usr/X11/bin:/usr/bin/X11:/usr/local/bin; \
  967.             export PATH; \
  968.               exec $* < /dev/null > /dev/null 2>&1" &
  969.           ;;
  970.       esac
  971.       ;;
  972.   esac
  973.  
  974. You may also want to look at programs/rstart in the R6 distribution; this
  975. remote execution protocol is intended to work in concert with session
  976. managers.
  977.  
  978. ----------------------------------------------------------------------
  979. Subject:  43)  How can I design my own font?
  980.  
  981. One way is to use the "bitmap" client or some other bitmap-editor (e.g.
  982. Sun's icon-editor tool, post-processed with pbmplus) to design the individual
  983. characters and then to do some large amount of post-processing to concatenate
  984. them into the BDF format. See Ollie Jones's article in the November 91 X
  985. Journal for more information.
  986.  
  987. The R3 contrib/ area (in fonts/utils/ and in clients/xtroff) contained a
  988. number of useful utilities, including some to convert between BDF font format
  989. and a simple character format which can be edited with any text editor.
  990.  
  991. An easier way is to use the "xfed" client to modify an existing font; a
  992. version is on the R4 or R5 X11R5 contrib tape in contrib/clients/xfed. Xfed
  993. was last seen on ftp.Informatik.Uni-Dortmund.DE [129.217.64.63], possibly as
  994. file /pub/windows/X/Diverse-X11-Sourcen/xfed.tar.Z. It can produce BDF-format
  995. fonts which can be compiled for a variety of X servers.
  996.  
  997. IBM machines appear to have a utility "fontutil".
  998.  
  999. The xfedor client from Group Bull permits creation of bitmaps, cursors, XPM1
  1000. pixmaps, and fonts. Binaries for common machines are on avahi.inria.fr in
  1001. /pub; in addition, the sources (an old Xlib implementation) have been placed
  1002. [5/91] in ftp.x.org:/R5contrib/xfedor.tar.Z.
  1003.  
  1004. If you are a MetaFont user you can use "mftobdf" from the SeeTeX distribution
  1005. to convert PK, GF, and PXL fonts to BDF format; the distribution is on
  1006. ftp.cs.colorado.edu and on ftp.x.org.
  1007.  
  1008. The GNU package fontutils-0.4.tar.Z on prep.ai.mit.edu includes xbfe, a font
  1009. editor, and a number of utilities for massaging font formats.
  1010.  
  1011. The O'Reilly X Resource issue #2 contains an article on using these tools to
  1012. modify a font.
  1013.  
  1014. Fonts can be resized with Hiroto Kagotani's bdfresize; a new version is in
  1015. ftp.cs.titech.ac.jp:/X11/contrib.  bdffont in the Andrew User Interface
  1016. System (versions 5.2.2 and higher) lets you create a font or edit an existing
  1017. one.
  1018.  
  1019. ----------------------------------------------------------------------
  1020. Subject:  44)  Why does adding a font to the server not work (sic)?
  1021.  
  1022.     After you have built the font using your system's font-compiler,
  1023. installed it in some directory, and run `mkfontdir` or your system's
  1024. equivalent (e.g. bldfamily for OpenWindows) in that directory, be sure to use
  1025. `xset +fp $dir` to add that full path-name to the server's font-path, *or* if
  1026. the directory is already in the path, use `xset fp rehash` so that the new
  1027. fonts in that directory are actually found; it is this last step that you're
  1028. probably leaving out. (You can also use `xset q` to make sure that that
  1029. directory is in the path.)
  1030.     Sometimes your "xset +fp $dir" command fails with a BadValue error:
  1031.         X Error of failed request:BadValue
  1032.             (integer parameter out of range for operation) 
  1033.         Major opcode of failed request:  51 (X_SetFontPath)
  1034.  
  1035.     This means the X server cannot find or read your font directory, or
  1036. that your directory does not look like a font directory to the server.  (The
  1037. mention of an "integer parameter" in the message is spurious.)
  1038.  
  1039. -- Is the font directory you're specifying readable from the SERVER's file
  1040.    system?  Remember, it's the server, not the client, which interprets your
  1041.    font directory.  Trouble in this area is especially likely when you issue
  1042.    an xset command with shell metacharacters in it (e.g. "xset +fp ~/myfonts")
  1043.    and the server is an X terminal or managed by xdm.
  1044.  
  1045. -- Is the directory really a font directory?  If you're running the sample X
  1046.    server (or most varieties of vendor servers) look in the directory for the
  1047.    file "fonts.dir".  If you can't find that file, run mkfontdir(1). (If you're
  1048.    running OpenWindows, look for the file "Families.list".  If you can't find
  1049.    it, run bldfamily(1).)
  1050.  
  1051. -- If you're in a site where some people run X11Rn servers and others run a
  1052.    proprietary server with nonstandard font formats (OpenWindows, for
  1053.    example), make sure the font directory is right for the server you're
  1054.    using.  Hint: if the directory contains .pcf and/or .snf files, it won't
  1055.    work for Open Windows.  If the directory contains .ff and/or .fb files, it
  1056.    won't work for X11Rn.
  1057.  
  1058. [thanks to der Mouse (mouse@larry.mcrcim.mcgill.edu) and to Oliver Jones
  1059. (oj@pictel.com); 7/92 ]
  1060.  
  1061. Note: some systems (e.g. X11R4 on AIX) need a trailing '/' in the directory
  1062. name.
  1063.  
  1064. ----------------------------------------------------------------------
  1065. Subject:  45)  How do I convert a ".snf" font back to ".bdf" font?
  1066.  
  1067. A tool called "snftobdf 1.6" can do this; it is available as:
  1068.  
  1069.     ftp.x.org:R5contrib/snftobdf-1.6.tar.Z
  1070.     crl.nmsu.edu:pub/misc/snftobdf-1.6.tar.Z
  1071.  
  1072. ----------------------------------------------------------------------
  1073. Subject:  46)  What is a general method of getting a font in usable format?
  1074.  
  1075. der Mouse's getbdf is one solution; it connects to a server and produces a
  1076. BDF file for any font the server is willing to let it.  It can be used as an
  1077. anything-to-BDF converter, but requires access to a server that can
  1078. understand the font file, thus is both more and less powerful than other
  1079. tools such as snftobdf. getbdf is on 132.206.78.1 in X/getbdf.c or available
  1080. via mail from mouse@larry.McRCIM.McGill.EDU. [5/91]
  1081.  
  1082. In addition, the R5/R6 program "fstobdf" can produce bdf for any font that
  1083. the R5 server has access to.
  1084.  
  1085. ----------------------------------------------------------------------
  1086. Subject:  47)  How do I use DECwindows fonts on my non-DECwindows server?
  1087.  
  1088. The DECwindows fonts typically don't exist on a non-DEC installation,
  1089. but rewrite rules can be used to alias fonts used by DECwindows applications
  1090. to standard X fonts of similar characteristics and size. Pick up the file
  1091. R5contrib/DECwindows_on_X11R4_font.aliases from ftp.x.org; this file is for a
  1092. sample R4 server.  It can also serve as a starting point for creating a
  1093. similar aliases file for the Open Windows server or other servers which do not
  1094. use the X Consortium's font scheme.
  1095.  
  1096. ----------------------------------------------------------------------
  1097.  
  1098. David B. Lewis                     faq%craft@uunet.uu.net
  1099.  
  1100.         "Just the FAQs, ma'am." -- Joe Friday 
  1101.