home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1994 October / usenetsourcesnewsgroupsinfomagicoctober1994disk2.iso / x / volume14 / xtoolplaces / part01 / README < prev    next >
Encoding:
Text File  |  1991-08-26  |  3.7 KB  |  121 lines

  1. This is the README file for xtoolplaces.
  2.  
  3. Author:
  4.  
  5.   Adam Stein (stein.wbst129@xerox.com)
  6.  
  7. Copyright:
  8.  
  9.   Copyright (c) 1991 Xerox Corporation.  All Rights Reserved.
  10.  
  11.   Permission to use,  copy,  modify  and  distribute  without
  12.   charge this software, documentation, images, etc. is grant-
  13.   ed, provided that this copyright and the author's  name  is
  14.   retained.
  15.  
  16.   A fee may be charged for this program ONLY to recover costs
  17.   for distribution (i.e. media costs).  No profit can be made
  18.   on this program.
  19.  
  20.   The author assumes no responsibility for disasters (natural
  21.   or otherwise) as a consequence of use of this software.
  22.  
  23. Description:
  24.  
  25.   This program will collect state information from any windows
  26.   currently running on an X desktop.  This information can then
  27.   be used to start X to return to the current desktop state.  This
  28.   is the X equivalent of Sunview's toolplaces program.
  29.  
  30. Installation:
  31.  
  32.   This program has only been compiled and tested on BSD or BSD/SYS5
  33.   mixed systems.  I have no idea what would have to be changed for
  34.   a SYS5 only system (probably only index to strchr and that sort of
  35.   stuff).  To compile using imake use:
  36.  
  37.         imake
  38.  
  39.   and to install the program and man page use
  40.  
  41.         imake install install.man
  42.  
  43.   To compile using make instead, use:
  44.  
  45.         make -f Makefile.simple
  46.  
  47.   and to install the program and man page use
  48.  
  49.         make -f Makefile.simple install
  50.  
  51.  
  52. Methodology:
  53.  
  54.   This program works by following these steps:
  55.  
  56.   I.   Change cursor to a watch, grab the pointer so that the
  57.        user can't change anything during execution, and ring
  58.        the bell once to let the user know the program has started.
  59.  
  60.   II.  Loop through each screen to save from:
  61.  
  62.        a. Loop through each window in the tree to:
  63.  
  64.           1. See if it's a window worth saving.  It has to meet
  65.          four conditions:
  66.  
  67.          a. it has WM_NAME set (so we know it's not a pop-up, etc)
  68.  
  69.          b. it's a group leader or assume it's ok if group leader
  70.             isn't set
  71.  
  72.          c. it's parent is the root window
  73.  
  74.          d. it has a WM_COMMAND property to save or is on a list
  75.         specified with the '-m' option
  76.  
  77.           2. Tell window to update it's current state if it knows
  78.          about the WM_SAVE_YOURSELF message.
  79.   
  80.           3. See if it either:  has a state to save (WM_COMMAND);
  81.          or is on the missing applications list (-m option)
  82.  
  83.       4. If window doesn't know how to save itself (doesn't
  84.          understand WM_SAVE_YOURSELF), extract geometry
  85.          information manually.
  86.  
  87.           5. If console checking is enabled (-c), check to see if
  88.          window is a console and write 'if ... fi' clause to
  89.          only have it start up if X is starting on /dev/console.
  90.  
  91.           6. Check to see if window is a remote application and
  92.          put the appropriate remote command (default 'rsh -n') to
  93.          start application.
  94.  
  95.           7. Save current window state.
  96.  
  97.           8. If add arguments is enabled (-a), check to see if this
  98.          window applications has any arguments to add to it's
  99.          command line.
  100.  
  101.   III. Release pointer (which changes the cursor back to normal) and ring
  102.        the bell twice to let the user know that the program is finished.
  103.  
  104. Bugs/Additions:
  105.  
  106.   I would appreciate knowing about any bugs either found or
  107.   fixed and any enhancements made.  I would like to keep a
  108.   centralized version with the upgrades so that there aren't
  109.   50 million versions posted to the net.  I can't make any
  110.   guarantees to when bug fixes would be made (if any are
  111.   found :-{), but I'll do my best.
  112.  
  113.   I hope this program is of use to you, either in it's capacity or as simple
  114.   example in X programming.
  115.  
  116. Acknowledgements:
  117.  
  118.   I would like to thank my beta testers, Donn Morrill and Bill Fuss for
  119.   helping to make sure this program works and keeping me honest.
  120.  
  121.