-.SH DEMO MODE
-If \fIxscreensaver\fP receives the \fBDEMO\fP ClientMessage, which is done
-by running the \fBxscreensaver\-command\fP program with the \fB\-demo\fP
-option, the screensaver will black the screen and pop up a dialog box from
-which you can examine and experiment with the client programs.
-
-The dialog box contains a scrolling list, a text field, and a number of
-buttons.
-
-Double-clicking on one of the programs in the list will run it. Clicking
-the mouse again will bring the dialog box back.
-
-Single-clicking in the list will place the indicated program and its args
-in the text field to be edited. Edit the arguments and hit return to run
-the program with the parameters you have specified. (Note that these are
-one-time changes and won't be remembered; to make the changes permanent,
-you need to edit your X resource file.)
-
-The buttons are:
-.TP 8
-.B Run Next
-Clicking this button will run the next program in the list after the
-currently-selected one, and will scroll around to the top when it reaches
-the bottom.
-.TP 8
-.B Run Previous
-Opposite of Run Next; at the top, it scrolls around to the bottom.
-.TP 8
-.B Edit Parameters
-This pops up a second dialog box, in which you have the option to
-interactively change most of the screensaver's operational parameters,
-such as its timeouts, and whether it should lock the screen. Changing
-these parameters here will affect only the running \fIxscreensaver\fP
-process; to make the changes permanent, you need to edit your X resource
-file.
+And make sure the sessionetc file is executable.
+This will cause \fIxscreensaver\fP to be launched when you log in.
+(As always, make sure that xscreensaver and the graphics demos are on
+your \fB$PATH\fP; the path needs to be set in \fI.cshrc\fP
+and/or \fI.dtprofile\fP, not \fI.login\fP.)
+.TP 3
+\fB3: Create XScreenSaver.dt\fP
+Create a file called \fI~/.dt/types/XScreenSaver.dt\fP with the following
+contents:
+.EX
+ACTION XScreenSaver
+{
+ LABEL XScreenSaver
+ TYPE COMMAND
+ EXEC_STRING xscreensaver-command -lock
+ ICON Dtkey
+ WINDOW_TYPE NO_STDIO
+}
+.EE
+This defines a ``lock'' command for the CDE front panel, that knows how
+to talk to \fIxscreensaver\fP.
+.TP 3
+\fB4: Create Lock.fp\fP
+Create a file called \fI~/.dt/types/Lock.fp\fP with the following
+contents:
+.EX
+CONTROL Lock
+{
+ TYPE icon
+ CONTAINER_NAME Switch
+ CONTAINER_TYPE SWITCH
+ POSITION_HINTS 1
+ ICON Fplock
+ LABEL Lock
+ PUSH_ACTION XScreenSaver
+ HELP_TOPIC FPOnItemLock
+ HELP_VOLUME FPanel
+}
+.EE
+This associates the CDE front panel ``Lock'' icon with the lock command
+we just defined in step 3.
+.TP 3
+\fB5: Restart\fP
+Select ``\fIRestart Workspace Manager\fP'' from the popup menu to make
+your changes take effect. If things seem not to be working, check the
+file \fI~/.dt/errorlog\fP for error messages.
+.RE
+.SH USING HP VUE (VISUAL USER ENVIRONMENT)
+Since CDE is a descendant of VUE, the instructions for using xscreensaver
+under VUE are similar to the above:
+.RS 4
+.TP 3
+\fB1: Switch off VUE's locker\fP
+Open the ``\fIStyle Manager\fP'' and select ``\fIScreen\fP.''
+Turn off ``\fIScreen Saver and Screen Lock\fP'' option.
+.TP 3
+\fB2: Make sure you have a Session\fP
+Next, go to the Style Manager's, ``\fIStartup\fP'' page.
+Click on ``\fISet Home Session\fP'' to create a session, then
+on ``\fIReturn to Home Session\fP'' to select this session each
+time you log in.
+.TP 3
+\fB3: Edit vue.session\fP
+Edit the file \fI~/.vue/sessions/home/vue.session\fP and add to it
+the line
+.EX
+vuesmcmd -screen 0 -cmd "xscreensaver"
+.EE
+This will cause \fIxscreensaver\fP to be launched when you log in.
+(As always, make sure that xscreensaver and the graphics demos are on
+your \fB$PATH\fP; the path needs to be set in \fI.cshrc\fP
+and/or \fI.profile\fP, not \fI.login\fP.)
+.TP 3
+\fB3: Edit vuewmrc\fP
+Edit the file \fI~/.vue/vuewmrc\fP and add (or change) the Lock control:
+.EX
+CONTROL Lock
+{
+ TYPE button
+ IMAGE lock
+ PUSH_ACTION f.exec "xscreensaver-command -lock"
+ HELP_TOPIC FPLock
+}
+.EE
+This associates the VUE front panel ``Lock'' icon with the xscreensaver
+lock command.
+.RE
+.PP
+.SH USING KDE (K DESKTOP ENVIRONMENT)
+I understand that KDE has invented their own wrapper around xscreensaver,
+that is inferior to
+.BR xscreensaver-demo (1)
+in any number of ways. I've never actually seen it. Presumably, there is
+some way to turn off KDE's screensaver framework, and make it so that the
+usual
+.BR xscreensaver-demo (1)
+and
+.BR xscreensaver-command (1)
+mechanisms are used, in a similar way to how one can reconfigure CDE and
+VUE environments, above.
+
+But I don't know how. If you do, please let me know, and I'll document
+it here.
+.SH ADDING TO MENUS
+The
+.BR xscreensaver-command (1)
+program is a perfect candidate for something to add to your window manager's
+popup menus. If you use
+.BR mwm (1),
+.BR 4Dwm (1),
+.BR twm (1),
+or (probably) any of \fItwm\fP's many descendants, you can do it like this:
+.RS 0
+.TP 3
+\fB1. Create ~/.mwmrc (or ~/.twmrc or ...)\fP
+If you don't have a \fI~/.mwmrc\fP file (or, on SGIs, a \fI~/.4Dwmrc\fP file;
+or, with twm, a \fI~/.twmrc\fP file) then create one by making a copy of
+the \fI/usr/lib/X11/system.mwmrc\fP
+file (or \fI/usr/lib/X11/twm/system.twmrc\fP, and so on.)
+.TP 3
+\fB2. Add a menu definition.\fP
+Something like this:
+.EX
+menu XScreenSaver
+{
+ "Blank Screen Now" !"sleep 3; xscreensaver-command -activate"
+ "Lock Screen Now" !"sleep 3; xscreensaver-command -lock"
+ "Screen Saver Demo" !"xscreensaver-demo"
+ "Screen Saver Preferences" !"xscreensaver-demo -prefs"
+ "Reinitialize Screen Saver" !"xscreensaver-command -restart"
+ "Kill Screen Saver" !"xscreensaver-command -exit"
+ "Launch Screen Saver" !"xscreensaver &"
+}
+.EE
+.TP 3
+\fB3. Add the menu\fP
+For
+.BR mwm (1)
+and
+.BR 4Dwm (1),
+find the section of the file that says \fIMenu DefaultRootMenu\fP.
+For
+.BR twm (1),
+it will probably be \fImenu "defops"\fP. If you add a line somewhere
+in that menu definition that reads
+.EX
+ "XScreenSaver" f.menu XScreenSaver
+.EE
+then this will add an XScreenSaver sub-menu to your default root-window
+popup menu. Alternately, you could just put the xscreensaver menu items
+directly into the root menu.
+.RE
+
+For Fvwm2, the process is similar: first create a \fI~/.fvwm2rc\fP file
+if you don't already have one, by making a copy of
+the \fI/etc/X11/fvwm2/system.fvwm2rc\fP file. Then, add a menu definition
+to it:
+.EX
+AddToMenu XScreenSaver "XScreenSaver" Title
++ "Blank Screen Now" Exec xscreensaver-command -activate
++ "Lock Screen Now" Exec xscreensaver-command -lock
++ "Screen Saver Demo" Exec xscreensaver-command -demo
++ "Screen Saver Preferences" Exec xscreensaver-command -prefs
++ "Reinitialize Screen Saver" Exec xscreensaver-command -restart
++ "Kill Screen Saver" Exec xscreensaver-command -exit
++ "Launch Screen Saver" Exec xscreensaver
++ "Run Next Demo" Exec xscreensaver-command -next
++ "Run Previous Demo" Exec xscreensaver-command -prev
+
+# To put the XScreenSaver sub-menu at the end of the root menu:
+AddToMenu RootMenu "XScreenSaver" Popup XScreenSaver
+.EE
+The Enlightenment window manager keeps each of its menus in a separate
+file. So, you need to create a file
+named \fI~/.enlightenment/xscreensaver.menu\fP with the contents:
+.EX
+"XScreenSaver Commands"
+ "Blank Screen Now" NULL exec "xscreensaver-command -activate"
+ "Lock Screen Now" NULL exec "xscreensaver-command -lock"
+ "Screen Saver Demo" NULL exec "xscreensaver-command -demo"
+ "Screen Saver Prefs" NULL exec "xscreensaver-command -prefs"
+ "Reinitialize Saver" NULL exec "xscreensaver-command -restart"
+ "Kill Screen Saver" NULL exec "xscreensaver-command -exit"
+ "Launch Screen Saver" NULL exec "xscreensaver"
+.EE
+then add
+.EX
+ "XScreenSaver" NULL menu "xscreensaver.menu"
+.EE
+to \fI~/.enlightenment/file.menu\fP to put the XScreenSaver submenu on
+your left-button root-window menu.
+
+As you see, every window manager does this stuff gratuitously differently,
+just to make your life difficult. You are in a maze of twisty menu
+configuration languages, all alike.
+.SH BUGS
+Bugs? There are no bugs. Ok, well, maybe. If you find one, please let
+me know. http://www.jwz.org/xscreensaver/bugs.html explains how to
+construct the most useful bug reports.