T.R | Title | User | Personal Name | Date | Lines |
---|
302.1 | | CASEE::LACROIX | No future | Mon Feb 27 1989 04:34 | 6 |
| Re .0:
You may want to use the DECW$WINMGREXE logical instead...
Denis.
|
302.2 | Decw$display | STAR::CYPRYCH | | Mon Feb 27 1989 10:20 | 3 |
| When using decw$display, PCX$UWM beeps, and nothing
happens. Is this supported?
|
302.3 | I like it! | STAR::BRANDENBERG | Intelligence - just a good party trick? | Mon Feb 27 1989 12:03 | 6 |
|
Great stuff (though I wish my mouse wasn't operating intermittently).
How about a man page to document the features of the .uwmrc file?
monty
|
302.4 | Thank you! This is really becoming better every day. | YGDRSL::SANTIAGO | Drinking deeply of the Pierian spring | Mon Feb 27 1989 12:18 | 36 |
| I'm GLAD to get rid of that icon box!
One small problem (of course). When I try to iconify DECterm or NOTES,
I get the following ACCVIO - I'm iconifying by meta-ctrl-left as on
my Ultrix uwm. BTW, I can't get it to read the UWMRC - I put it in
DECW$USER_DEFAULTS (not SYS$LOGIN). Should it be elsewhere?
--------------------------------------------------------------------------
%SYSTEM-F-ACCVIO, access violation, reason mask=01, virtual address=0020F00D, PC
=000147D5, PSL=03C00008
Improperly handled condition, image exit forced.
Signal arguments Stack contents
Number = 00000005 00000000
Name = 0000000C 2C1C0000
00000001 7FF1D350
0020F00D 7FF1D314
000147D5 00006452
03C00008 000B0B7C
00000005
00000156
00000FCC
00002444
Register dump
R0 = 00000001 R1 = 000EBF15 R2 = 0020F00D R3 = 000EBF0C
R4 = FFEDCF03 R5 = 0000004B R6 = 00000028 R7 = 000EBF10
R8 = 00000017 R9 = 000EBF10 R10= 0001BE60 R11= 00000000
AP = 7FF1D20C FP = 7FF1D1CC SP = 7FF1D248 PC = 000147D5
PSL= 03C00008
SANTIAGO job terminated at 27-FEB-1989 09:16:50.26
|
302.5 | Here's the UWM man page from a PMAX | YGDRSL::SANTIAGO | Drinking deeply of the Pierian spring | Mon Feb 27 1989 12:35 | 897 |
|
uwm(1X)
NAME
uwm - X Window System window manager
SYNTAX
uwm [ options ]
-------
DESCRIPTION
The uwm command provides a window manager client application
that takes advantage of a graphical display and mouse.
When invoked, uwm traces a predefined search path for any
uwm startup files. If start up files exist in any of the
specified locations, uwm adds the specifications to its
built-in default specifications. Files in the uwm search
path are:
/usr/lib/X11/uwm/system.uwmrc
$HOME/.uwmrc
-f filename
As it reads in items contained in these startup files, uwm
uses the last definition it encounters for each item, when
the defined values for that item differ.
When uwm finishes processing all startup files, it emits a
beep from the keyboard.
OPTIONS
-f filename
--------
Specifies an alternate file as a uwm startup file.
-d display
-------
Specifies the server to be used.
MENUS
By default, when it starts up, uwm provides Window Opera-
tions and Extended Window Operations menus. To display the
Window Operations menu (labeled WINDOW OPS), press and hold
down both the Compose Character key and the left mouse but-
ton. To display the Extended Window Operations menu
(labeled EXTENDED WINDOW OPS), press and hold down both the
Compose Character key and the middle mouse button.
Commands in these menus are:
Iconify Specifies that the selected window be
changed to a small graphical representa-
tion (icon).
DeIconify Specifies that an icon be changed back
to its window at its original location
and size.
1
uwm(1X)
Move Specifies that the selected window be
moved to a new default screen location.
Resize Specifies that the size of the selected
window be changed. For more informa-
tion, see the f.resize function.
Lower Specifies that the selected window be
moved to the bottom of the window stack.
Raise Specifies that the selected window be
moved to the top of the window stack.
Create Window Specifies that the xterm command be exe-
cuted to create a terminal emulation
window.
Iconify at New Position
Specifies that the selected window be
changed to or from an icon at a position
indicated with the mouse pointer.
Focus Keyboard on Window
Specifies that all keyboard input be
focused into the selected window. For
more information, see the f.focus func-
tion.
Freeze All Windows Specifies that the window server is to
buffer any window input and output and
dedicate its resources to other process-
ing. For more information, see the
f.pause function.
Unfreeze All Windows
Specifies that the window server is to
unfreeze all windows and update each
window with any output that was buffered
while it was frozen. For more informa-
tion, see the f.continue function.
Circulate Windows Up
Specifies that the last window be raised
to the top of the window stack.
Circulate Windows Down
Specifies that the first window be
lowered to the bottom of the window
stack.
RESTRICTIONS
2
uwm(1X)
The color specifications have no effect on monochrome
displays.
STARTUP FILE SPECIFICATIONS
The startup information used to establish your uwm environ-
ment contains three specification groupings:
Variables Modify how uwm executes a specified action.
Functions Assign the action that is executed when a mouse
button or character key is pressed, or when the
pointer is moved to a specified screen location.
Menus Define each menu that you can display and from
which you can select defined items.
To use only the settings defined in a single startup file,
include the variables resetbindings, resetmenus, and reset-
variables at the top of that specific file.
The following sample startup file shows the default window
manager options:
#Global variables
#
resetbindings; resetvariables; resetmenus
autoselect
delta = 25
freeze
grid
hiconpad = 5
hmenupad = 6
iconfont = oldeng
menufont = timrom12b
resizefont = 9x15
viconpad = 5
vmenupad = 3
volume = 7
#
#Mouse button/key maps
#
#FUNCTION KEYS CONTEXT BUTTON MENU (if any)
#======== ==== ======= ====== =============
f.menu = meta : :left down :"WINDOW OPS"
f.menu = meta : :middle down :"EXTENDED WINDOW OPS"
f.move = meta : w|i :right down
f.circleup = meta: root: right down
#
#Menu specifications
#
menu = "WINDOW OPS"{
"(De)Iconify": f.iconify
3
uwm(1X)
Move: f.move
Resize: f.resize
Lower: f.lower
Raise: f.raise
}
menu = "EXTENDED WINDOW OPS" {
Create Window: !"dxterm &"
Iconify at New Position: f.lowericonify
Focus Keyboard on Window: f.focus
Freeze All Windows: f.pause
Unfreeze All Windows: f.continue
Circulate Windows Up: f.circleup
Circulate Windows Down: f.circledown
}
VARIABLE DEFINITIONS
Variables are typically entered first, at the top of the
startup file. Because they cause any values listed before
them to be discarded, resetbindings, resetmenus, and reset-
variables normally are placed at the start of the file. You
can specify the following variables in the startup file:
autoselect/noautoselect The autoselect variable specifies
that uwm is to place the mouse
pointer on the first menu item when
a menu is initially displayed. The
noautoselect variable specifies
that uwm is to place the mouse
pointer on the menu header (title).
The default is noautoselect.
delta=n The delta variable specifies that
-
the mouse pointer must be moved n
-
screen pixels before uwm invokes
those functions that subsequently
are defined with delta mouse
action. The default is 1.
freeze/nofreeze The freeze variable specifies that
uwm is to freeze the screen (not
allow screen updates) and lock all
other client applications out of
the server while executing certain
functions, for example, f.move or
f.resize. In addition, the freeze
variable prevents the window grid
or window box from flickering. The
nofreeze variable specifies that
uwm is to allow screen updates
while executing all functions. The
default is freeze.
4
uwm(1X)
grid/nogrid The grid variable specifies that
uwm is to display a resize or move
window grid when invoking the
f.resize and f.move functions. The
nogrid variable specifies that uwm
is to display a window box (out-
line) in place of the grid. The
default is grid.
hiconpad=n The hiconpad variable specifies
-
that uwm is to pad the width of a
text icon's sides with n pixels.
-
The default is 5 pixels.
hmenupad=n The hmenupad variable specifies
-
that uwm is to pad the width of a
menu's sides with n pixels. The
-
default is 5 pixels.
iconfont=font The iconfont variable specifies
----
that uwm is to use the indicated
text font for those icons that it
creates. See xlsfonts(1X) for font
names for a given server. The
/usr/lib/Xfont directory contains
all the available fonts. The
default is 6x10.
maxcolors=n The maxcolors variable specifies
-
that uwm is to use a maximum of n
-
colors at any one time. If max-
colors is specified and if the
indicated number of colors is
exceeded, uwm uses the colors set
for the root window (screen back-
ground). If maxcolors is not
specified, however, uwm uses as
many colors as it can. The default
is that it is unspecified. Max-
colors counts colors as they are
included in the file.
normali/nonormali The normali variable specifies that
uwm is to let an icon only be
placed entirely on the screen when
invoking the f.newiconify function.
The nonormali variable specifies
that uwm is to let an icon be
placed partially off-screen when
invoking the f.newiconify function.
The default is normali.
5
uwm(1X)
normalw/nonormalw The normalw variable specifies that
uwm is to let a window only be
placed entirely on the screen when
invoking the f.newiconify function.
The nonormalw variable specifies
that uwm is to let a window be
placed partially off-screen when
invoking the f.newiconify function.
The default is normalw.
push=n The push variable specifies the
-
distance that uwm is to use when
invoking the f.pushup, f.pushdown,
f.pushright, and f.pushleft func-
tions. The default is 5.
pushabsolute/pushrelative
The pushabsolute variable specifies
that uwm is to use pixel as the
unit of measure for the push vari-
able. The pushrelative variable
specifies that uwm is to use as the
unit of measure 1/nth of the window
-
size, where n is set by the push
-
variable. For example, if the
pushrelative variable is listed and
if the push variable is specified
as 2, uwm moves the window one half
(1/2) its width when invoking the
f.pushleft function. The default
is pushrelative.
resetbindings The resetbindings variable speci-
fies that uwm is to reset the key,
mouse, and context bindings to
those subsequently specified in the
current startup file.
resetmenus The resetmenus variable specifies
that uwm is to reset the menu
definitions to those subsequently
specified in the current startup
file.
resetvariables The resetvariables variable speci-
fies that uwm is to reset the vari-
ables to those subsequently speci-
fied in the current startup file.
resizefont=font The resizefont variable specifies
----
that uwm is to use the specified
font for the window size display
6
uwm(1X)
when invoking the f.resize func-
tion. See the /usr/lib/Xfont
directory for a list of fonts. The
default is 6x10.
reverse/noreverse Specifies that uwm interchange the
foreground and background colors
when default colors are used for
window manager windows and icons.
The default is reverse.
viconpad=n The viconpad variable specifies
-
that uwm is to pad n pixels above
-
and below an icon name. The
default is 5.
vmenupad=n The vmenupad variable specifies
-
that uwm is to pad n pixels above
-
and below a menu name and each menu
item. The default is 5.
volume=n The volume variable specifies that
-
uwm is to set the keyboard bell
volume to the indicated intensity
(n) when invoking the f.beep func-
-
tion. The intensity can be 0
(softest) through 7 (loudest). The
default is 4.
zap/nozap The zap variable specifies that uwm
is to display ghost lines when
invoking the f.move or f.resize
functions. The nozap variable
specifies that uwm is not to
display these ghost lines. The
default is nozap.
FUNCTION DEFINITIONS
Each function specification has the following format:
function=[control key(s)]:[context]:mouse events:"menu name"
-------- ------- --- - ------- ----- ------ ---- ----
Function and mouse events are required input. The menu name
is required only with the f.menu function definition.
Functions
f.beep Emits a beep from the keyboard. Loud-
ness is determined by the volume vari-
able.
f.circledown Lowers the topmost window to the bottom
of the window stack.
7
uwm(1X)
f.circleup Raises the bottommost window to the top
of the window stack.
f.continue Unfreezes all windows, that is, allows
them to be updated. You should always
use this funciton in conjunction with
f.pause.
f.exit Exits the current uwm session.
f.focus Directs all keyboard input to the speci-
fied window. To reset the focus to fol-
low the mouse cursor, invoke the f.focus
function from the root window. This
function takes a window argument.
f.iconify Iconifies a window or deiconifies an
icon. This function takes a window
argument.
f.lower Lowers the specified window to the bot-
tom of the window stack. This function
takes a window argument.
f.menu Displays the specified, defined pop-up
menu. This function takes a window
argument. Enclose the menu name in
quotes if it contains blank characters
or parentheses.
f.menu=[control key(s)]:[context]:mouse events:"menu name"
------- --- - ------- ----- ------ ---- ----
f.move Moves the specified window to a new
default screen location. This function
takes a window argument.
f.moveopaque Moves the specified window with the
mouse pointer, instead of first moving
the window grid and then moving the win-
dow. This function takes a window argu-
ment.
f.newiconify Changes a window to an icon and posi-
tions it at the specified screen loca-
tion. This function takes a window
argument.
f.pause Freezes all windows so they cannot be
updated. You should always use this
function in conjunction with f.continue.
This function takes a window argument.
8
uwm(1X)
f.pushdown Moves a window down the amount specified
by the push variable. This function
takes a window argument.
f.pushleft Moves a window to the left the amount
specified by the push variable. This
function takes a window argument.
f.pushright Moves a window to the right the amount
specified by the push variable. This
function takes a window argument.
f.pushup Moves a window up the amount specified
by the push variable. This function
takes a window argument.
f.raise Raises the specified window to the top
of the window stack. This function
takes a window argument.
f.refresh Updates the entire screen by sending
exposure events to the window server
clients for all unobscured or partially
obscured windows. The windows will not
refresh correctly if these exposure
events are not handled properly.
f.resize Resizes the specified window. Some
clients, notably editors, may react
unpredictably if you resize the window
while the client is running. This func-
tion takes a window argument.
f.restart Restarts uwm and causes it to reread all
the uwm startup files and initialize
variables.
For those functions that take a window argument, select the
window or icon that is to be affected after you have
selected the function from a menu. To select the window or
icon, place the mouse pointer in the window or icon and
click the mouse button that was used to display the menu.
Control Keys
By default, the window manager uses Compose Character as its
control key. However, you can specify any of the following
control keys (their abbreviations are in parentheses):
ctrl (c)
lock (l)
9
uwm(1X)
compose character (m)
shift (s)
You must specify control keys in lowercase.
You can bind one, two, or no control keys to a function. Use
the vertical bar (|) character to combine control keys.
Specifying a use for the shift key alone is not recommended,
because client applications other than the window manager
use the shift as a control key. If you bind the shift key
to a window manager function, you cannot use other client
applications that require this key.
Contexts
The context refers to the screen location of the cursor when
a command is given. When you include a context entry in a
binding, the cursor must be in that context for the function
to be invoked. The window manager recognizes the following
four contexts (abbreviations in parentheses):
icon (i)
window (w)
root
null
The root context refers to the root (background) window. A
null context is indicated when the context field is left
blank and allows a function to be invoked from any screen
location. To combine contexts, use the vertical bar (|)
character.
Mouse Buttons
You can specify when an action is to occur based on how you
use the mouse. You can specify the following mouse buttons
(their abbreviations are in parentheses):
left (l)
middle (m)
right (r)
You must specify mouse buttons in lowercase.
You can specify the following mouse actions:
down The action is invoked when you press the button.
up The action is invoked when you release the button.
10
uwm(1X)
delta The action is invoked when you press a mouse but-
ton and move the pointer the number of pixels
specified by the delta variable. You can move the
mouse in any direction to satisfy the delta
requirement.
During an operation, pressing a second mouse button before
releasing the first aborts the operation.
MENU DEFINITIONS
After binding a set of function keys and a menu name to
f.menu, you must use the following syntax to define the menu
to be invoked:
menu = "menu name" {
---- ----
"item name" : "action"
---- ---- ------
.
.
.
}
Enter the menu name exactly the way it is entered with the
f.menu function, or the window manager will not recognize
the link. You cannot scroll within menus. Any menu entry
that contains quotation marks, special characters,
parentheses, tabs, or strings of blanks must be enclosed in
double quotation marks. Follow the item name by a colon
(:).
Menu Actions
You can specify the following menu actions:
Function The specified function can be any
window manager function, for exam-
ple, f.move or f.iconify.
Shell command The specified shell command must
begin with an exclamation point (!)
and must run in the background. You
cannot include a new-line character
within a shell command.
Text string The specified text string is placed
in the window server's cut buffer.
Strings with a new-line character
appended must begin with a circum-
flex(^), which is stripped during
the copy operation. Strings without
a new-line character appended must
begin with the vertical bar charac-
ter (|), which is stripped during
the copy operation.
11
uwm(1X)
Color Menus
Use the following syntax to add color to menus:
menu = menu name (color1:color2:color3:color4) {
---- ---- ------ ------ ------ ------
item name: (color5:color6): action
---- ---- ------ ------ ------
item name: (color5:color6): action
---- ---- ------ ------ ------
.
.
.
}
color1 Specifies the foreground color (text) of the menu
------
header.
color2 Specifies the background color of the menu header.
------
color3 Specifies the foreground color for menu highlight-
------
ing. This is the horizontal band of color that
moves with the cursor within the menu.
color4 Specifies the background color for menu highlight-
------
ing.
color5 Specifies the foreground color (text) for a menu
------
item.
color6 Specifies the background color for a menu item.
------
Color Defaults
The defaults for colors are the colors of the root window
under any of the following conditions:
o If you run out of color map entries, either before or
during an invocation of uwm.
o If you specify a foreground or background color that
does not exist in the RGB color database
(/usr/lib/X11/rgb.txt); both the foreground and back-
ground colors default to the root window color.
o If you omit a foreground or background color; both the
foreground and background colors default.
o If you specify more colors than the number specified by
the maxcolors variable.
---------
o If you specify no colors in the startup file.
FILES
/usr/lib/X11/rgb.txt
/usr/lib/X11/uwm/default.uwmrc
/usr/lib/X11/uwm/system.uwmrc
12
uwm(1X)
$HOME/.uwmrc
SEE ALSO
X(1X), dxterm(1X), xset(1X), xlsfonts(1X), xterm(1X), Guide
-----
to the uwm Window Manager
-- --- --- ------ -------
13
|
302.6 | I had to hunt to find it | PRNSYS::LOMICKAJ | Jeff Lomicka | Mon Feb 27 1989 16:36 | 3 |
| I noticed today that: PCX$WMGR.EXE
is actually called PCX$WINMGR.EXE
|
302.7 | <What about UWMRC> | RICKS::MILLS | | Mon Feb 27 1989 18:10 | 10 |
| RE .4
I have the same problem with getting UWMRC to work
When I run PCX$UWM interactively it does find PCX$UWM.UWMRC
But when I use the DECW$WINMGREXE logical PCX$UWM is running
but it does not find PCX$UWM.UWMRC. I'm almost ready to startup
it up as in note .0. Also I found a bug in my PCX$UWM.UWMRC
by running it interactively.
|
302.8 | Version 2? | STAR::BRANDENBERG | Intelligence - just a good party trick? | Mon Mar 20 1989 12:34 | 6 |
|
Any chance of an updated VMS version with the iconify and
run-as-detached problems fixed? I'd like to use this for awhile.
monty
|
302.9 | Love to try it but beep beep... | MCNALY::MILLER | Bush For President...Kate Bush! | Tue Mar 28 1989 16:44 | 7 |
| I can't seem to get PCX$UWM to do anything but beep at me when it
comes up.
What's the trick?
== ken miller ==
|
302.10 | it's there! | STAR::BRANDENBERG | Intelligence - just a good party trick? | Tue Mar 28 1989 16:53 | 10 |
|
It beeps when it's ready (it doesn't decorate windows). Now try
various combinations of the modifier keys (control, shift, and
meta) with the mouse button keys both inside and outside windows.
If you run/det uwm, you get a default key binding, if you spawned
it, you'll get the binding specified in the .uwmrc file in your
sys$login directory.
monty
|
302.11 | Silly Me! | MCNALY::MILLER | Bush For President...Kate Bush! | Tue Mar 28 1989 17:09 | 11 |
| I knew there wasn't supposed to be an icon box, but I figured there'd be
some kind of window dressing. I was also spawning without any
.uwmrc file in sys$login, so I don't know what bindings I got.
All's well now, thanks! Great Stuff! And small too (800 pages vs. 1900 pages)!
Regards,
== ken miller ==
|
302.12 | | MU::PORTER | waiting for Bardot | Tue Mar 28 1989 21:45 | 5 |
| re .-2
Is "meta" sometimes spelled as "alt" or "compose character" ?
|
302.13 | Depends upon the dialect | AIRPRT::GRIER | mjg's holistic computing agency | Tue Mar 28 1989 22:05 | 4 |
| It may also be spelled "Ctrl", and "Shift".
-mjg
|
302.14 | In this case it's Compose... | MCNALY::MILLER | Bush For President...Kate Bush! | Wed Mar 29 1989 15:33 | 6 |
| At least for me on the old style LK201 keyboard.
Regards,
== ken miller ==
|
302.15 | Is there a more stable version? | VINO::WITHROW | Robert Withrow | Wed Mar 29 1989 15:38 | 4 |
| I have tried it out, and I like it, but... it seems to croak alot.
For example, it croaks when I try to iconize gnu emacs.. Is there a
more stable version of this around?
|
302.16 | Seems stable to me with one gotcha... | MCNALY::MILLER | Bush For President...Kate Bush! | Wed Mar 29 1989 16:05 | 11 |
| I just put a note in the PC-DECwindows conference about this, and it's
probably burning you with GNU EMACS:
== Don't try to iconify anything that has a default pixmap for the icon! ==
Haven't run into any other bugaboos and customizing is a blast!
Regards,
== ken miller ==
|
302.17 | Yup.. That's it! | VINO::WITHROW | Robert Withrow | Wed Mar 29 1989 18:10 | 8 |
| > I just put a note in the PC-DECwindows conference about this, and it's
> probably burning you with GNU EMACS:
>
> == Don't try to iconify anything that has a default pixmap for the icon! ==
That's EXACTLY it. Thanks! (Maybe Ill modify emacs to have some sort
of neat pixmap for it's icon!)
|
302.18 | How to install on a per-user basis? | VINO::WITHROW | Robert Withrow | Wed Mar 29 1989 22:33 | 6 |
| > Haven't run into any other bugaboos and customizing is a blast!
Have you found a way to start it automatically from you decw$login,
rathern that doing it for the entire system? I need to swap it on
a per-user basis...
|
302.19 | Oops? Workstations aren't *all* single user? | MRFLEX::MILLER | Bush For President...Kate Bush! | Thu Mar 30 1989 00:45 | 18 |
| re: <<< Note 302.18 by VINO::WITHROW "Robert Withrow" >>>
-< How to install on a per-user basis? >-
Hmmm...I just def/exec/table=decw$logical_names decw$winmgrexe
sys$system:pcx$uwm.exe before starting DECwindows, but I suppose that
*would* cause anyone who logged into my workstation to have UWM.
Have you tried shooting your winmgr in decw$login.com, and then
spawning UWM? It'd be a little tricky finding the process name since
it increments for some reason, but a little DCL magic would do it.
You'd definitely have to stop the DECW$WINMGR process because he's
created long before decw$login gets executed.
Good luck!
== ken miller ==
|
302.20 | I tried it but couldn't get it to work... | VINO::WITHROW | Robert Withrow | Thu Mar 30 1989 10:42 | 12 |
| > Have you tried shooting your winmgr in decw$login.com, and then
> spawning UWM? It'd be a little tricky finding the process name since
> it increments for some reason, but a little DCL magic would do it.
Yes, I tried that. It caused the server to have apoplectic fits. It
looks like the server reset about 6 times, and the I was returned back
to decw$loginout. It was fun to watch: The silly icon box popped up, and
then it disappeared, and then the screen started flashing, and then
the login screen re-appeared.
Any other ideas?
|
302.21 | Starting PCM from DECW$Login... | GOFER::HARLEY | At home, you can scratch where it itches | Thu Mar 30 1989 11:30 | 46 |
| I sort of got it to work like this...
$
$ ! This command file will initialize my user environment.
$
$ ! Set my process name...
$
$ Set Process/Name="Session Manager"
$
$ ! Play with the PC Window Manager
$
$ Ctx = F$Context("Process",Next, "NodeName", F$GetSYI("NodeName"), "EQL")
$Kill_WM_Loop:
$ Pid = F$Pid(Next)
$ If Pid .eqs. ""
$ Then
$ Goto No_More_WM
$ Else
$ Proc = F$GetJPI(Pid, "PrcNam")
$ If F$Extract(0, 8, Proc) .eqs. "DECW$WM_"
$ Then
$ Stop/ID='Pid'
$ Wait 00:00:10
$ Else
$ Goto Kill_WM_Loop
$ EndIf
$ EndIf
$
$No_More_WM:
$ Spawn/NoWait/Input=NL:/Process="DECW$UWM"/Output=UWM.Log MCR PCX$UWM
$ Wait 00:00:10
$
$Skip_PCX:
$ Spawn/NoWait/Input=NL:/Process="DECW$Calendar" MCR DECW$Calendar
$
$ ! Make sure that Mail knows who my friends are...
$
$ @<.Start>Mail_Addr
$ Spawn/NoWait/Input=NL:/Process="DECW$Mail"/Out=Sys$Login:DWmail.Log -
@<.DWmail>DWmail
$
The $ Waits seem to be the key in getting this to work...
/Harley
|
302.22 | It almost works..... but not quite | VINO::WITHROW | Robert Withrow | Thu Mar 30 1989 15:26 | 18 |
| I modified your procedure to work on V5.1 SDC, but it doesn't work on
my system for some reason. The window manager croaks with error #02dba002
(an XIO error), and then later the session manager croaks with error
#02db821c. I tried lots of things but no joy. Extracted logs follow:
from decw$uwm.log (my name)
XIO: non-translatable vms error code: 0x2DBA002, vms message:
%decw-e-cnxabort, connection aborted
%XLIB-F-IOERROR, xlib io error
from decw$sm.log
$run sys$system:decw$session
Session Error: %NONAME-F-NOMSG, Message number 02DB821C
To the developers: Is there no better way to run a new window manager?
|
302.23 | trivial on Ultrix | HIT::GLASER | Steve Glaser DTN 237-2586 SHR1-3/E29 | Fri Mar 31 1989 14:43 | 10 |
| On Ultrix you can just include
sm.windowManagerName: uwm
in the appropriate .Xdefaults file to get the proper wondow manager.
This is easily specified on a per user basis.
Steveg
|
302.24 | I see some of the problems.... | VINO::WITHROW | Robert Withrow | Sat Apr 01 1989 12:11 | 26 |
| RE: .-1 GRRRRRRRRR. Go ahead..... Rub it in!!!!!! ;-)
From what I can tell the sequence goes something like this:
1) DECW$LOGINOUT Validates a password/username pair
2) DECW$LOGINOUT Starts a process , perhaps by using loginout, or
perhaps by using itself in a way similar to loginout.
3) A windowmanager is started by some magic means, using the logical
DECW$WINMGREXE
4) This new process reads commands from DECW$LOGIN.COM
5) After this file ends, the process start reading commands from
DECW$STARTSM.COM. This starts the session manager, and the process
waits until the session manager exits.
6) BRB 1
The problem is that there is no (normal) user modifable way that I can
see to change step 3. No user specified commands are executed until
AFTER the window manager is started. An easy solution to this is not
clear to me. If DECW$LOGIN were to run BEFORE the WM was started, you
would see windows popping up and then changing when the WM started.
Perhaps the right thing is for the SM to be started first, but to refrain
from making windows visible until a WM is running, perhaps by using
resources as in .-1. I bet that that is unpalatable to the DECwindows
folks though....
|
302.25 | I think you're right... | MCNALY::MILLER | Bush For President...Kate Bush! | Sat Apr 01 1989 13:41 | 41 |
| I've been exploring this from a different angle, trying to solve a different
problem, but came to the same conclusion regarding the sequence of
steps.
I've fallen instantly *in love* with the new OSF Motif and have gone
nuts customizing the *root menus*. It suddenly occurred to me that I
can easily do away with the session mgr., which has been a constant
sore spot with me in terms of paging. I've provided a customized non-
session mgr./OSF WinMgr. by doing the following:
1) submit a batch job from a terminal/DECterm, or LAVc connection
which:
a. Stops DECW$SERVER_0
b. Waits a minute.
c. Starts DECW$STARTUP with just server, libs
d. Waits another minute.
e. Runs my DECW$LOGIN.COM which "reloads" my Xdefaults
(via RELOAD.C) and kicks off a CHILD DECterm.
2) Invoke OSF WinMgr from DECterm using a symbol that
does a "SPAWN/NOWAIT/INP=NL: MCR HPWM". I've had
problems getting OSF Motif to come up as part of the batch file
above, and it's a very *minor* inconvenience since I use a 4 char.
symbol to kick it off.
3) Use "root menus" to bring up UTOX for printscreen, Xlock for Pause,
CHILD for DECterms, "MCR VUE$MASTER for FileView, etc. I'd
imagine that if I were concerned about setting it back to it's original
state, that I'd define a "root menu" option for QUIT to fire off a batch
job similar to the one above only which would do the default
DECW$STARTUP.
I know this isn't your intention, but perhaps a similar approach might
prove successful (i.e. shoot the server and bring him up the way you want).
Hope some of this helps!
Regards,
== ken miller ==
|
302.26 | | WSINT::MCLEMAN | Jeff McLeman | Sun Apr 02 1989 17:38 | 37 |
| The following is what we do on our software cluster to get the HPWM to run.
Yes, it doesn't look all that clean visually, but hey, it works.
Jeff
$ this_node = f$edit(f$getsyi("SCSNODE"),"TRIM")
$ spawn/nowait/process="''this_node'$CALENDAR" run sys$system:decw$calendar
$ spawn/nowait/process="''this_node'$CARDFILER" run sys$system:decw$cardfiler
$ spawn/nowait/process="''this_node'$BANNER" run sys$system:decw$banner
$!
$ purge decw$sm.log
$ purge hpwm.log
$ wait ::05
$ mgr_num = f$extract(3,1,f$trnlnm("DECW$DISPLAY")) ! get the WS number
$Kill_Loop:
$ Pid = F$Pid(Next)
$ If Pid .eqs. ""
$ Then
$ Goto end_loop
$ Else
$ Proc = F$GetJPI(Pid, "PrcNam")
$ If F$Extract(0, 8, Proc) .eqs. "DECW$WM_"
$ Then
$ Stop/ID='Pid'
$ Wait 00:00:10
$ Else
$ Goto Kill_Loop
$ EndIf
$ EndIf
$
$END_LOOP:
$ Spawn/NoWait/Input=NL:/Process="DECW$WM_''mgr_num'"/Output=sys$login:HPWM.Log MCR HPWM
$exit
|
302.27 | Good luck from DECW$WINMGREXE | AIRPRT::GRIER | mjg's holistic computing agency | Tue Apr 04 1989 11:45 | 28 |
| I've had very good luck executing it via the DECW$WINMGREXE logical name
in the DECW$LOGICAL_NAMES table. It doesn't appear to work correctly when
in the LNM$SYSTEM table tho'. (I was going to define it there for my WS in
the SYSTARTUP_V5.COM so I wouldn't have to customize DECW$STARTAPPS.)
Does anyone have a complete list of resources for the manager? Maybe the
DECW$XDEFAULTS supplied does give me enough clues, but (for instance), I'd
like to get rid of the shading on the icon names, to just have a solid
background.
This window manager is great. I've tried the other ones posted, and didn't
care for them much, but I prefer this greatly to the DECwindows WM. The
exception is bugs. Would someone (with sources!) like to receive bug reports?
I've several reproducible glitches (especially in relation to the caps lock
key state), and some times where it went compute-bound, expandind its virtual
size until it ran out of VM.
-mjg
p.s.
Could someone explain the context from which the window manager runs when
I execute it via the DECW$WINMGREXE logical name? It doesn't seem to want to
find the hpwm.rc file in my SYS$LOGIN:, but when I changed DECW$XDEFAULTS.DAT
to specify the location as "/sys$library/hpwm.rc" and put it there, it worked
correctly. I'd prefer to have it in my SYS$LOGIN: tho', and I didn't want to
hard-code the device/directory specification.
|
302.28 | .rc, etc | KALKIN::BUTENHOF | Better Living Through Concurrency! | Tue Apr 04 1989 13:15 | 10 |
| .27: Yeah, I'd also like to see a full list of HPWM resources (with the legal
values... particularly for the keyword values).
When you change DECW$WINMGREXE to get HPWM running, it's created as a detached
process, with no SYS$LOGIN:. If you want to use a .rc file, you'll need to
fully qualify the device and directory spec. Which is why my earlier example
for .configFile used "dua0:[butenhof]hpwm.rc".
/dave
|
302.29 | | UFP::MURPHY | The SUN just set! | Tue Apr 04 1989 14:00 | 17 |
| As I'm the keeper of the sources, I'll listen to bug reports by mail...
but this is one of several midnight projects on the stack, so I might
not be very quick to respond. Additionally, I don't want to expend too
much effort on this version of the WM as I'm sure that OSF will be
releasing an update fairly soon.
re: several
Yes, I know it's different. I like it for the customization. At least
there's a list of the resources so you can play with changing the
appearance - no such list exists for the DECwindows window manager
(unless it's documented in the Ultrix doc set). I also like
point-to-focus rather than click-to-focus - and this WM gives me that
without losing quick-copy.
It's buggy, I know. But it's fun to play with (see the title of .0)
-Rick
|
302.30 | Hey, I found a new bug artifact!!! | KALKIN::BUTENHOF | Better Living Through Concurrency! | Tue Apr 18 1989 10:14 | 32 |
| (ain't I lucky? :-) )
I had a Mail:Create window open, happily replying to some mail, when Jerry
Harrow bopped in to ask if I was eating disk on the RTL cluster. Just to be
sure, I expanded my cluster DECterm window. OK, I was safe: it was a good
little DECterm, just sitting there at the DCL prompt.
So, I shrunk it back to an icon. Er, ah... well, at least I tried to. The
DECterm stayed there. The Mail:Create window iconized, instead. So I tried
again. And again. The DECterm refused to iconize. When I tried (either with
my accelerator or with the "minimize" icon in the banner), the DECterm loses
focus AND THE MAIL:CREATE ICON MOVES ONE GRID TO THE LEFT, LEAVING "INVISIBLE
ICONS" BEHIND IT! When it hits the left edge of the screen, it moves back to
the right, and up one line. It's kinda fun, y'know? That's why I love the
HPWM so much... it's not DULL like that boring old DECwindows WM! :-)
Anyway, the Mail:Create window expands and shrinks just fine, but I can't make
it go way (when I try to QUIT, Mail complains that it's modified, and do I
really want to quit... yes or no, it just sits there). And of course I can't
make the DECterm shrink. Of course, HPWM eventually solved my dilemna by
crashing itself (I knew it'd get around to that sooner or later), so now I can
log in a new session and fix things up.
So, lessee... we've got "greedy icons", "invisible icons", and now...
TRAVELLING ICONS! Wheeee!!!
/dave
(oh yeah, by the way: I'm not being satirical here; for reasons I'm not sure I
fully comprehend, I really AM enjoying this! I'd have a better handle on it if
this were Friday, but I don't think it is... :-) )
|
302.31 | | STAR::MCLEMAN | Jeff McLeman, VMS development | Thu May 24 1990 14:42 | 4 |
| Is the PCX$UWM.EXE still around? The access point in the base note is
invalid.
jeff
|
302.32 | Try this version.... | CVG::PETTENGILL | mulp | Thu May 31 1990 23:21 | 8 |
| $ dir cvg""::sys$system:pcx$uwm
Directory CVG""::SYS$COMMON:[SYSEXE]
PCX$UWM.EXE;1 103 23-FEB-1989 14:58:01.00
PCX$UWM.UWMRC;1 3 23-FEB-1989 14:58:51.00
Total of 2 files, 106 blocks.
|
302.33 | | STAR::MCLEMAN | Jeff McLeman, VMS development | Fri Jun 01 1990 09:02 | 1 |
| Thanks, I'll give it a whirl.
|