home *** CD-ROM | disk | FTP | other *** search
- This is the README file for xtoolplaces.
-
- Author:
-
- Adam Stein (stein.wbst129@xerox.com)
-
- Copyright:
-
- Copyright (c) 1991 Xerox Corporation. All Rights Reserved.
-
- Permission to use, copy, modify and distribute without
- charge this software, documentation, images, etc. is grant-
- ed, provided that this copyright and the author's name is
- retained.
-
- A fee may be charged for this program ONLY to recover costs
- for distribution (i.e. media costs). No profit can be made
- on this program.
-
- The author assumes no responsibility for disasters (natural
- or otherwise) as a consequence of use of this software.
-
- Description:
-
- This program will collect state information from any windows
- currently running on an X desktop. This information can then
- be used to start X to return to the current desktop state. This
- is the X equivalent of Sunview's toolplaces program.
-
- Installation:
-
- This program has only been compiled and tested on BSD or BSD/SYS5
- mixed systems. I have no idea what would have to be changed for
- a SYS5 only system (probably only index to strchr and that sort of
- stuff). To compile using imake use:
-
- imake
-
- and to install the program and man page use
-
- imake install install.man
-
- To compile using make instead, use:
-
- make -f Makefile.simple
-
- and to install the program and man page use
-
- make -f Makefile.simple install
-
-
- Methodology:
-
- This program works by following these steps:
-
- I. Change cursor to a watch, grab the pointer so that the
- user can't change anything during execution, and ring
- the bell once to let the user know the program has started.
-
- II. Loop through each screen to save from:
-
- a. Loop through each window in the tree to:
-
- 1. See if it's a window worth saving. It has to meet
- four conditions:
-
- a. it has WM_NAME set (so we know it's not a pop-up, etc)
-
- b. it's a group leader or assume it's ok if group leader
- isn't set
-
- c. it's parent is the root window
-
- d. it has a WM_COMMAND property to save or is on a list
- specified with the '-m' option
-
- 2. Tell window to update it's current state if it knows
- about the WM_SAVE_YOURSELF message.
-
- 3. See if it either: has a state to save (WM_COMMAND);
- or is on the missing applications list (-m option)
-
- 4. If window doesn't know how to save itself (doesn't
- understand WM_SAVE_YOURSELF), extract geometry
- information manually.
-
- 5. If console checking is enabled (-c), check to see if
- window is a console and write 'if ... fi' clause to
- only have it start up if X is starting on /dev/console.
-
- 6. Check to see if window is a remote application and
- put the appropriate remote command (default 'rsh -n') to
- start application.
-
- 7. Save current window state.
-
- 8. If add arguments is enabled (-a), check to see if this
- window applications has any arguments to add to it's
- command line.
-
- III. Release pointer (which changes the cursor back to normal) and ring
- the bell twice to let the user know that the program is finished.
-
- Bugs/Additions:
-
- I would appreciate knowing about any bugs either found or
- fixed and any enhancements made. I would like to keep a
- centralized version with the upgrades so that there aren't
- 50 million versions posted to the net. I can't make any
- guarantees to when bug fixes would be made (if any are
- found :-{), but I'll do my best.
-
- I hope this program is of use to you, either in it's capacity or as simple
- example in X programming.
-
- Acknowledgements:
-
- I would like to thank my beta testers, Donn Morrill and Bill Fuss for
- helping to make sure this program works and keeping me honest.
-
-