|
|
1.1 root 1:
2:
3:
4: X(1) UNIX Programmer's Manual X(1)
5:
6:
7:
8: NAME
9: X - A network transparent window system for Unix
10:
11: DESCRIPTION
12: X is a network transparent windowing system developed at MIT
13: which runs under Ultrix-32 Version 1.2 and 4.3BSD Unix.
14:
15: X display servers run on computers with bitmap terminals.
16: The server distributes user input to, and accepts output
17: requests from various client programs located either on the
18: same machine or elsewhere in the Internet. While a client
19: normally runs on the same machine as the X server it is
20: talking to, this need not be the case.
21:
22: X supports overlapping windows, fully recursive subwindows,
23: text and graphics operations within windows. For a full
24: explanation of functions, see ``Xlib - C Language X Inter-
25: face'' document.
26:
27: When you first log in on a display running X, you are using
28: the _x_t_e_r_m(_1) terminal emulator program. You need not learn
29: anything extra to use a display running X as a terminal
30: beyond moving the mouse cursor into the login window to log
31: in normally.
32:
33: X attempts to provide hooks for your favorite style of user
34: interface; feel free to write your own if you don't like the
35: style provided by existing window managers (see _x_w_m(_1),
36: _x_n_w_m(_1), or _u_w_m(_1)). These programs are used to manipulate
37: existing top level windows, including moving, resizing, and
38: iconifying existing windows. You should start your favorite
39: window manager when you log in on a display running X.
40:
41: Current client programs of X include a terminal emulator
42: (_x_t_e_r_m(_1)), window managers (_x_w_m(_1), _x_n_w_m(_1) and _u_w_m(_1)),
43: bitmap editor (_b_i_t_m_a_p(_1)), access control program
44: (_x_h_o_s_t(_1)), user preference setting program (_x_s_e_t(_1)), load
45: monitor (_x_l_o_a_d(_1)), clock (_x_c_l_o_c_k(_1)), impress previewer
46: (_x_i_m_p_v(_1)), font displayer (_x_f_d(_1)), demos (_x_d_e_m_o(_1)), and
47: editors (e.g., _x_t_e_d). On some systems, mail notification
48: has been integrated (_b_i_f_f(_1)).
49:
50: OPTIONS
51: The following options can be given on the command line to
52: the X server, usually started by _i_n_i_t(_1) using information
53: stored in the file /_e_t_c/_t_t_y_s. (see _t_t_y_s(_5), _X(_8_c) for
54: details):
55: -a # sets mouse acceleration (pixels)
56: -c turns off key-click
57: c # sets key-click volume (0-8)
58: -f # sets feep(bell) volume (0-7)
59: -l sets LockUpDownMode
60:
61:
62:
63: Printed 9/15/87 25 January 1986 1
64:
65:
66:
67:
68:
69:
70: X(1) UNIX Programmer's Manual X(1)
71:
72:
73:
74: l sets LockToggleMode
75: m forces "monochrome" mode on a color display
76: -p # sets screen-saver pattern cycle time (minutes)
77: -r turns off auto-repeat
78: r turns on auto-repeat
79: -s # sets screen-saver timeout (minutes)
80: -t # sets mouse threshold (pixels)
81: v sets video-on screen-saver preference
82: -v sets video-off screen-saver preference
83: -0 _c_o_l_o_r sets color map entry 0 (BlackPixel)
84: -1 _c_o_l_o_r sets color map entry 1 (WhitePixel)
85: -D _r_g_b_d_b sets RGB database file
86:
87: The defaults are ``-a 4 c 6 -f 3 l -p 60 r -s 10 -t 2 -0
88: #008 -1 #ffffff -D /usr/lib/rgb''.
89:
90:
91:
92: X DEFAULTS
93: Many X programs follow the convention of using a file called
94: ._X_d_e_f_a_u_l_t_s in your home directory to allow tailoring the
95: default values of many items on the display (default font,
96: border width, icon behavior, and so on). The format of this
97: file is ``programname.keyword:value'', where the default
98: value for each keyword is set to the specified string. If
99: the program name is missing, the default ``keyword'' value
100: is set to the value for all programs. Case is not signifi-
101: cant in keywords. Any whitespace before the value is
102: ignored. Any global defaults should precede program
103: defaults in the file. See the manual pages for a list of
104: what defaults can be set in a given program. Here is an
105: overblown example ~/._X_d_e_f_a_u_l_t_s file.
106:
107: # this is a comment
108: .BorderWidth: 2
109: .BitmapIcon: on
110: .MakeWindow.Background:#8e8
111: .MakeWindow.Border: #f26
112: .MakeWindow.BodyFont:cor
113: .MakeWindow.Foreground:medium slate blue
114: .MakeWindow.Freeze: on
115: .MakeWindow.Mouse: #e6f
116: .MakeWindow.MouseMask:black
117: .MakeWindow.ClipToScreen:on
118: .Menufreeze: on
119: .Menubackground: maroon
120: .Panefont: 8x13
121: .SelectionFont: 8x13
122: .SelectionBorder: black
123: .Paneborderwidth: 1
124: xterm.Panespread: .25
125: biff.Background: violet red
126:
127:
128:
129: Printed 9/15/87 25 January 1986 2
130:
131:
132:
133:
134:
135:
136: X(1) UNIX Programmer's Manual X(1)
137:
138:
139:
140: biff.BodyFont: 9x15
141: biff.Border: black
142: biff.Foreground: green yellow
143: biff.Mouse: coral
144: bitmap.Background: forest green
145: bitmap.Border: salmon
146: bitmap.Foreground: white
147: bitmap.Highlight: red
148: bitmap.Mouse: black
149: xclock.Background: plum
150: xclock.Border: black
151: xclock.Foreground: red
152: xclock.Highlight: blue
153: xclock.Mode: analog
154: xshell.action.LeftButton:xterm =80x65-0+0 -fn 6x10
155: xshell.action.MiddleButton:xted =80x65+0-0
156: xshell.action.RightButton:xterm =20x20-0-0 -fn 6x10 -e dc
157: xshell.action.$: xterm =80x65+0+0 -fn 6x10 -e sh
158: xshell.action.#: xterm =80x65+0+0 -fn 6x10 -e su
159: xshell.ReverseVideo:on
160: xshell.WindowGeometry:=-0-0
161: xshell.Quiet: on
162: xdemo.Background: white
163: xdemo.Border: black
164: xdemo.balls.Background:maroon
165: xdemo.balls.Foreground:white
166: xdemo.circles.Foreground:khaki
167: xdemo.draw.Background:light gray
168: xdemo.draw.BodyFont:oldeng
169: xdemo.draw.Foreground:midnight blue
170: xdemo.draw.Mouse: white
171: xdemo.menulife.Background:medium turquoise
172: xdemo.menulife.Foreground:orange red
173: xdemo.menulife.MenuBackground:light blue
174: xdemo.menulife.MenuFont:oldeng
175: xdemo.menulife.MenuForeground:dark orchid
176: xdemo.menulife.MenuMouse:orange
177: xdemo.menulife.Mouse:salmon
178: xdemo.plaid.Foreground:red
179: xdemo.qix.Foreground:violet red
180: xdemo.slide.Foreground:forest green
181: xdemo.wallpaper.Foreground:medium turquoise
182: xdemo.xor.Foreground:blue violet
183: ximpv.Background: dark green
184: ximpv.Border: red
185: ximpv.Foreground: cyan
186: ximpv.Mouse: white
187: xload.Background: #ff0068
188: xload.Border: black
189: xload.Foreground: slate blue
190: xload.Highlight: yellow
191: xload.ReverseVideo: on
192:
193:
194:
195: Printed 9/15/87 25 January 1986 3
196:
197:
198:
199:
200:
201:
202: X(1) UNIX Programmer's Manual X(1)
203:
204:
205:
206: xted.Background: firebrick
207: xted.BodyFont: kiltercrn
208: xted.Border: tan
209: xted.Cursor: yellow
210: xted.Foreground: white
211: xted.Highlight: goldenrod
212: xted.Mouse: cyan
213: xterm.Background: #355
214: xterm.BodyFont: 6x13p
215: xterm.Cursor: green
216: xterm.Foreground: white
217: xfax.Background: white
218: xfax.Border: green
219: xfax.Foreground: red
220: xfax.Mouse: blue
221:
222: By default when you log in, only programs running on your
223: local computer will be allowed to interact with your
224: display. If someone else on a different machine wants to
225: show you something, you can use the _x_h_o_s_t(_1) program to
226: allow access to your display.
227:
228: SIZING WINDOWS
229: Many programs ask you to manually size their top-level win-
230: dow. When started, such a program will typically popup an
231: identification window in the upper left corner of the
232: display. The window can be created with the center button:
233: press the button to define one corner of the window, move
234: the cursor to where the opposite corner of the window should
235: be and release the button. For text applications, the left
236: and right buttons can also be used. Pressing the left but-
237: ton typically produces an 80 by 24 window, which can then be
238: moved around, and placed by releasing the button. Simi-
239: larly, the right button typically produces an 80 by full
240: screen window. For graphics applications, the left button
241: typically creates a default size window in a default loca-
242: tion, while the right button creates a default size window
243: at the position of the cursor.
244:
245: Most applications (e.g., _x_t_e_d, _x_d_e_m_o, and _x_f_a_x) read options
246: to control sizing of initial windows. The
247: ``MakeWindow.BodyFont'' option controls the font for the
248: popup window. The ``MakeWindow.BorderWidth'' and
249: ``MakeWindow.InternalBorder'' options control the outer and
250: inner borders. The ``MakeWindow.ReverseVideo'' option can be
251: set to ``on'' to reverse colors. On color displays, the
252: ``MakeWindow.Foreground'', ``MakeWindow.Background'', and
253: ``MakeWindow.Border'' options control the color of the popup
254: window, and the ``MakeWindow.Mouse'' and
255: ``MakeWindow.MouseMask'' options control the color of the
256: mouse cursor. The ``MakeWindow.Freeze'' option, when set to
257: ``on'', will stop all other output while the window is
258:
259:
260:
261: Printed 9/15/87 25 January 1986 4
262:
263:
264:
265:
266:
267:
268: X(1) UNIX Programmer's Manual X(1)
269:
270:
271:
272: sized, and use a steady outline instead of continuously
273: flashing the window outline. The
274: ``MakeWindow.ClipToScreen'' option will clip the resulting
275: window to fit on the screen. (Currently only implemented in
276: programs using the _X_C_r_e_a_t_e_T_e_r_m subroutine.)
277:
278: GEOMETRY SPECIFICATION
279: Most programs accept a geometry specification. This allows
280: automatic creation and placement of windows on the screen at
281: login and other convenient times.
282: =[WIDTH][xHEIGHT][{+-}XOFF[{+-}YOFF]] The []'s denote
283: optional parameters, the {}'s surround alternatives. WIDTH
284: and HEIGHT are in number of characters for text oriented
285: applications, and usually in pixels for graphics oriented
286: applications. XOFF and YOFF are in pixels. If you don't
287: give XOFF and/or YOFF, then you must use the mouse to create
288: the window. If you give XOFF and/or YOFF, then a WIDTHx-
289: HEIGHT window will automatically be creating without inter-
290: vention. XOFF and YOFF specify deltas from a corner of the
291: screen to the corresponding corner of the window, as fol-
292: lows:
293: +XOFF+YOFF upper left to upper left
294: -XOFF+YOFF upper right to upper right
295: +XOFF-YOFF lower left to lower left
296: -XOFF-YOFF lower right to lower right
297:
298: KEYBOARD
299: If you don't like the standard keyboard layout or the
300: default definitions of keymap and function keys, the key-
301: boards on most displays can be remapped to suit your taste.
302: Many programs look for a file called ._X_k_e_y_m_a_p in your home
303: directory. This is a binary file, produced from a source
304: map with the _k_e_y_c_o_m_p(_1) program.
305:
306: COLORS
307: Many programs allow you to specify colors for background,
308: border, text, etc. A color specification can be given
309: either as an english name (see /_u_s_r/_l_i_b/_r_g_b._t_x_t for defined
310: names), or three hexadecimal values for the red, green, and
311: blue components, in one of the following formats:
312:
313: #RGB
314: #RRGGBB
315: #RRRGGGBBB
316: #RRRRGGGGBBBB
317:
318: DISPLAY SPECIFICATION
319: When you first log in, the environment variable ``DISPLAY''
320: will be set to a string ``machine:display'' (for example,
321: ``mit-athena:0'') which will determine which display an X
322: application will talk to by default.
323:
324:
325:
326:
327: Printed 9/15/87 25 January 1986 5
328:
329:
330:
331:
332:
333:
334: X(1) UNIX Programmer's Manual X(1)
335:
336:
337:
338: Most applications will also interpret an argument with a
339: ``:'' in it to be the display to use.
340:
341: When using DECnet, the format ``node::display'' should be
342: used.
343:
344: MENU DEFAULTS
345: As there is now a standard menu package for X (_X_M_e_n_u(_3_x)),
346: you can tune the behavior of menus in programs using this
347: package with a set of _X_d_e_f_a_u_l_t_s. _X_t_e_r_m's `Mode Menu' is
348: controlled by these defaults for example.
349:
350: MenuFreeze
351: Determines whether or not to grab the _X server while
352: a menu is posted. One of: on, off. The default
353: value is off.
354:
355: MenuStyle
356: Determines the menu display style. One of:
357: left_hand, right_hand, center. The default value is
358: right_hand.
359:
360: MenuMode
361: Determines the menu selection high light mode. One
362: of: box, invert. If box mode is chosen then the
363: SelectionBorderWidth and SelectionBorderColor param-
364: eters effect the box line width and color respec-
365: tively. If invert mode is chose then the Selection-
366: Foreground and MenuBackground colors are used for
367: the inversion. The default value is invert.
368:
369: MenuMouse
370: Determines the color of the mouse cursor while it is
371: within the menu. Any valid _X color may be used.
372: The default value is black.
373:
374: MenuBackground
375: Determines the menu background color. Any valid _X
376: color may be used. The default value is white.
377:
378: MenuInactivePattern
379: Determines which of the five possible bitmap pat-
380: terns will be used to tile inactive panes. One of:
381: dimple1, dimple3, gray1, gray3, cross_weave. The
382: default value is gray3.
383:
384: PaneStyle
385: Determines the display style of all menu panes. One
386: of: flush_left, flush_right, center. The default
387: value is center.
388:
389:
390:
391:
392:
393: Printed 9/15/87 25 January 1986 6
394:
395:
396:
397:
398:
399:
400: X(1) UNIX Programmer's Manual X(1)
401:
402:
403:
404: PaneFont
405: Determines the font used for the label (heading
406: text) of each pane. Any valid _X font may be used.
407: The default value is 8x13.
408:
409: PaneForeground
410: Determines the pane foreground color. This is the
411: color used for the label (heading text) in each
412: pane. Any valid _X color may be used. The default
413: value is black.
414:
415: PaneBorder
416: Determines the color of all menu pane borders. Any
417: valid _X color may be used. The default value is
418: black.
419:
420: PaneBorderWidth
421: Determines the width (in pixels) of all menu pane
422: borders. Any integer greater than or equal to 0 may
423: be used. The default value is 2.
424:
425: PaneSpread
426: Determines the horizontal spread of menu panes. Any
427: double greater than or equal to 0.0 may be used. A
428: value of 1.0 specifies a one to one ratio between
429: horizontal spread and vertical spread. A value less
430: than 1.0 will compress the menu panes inward and a
431: value greater than 1.0 will expand them outward.
432: The default value is 1.0.
433:
434: SelectionStyle
435: Determines the display style of all menu selections.
436: One of: flush_left, flush_right, center. The
437: default value is flush_left.
438:
439: SelectionFont
440: Determines the font used for the text in each selec-
441: tion. Any valid X font may be used. The default
442: value is 6x10.
443:
444: SelectionForeground
445: Determines the selection foreground color. This is
446: the color used for the text in each selection. Any
447: valid _X color may be used. The default value is
448: black.
449:
450: SelectionBorder
451: Determines the color of all menu selection borders.
452: Any valid _X color may be used. The default value is
453: black.
454:
455:
456:
457:
458:
459: Printed 9/15/87 25 January 1986 7
460:
461:
462:
463:
464:
465:
466: X(1) UNIX Programmer's Manual X(1)
467:
468:
469:
470: SelectionBorderWidth
471: Determines the width (in pixels) of all menu selec-
472: tion borders. Any integer greater than or equal to
473: 0 may be used. The default value is 1.
474:
475: SelectionSpread
476: Determines the inter-selection spread. Any double
477: greater than or equal to 0.0 may be used. A value
478: of 1.0 specifies that 1.0 times the height of the
479: current selection font will be used for padding The
480: default value is 0.25.
481:
482: SEE ALSO
483: X(8c), xterm(1), bitmap(1), xwm(1), xnwm(1), xhost(1),
484: xclock(1), xload(1), xset(1), keycomp(1), xdemo(1), biff(1),
485: qv(4), vs(4), init(8), ttys(5), uwm(1), xrefresh(1),
486: xwininfo(1), ximpv(1), xdvi(1), pikapix(1), xwd(1), xwud(1),
487: xinit(1), xted(1), xdemo(1), Xqvss(8c), Xvs100(8c),
488: Xsun(8c), Xnest(8c)
489: `Xlib - C Language X Interface'
490:
491: AUTHORS
492: It is no longer feasible to list all people who have contri-
493: buted something to X; below is a short list of people who
494: have added significant code to device independent parts of
495: X.
496: Bob Scheifler (MIT-LCS), Jim Gettys (MIT-Project Athena,
497: DEC), Mark Vandevoorde (MIT-Project Athena, DEC), Tony Della
498: Fera (MIT-Project Athena, DEC), Ron Newman (MIT-Project
499: Athena, MIT), Shane Hartman and Stuart Malone (MIT-LCS),
500: Doug Mink (Smithsonian Astrophysical Observatory), Bob
501: McNamara (DEC-MAD), and Stephen Sutphen (University of
502: Alberta).
503:
504: Special thanks must go to Paul Asente (of DECWRL and Stan-
505: ford University), who wrote "W" which saved us much time and
506: energy early in this project, and who is now an active X
507: contributor as well, and Chris Kent (of DECWRL and Purdue
508: University) who both struggled mightily (and won!) to turn
509: the Vs100 into something useful under Unix.
510:
511: We are very grateful for the interest shown by many groups
512: in the country, which has encouraged us to make X more than
513: our personal toy. Great thanks must go to Digital's Ultrix
514: Engineering Group for the QDSS implementation, and to
515: Digital's Workstations Group for the QVSS implementation.
516:
517:
518: Copyright (c) 1984, 1985, 1986 by Massachusetts Institute of
519: Technology.
520:
521: Permission to use, copy, modify, and distribute this
522:
523:
524:
525: Printed 9/15/87 25 January 1986 8
526:
527:
528:
529:
530:
531:
532: X(1) UNIX Programmer's Manual X(1)
533:
534:
535:
536: software and its documentation for any purpose and without
537: fee is hereby granted, provided that the above copyright
538: notice appear in all copies and that both that copyright
539: notice and this permission notice appear in supporting docu-
540: mentation, and that the name of M.I.T. not be used in
541: advertising or publicity pertaining to distribution of the
542: software without specific, written prior permission. M.I.T.
543: makes no representations about the suitability of this
544: software for any purpose. It is provided "as is" without
545: express or implied warranty.
546:
547: This software is not subject to any license of the American
548: Telephone and Telegraph Company or of the Regents of the
549: University of California.
550:
551:
552:
553:
554:
555:
556:
557:
558:
559:
560:
561:
562:
563:
564:
565:
566:
567:
568:
569:
570:
571:
572:
573:
574:
575:
576:
577:
578:
579:
580:
581:
582:
583:
584:
585:
586:
587:
588:
589:
590:
591: Printed 9/15/87 25 January 1986 9
592:
593:
594:
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.