|
|
1.1 root 1: .de EX \"Begin example
2: .ne 5
3: .if n .sp 1
4: .if t .sp .5
5: .nf
6: .ft G \" Geneva regular
7: .in +.5i
8: ..
9: .de EE
10: .fi
11: .in -.5i
12: .if n .sp 1
13: .if t .sp .5
14: .ft 1
15: ..
16: .TH uwm 1
17: .SH NAME
18: .PP
19: uwm - Window Manager Client Application of X
20: .PP
21: .SH SYNTAX
22: .PP
23: \fBuwm [-f \fIfilename\fB]
24: .PP
25: .SH DESCRIPTION
26: .PP
27: The \fBuwm\fR command is a window manager client
28: application of the window
29: server.
30: .PP
31: When the command is invoked, it traces a predefined search path
32: to locate any \fBuwm\fR startup files. If no startup files
33: exist, \fBuwm\fR initializes its built-in default file.
34: .PP
35: If startup files exist in any of the following locations,
36: it adds the variables to the default variables.
37: In the case of contention, the variables in the last file found
38: override previous specifications. Files in the \fBuwm\fR
39: search path are:
40: /usr/new/lib/X/uwm/system.uwmrc
41: $HOME/.uwmrc
42: .PP
43: To use only the settings defined in a single startup file,
44: include the variables, \fBresetbindings, resetmenus, resetvariables\fR
45: at the top of that specific startup file.
46: .PP
47: .SH ARGUMENTS
48: .IP "-f \fIfilename\fR"
49: Names an alternate file as a
50: .B uwm
51: startup file.
52: .PP
53: .SH STARTUP FILE VARIABLES
54: .PP
55: Variables are typically entered first, at the top of the startup
56: file. By convention, resetbindings, resetmenus, and
57: resetvariables head the list.
58: .IP "autoselect/noautoselect" 15
59: places menu cursor in first menu item. If unspecified, menu
60: cursor is placed in the menu header when the menu is displayed.
61: .IP delta=\fIpixels\fR
62: indicates the number of pixels the cursor is moved
63: before the action is interpreted by the window manager as a command.
64: (Also refer to the \fBdelta\fR mouse action.)
65: .IP freeze/nofreeze
66: locks all other client applications
67: out of the server during certain window manager tasks, such as move
68: and resize.
69: .IP grid/nogrid
70: displays a finely-ruled grid to help
71: you position an icon or window during resize or move operations.
72: .IP "\fBhiconpad=\fIn\fR"
73: indicates the number of pixels to pad an icon horizontally.
74: The default is five pixels.
75: .IP "\fBhmenupad=\fIn\fR"
76: indicates the amount of space in pixels, that each menu item is
77: padded above and below the text.
78: .IP "\fBiconfont=\fIfontname\fR"
79: names the font that is displayed within icons.
80: Font names are listed in the font directory, /usr/new/lib/X/font.
81: .IP "maxcolors=\fIn\fR "
82: limits the number of colors the window manager can use in a
83: given invocation. If set to zero, or not specified,
84: \fBuwm\fR assumes no limit to the number of colors it can take from
85: the color map.
86: \fBmaxcolors\fR counts colors as they are included in the file.
87: .IP "normali/nonormali"
88: places icons created with \fBf.newiconify\fR within the root
89: window, even if it is placed partially off the screen. With
90: \fBnonormali\fR the icon is placed exactly where the cursor leaves it.
91: .IP "normalw/nonormalw"
92: places window created with \fBf.newiconify\fR within the root
93: window, even if it is placed partially off the screen. With
94: \fBnonormalw\fR the window is placed exactly where the cursor
95: leaves it.
96: .IP push=\fIn\fR
97: moves a window \fIn\fR number of pixels or a relative amount of
98: space, depending on whether \fBpushabsolute\fR or \fBpushrelative\fR
99: is specified.
100: Use this variable in conjunction with \fBf.pushup,
101: f.pushdown, f.pushright\fR, or \fBf.pushleft\fR.
102: .IP pushabsolute/pushrelative
103: \fBpushabsolute\fR indicates that the number entered with push is
104: equivalent to pixels.
105: When an f.push (left, right, up, or down) function is called,
106: the window is moved exactly that number of pixels.
107: .IP
108: \fBpushrelative\fR indicates that the number entered with the push variable
109: represents a relative number. When an f.push function is
110: called, the window is invisibly divided into the number
111: of parts you entered with the push variable, and the window
112: is moved one part.
113: .IP "resetbindings, resetmenus, and resetvariables"
114: resets all previous function bindings, menus, and
115: variables entries, specified in any startup file in the
116: \fBuwm\fR search path, including those in the default environment.
117: By convention, these variables are entered first in the startup
118: file.
119: .IP resizefont=\fIfontname\fR
120: identifies the font of the indicator that displays in the
121: corner of the window as you resize windows.
122: See the /usr/new/lib/X/font directory
123: for a list of fonts.
124: .IP reverse/noreverse
125: defines the display as black characters on a white
126: background for the window manager windows and icons.
127: .IP "\fBviconpad=\fIn\fB"
128: indicates the number of pixels to pad an icon vertically.
129: Default is five pixels.
130: .IP "\fvmenupad=\fIn\fR"
131: indicates the amount of space in pixels that the menu is
132: padded on the right and left of the text.
133: .IP volume=\fIn\fR
134: increases or decreases
135: the base level volume set by the
136: \fBxset\fR command. Enter an integer from
137: 0 to 7, 7 being the loudest.
138: .IP zap/nozap
139: causes ghost lines to follow the window or icon from
140: its previous default location to its new location during
141: a move or resize operation.
142: .PP
143: .SH BINDING SYNTAX
144: .PP
145: "\fIfunction\fR=[\fIcontrol key(s)\fR]:[\fIcontext\fR]:\fImouse events\fR:\fI" menu name "\fR
146: .PP
147: Function and mouse events are required input. Menu name is
148: required with the \fBf.menu\fR function definition only.
149: .PP
150: .SH Function
151: .IP "f.beep" 15
152: emits a beep from the keyboard. Loudness is determined by
153: the volume variable.
154: .IP f.circledown
155: causes the top window that is obscuring another
156: window to drop to the bottom of the stack of windows.
157: .IP f.circleup
158: exposes the lowest window that is obscured by other
159: windows.
160: .IP f.continue
161: releases the window server display action after you
162: stop action with the \fBf.pause\fR function.
163: .IP f.focus
164: directs all keyboard input to the selected window.
165: To reset the focus to all windows, invoke \fBf.focus\fR from the root
166: window.
167: .IP f.iconify
168: when implemented from a window, this function converts the window
169: to its respective icon. When implemented from an icon,
170: \fBf.iconify\fR converts the icon to its respective window.
171: .IP f.lower
172: lowers a window that is obstructing a window below it.
173: .IP f.menu
174: invokes a menu. Enclose \fImenu name\fR in quotes if it
175: contains blank characters or parentheses.
176: .EX 0
177: .B
178: f.menu=[\fIcontrol key(s)\fR]:[\fIcontext \fR]:\fImouse events\fR:\fI" menu name "\fR
179: .EE
180: .IP f.move
181: moves a window or icon to a new location, which becomes the
182: default location.
183: .IP f.moveopaque
184: moves a window or icon to a new screen location. When using this
185: function, the entire window or icon is moved to the new screen
186: location. The grid effect is not used with this function.
187: .IP f.newiconify
188: allows you to create a window or icon and then position the window or
189: icon in a new default location on the screen.
190: .IP f.pause
191: temporarily stops all display action. To release the screen and
192: immediately update all windows, use the \fBf.continue\fR function.
193: .IP f.pushdown
194: moves a window down.
195: The distance of the push is determined by the push variables.
196: .IP f.pushleft
197: moves a window to the left.
198: The distance of the push is determined by the push variables.
199: .IP f.pushright
200: moves a window to the right.
201: The distance of the push is determined by the push variables.
202: .IP f.pushup
203: moves a window up.
204: The distance of the push is determined by the push variables.
205: .IP f.raise
206: raises a window that is being obstructed by a window
207: above it.
208: .IP f.refresh
209: results in exposure events being sent to the window server clients
210: for all unobscured or partially obscured windows.
211: The windows will not refresh correctly if the exposure events
212: are not handled properly.
213: .IP f.resize
214: resizes an existing window. Note that some clients, notably
215: editors, react unpredictably if you resize the window while the
216: client is running.
217: .IP f.restart
218: causes the window manager application to restart,
219: retracing the \fBuwm\fR search path and initializing the variables it
220: finds.
221: .PP
222: .SH Control Keys
223: .PP
224: By default, the window manager uses meta as its control
225: key. It can also use ctrl, shift, lock, or null (no control key).
226: Control keys must be entered in lower case, and can be
227: abbreviated as: c, l, m, s for ctrl, lock, meta, and shift,
228: respectively.
229: .PP
230: You can bind one, two, or no control keys to a function.
231: Use the bar (|) character to combine control keys.
232: .PP
233: Note that client applications other than the window manager
234: use the shift as a control key. If you bind the shift key to a
235: window manager function, you can not use other client
236: applications that require this key.
237: .PP
238: .SH Context
239: .PP
240: The context refers to the screen location of the cursor when a
241: command is initiated. When you include a context entry in a
242: binding, the
243: cursor must be in that context or the function will not be
244: activated.
245: The window manager recognizes the following four contexts:
246: icon, window, root, (null).
247: .PP
248: The root context refers to the root, or background window,
249: A (null) context is indicated when the context field is left blank,
250: and allows a function to be invoked from any screen location.
251: Combine contexts using the bar (|) character.
252: .PP
253: .SH Mouse Buttons
254: .PP
255: Any of the following mouse buttons are accepted in
256: lowercase and can be abbreviated as l, m, or r, respectively: left,
257: middle, right.
258: .PP
259: With the specific button, you must identify
260: the action of that button. Mouse actions
261: can be:
262: .IP "down" 10
263: function occurs when the specified button is pressed down.
264: .IP up
265: function occurs when the specified button is released.
266: .IP "delta" 10
267: indicates that the mouse must be moved the number of pixels specified
268: with the delta variable before the specified function is invoked.
269: The mouse can be moved in any direction
270: to satisfy the delta requirement.
271: .PP
272: .SH MENU DEFINITION
273: .PP
274: After binding a set of function keys and a menu name to
275: \fBf.menu\fR, you must define the menu to be invoked, using the
276: following syntax:
277: .EX
278: .B
279: \fBmenu = " \fImenu name\fP " {
280: "\fIitem name\fR" : "\fIaction\fP"
281: .
282: .
283: .
284: }
285: .EE
286: .PP
287: Enter the menu name exactly the way it is entered with the
288: \fBf.menu\fR function or the window manager
289: will not recognize the link. If the menu name contains blank
290: strings, tabs or parentheses, it must be quoted here and in the
291: f.menu function entry.
292: You can enter as many menu items as your screen is long. You
293: cannot scroll within menus.
294: .PP
295: Any menu entry that contains quotes, special characters,
296: parentheses, tabs, or strings of blanks must be enclosed
297: in double quotes. Follow the item name by a colon (:).
298: .PP
299: .SH Menu Action
300: .IP "Window manager functions" 10
301: Any function previously described. E.g., \fBf.move\fR or \fBf.iconify\fR.
302: .IP "Shell commands"
303: Begin with an exclamation point (!) and set to run in
304: background. You cannot include a new line character within a shell
305: command.
306: .IP "Text strings"
307: Text strings are placed in the window server's cut buffer.
308: .IP
309: Strings with a new line character must begin with an
310: up arrow (^), which is stripped during the copy operation.
311: .IP
312: Strings without a new line must begin with the bar character (|),
313: which is stripped during the copy operation.
314: .PP
315: .SH Color Menus
316: .PP
317: Use the following syntax to add color to menus:
318: .EX
319: .B
320: \fBmenu = "\fImenu name\fR" (\fIcolor1:color2:color3:color4\fR) {
321: "\fIitem name\fR" : (\fIcolor5 :color6\fR) : "\fI action \fR"
322: .
323: .
324: .
325: }\fR
326: .EE
327: .IP "color1" 10
328: Foreground color of the header.
329: .IP color2
330: Background color of the header.
331: .IP color3
332: Foreground color of the highlighter, the horizontal band
333: of color that moves with the cursor within the menu.
334: .IP color4
335: Background color of the highlighter.
336: .IP "color5" 10
337: Foreground color for the individual menu item.
338: .IP color6
339: Background color for the individual menu item.
340: .PP
341: .SH Color Defaults
342: .PP
343: Colors default to the colors of the root window
344: under any of the following conditions:
345: .sp
346: 1) If you run out of color map entries, either before or during an
347: invocation of \fBuwm\fR.
348: .sp
349: 2) If you specify a foreground or background color that does
350: not exist in the RGB color database (/usr/lib/rgb.txt) both
351: the foreground and background colors default to the root window colors.
352: .sp
353: 3) If you omit a foreground or background color,
354: both the foreground and background colors default to the root
355: window colors.
356: .sp
357: 4) If the total number of colors specified in the startup file
358: exceeds the number specified in the \fBmaxcolors\fR variable.
359: .sp
360: 5) If you specify no colors in the startup file.
361: .PP
362: .bp
363: .SH EXAMPLES
364: .PP
365: The following sample startup file shows the default window
366: manager options:
367: .EX
368: # Global variables
369: #
370: resetbindings;resetvariables;resetmenus
371: autoselect
372: delta=25
373: freeze
374: grid
375: hiconpad=5
376: hmenupad=6
377: iconfont=oldeng
378: menufont=timrom12b
379: resizefont=9x15
380: viconpad=5
381: vmenupad=3
382: volume=7
383: #
384: # Mouse button/key maps
385: #
386: # FUNCTION KEYS CONTEXT BUTTON MENU(if any)
387: # ======== ==== ======= ====== ============
388: f.menu = meta : :left down :"WINDOW OPS"
389: f.menu = meta : :middle down :"EXTENDED WINDOW OPS"
390: f.move = meta :w|i :right down
391: f.circleup = meta :root :right down
392: #
393: # Menu specifications
394: #
395: menu = "WINDOW OPS" {
396: "(De)Iconify": f.iconify
397: Move: f.move
398: Resize: f.resize
399: Lower: f.lower
400: Raise: f.raise
401: }
402:
403: menu = "EXTENDED WINDOW OPS" {
404: Create Window: !"xterm &"
405: Iconify at New Position: f.lowericonify
406: Focus Keyboard on Window: f.focus
407: Freeze All Windows: f.pause
408: Unfreeze All Windows: f.continue
409: Circulate Windows Up: f.circleup
410: Circulate Windows Down: f.circledown
411: }
412: .EE
413: .PP
414: .SH RESTRICTIONS
415: .PP
416: The color specifications have no effect on a monochrome system.
417: .PP
418: .SH FILES
419: .PP
420: /usr/lib/rgb.txt
421: /usr/new/lib/X/font
422: /usr/skel/.uwmrc
423: /usr/new/lib/X/uwm/system.uwmrc
424: $HOME/.uwmrc
425: .PP
426: .SH SEE ALSO
427: .PP
428: X(1), X(8C)
429: .SH AUTHOR
430: .PP
431: Copyright(c) 1986 Digital Equipment Corporation
432: .PP
433: DEC Ultrix Engineering Group, Merrimack, New Hampshire, using some algorithms
434: originally by Bob Scheifler, MIT Laboratory for Computer Science
435:
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.