home *** CD-ROM | disk | FTP | other *** search
/ Peanuts NeXT Software Archives / Peanuts-3.iso / Tools / screen / WideScreen.README < prev    next >
Encoding:
Text File  |  1992-09-03  |  22.2 KB  |  461 lines

  1. NOTE TO ARCHIVE ADMINISTER:
  2.     WideScreen is a Workspace Utility program, and is distributed in two
  3.     packages.
  4.  
  5.     This Version Supersedes WideScreen-V0.4 and should replace any copies
  6.     currently in existence.
  7.  
  8.     WideScreen-V0.5-SRC.tar.Z
  9.         Is a source only package containing no prebuilt binary.
  10.     WideScreen-V0.5-BIN.tar.Z
  11.         Is binary only package that contains a prebuilt striped application,
  12.         and a few associated text files.
  13.  
  14.  
  15. WARNING:  WideScreen is currently under development consult the KNOWN BUGS
  16.           section before attempting to use this application.
  17.  
  18.    This is Version 0.5 of WideScreen (formerly known as WideScreen V0.4-V0.2
  19. and VDT V0.1.  WideScreen is a Virtual Desktop manager currently under
  20. development.  If you are familiar the X window manager "tvtwm" or the
  21. VirtSpace.app utility then you known what WideScreen does.  WideScreen was
  22. started before VirtSpace.app was released to the general public.  I was
  23. going to abandon WideScreen when VirtSpace came out, but I decided to
  24. continue development since I wasn't completely satisfied with the
  25. functionality of VirtSpace.
  26.  
  27.    WideScreen is distributed in two packages.  WideScreen-VX.X-SRC.tar.Z is a
  28. complete source distribution with no prebuilt binary.  You should down load
  29. this file is you are interested in building the application yourself, or
  30. you wish to inspect or modify the source code.  WideScreen-VX.X-BIN.tar.Z is
  31. a prebuilt stripped binary version for those without compilers.
  32.  
  33.    I decided to distribute WideScreen in it's current unfinished state since
  34. my work schedule has not allowed me the time needed to finish off all the 
  35. little details.  And my upcomming schedule is likely to be worse for next
  36. few months.  So rather than never getting around to finishing, and hence
  37. never distributing it, I decided release what I currently have in the hopes
  38. that some may find it a useful alternative.
  39.  
  40. NOTE: About Background windows.
  41.    WideScreen treats background windows differently then the VirtSpace
  42. application.  Background windows do not show up in the virtual desk top
  43. window and are essentially ignored by the WideScreen application.  WideScreen
  44. considers any window set to a window tier less than 0 to be a background
  45. window.  If you use the Scene or Background applications then you background
  46. windows will be set to tier less than 0.  If, however, you use the background
  47. shell script to set your background window you will need to use the modified
  48. version of this script provided with the WideScreen distribution.
  49.  
  50. Michael D. Marchionna
  51. mdm@wdl1.wdl.loral.com
  52.  
  53.  
  54. The following is the extracted text from the WideScreen help panel:
  55. ------------------------------------------------------------------------------
  56. Improvements over WideScreen V0.4:
  57. o   Bug Fixes:
  58.    o   WideScreen V0.4 was released with a stupid error that kept the
  59.        Virtual Desktop from updating when the VDT window became the
  60.        Key Window.  This is corrected in V0.5.  For this reason alone you
  61.        should vaporize any copy of V0.4, binary or source, and replace it
  62.        with V0.5.
  63. o   New Features:
  64.    o   A Pan Jump option is available that allows the VDT View Port to be
  65.        positioned with a single mouse click.
  66.    o   A Pan Grid option is available to allow control of the granularity
  67.        of mouse panning movement.
  68.    o   A new default setting has been added to allow you to select the
  69.        gray value used in border highlighting.
  70.    o   The Pan Delta option is now modifiable durring run time.
  71.  
  72. o   Known Bugs:
  73. ---------------
  74.    o   If the Workspace File Viewer is displaced by panning the View
  75.        Port or by dragging the Workspace view from the VDT window, the
  76.        Workspace can crash with a signal 10 error.  This occurs when
  77.        dragging a Workspace Icon from or to the Shelf.  The only current
  78.        work arounds are to 1) make the Workspace File Viewer window
  79.        sticky and keep it that way.  Or always drag the File Viewer 
  80.        Window slightly before manipulating any shelf Icons.   I currently
  81.        have no fix for this after many attempts.  It is due to the basic way
  82.        in which I move windows.  I welcome any suggestions to correct the
  83.        problem.
  84.  
  85.    o   When using the right mouse button to popup the application menu after
  86.        changing the view port the menu can become displaced from where
  87.        the mouse is clicked.  You can get around this by moving the mouse
  88.        outside the current key window and then clicking.  Also if the key
  89.        dragged any amount the problem will correct itself.
  90.  
  91.  
  92. Improvements over WideScreen V0.3:
  93. o   New Features:
  94.    o   Sticky window can be set and unset by Alt-clicking on the window
  95.        icons in the VDT window.
  96.    o   The VDT window now has a border that highlights when the VDT
  97.        window is given keyboard focus.
  98.    o   The preference panel now inserts the current VDT window position,
  99.        and VDT size when the "Current" button is pressed.
  100.  
  101. Improvements over WideScreen V0.2:
  102. o   New Features:
  103.    o   The Preference Panel can now be used to modify and save all of the
  104.        WideScreen dwrite options.
  105.    o   New dwrites have been added to define the startup VDT window
  106.        position.
  107.    o   A new dwrite has been added to allow the VDT window's resize
  108.        bar to removed. 
  109.    o   A new dwrite has been added to allow the VDT window to have no
  110.        drag bar and hence be immobilized.
  111.    o   The VDT window level options have been moved to the preference
  112.        panel, and can be saved between runs like all the preferences.
  113.    o   A new Utility function has been added to align all the non-Dock
  114.        icons in the current View Port. 
  115.    o   A new dwrite has been added to select the Icon Gravity used in the
  116.        Align Icon utility.  This option determines which corner of the screen
  117.        the icons will be bunched toward.
  118.    o   The Immediate/Deferred Window Motion option has been
  119.        implemented, and is selectable at runtime and is saved between runs.
  120.    o   The Dock Handling option has been implemented to allow the Dock to
  121.        always be kept within the current View Port ("Sticky"), or to treat the
  122.        Dock like any normal window ("Slippery").  It is settable at runtime
  123.        and is saved between runs.
  124.    o   A new Utility function has been added to retrieve the Dock and return
  125.        it within the current View Port from wherever it is in the VDT.  This
  126.        is usefull when Dock Handling is set to "Slippery".
  127.    o   As an additional safety feature the Dock is always retrieved before
  128.        WideScreen terminates.
  129.    o   Windows can be order to the front or bottom of the window tier by
  130.        SHIFT or COMMAND clicking respectively on the given windows
  131.        VDT window icon.
  132.  
  133. Improvements over VDT V0.1:
  134. o   Bug fixes:
  135.    o   The mysterious offset that occasionally occurred when dragging
  136.        windows by the drag bar appears to be solved.
  137.    o   The problem with the command key panning options should be fixed.   
  138. o   New Features:
  139.    o   The VDT View Port can now be positioned via mouse dragging.  See 
  140.        Panning section below.
  141.    o   Windows can now be moved  from the VDT Window via mouse 
  142.        dragging.  See the Window Manipulation section below.
  143.    o   The VDT window now has a resize bar for extending the Virtual
  144.        Desktop size.
  145.    o   Background windows are handled in a sensible fashion.
  146.    o   New panning keyboard accelerators have been added that do not
  147.        require the command key.  Also the arrow keys can be used for
  148.        panning.
  149.    o   The PanDelta default has been changed from 50 to 100.
  150.    o   The Hide command has been removed and replaced with a
  151.        miniaturize command.  The mini-window now has a recognizable
  152.        icon.
  153.    o   There is an alert panel posted when the Quit command is selected.
  154.        The application returns the VDT View Port back to its startup origin
  155.        before terminating.
  156.  
  157. Permission is granted to redistribute this version of WideScreen to any interested user provided it has not modified.  Any recipient of WideScreen is free to modify and use any of the source code for their own personel use, but are not allowed to redistribute the modified version without the original authors permission.
  158.  
  159. Michael D. Marchionna
  160. San Jose, California
  161. (408) 264-1531 (home)
  162. (408) 473-4287 (work)
  163.  
  164. Virtual Desktop Concept
  165.  
  166.    The idea of a virtual desktop is not new.  Some of you may have
  167. encounterd a virtual desktop manager in the X11 environment (e.g. vtwm and
  168. tvtwm) or in the Macintosh environment.  The idea is fairly simple.  Imagine
  169. what it would be like if the root window was larger than the physical
  170. dimensions of the display screen.  The physical display would only be able
  171. to view a portion of the larger virtual desktop(VDT).  Now if you could
  172. change which portion of the VDT is shown on the physical display, you could
  173. then place windows all over the VDT.  The physical display then behaves like
  174. a scrollable view on a window that is larger than the view.
  175.  
  176.    The advantages of a VDT manager become clear quickly after using one.
  177. Since you can place windows all over the VDT you can organize your work in
  178. different portions of the VDT.  For example you could be using IB in one
  179. section of the VDT, the Digital Librarian in another, and some Terminal's in
  180. still another.  The VDT manager provides a scaled down window that
  181. represents the entire VDT so you can see how you have spread all the windows
  182. out.  You can then move about the VDT with a keystroke or a mouse drag to
  183. portions of the VDT that are interesting.  Then end result is that you can
  184. reduce window clutter, and reduce the amount of window juggling needed
  185. without a VDT.
  186.  
  187. The WideScreen Menu
  188.  
  189. Info:
  190. Info Panel...    Displays the obligatory Application Credits and Version
  191.                  number.
  192. Help Panel...  Displays this panel.
  193. Preferences... Displays the application preference panel for setting all the
  194.                WideScreen customization options.
  195.  
  196. Panning:
  197. Panning refers to changing the position of the currently viewed portion of
  198. the Virtual Desktop.  This visible region is called the VDT View Port.  It
  199. is represented in the WideScreen VDT window as a light grey rectangle behind
  200. all the other scaled window icons.  The VDT View Port can be positioned in
  201. several ways using the mouse or the keyboard.
  202.  
  203. Panning With The Mouse:
  204. To move the VDT View Port with the mouse you need to give the VDT Window
  205. focus, and then click within the light grey rectangle representing the VDT
  206. View Port.  Then simply drag the View Port to the desired position.  You can
  207. click on a window icon that is inside the VDT View Port region and the View
  208. Port will still be selected.
  209.  
  210. Panning With The Keyboard:
  211. The are a bunch of ways to move the VDT View Port with the keyboard.  The
  212. most obvious are the command key options under the Panner Sub-menu.  The
  213. compass directions each move the VDT View Port in the direction indicated.
  214. The amount the View Port is moved is determined by the PanDelta default
  215. described below.  Note that all the Command Key accelerators make sense when
  216. you look at the numbers on the numeric keypad.  The Center command moves the
  217. View Port to the center of the VDT.  While the Home command returns to the
  218. View Port to the location it was initially at startup.  The Top, Bottom,
  219. Left, and Right move the View Port to the indicated edge of the VDT.
  220.  
  221. In addition to the command key options you can simply type a direction key.
  222. The direction keys are the same as the keys used for the Panner command key
  223. accelerators.  Simply type the key without holding down the command key.  In
  224. addition the arrow keys will perform the Panning functions North, South,
  225. East, and West.  The Alternate key can be combined with anyone of the eight
  226. directional keys to move the View Port to the edge of the VDT in that given
  227. direction.  For example typing ALT-7 would move the View Port to the extreme
  228. NorthWest (Top Left) corner of the VDT.
  229.  
  230. Window Manipulation:
  231. WideScreen supports a number of window manipulation functions from the VDT
  232. window depending on what modifier key is held down when clicking in the VDT
  233. window.
  234.  
  235. Moving Windows:
  236. You can move actual windows from the VDT window by dragging the associated
  237. window icon about in the VDT window.  In order to drag a VDT window icon you
  238. must hold down the CONTROL key, and then click on the window icon you wish
  239. to drag.  Then simply drag the window icon to the new location you wish the
  240. real window to be moved to.
  241.  
  242. Ordering Windows:
  243. You can change the stacking order of actual windows from the VDT window.  If
  244. you hold down the SHIFT key and click on the VDT window icon the actual
  245. window will be brought to the front of its window tier.  If you hold down
  246. the COMMAND key and click on the VDT window icon the actual window will be
  247. moved to the bottom of its window tier.
  248.  
  249. Sticky Windows:
  250. You can mark certain windows to be treated as sticky by Alt-Clicking on the
  251. window icon in the VDT window.  A sticky window maintains its position
  252. within the VDT view port as the view port is moved.  Sticky windows are
  253. identifiable in the VDT window black window icons with white borders, as
  254. opposed to normal windows which are shown as white window icons with black
  255. borders.  You can unstick a window by Alt-Clicking the icon a second time.
  256.  
  257. Utilities:
  258. This submenu provides utility commands that help support the use of the
  259. WideScreen Virtual Desktop.
  260.  
  261. Align Icons:
  262. This command gathers all the non-Dock icons in the current VDT View Port,
  263. and arranges them sequentialy toward the selected Icon Gravity corner.
  264.  
  265. Retrieve Dock:
  266. This command moves the entire Dock back within the current View Port from
  267. its current position in the VDT.  This function is is useful when the Dock
  268. Handling option is set to "Slippery".
  269.  
  270. Return Dock:
  271. This command moves the entire Dock back the VDT origin  View Port position.
  272. This function is disabled when the Dock Handling option is set to "Sticky".
  273.  
  274. Update Vdt:
  275. This command refreshes the VDT Window, and gives an up to date display of
  276. the VDT.
  277.  
  278. WideScreen Preferences
  279.  
  280.    The WideScreen application uses a series of defaults that define all of
  281. the various Startup and Runtime options available to the user.  All
  282. WideScreen options may be modified from the Preference panel or set through
  283. the UNIX shell command dwrite.  Startup preferences only take affect the
  284. next time WideScreen is run.  After changing a Startup preference you must
  285. click the Save button for the modification to be recorded to the defaults
  286. database.  Runtime preferences take affect immediately, however if you wish
  287. the setting to be remembered the next time WideScreen is run you must click
  288. the Save button.  The Revert button will reset all the preferences to those
  289. currently written to the defaults database.  Each of the available
  290. preferences are discussed in detail below along with the associated dwrite
  291. command:
  292.  
  293. Startup Preferences:
  294.  
  295. Size "Width Height"
  296. The size is expressed in units of physical screen size. Two integers are
  297. expected in the Size default representing the desired width and height of
  298. the VDT.  The default VDT Size is 2 x 2, or twice the physical screen width
  299. and twice as high.  The VDT size is restricted to maximum of 8x8 to avoid
  300. hitting the 16000 absolute value limit of a screen coordinate.
  301.     Default:     "2 2"
  302.     Example:    dwrite WideScreen Size "2 3"
  303.     This would create a virtual desktop that is two times the width and
  304.     three times the height of the physical display screen.
  305.  
  306. Scale scale
  307. The VDT Scale is the ratio of the VDT Size to the size of the window
  308. representing the VDT.  The Scale factor must be sufficiently large to allow
  309. the VDT window to fit within the physical screen limits, yet not to large
  310. that it would reduce the VDT window to something smaller than 64x64 pixels.
  311.     Default:        8
  312.     Example:    dwrite WideScreen Size 12
  313.     This would cause the VDT window to be one twelfth the size of the full
  314.     scale virtual desktop.
  315.  
  316. Origin "X Y"
  317. The View Port Origin default determines which section of the VDT the View
  318. Port will initially be placed at.  The Origin default defines the X and Y
  319. position in screen sizes of the viewport origin.  In a 2 x 2 VDT an Origin
  320. of "0 0" puts the View Port at the bottom left of the VDT while an Origin of
  321. "1 1" will put the View Port at the upper left of the VDT.
  322.     Default:     "0 0"
  323.     Example:    dwrite WideScreen Origin "0 1"
  324.     This would cause the VDT View Port to be initially placed in the
  325.     upper left corner of a 2 x 2 VDT.
  326.  
  327. WinLocX Xpos
  328. WinLocY Ypos
  329. The Window Location defaults define what screen position the bottom left
  330. corner of the VDT window will be placed at when the WideScreen application
  331. is started.  The Xpos and Ypos values define the desired screen coordinate.
  332.     Default:     WinLocX    300
  333.     Default:     WinLocY    300
  334.     Example:    dwrite WideScreen WinLocX 0
  335.                 dwrite WideScreen WinLocY 0
  336.     This would cause the VDT Window to be positioned at the bottom left
  337.          hand corner of the physical screen at startup.
  338.  
  339. ResizeBar YesNo
  340. The ResizeBar default determines if the VDT window will have a resize bar on
  341. startup and for the duration of its run.
  342.     Default:     ResizeBar   Yes
  343.     Example:    dwrite WideScreen ResizeBar No
  344.     This would cause the VDT Window to not have a resize bar.
  345.  
  346. Immobile YesNo
  347. The Immobile default determines if the VDT window will have a drag bar on
  348. startup and for the duration of its run.  If the VDT window has no drag bar
  349. the window will be made impossible to move, or at least very difficult.
  350.     Default:     Immobile    No
  351.     Example:    dwrite WideScreen Immobile Yes
  352.     This would cause the VDT Window to not have a drag bar.
  353.  
  354. Runtime Preferences:
  355.  
  356. Window Level:
  357. Changes the window tier that the VDT Window is in.  The Normal tier means
  358. the VDT window can be raised and lowered in the same way all the normal
  359. windows are.  The Floating setting is the default.  At the this level the
  360. VDT window rides above the normal windows like an alert panel.  The Dock
  361. level means the VDT window rides in the same window tier as the Dock.  The
  362. SubMenu level puts the VDT window above the Dock but lower the Application
  363. Menu.  The MainMenu level means the VDT window will ride above just about
  364. everything.  I mean it's way up there lady!
  365.     Default:     WindowLevel Floating
  366.     Settings:    Normal Floating Dock SubMenu MainMenu
  367.     Example:    dwrite WideScreen  WindowLevel Dock
  368.     This would cause the VDT Window to be placed in the
  369.         NX_DOCKLEVEL tier.  Which happens to be one less than the
  370.         window tier that the Dock icons are in.  Go Figure!
  371.  
  372. Icon Gravity:
  373. Changes action of the Uitlities->Align Icon function.  This setting
  374. determines which corner of the physical screen the Align Icon function will
  375. gravitate all the non-Dock icons within the corrent View Port towards.
  376.     Default:     IconGravity BottomLeft
  377.     Settings:    TopLeft TopRight BottomLeft BottomRight
  378.     Example:    dwrite WideScreen  IconGravity BottomRight
  379.     This would cause the Align Icon function to start positioning icons at
  380.          the bottom right corner of the screen moving towards the left for each
  381.          additonal icon.  If there are enough icons to exceed the width of the
  382.          screen a new row will be started above the previous one.
  383.  
  384. Dock Handling:
  385. Changes the way the Dock is handled durring View Port moves.  If set to
  386. Sticky the Dock is always kept within the current View Port.  If set to
  387. Slippery the Dock is treated as any ordinary window.
  388.     Default:     DockHandling    Sticky
  389.     Settings:    Sticky Slippery
  390.     Example:    dwrite WideScreen  DockHandling Slippery
  391.     This would cause the Dock not to follow the View Port as it is moved.
  392.  
  393. Window Motion:
  394. Changes the way the actual window position is updated when draging a VDT
  395. window icon.  If set to Deferred the actual window's position is not updated
  396. until the drag opertation is completed.  If set to Immediate the actual
  397. window's position is updated in tandem with the VDT window icon.
  398.     Default:     WindowMotion    Deferred
  399.     Settings:    Deferred Immediate
  400.     Example:    dwrite WideScreen  WindowMotion Immediate
  401.     This would cause actual window positions to be updated in tandem
  402.          with  movement of the VDT window icon.
  403.  
  404. PanDelta Percentage
  405. The PanDelta default expresses the percentage of the physical screen that is
  406. to be shifted in a single pan increment.  The default value of 100 means the
  407. VDT view port is shifted by one physical screen size for the appropriate
  408. direction.
  409.     Default:     100
  410.     Example:    dwrite WideScreen PanDelta 50
  411.     This would cause the VDT View Port to pan one half a screens worth
  412.     in the given direction.
  413.  
  414. PanGrid Percentage
  415. The PanGrid default expresses the percentage of the physical screen that is
  416. to be used as the X and Y increments used in mouse panning.  The default
  417. value of 0 means the X and Y increments are both 1 pixel.  Percentages
  418. between 1 and 100 may increase these increments.
  419.     Default: 0
  420.     Example:dwrite WideScreen PanGrid 50
  421.     This would cause mouse panning to shift the VDT View Port in one
  422.     half a screen increments.
  423.  
  424. PanJump YesNo
  425. The PanJump default determines if the VDT View Port jumps to where you click
  426. the cursor in the VDT window.  The Pan Jump feature attempts to place the
  427. center of the View Port at the position the mouse was clicked.
  428.     Default: PanJumpNo
  429.     Example:dwrite WideScreen PanJump Yes
  430.     This would enable the Pan Jump feature.
  431.  
  432. BorderGray GrayValue
  433. The BorderGray default determines what gray value is used as the border
  434. highlight color when the Immobile option is set to Yes.  This is used help
  435. indicate when the VDT window has keyboard focus.  The GrayValue can range
  436. between 0.0 and 1.0.
  437.     Default: 0.0
  438.     Example:dwrite WideScreen BorderGray 1.0
  439.     This would cause border high light color to white.
  440.  
  441. Things To Do List:
  442.     o Implement a safety feature that will give the user the option to
  443.       move all the windows that are outside the current View Port back
  444.       into view when the VDT App is exited normally or otherwise!
  445.     o Implement a Window Inspection panel that allows the user get all 
  446.       the statistics about the given window that is clicked on.
  447.  
  448. Acknowledgements:
  449.     o Tom LaStrange - For adding the wonderful Virtual Desktop feature
  450.       to the X11 twm window manager, and transforming it into tvtwm
  451.       which I use every day at work.  It makes working in X almost 
  452.       bearable.
  453.     o Paul S. Kleppner - For writing the Mini Example Winfo which
  454.       provided the DPS wrappers needed to implement WideScreen.
  455.     o Beta Testers - To all those brave soles who risked hosing there
  456.       WorkSpace, and donated their valuable time to report bugs, and
  457.       offer valuable suggestions.  Many Thanks!
  458.  
  459. Please send comments and suggestions to:
  460.         mdm@wdl1.wdl.loral.com
  461.