module Xsessionselect
names = case_sensitive
version =
"v1.2"
!
User interface for xsessionselect
value
!***VUIT_Generate_Callback_Tags ***
local_font: font('-*-lucida-bold-r-normal-sans-34-*');
cf: font('-*-courier-bold-r-normal--34-*');
hf: font('-*-helvetica-bold-o-normal--34-*');
tf: font('-*-terminal-normal-r-normal--18-*');
lf: font('-*-lucida-medium-r-normal-sans-18-*');
af: font('-*-application-medium-r-normal-serif-18-*');
string_direction: XmSTRING_DIRECTION_L_TO_R;
lightblue: color('lightblue', foreground);
object
Main: XmMainWindow
{
arguments
{
XmNx = 50;
XmNy = 100;
XmNborderWidth = 8;
XmNborderColor = rgb(65535,1285,0);
XmNmappedWhenManaged = true;
XmNvisualPolicy = XmVARIABLE;
};
controls
{
XmMenuBar mSelect;
XmRowColumn Choose;
};
};
object
Choose: XmRowColumn
{
arguments
{
XmNstringDirection = string_direction;
XmNbackground = lightblue;
XmNx = 0;
XmNy = 0;
};
controls
{
XmLabel i_label;
XmPushButton DECW;
XmPushButton CDE;
XmPushButton Term;
XmPushButton Default;
XmPushButton Cancel;
};
};
object
i_label: XmLabel
{
arguments
{
XmNfontList = font_table(lf,
af);
XmNlabelString =
compound_string(" X session type selector:",separate=true) &
compound_string(" Select one of the session types below or Cancel to exit session,",separate=true);
};
};
object
!(tradional DECWindows session)
DECW: XmPushButton
{
arguments
{
XmNfontList = font_table(local_font,
cf,
hf,
tf,
lf,
af);
XmNbackground = color('green', background);
XmNlabelString =
compound_string("DECW (Classic DECWindows desktop)");
};
callbacks
{
XmNactivateCallback = procedures
{
SelectXsession(1);
};
};
};
!"New Desktop"
CDE: XmPushButton
{
arguments
{
XmNfontList = font_table(local_font,
cf,
hf,
tf,
lf,
af);
XmNbackground = color('green', background);
XmNlabelString =
compound_string("CDE (New desktop)");
};
callbacks
{
XmNactivateCallback = procedures
{
SelectXsession(3);
};
};
};
Term: XmPushButton
{
arguments
{
XmNfontList = font_table(local_font,
cf,
hf,
tf,
lf,
af);
XmNbackground = color('green', background);
XmNlabelString =
compound_string("DECTerm terminal window (Failsafe session)");
};
callbacks
{
XmNactivateCallback = procedures
{
SelectXsession(5);
};
};
};
!Sytem default session
Default: XmPushButton
{
arguments
{
XmNfontList = font_table(local_font,
cf,
hf,
tf,
lf,
af);
XmNbackground = color('grey', background);
XmNlabelString =
compound_string("Default: system default session");
};
callbacks
{
XmNactivateCallback = procedures
{
SelectXsession(9);
};
};
};
!Do not start a session
Cancel: XmPushButton
{
arguments
{
XmNfontList = font_table(local_font,
cf,
hf,
tf,
lf,
af);
XmNbackground = color('yellow', background);
XmNlabelString =
compound_string("Cancel/Exit");
};
callbacks
{
XmNactivateCallback = procedures
{
SelectXsession(7);
};
};
};
object
mSelect: exported XmMenuBar
{
arguments
{
XmNmenuHelpWidget = XmCascadeButton Help;
};
controls
{
XmCascadeButton Select;
XmCascadeButton Help;
};
};
object
Select: XmCascadeButton
{
arguments
{
XmNmarginWidth = 5;
};
controls
{
XmPulldownMenu
{
controls
{
XmPushButton _DECW;
XmPushButton _CDE;
XmPushButton _DECTerm;
XmPushButton _Default;
XmPushButton _Cancel;
};
};
};
};
object
Help: XmCascadeButton
{
arguments
{
XmNmarginWidth = 5;
XmNlabelString =
compound_string("Help");
};
! XmNmnemonic = keysym(helpCascadeMnem);
controls
{
! XmNmnemonic = keysym(helpCascadeMnem);
XmPulldownMenu
{
controls
{
XmPushButton About;
XmPushButton XDM;
};
};
};
};
object
About: XmPushButton
{
arguments
{
XmNlabelString =
compound_string(" X session type selector:",separate=true) &
compound_string(" DECW: traditional DECWindows session manager",separate=true) &
compound_string(" CDE: Common Desktop Environment, HPVue like desktop",separate=true) &
compound_string(" DECTerm: just DECTerm window, no session manager.",separate=true) &
compound_string(" This program is usually called by XDM login (SYS$LOGIN:XDM_XSESSION.COM).",separate=true) &
compound_string(" Exit codes ($STATUS) and DCL symbol XSESSIONTYPE will be defined:",separate=true) &
compound_string(" 1=DECW , 3=CDE , 5=DECTerm, 7=Exit, 9=Default , default is DECW",separate=true) &
compound_string(" Use pointer device (mouse button 1).",separate=true);
};
};
object
XDM: XmPushButton
{
arguments
{
XmNlabelString =
compound_string(" SYS$LOGIN:XDM_XSESSION.COM could look like this:",separate=true) &
compound_string("$ run dcl$path:xsessionselect",separate=true) &
compound_string("$ goto \'xsessiontype\'",separate=true) &
compound_string("$ EXIT",separate=true) &
compound_string("$ DECW: @sys$manager:decw$startsm.com",separate=true) &
compound_string("$ EXIT",separate=true) &
compound_string("$ DEFAULT:",separate=true) &
compound_string("$ CDE: @cde$path:xsession.com",separate=true) &
compound_string("$ EXIT",separate=true) &
compound_string("$ DECTerm: create/term/wait/wind=(icon=\"\'\'nodename\'\",title=\"\'\'nodename\'\")");
};
};
_DECW: XmPushButton
{
arguments
{
XmNlabelString = "DECW";
};
callbacks
{
XmNactivateCallback = procedures
{
SelectXsession(1);
};
};
};
_CDE: XmPushButton
{
arguments
{
XmNlabelString = "CDE";
};
callbacks
{
XmNactivateCallback = procedures
{
SelectXsession(3);
};
};
};
_DECTerm: XmPushButton
{
arguments
{
XmNlabelString = "DECTerm";
};
callbacks
{
XmNactivateCallback = procedures
{
SelectXsession(5);
};
};
};
_Cancel: XmPushButton
{
arguments
{
XmNlabelString = "Cancel";
};
callbacks
{
XmNactivateCallback = procedures
{
SelectXsession(7);
};
};
};
_Default: XmPushButton
{
arguments
{
XmNlabelString = "Default";
};
callbacks
{
XmNactivateCallback = procedures
{
SelectXsession(0);
};
};
};
procedure
SelectXsession(integer);
end module;