|
|
1.1 ! root 1: ! 2: ! 3: ! 4: UWM(1) UNIX Programmer's Manual UWM(1) ! 5: ! 6: ! 7: ! 8: NAME ! 9: uwm - Window Manager Client Application of X ! 10: ! 11: SYNTAX ! 12: uwm [-f _f_i_l_e_n_a_m_e] ! 13: ! 14: DESCRIPTION ! 15: The _u_w_m command is a window manager client application of ! 16: the window server. ! 17: ! 18: When the command is invoked, it traces a predefined search ! 19: path to locate any _u_w_m startup files. If no startup files ! 20: exist, _u_w_m initializes its built-in default file. ! 21: ! 22: If startup files exist in any of the following locations, it ! 23: adds the variables to the default variables. In the case of ! 24: contention, the variables in the last file found override ! 25: previous specifications. Files in the _u_w_m search path are: ! 26: ! 27: /_u_s_r/_n_e_w/_l_i_b/_X/_u_w_m/_s_y_s_t_e_m._u_w_m_r_c ! 28: $_H_O_M_E/._u_w_m_r_c ! 29: ! 30: To use only the settings defined in a single startup file, ! 31: include the variables, resetbindings, resetmenus, resetvari- ! 32: ables at the top of that specific startup file. ! 33: ! 34: ARGUMENTS ! 35: -f _f_i_l_e_n_a_m_e ! 36: Names an alternate file as a _u_w_m startup file. ! 37: ! 38: STARTUP FILE VARIABLES ! 39: Variables are typically entered first, at the top of the ! 40: startup file. By convention, resetbindings, resetmenus, and ! 41: resetvariables head the list. ! 42: ! 43: autoselect/noautoselect ! 44: places menu cursor in first menu item. If ! 45: unspecified, menu cursor is placed in the ! 46: menu header when the menu is displayed. ! 47: ! 48: delta=_p_i_x_e_l_s indicates the number of pixels the cursor is ! 49: moved before the action is interpreted by the ! 50: window manager as a command. (Also refer to ! 51: the delta mouse action.) ! 52: ! 53: freeze/nofreeze ! 54: locks all other client applications out of ! 55: the server during certain window manager ! 56: tasks, such as move and resize. ! 57: ! 58: grid/nogrid displays a finely-ruled grid to help you ! 59: position an icon or window during resize or ! 60: ! 61: ! 62: ! 63: Printed 9/15/87 27 January 1986 1 ! 64: ! 65: ! 66: ! 67: ! 68: ! 69: ! 70: UWM(1) UNIX Programmer's Manual UWM(1) ! 71: ! 72: ! 73: ! 74: move operations. ! 75: ! 76: hiconpad=_n indicates the number of pixels to pad an icon ! 77: horizontally. The default is five pixels. ! 78: ! 79: hmenupad=_n indicates the amount of space in pixels, that ! 80: each menu item is padded above and below the ! 81: text. ! 82: ! 83: iconfont=_f_o_n_t_n_a_m_e ! 84: names the font that is displayed within ! 85: icons. Font names are listed in the font ! 86: directory, /_u_s_r/_n_e_w/_l_i_b/_X/_f_o_n_t. ! 87: ! 88: maxcolors=_n limits the number of colors the window ! 89: manager can use in a given invocation. If set ! 90: to zero, or not specified, _u_w_m assumes no ! 91: limit to the number of colors it can take ! 92: from the color map. maxcolors counts colors ! 93: as they are included in the file. ! 94: ! 95: normali/nonormali ! 96: places icons created with f.newiconify within ! 97: the root window, even if it is placed par- ! 98: tially off the screen. With nonormali the ! 99: icon is placed exactly where the cursor ! 100: leaves it. ! 101: ! 102: normalw/nonormalw ! 103: places window created with f.newiconify ! 104: within the root window, even if it is placed ! 105: partially off the screen. With nonormalw the ! 106: window is placed exactly where the cursor ! 107: leaves it. ! 108: ! 109: push=_n moves a window _n number of pixels or a rela- ! 110: tive amount of space, depending on whether ! 111: pushabsolute or pushrelative is specified. ! 112: Use this variable in conjunction with ! 113: f.pushup, f.pushdown, f.pushright, or ! 114: f.pushleft. ! 115: ! 116: pushabsolute/pushrelative ! 117: pushabsolute indicates that the number ! 118: entered with push is equivalent to pixels. ! 119: When an f.push (left, right, up, or down) ! 120: function is called, the window is moved ! 121: exactly that number of pixels. ! 122: ! 123: pushrelative indicates that the number ! 124: entered with the push variable represents a ! 125: relative number. When an f.push function is ! 126: ! 127: ! 128: ! 129: Printed 9/15/87 27 January 1986 2 ! 130: ! 131: ! 132: ! 133: ! 134: ! 135: ! 136: UWM(1) UNIX Programmer's Manual UWM(1) ! 137: ! 138: ! 139: ! 140: called, the window is invisibly divided into ! 141: the number of parts you entered with the push ! 142: variable, and the window is moved one part. ! 143: ! 144: resetbindings, resetmenus, and resetvariables ! 145: resets all previous function bindings, menus, ! 146: and variables entries, specified in any ! 147: startup file in the _u_w_m search path, includ- ! 148: ing those in the default environment. By ! 149: convention, these variables are entered first ! 150: in the startup file. ! 151: ! 152: resizefont=_f_o_n_t_n_a_m_e ! 153: identifies the font of the indicator that ! 154: displays in the corner of the window as you ! 155: resize windows. See the /_u_s_r/_n_e_w/_l_i_b/_X/_f_o_n_t ! 156: directory for a list of fonts. ! 157: ! 158: reverse/noreverse ! 159: defines the display as black characters on a ! 160: white background for the window manager win- ! 161: dows and icons. ! 162: ! 163: viconpad=_n indicates the number of pixels to pad an icon ! 164: vertically. Default is five pixels. ! 165: ! 166: vmenupad=_n indicates the amount of space in pixels that ! 167: the menu is padded on the right and left of ! 168: the text. ! 169: ! 170: volume=_n increases or decreases the base level volume ! 171: set by the _x_s_e_t(_1) command. Enter an integer ! 172: from 0 to 7, 7 being the loudest. ! 173: ! 174: zap/nozap causes ghost lines to follow the window or ! 175: icon from its previous default location to ! 176: its new location during a move or resize ! 177: operation. ! 178: ! 179: BINDING SYNTAX ! 180: "_f_u_n_c_t_i_o_n=[_c_o_n_t_r_o_l _k_e_y(_s)]:[_c_o_n_t_e_x_t]:_m_o_u_s_e _e_v_e_n_t_s:" _m_e_n_u ! 181: _n_a_m_e " ! 182: ! 183: Function and mouse events are required input. Menu name is ! 184: required with the _f._m_e_n_u function definition only. ! 185: ! 186: Function ! 187: f.beep emits a beep from the keyboard. Loudness is ! 188: determined by the volume variable. ! 189: ! 190: f.circledown causes the top window that is obscuring ! 191: another window to drop to the bottom of the ! 192: ! 193: ! 194: ! 195: Printed 9/15/87 27 January 1986 3 ! 196: ! 197: ! 198: ! 199: ! 200: ! 201: ! 202: UWM(1) UNIX Programmer's Manual UWM(1) ! 203: ! 204: ! 205: ! 206: stack of windows. ! 207: ! 208: f.circleup exposes the lowest window that is obscured by ! 209: other windows. ! 210: ! 211: f.continue releases the window server display action ! 212: after you stop action with the f.pause func- ! 213: tion. ! 214: ! 215: f.focus directs all keyboard input to the selected ! 216: window. To reset the focus to all windows, ! 217: invoke _f._f_o_c_u_s from the root window. ! 218: ! 219: f.iconify when implemented from a window, this function ! 220: converts the window to its respective icon. ! 221: When implemented from an icon, f.iconify con- ! 222: verts the icon to its respective window. ! 223: ! 224: f.lower lowers a window that is obstructing a window ! 225: below it. ! 226: ! 227: f.menu invokes a menu. Enclose `menu name' in ! 228: quotes if it contains blank characters or ! 229: parentheses. ! 230: ! 231: f.menu=[_c_o_n_t_r_o_l _k_e_y(_s)]:[_c_o_n_t_e_x_t ]:_m_o_u_s_e _e_v_e_n_t_s:" _m_e_n_u _n_a_m_e " ! 232: ! 233: ! 234: f.move moves a window or icon to a new location, ! 235: which becomes the default location. ! 236: ! 237: f.moveopaque moves a window or icon to a new screen loca- ! 238: tion. When using this function, the entire ! 239: window or icon is moved to the new screen ! 240: location. The grid effect is not used with ! 241: this function. ! 242: ! 243: f.newiconify allows you to create a window or icon and ! 244: then position the window or icon in a new ! 245: default location on the screen. ! 246: ! 247: f.pause temporarily stops all display action. To ! 248: release the screen and immediately update all ! 249: windows, use the f.continue function. ! 250: ! 251: f.pushdown moves a window down. The distance of the push ! 252: is determined by the push variables. ! 253: ! 254: f.pushleft moves a window to the left. The distance of ! 255: the push is determined by the push variables. ! 256: ! 257: f.pushright moves a window to the right. The distance of ! 258: ! 259: ! 260: ! 261: Printed 9/15/87 27 January 1986 4 ! 262: ! 263: ! 264: ! 265: ! 266: ! 267: ! 268: UWM(1) UNIX Programmer's Manual UWM(1) ! 269: ! 270: ! 271: ! 272: the push is determined by the push variables. ! 273: ! 274: f.pushup moves a window up. The distance of the push ! 275: is determined by the push variables. ! 276: ! 277: f.raise raises a window that is being obstructed by a ! 278: window above it. ! 279: ! 280: f.refresh results in exposure events being sent to the ! 281: window server clients for all unobscured or ! 282: partially obscured windows. The windows will ! 283: not refresh correctly if the exposure events ! 284: are not handled properly. ! 285: ! 286: f.resize resizes an existing window. Note that some ! 287: clients, notably editors, react unpredictably ! 288: if you resize the window while the client is ! 289: running. ! 290: ! 291: f.restartn causes the window manager application to res- ! 292: tart, retracing the _u_w_m search path and ini- ! 293: tializing the variables it finds. ! 294: ! 295: Control Keys ! 296: By default, the window manager uses meta as its control key. ! 297: It can also use ctrl, shift, lock, or null (no control key). ! 298: Control keys must be entered in lower case, and can be ! 299: abbreviated as: c, l, m, s for ctrl, lock, meta, and shift, ! 300: respectively. ! 301: ! 302: You can bind one, two, or no control keys to a function. Use ! 303: the bar (|) character to combine control keys. ! 304: ! 305: Note that client applications other than the window manager ! 306: use the shift as a control key. If you bind the shift key ! 307: to a window manager function, you can not use other client ! 308: applications that require this key. ! 309: ! 310: Context ! 311: The context refers to the screen location of the cursor when ! 312: a command is initiated. When you include a context entry in ! 313: a binding, the cursor must be in that context or the func- ! 314: tion will not be activated. The window manager recognizes ! 315: the following four contexts: icon, window, root, (null). ! 316: ! 317: The root context refers to the root, or background window, A ! 318: (null) context is indicated when the context field is left ! 319: blank, and allows a function to be invoked from any screen ! 320: location. Combine contexts using the bar (|) character. ! 321: ! 322: Mouse Buttons ! 323: ! 324: ! 325: ! 326: ! 327: Printed 9/15/87 27 January 1986 5 ! 328: ! 329: ! 330: ! 331: ! 332: ! 333: ! 334: UWM(1) UNIX Programmer's Manual UWM(1) ! 335: ! 336: ! 337: ! 338: Any of the following mouse buttons are accepted in lower ! 339: case and can be abbreviated as l, m, or r, respectively: ! 340: left, middle, right. ! 341: ! 342: With the specific button, you must identify the action of ! 343: that button. Mouse actions can be: ! 344: ! 345: down function occurs when the specified button is ! 346: pressed down. ! 347: ! 348: up function occurs when the specified button is ! 349: released. ! 350: ! 351: delta indicates that the mouse must be moved the number ! 352: of pixels specified with the delta variable before ! 353: the specified function is invoked. The mouse can ! 354: be moved in any direction to satisfy the delta ! 355: requirement. ! 356: ! 357: MENU DEFINITION ! 358: After binding a set of function keys and a menu name to ! 359: f.menu, you must define the menu to be invoked, using the ! 360: following syntax: ! 361: ! 362: menu = " _m_e_n_u _n_a_m_e " { ! 363: "_i_t_e_m _n_a_m_e" : "_a_c_t_i_o_n" ! 364: . ! 365: . ! 366: . ! 367: } ! 368: ! 369: ! 370: Enter the menu name exactly the way it is entered with the ! 371: f.menu function or the window manager will not recognize the ! 372: link. If the menu name contains blank strings, tabs or ! 373: parentheses, it must be quoted here and in the f.menu func- ! 374: tion entry. You can enter as many menu items as your screen ! 375: is long. You cannot scroll within menus. ! 376: ! 377: Any menu entry that contains quotes, special characters, ! 378: parentheses, tabs, or strings of blanks must be enclosed in ! 379: double quotes. Follow the item name by a colon (:). ! 380: ! 381: Menu Action ! 382: Window manager functions ! 383: Any function previously described. E.g., f.move ! 384: or f.iconify. ! 385: ! 386: Shell commands ! 387: Begin with an exclamation point (!) and set to run ! 388: in background. You cannot include a new line ! 389: character within a shell command. ! 390: ! 391: ! 392: ! 393: Printed 9/15/87 27 January 1986 6 ! 394: ! 395: ! 396: ! 397: ! 398: ! 399: ! 400: UWM(1) UNIX Programmer's Manual UWM(1) ! 401: ! 402: ! 403: ! 404: Text strings ! 405: Text strings are placed in the window server's cut ! 406: buffer. ! 407: ! 408: Strings with a new line character must begin with ! 409: an up arrow (^), which is stripped during the copy ! 410: operation. ! 411: ! 412: Strings without a new line must begin with the bar ! 413: character (|), which is stripped during the copy ! 414: operation. ! 415: ! 416: Color Menus ! 417: Use the following syntax to add color to menus: ! 418: ! 419: menu = "_m_e_n_u _n_a_m_e" (_c_o_l_o_r_1:_c_o_l_o_r_2:_c_o_l_o_r_3:_c_o_l_o_r_4) { ! 420: "_i_t_e_m _n_a_m_e" : (_c_o_l_o_r_5 :_c_o_l_o_r_6) : " _a_c_t_i_o_n " ! 421: . ! 422: . ! 423: . ! 424: } ! 425: ! 426: ! 427: color1 Foreground color of the header. ! 428: ! 429: color2 Background color of the header. ! 430: ! 431: color3 Foreground color of the highlighter, the horizon- ! 432: tal band of color that moves with the cursor ! 433: within the menu. ! 434: ! 435: color4 Background color of the highlighter. ! 436: ! 437: color5 Foreground color for the individual menu item. ! 438: ! 439: color6 Background color for the individual menu item. ! 440: ! 441: Color Defaults ! 442: Colors default to the colors of the root window under any of ! 443: the following conditions: ! 444: ! 445: 1) If you run out of color map entries, either before or ! 446: during an invocation of _u_w_m. ! 447: ! 448: 2) If you specify a foreground or background color that ! 449: does not exist in the RGB color database (/_u_s_r/_l_i_b/_r_g_b._t_x_t) ! 450: both the foreground and background colors default to the ! 451: root window colors. ! 452: ! 453: 3) If you omit a foreground or background color, both the ! 454: foreground and background colors default to the root window ! 455: colors. ! 456: ! 457: ! 458: ! 459: Printed 9/15/87 27 January 1986 7 ! 460: ! 461: ! 462: ! 463: ! 464: ! 465: ! 466: UWM(1) UNIX Programmer's Manual UWM(1) ! 467: ! 468: ! 469: ! 470: 4) If the total number of colors specified in the startup ! 471: file exceeds the number specified in the _m_a_x_c_o_l_o_r_s variable. ! 472: ! 473: 5) If you specify no colors in the startup file. ! 474: ! 475: EXAMPLES ! 476: The following sample startup file shows the default window ! 477: manager options: ! 478: ! 479: # Global variables ! 480: # ! 481: resetbindings;resetvariables;resetmenus ! 482: autoselect ! 483: delta=25 ! 484: freeze ! 485: grid ! 486: hiconpad=5 ! 487: hmenupad=6 ! 488: iconfont=oldeng ! 489: menufont=timrom12b ! 490: resizefont=9x15 ! 491: viconpad=5 ! 492: vmenupad=3 ! 493: volume=7 ! 494: # ! 495: # Mouse button/key maps ! 496: # ! 497: # FUNCTION KEYS CONTEXT BUTTON MENU(if any) ! 498: # ======== ==== ======= ====== ============ ! 499: f.menu = meta : :left down :"WINDOW OPS" ! 500: f.menu = meta : :middle down :"EXTENDED WINDOW OPS" ! 501: f.move = meta :w|i :right down ! 502: f.circleup = meta :root :right down ! 503: # ! 504: # Menu specifications ! 505: # ! 506: menu = "WINDOW OPS" { ! 507: "(De)Iconify": f.iconify ! 508: Move: f.move ! 509: Resize: f.resize ! 510: Lower: f.lower ! 511: Raise: f.raise ! 512: } ! 513: ! 514: menu = "EXTENDED WINDOW OPS" { ! 515: Create Window: !"xterm &" ! 516: Iconify at New Position: f.lowericonify ! 517: Focus Keyboard on Window: f.focus ! 518: Freeze All Windows: f.pause ! 519: Unfreeze All Windows: f.continue ! 520: Circulate Windows Up: f.circleup ! 521: Circulate Windows Down: f.circledown ! 522: ! 523: ! 524: ! 525: Printed 9/15/87 27 January 1986 8 ! 526: ! 527: ! 528: ! 529: ! 530: ! 531: ! 532: UWM(1) UNIX Programmer's Manual UWM(1) ! 533: ! 534: ! 535: ! 536: } ! 537: ! 538: ! 539: RESTRICTIONS ! 540: The color specifications have no effect on a monochrome sys- ! 541: tem. ! 542: ! 543: FILES ! 544: /usr/lib/rgb.txt ! 545: /usr/new/lib/X/font ! 546: /usr/skel/.uwmrc ! 547: /usr/new/lib/X/uwm/system.uwmrc ! 548: $HOME/.uwmrc ! 549: ! 550: SEE ALSO ! 551: X(1), X(8C) ! 552: ! 553: AUTHOR ! 554: COPYRIGHT 1985, 1986 ! 555: DIGITAL EQUIPMENT CORPORATION ! 556: MAYNARD, MASSACHUSETTS ! 557: ALL RIGHTS RESERVED. ! 558: ! 559: THE INFORMATION IN THIS SOFTWARE IS SUBJECT TO CHANGE ! 560: WITHOUT NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT ! 561: BY DIGITAL EQUIPMENT CORPORATION. DIGITAL MAKES NO ! 562: REPRESENTATIONS ABOUT THE SUITIBILITY OF THIS SOFTWARE FOR ! 563: ANY PURPOSE. IT IS SUPPLIED "AS IS" WITHOUT EXPRESS OR ! 564: IMPLIED WARRANTY. ! 565: ! 566: IF THE SOFTWARE IS MODIFIED IN A MANNER CREATING DERIVATIVE ! 567: COPYRIGHT RIGHTS, APPROPRIATE LEGENDS MAY BE PLACED ON THE ! 568: DERIVATIVE WORK IN ADDITION TO THAT SET FORTH ABOVE. ! 569: ! 570: Permission to use, copy, modify, and distribute this ! 571: software and its documentation for any purpose and without ! 572: fee is hereby granted, provided that the above copyright ! 573: notice appear in all copies and that both that copyright ! 574: notice and this permission notice appear in supporting docu- ! 575: mentation, and that the name of Digital Equipment Corpora- ! 576: tion not be used in advertising or publicity pertaining to ! 577: distribution of the software without specific, written prior ! 578: permission. ! 579: ! 580: M. Gancarz, DEC Ultrix Engineering Group, Merrimack, New ! 581: Hampshire, using some algorithms originally by Bob ! 582: Scheifler, MIT Laboratory for Computer Science ! 583: ! 584: ! 585: ! 586: ! 587: ! 588: ! 589: ! 590: ! 591: Printed 9/15/87 27 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.