From: MERC::"uunet!CRVAX.SRI.COM!RELAY-INFO-VAX" 3-NOV-1992 12:03:56.18 To: TGV.COM!trhv@huldra.tdata.no, info-vax@sri.com CC: Subj: Re: Help with DECwindows Session Manager problem In article <1992Oct31.114016.1819@huldra.tdata.no> you write: # #I am new to VMS/DECwindows and have a question for VMS/DECwindows experts. # #I have problems with the VMS DECwindows session manager. I am using #another window manager than the default (one that I have the source to). #To make the session manager start my window manager, I enter the menus #Customize... Window... and specify Window Manager as "Other" and #enter the command to start the window manager. This seems to work, #when I start a new DECwindows session, the other window manager #starts and I can move windows about with it. # #However, this window manager does not seem to have the same #environment as when it is started from the Session Manager #"Application" menu or from the DCL command prompt in a DECterm #window. For example, logical names as "sys$login" etc. are not #defined(?) so when the window manager tries to open a file in the #home directory (sys$login:winmgrc.dat, it fails. Also, this #window manager need the possiblity to start new applications #using the lib$spawn system call, but this system call return the #error code LIB$_NOCLI, -i.e. "No command line interpreter #available". # #Now my question is: # #Is there a way to force the session manager to start the window #manager with the same environment as an application, or can the #window manager do something to get hold of the correct environment? #Any pointers and hints would be much appreciated. # No at all. You have run up againist the way Digial starts up the Window Manager under XUI. Back then the window manager was actually started by the login process not the session manager. It was only kept in the session manager's resource file. Under XUI, the window manager was started by issuing a $CREPRC and passing in the window manager's image. Now as to accessing files in SYS$LOGIN. You will have to build this yourself by using $GETUAI system call to obtain the UAF entry for your process and extract from it the Device and Directory information. For spawing off other jobs. Instead of using LIB$SPAWN, use $CREPRC, pass in the image to run as LOGINOUT.EXE, pass the command to be executed down the mailbox you assign to SYS$INPUT and pass the WSA device as SYS$ERROR. This will cause LOGINOUT.EXE to 1) Create the Display properly and 2) execute the command in a DCL context. I have done this successfully for both OLWM, TWM, AWM and GWM. -- Patrick L. Mahan --- TGV Window Washer ------------------------------- Mahan@TGV.COM --------- Waking a person unnecessarily should not be considered - Lazarus Long a capital crime. For a first offense, that is From the Notebooks of Lazarus Long