|
|
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.