[Search for users] [Overall Top Noters] [List of all Conferences] [Download this site]

Conference bulova::decw_jan-89_to_nov-90

Title:DECWINDOWS 26-JAN-89 to 29-NOV-90
Notice:See 1639.0 for VMS V5.3 kit; 2043.0 for 5.4 IFT kit
Moderator:STAR::VATNE
Created:Mon Oct 30 1989
Last Modified:Mon Dec 31 1990
Last Successful Update:Fri Jun 06 1997
Number of topics:3726
Total number of notes:19516

2872.0. "Share your X Applications!" by KASINO::ALTENHOFEN (Michael Altenhofen) Tue Jun 05 1990 09:09

			       Shared X
      A modified X library to give dynamic multi-display support
      ==========================================================

			       SUMMARY

This work was done as part of the NESTOR project being conducted at
Digital CEC Karlsruhe in collaboration with the University of
Karlsruhe.  It provides "naive" X applications with the capability to
work with several displays simultaneously, dynamically add and remove
new displays and hand input control from display to display.

This was mainly intended to be used in a student/tutor environment,
where the tutor would need to see the students current work, make some
modifications to it on-line and would then drop out of the application
again.  It may be generally useful for group work and presentations.
Currently there's very little documentation (we are writing a report
on the work) and it surely is somewhat buggy.


			     MAJOR GOALS

The development of this modified library was guided by four
major goals:

a) Transparency:
   ------------

   No modifications should be necessary to add this new functionality to an
   existing application. The application should not be aware of "being shared."

b) Dynamics:
   --------

   Adding and removing displays to an application should be possible at any 
   time.

c) WYSIWIS (What You See Is What I See):
   ------------------------------------

   The output of a "shared" application should be identical on all displays.

d) Tolerance:
   ---------
   
   The modified library should compensate "tolerable hardware differences"
   (which manifest themselves in Visuals); e.g. it should be possible
   to replicate an application on a PseudoColor display that has been
   invoked on a StaticGray display.

   			 
			     RESTRICTIONS
    
The implementation was part of my diploma thesis which has to be done in six 
months. 
I've finished it one week before the new release X11R4 has been shipped, i.e. 
Shared X is a modified R3 library.
Transparent sharing made it necessary to "rewrite" the select(2) system call.
No attempt has been made to port this new library to VMS (I've never seen the 
sources for VMS and I don't know how "waiting for events" is implementred 
there).
 
    
		     A USEFUL SAMPLE APPLICATION

shXbridge - a "light-weight" pseudo server for window sharing
-------------------------------------------------------------

With this modified library it has been fairly easy to build a
prototype version of a "window sharing" pseudo server.  All it does is
to reassemble protocol requests from clients to the corresponding Xlib
calls (without the modified library it only serves as a "bridge"
between X clients and a real X server).

Highlights of the shXbridge are:

   o elaborate handling of color machines, 
   o almost no memory consumption even when pixmaps and images are used,
   o multiple independent sessions.

		       
			     AVAILABILITY

You will find sources (shXlib), executables (shXbridge) and (little) 
documentation in 

    nestvx::shX/*

The README file will tell you how the stuff is organised. 

		      
			    MAILING ADRESS

Please post any requests/comments/questions/bug reports to 

	    NESTVX::SHAREDX


Michael Altenhofen 

Digital Equipment
Campus Engineering Centre (CEC) Karlsruhe
Karlsruhe
West-Germany

Email: NESTVX::ALTENHOFEN or [email protected]
		      
This note has been crossposted in 
      
      BULOVA::DECWINDOWS
      RDVAX::X
      KAOU04::COWS
      AIAG::TELESWAT
      WORDS::ULTRIX_TOOLS
      RUMOR::TELEWORK
    
T.RTitleUserPersonal
Name
DateLines