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