|
|
1.1 ! root 1: .TH WM 1 "13 June 1987" "X Version 11" ! 2: .UC 4 ! 3: .SH NAME ! 4: wm \- a simple real-estate-driven window manager ! 5: .SH SYNOPSIS ! 6: .B wm ! 7: .SH DESCRIPTION ! 8: .I Wm ! 9: is a very primitive overlapping window manager for ! 10: .I X11. ! 11: It was developed to help with the debugging of the ! 12: .I X11 ! 13: server and thus we do not advocate the user interface presented here as ! 14: a desired one. ! 15: .PP ! 16: .I Wm ! 17: decorates each mapped appliction window with a ! 18: banner. The banner consists of four fields. Left-to-right, they are: ! 19: .in 6 ! 20: .PP ! 21: .I Circulate button - ! 22: A command button which causes the window to change its position in the stacking ! 23: order. ! 24: .PP ! 25: .I Title region ! 26: - An area in which an applications name or other ! 27: specified information is displayed. It is also used by the user to move the ! 28: window. ! 29: .PP ! 30: .I Iconize button ! 31: - A command button which causes the window to be replaced by an icon. ! 32: .PP ! 33: .I Resize button ! 34: - A command button which allows the user to change the size of the window. ! 35: .in -6 ! 36: .PP ! 37: .I Wm ! 38: supports the following user actions: ! 39: .PP ! 40: Raising or lowering a window in the stack of windows ! 41: .br ! 42: .in 6 ! 43: Locating the mouse cursor in the Circulate box of a partially obscured window ! 44: and clicking with any mouse button will raise this window to the top of the ! 45: stack of windows so that it is no longer obscured. Locating a mouse cursor in the ! 46: Circulate box of a window which is currently on top of the window stack will ! 47: send the window to the bottom of the stack. ! 48: .in -6 ! 49: .PP ! 50: Iconizing a window ! 51: .br ! 52: .in 6 ! 53: Locating the mouse cursor in the Iconize box and clicking any mouse button ! 54: will cause the window to be unmapped, and the associated icon to become ! 55: mapped. The icon will appear at its last location, or, if this window has ! 56: never been iconized, under the cursor. However, if the client program ! 57: initially set an icon position in the WM_HINTS property, ! 58: then that icon position will be used instead as the initial icon position. ! 59: To position an icon ! 60: while iconizing the window, locate the cursor in the Iconize box and press ! 61: down any mouse button. A rubber-band outline of the icon will appear under the ! 62: cursor. While holding down the mouse button, drag the cursor to the desired ! 63: location for the icon. The outline will follow the cursor on the screen. ! 64: When the outline moves to the desired location for the icon, release the ! 65: mouse button. The client window will be unmapped, and its icon will appear ! 66: at the desired location. ! 67: To cancel this operation while ! 68: the mouse button is down, click another mouse button. ! 69: .in -6 ! 70: .PP ! 71: Deiconizing an icon ! 72: .br ! 73: .in 6 ! 74: Locating the mouse cursor in an icon and clicking any mouse button will cause ! 75: the icon to be unmapped, and the associated window to become mapped. ! 76: To cancel this operation while ! 77: the mouse button is down, click another mouse button. ! 78: .in -6 ! 79: .PP ! 80: Moving a window on the screen ! 81: .br ! 82: .in 6 ! 83: Locating mouse cursor in the area of the title region and pressing any mouse ! 84: button causes a "rubber-band" outline of the window to appear. ! 85: As the user moves ("drags") the cursor (while holding down the mouse button), ! 86: the outline moves accordingly. When the button is released, the ! 87: window is repainted in the last location of the rubber-band outline. ! 88: If the user presses another mouse button ! 89: during the drag, the operation is cancelled, the rubber-band outline ! 90: disappears, and the window is not moved. Note that a portion of the title ! 91: region is constrained to remain on the screen. ! 92: .in -6 ! 93: .PP ! 94: Resizing a window. ! 95: .br ! 96: .in 6 ! 97: Locating the mouse cursor in the resize box and pressing any mouse button ! 98: initiates the spring-loaded resize mode. Then as soon a the cursor ! 99: touches a border (while the mouse button is down), ! 100: that border becomes a rubber-band line which follows the ! 101: cursor until the button is released. If the cursor then touches an adjacent ! 102: border, that border also becomes a rubber-band line, and the window can be ! 103: resized in two dimensions at once. If the cursor touches a border after ! 104: having touched the opposite border, the first border touched reverts to its ! 105: original location, and the other one becomes a rubber-band line which follows ! 106: the cursor. If the user presses another mouse button ! 107: during the drag, the operation is cancelled, the rubber-band outline ! 108: disappears, and the window does not change size. Note that the mouse cursor ! 109: has to touch a border to initiate th resize action. As in the move operation, ! 110: a protion of the title region is constrained to remain on the screen. ! 111: .in -6 ! 112: .PP ! 113: Moving an icon on the screen ! 114: .br ! 115: .in 6 ! 116: To move an icon, press the Shift key and hold it, then position the mouse cursor ! 117: in the icon, press any mouse button, and proceed dragging an outline of the ! 118: icon around by moving the mouse cursor (with the mouse button down). When the ! 119: outline moves to the desired position, release the mouse button and the Shift key. ! 120: To cancel, click another mouse button during the drag; the icon will not move. ! 121: .in -6 ! 122: .SH NOTES FOR CLIENT PROGRAMS ! 123: .I Wm ! 124: uses the WM_ICON_NAME, WM_NAME, and WM_HINTS properties. It keeps ! 125: the name in the Title region updated as the WM_NAME property changes. It ! 126: keeps the name in the icon updated as the WM_ICON_NAME property changes; ! 127: if a client does not set the WM_ICON_NAME property, ! 128: .I wm ! 129: will use the WM_NAME property for the icon name. ! 130: .I Wm ! 131: allows only text icons, and sets the icon sizes to accommodate the icon name. ! 132: The maximum name length for both the icon name and the Title region name ! 133: is 100 characters. ! 134: .PP ! 135: Of the WMHints, ! 136: .I wm ! 137: ignores all but icon_x and icon_y, which it uses for initial icon placement. ! 138: These need to be set by the client before its window is mapped, because ! 139: .I wm ! 140: reads them only once, when it first encounters the window. ! 141: .SH ERRORS ! 142: If you try to run ! 143: .I wm ! 144: while you are already running a window manager, ! 145: .I wm ! 146: will let you know. ! 147: .SH AUTHOR ! 148: Hania Gajewska, DEC WSL ! 149: .SH BUGS ! 150: There are no known bugs. There are lots of lacking features.
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.