|
|
1.1 ! root 1: .TH XNWM 1 "19 July 1985" "X Version 10" ! 2: .SH NAME ! 3: xnwm - X window system manager process ! 4: .SH SYNOPSIS ! 5: .B xnwm ! 6: [ -cmsnftv2 ] [ @\fIborder\fP ] [ %\fIiconDelta\fP ] ! 7: .br ! 8: [ fm=\fIfont\fP ] [ fi=\fIfont\fP ] [ fs=\fIfont\fP ] ! 9: .br ! 10: [ l=\fIop\fP ] [ m=\fIop\fP ] [ r=\fIop\fP ] ! 11: .br ! 12: [ \fIhost\fP:\fIdisplay\fP ] [ =\fIgeometry\fP ] ! 13: .SH DESCRIPTION ! 14: .PP ! 15: The window manager is a process that allows the user of a display running the ! 16: X window system to manipulate the windows on the screen. X implements the ! 17: `desktop model' of overlapping windows; ! 18: .I xnwm ! 19: allows windows to be moved, iconified, and resized, allows the order of the ! 20: windows in the `stack' of overlapping windows to be manipulated, and allows ! 21: the keyboard focus to be attached to a window. X allows windows to contain ! 22: other windows, but ! 23: .I xnwm ! 24: only manipulates the top-level windows and not any of the subwindows. ! 25: .PP ! 26: .I Xnwm ! 27: takes arguments ! 28: .I host ! 29: and ! 30: .I display, ! 31: which refer the the host and display number. ! 32: For example `xnwm amadeus:1' would start up the window manager ! 33: on display one on the machine amadeus. ! 34: By default, ! 35: .I xnwm ! 36: uses the host and display number stored in ! 37: the environment variable DISPLAY, and therefore they are not normally ! 38: specified. ! 39: .PP ! 40: .I Xnwm ! 41: has 2 modes of operation, `normal' and `popup', In normal mode ! 42: .I xnwm ! 43: creates a menu window across the top of the screen. To perform an ! 44: action, you click any mouse button in the appropriate menu box and then click ! 45: the same button in the window you wish to affect. ! 46: .I Xnwm ! 47: also reserves certain button/key ! 48: combinations and interprets them as operations on existing windows. ! 49: The key combination is specified in the command line with some subset of ! 50: the options: ! 51: .B -c ! 52: (Control), ! 53: .B -m ! 54: (Meta), and ! 55: .B -s ! 56: (Shift). For example, if you specify the options ! 57: .B -cm ! 58: then the Control and Meta keys must be down at the time a mouse button is ! 59: depressed. ! 60: The option ! 61: .B -n ! 62: (None) means that no buttons need be held down. This is discouraged ! 63: since it means that applications will never receive unshifted mouse ! 64: clicks. ! 65: If no combination is specified in the command line, Meta is assumed. ! 66: Note: the key combination is not necessary when using functions from the ! 67: menu; it is only needed with the assigned button functions to distinguish ! 68: window manager operations from operations destined for the application ! 69: running within the window. ! 70: .PP ! 71: The window manager normally takes control of the screen at various ! 72: times to assure that the screen image remains correct while performing ! 73: window manager operations. When this happens, requests from other ! 74: applications are temporarily suspended until the window manager ! 75: finishes the operation. The option ! 76: .B -f ! 77: (no freeze) disables this. If this option is specified, window ! 78: outlines for ! 79: .I Move ! 80: and ! 81: .I Resize ! 82: will flicker rather than remaining solid, and the background behind ! 83: popup windows (see later) will take longer to redraw. ! 84: .PP ! 85: The options ! 86: .B -t ! 87: (thin), ! 88: .B -v ! 89: (vertical), and ! 90: .B -2 ! 91: (2 rows) control the format of the menu bar. In the absence of any of ! 92: these, the menu extends across the entire screen. If the ! 93: .B -t ! 94: option is given, the menu bar will not extend fully across the screen; ! 95: instead there will be room at the right (convenient for, for example, a clock ! 96: window). If the ! 97: .B -v ! 98: option is used, the menu windows are stacked vertically instead of spread ! 99: horizontally. The ! 100: .B -2 ! 101: option causes the menu windows to be in two rows, allowing room for a ! 102: terminal window the height of the screen while still allowing menu access. ! 103: Either of the last two options automatically selects the ! 104: .B -t ! 105: option. The menu is located in the upper left corner of the screen by ! 106: default, but its location can be set with the ! 107: .B =\fIgeometry\fP ! 108: option as usual with X applications. (Notice that there is no size ! 109: component, position information is used only.) ! 110: .PP ! 111: .I Xnwm ! 112: will use reverse video for the menu, the cursor, icon text, and the ! 113: frame around selected windows if the ! 114: .B -r ! 115: (reverse) option is used. ! 116: .PP ! 117: The border width around selected windows can be changed with the ! 118: .B @ ! 119: argument; the default is 5 pixels. ! 120: .PP ! 121: The default font for displaying text is ``8x13''. You can specify a different ! 122: font with the ! 123: .B fm= ! 124: (Menu font), ! 125: .B fi= ! 126: (Icon font), and the ! 127: .B fs= ! 128: (Size window font) options. ! 129: .PP ! 130: Initially, the left, middle, and right mouse buttons are bound to the ! 131: operations ! 132: .I Select, Raise, ! 133: and ! 134: .I Move. ! 135: You can change these bindings with ! 136: the ! 137: .B l= ! 138: (left), ! 139: .B m= ! 140: (middle), and ! 141: .B r= ! 142: (right) arguments. Each should be followed by one of the letters "srmilzc", ! 143: representing, respectively, ! 144: .I Select, Raise, Move, Iconify, Lower, resiZe, ! 145: and ! 146: .I Circulate. ! 147: They may also be followed by nothing, in which case no function ! 148: is bound to that key. ! 149: .PP ! 150: Clicking any button that is not bound to the ! 151: .I Select ! 152: function in the background will cause the menu window to become ! 153: visible if it has become covered by other windows. Double clicking the ! 154: background will cause the menu to move back to its original position. ! 155: .PP ! 156: In popup mode, the menu window is not normally displayed, but instead `pops ! 157: up' when a particular button is pressed. To get popup mode, bind the letter ! 158: ``p'' to any of the three buttons as described above. (You may also bind the ! 159: other buttons as desired.) Whenever the bound button is clicked while the ! 160: appropriate combination of control, meta, and shift keys is depressed, or ! 161: any time a button that is not bound to the ! 162: .I Select ! 163: function is clicked in the background, the menu will appear beneath ! 164: the cursor. You may then select any menu function you wish; after the ! 165: operation is completed the menu will disappear. To make the menu disappear ! 166: without performing any operation, just move the cursor out of the menu area. ! 167: Note: the mouse button bound to the popup function may not be rebound using ! 168: .B Assign. ! 169: Using popup mode with complicated screen images and with no freeze (the ! 170: .B -f ! 171: option) may cause some difficulties ! 172: if the menu obscures the image, since the applications will have to redraw ! 173: their windows after the menu goes away. ! 174: .PP ! 175: The available commands are described below. For any of these ! 176: commands, if you press a button to start a command, and then want to abort ! 177: the command, simply press one of the other buttons before releasing the ! 178: first button. ! 179: .PP ! 180: .B Select ! 181: attaches the keyboard to a window, i.e., keyboard input will go ! 182: to that window (hierarchy) even when the mouse is outside the window. ! 183: It also ! 184: .B Raises ! 185: the selected window. Selecting the background will detach the keyboard from ! 186: any window (actually, it attaches it to the background window). If no window ! 187: is selected the keyboard input will go to the window which currently contains ! 188: the mouse cursor. The selected window is highlighted by drawing a partial ! 189: frame around the window. Selecting an icon allows the icon name to be ! 190: edited: the delete key deletes the last character, control-U deletes the ! 191: entire name, and other characters are appended to the current name. Typing a ! 192: return restores the input focus to the most recent non-icon window selected. ! 193: .PP ! 194: .B Raise ! 195: raises the window to the top of any stack of overlapping windows. ! 196: .PP ! 197: .B Move ! 198: is used to move a window. ! 199: If you apply it to a window, an outline will be moved with ! 200: the mouse; when you release the button, the window will be moved. ! 201: .PP ! 202: .B (De)Iconify ! 203: will make a window into an icon. If the mouse is moved more than a threshold ! 204: amount, or this is the first time the window has been iconified, the icon will ! 205: appear at the location on the screen where the button is released. Otherwise, ! 206: the icon will reappear at its previous location. This threshold may be ! 207: changed with the ! 208: %\fIiconDelta\fP ! 209: option. Giving a negative value will disable this effect. The default is 5 ! 210: pixels. ! 211: .B (De)Iconify ! 212: will make the original window reappear at its former position on the screen ! 213: if it is applied to an icon. The name displayed in the icon can be edited by ! 214: .B Selecting ! 215: the icon. ! 216: .PP ! 217: .B Lower ! 218: will `push' the window you point at to the bottom of any ! 219: stack of overlapping windows. ! 220: .PP ! 221: .B Resize ! 222: is used to resize a window by moving a corner or an edge. ! 223: If you apply it to a window, a rubber banded outline of the window will be ! 224: displayed and moving the mouse will change its size, leaving the opposite ! 225: corner or other edges fixed. The corner or edge to be moved depends on the ! 226: where the mouse is when the button is pressed. Imagine the window divided ! 227: with grid of nine rectangles. If the mouse is in one of the four corner ! 228: rectangles or the center rectangle, then the corner closest to the mouse ! 229: will be moved; otherwise, the closest edge will be moved. When the button ! 230: is released, the window will be resized. ! 231: .PP ! 232: .B Circulate ! 233: causes the lowest window in the stack of overlapping windows to be ! 234: .B Raised ! 235: ; successive applications will reveal every window in turn. ! 236: .PP ! 237: .B Assign ! 238: allows you to change the button bindings; to use it click any button in the ! 239: Assign menu window and then click the same button in any other function to ! 240: assign that function to that button. To remove the assignment from a button, ! 241: double click the ! 242: .B Assign ! 243: window. ! 244: .SH X DEFAULTS AND OPTION SUMMARY ! 245: .TP 8 ! 246: .B MenuFont (fm=\fIname\fP) ! 247: Set the default font for the menu. ! 248: .TP 8 ! 249: .B SizeFont (fs=\fIname\fP) ! 250: Set the default font for the size window. ! 251: .TP 8 ! 252: .B IconFont (fi=\fIname\fP) ! 253: Set the default font for icons. ! 254: .\" The @ causes problems in a .TP, so the next one is done out by hand ! 255: .PP ! 256: .B FrameWidth (@\fIvalue\fP) ! 257: .RS 8 ! 258: Set the width of the frame around selected windows. ! 259: .RE ! 260: .TP 8 ! 261: .B IconifyDelta (%\fIvalue\fP) ! 262: Set the threshold for moving icons. ! 263: .TP 8 ! 264: .B ReverseVideo (-r) ! 265: Sets reverse video for the menu, icons, selection border, and cursor. ! 266: .TP 8 ! 267: .B MenuFormat (-tv2) ! 268: Sets the format of the menu; should be some subset of ! 269: .B tv2 ! 270: meaning thin, vertical, or 2 rows. ! 271: .TP 8 ! 272: .B Freeze (-f) ! 273: If set to ``off'', disables ! 274: .I xnwm ! 275: taking control of the screen during operations. ! 276: .TP 8 ! 277: .B KeyCombination (-csmln) ! 278: Sets the keys required to specify ! 279: .I xnwm ! 280: operations; should be some subset of ! 281: .B csmln ! 282: meaning control, shift, meta, lock, and none. ! 283: .TP 8 ! 284: .B LeftButton (l=value) ! 285: Sets the default left button function; should be one of ! 286: .B srmilzcp ! 287: .TP 8 ! 288: .B MiddleButton (m=value) ! 289: Sets the default middle button function; should be one of ! 290: .B srmilzcp ! 291: .TP 8 ! 292: .B RightButton (r=value) ! 293: Sets the default right button function; should be one of ! 294: .B srmilzcp ! 295: .TP 8 ! 296: .B Geometry (={+-}xoff{+-}yoff) ! 297: Sets the location of the menu. ! 298: .SH FILES ! 299: .nf ! 300: .ta \w'/usr/athena/lib/vs/font 'u ! 301: /usr/new/lib/X/font directory of fonts ! 302: .fi ! 303: .SH ENVIRONMENT ! 304: DISPLAY - to get default host and display number ! 305: .SH "SEE ALSO" ! 306: X(8C) ! 307: .SH AUTHOR ! 308: Paul Asente, Stanford University, using some algorithms originally by ! 309: Bob Scheifler, MIT Laboratory for Computer Science
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.