[comp.windows.x] Siemens RTL Tiled Window Manager

ellis%siemens@cadillac.siemens.COM (Ellis Cohen) (09/21/87)

The Siemens RTL Tiled Window Manager for X11 clients is scheduled to be
released on Friday, October 2.

Except for transient windows, the Siemens RTL Tiled Window Manager does
not permit windows to overlap -- it shrinks, closes or moves windows to
retain a tiled desktop.
Support is provided for standard X properties, including the recently
added WM_CLASS and WM_TRANSIENT_FOR.

Because of future licensing concerns, a source code version will
unfortunately not be available.  However, object code versions for
the Sun 2, Sun 3, and Microvax will be provided.

The window manager will be available by public ftp.  The sites will
be announced on the release date.

If you cannot get ftp access, you can obtain a tape by sending $50 to

    Tiled Windows Distribution
    Siemens RTL
    105 College Rd East
    Princeton NJ 08540

Ellis Cohen
(609) 734-6524
ellis.cohen@a.gp.cs.cmu.edu
princeton!siemens!ellis

Rick.Busdiecker@CS.CMU.EDU (09/21/87)

How about binaries for IBM-PC/RTs?  I've got one with 4.3BSD which I'd
like to test out some of these new neato things (ups, rtl, ?) on.

			Rick

toddb@tekcrl.tek.COM (Todd Brunhoff) (09/22/87)

Could I persuade you to make RTL available as a sun .o file?  Given this,
I can relocate the binary to another machine whose processesor is a 68000-
family.  The creation of this .o file can be a bit painful, but would
be worthwhile to me... the question is, would it be for you, too?
There are two methods to create a "portable" .o file:


     1. With all library references resolved.
	This approach has the advantage that all my troubles are reduced to
	worrying about the incompatibilities between sun's system call
	interface and the "other" machine's interface.  It has the disadvantage
	that if you cannot compile and link everything on a sun 3, it will be
	impossible for me to continue because of the floating point/long
	integer library incompatibilities.  This approach takes more time; you
	need a special libc.a that has all of the system calls removed (e.g.
	open, read, write, socket, close, etc.) Then you link using the -r
	option to ld:
		ld -o rtl.obj -r *.o special-libc.a -lX11
	this .o file can be linked again against my own libc.

     2. With all library references unresolved.
	This method has the advantage that any bug fixes to Xlib can be
	achieved simply by relinking with the "fixed" xlib.  It has the
	disadvantage that if the sun has different structure declarations
	for system structures (like stat, timeval), then there are
	more headaches in making the program work.  This method is a
	bit easier: simply link all the rtl-specific .o files together
	using the -r flag and you're done.
		ld -o rtl.obj -r *.o

I will appreciate it if this is within the range of things you are willing
to do, but will understand if it is not.  Please respond either way.

PS
Please note that I am no longer at Project Athena.
---------------
Usenet:       {ucbvax,decvax,allegra,uw-beaver,hplabs}!tektronix!crl!toddb
{CS,ARPA}net: toddb%crl.tek.csnet@relay.cs.net                       c--Q Q
US:           Todd Brunhoff; Computer Research Lab; Tektronix, Inc.      `
              Box 500  MS 50-662, Beaverton OR 97077                     -
Phone:        (503) 627-1121

urban@spp2 (Mike Urban) (08/03/88)

I have just obtained the Siemens RTL tiled window manager
and it is now operating on my (Sun 3/50) workstation.  It
seems to be quite usable, somewhat to my surprise.  

However, contrary to the documentation, it seems to be
completely insensitive to transient windows.  The source
code indicates that it does check the TRANSIENT_FOR property,
and it appears that this hint is not being seen.  Is there
a known fix for this problem?
   Mike Urban
	...!trwrb!trwspp!spp2!urban 

"You're in a maze of twisty UUCP connections, all alike"

berman@EDSEL.SIEMENS.COM (A. Michael Berman) (08/04/88)

Mike Urban writes:

	I have just obtained the Siemens RTL tiled window manager
	and it is now operating on my (Sun 3/50) workstation.  It
	seems to be quite usable, somewhat to my surprise.  

Thanks!  We're not surprised that you find it usable. :-)

        However, contrary to the documentation, it seems to be
        completely insensitive to transient windows.  The source
        code indicates that it does check the TRANSIENT_FOR property,
        and it appears that this hint is not being seen.  Is there
        a known fix for this problem?

We ran into this a little while ago, but didn't post a patch --- here it is.  
It seems that the problem is that when a popup widget is created in the X 
Toolkit, the TransientFor property is set, with the window to be transient for 
set to 0.   At least, when we read the hint, the window is 0.  Anyway, this 
patch works around this so that the window is treated as transient.

Enjoy!

--Mike


*** /usr/cadillac/rtl/src/property.c	Wed Jun 22 14:34:09 1988
--- property.c	Wed Aug  3 16:06:08 1988
***************
*** 1,5 ****
  #ifndef lint
! static char sccs_id[] = "@(#)property.c	5.1  6/22/88";
  #endif
  
  /*
--- 1,5 ----
  #ifndef lint
! static char sccs_id[] = "@(#)property.c	5.2  8/3/88";
  #endif
  
  /*
***************
*** 62,69 ****
      Window  parent;
  
      parent = None;
!     (void) XGetTransientForHint(dpy, Userwin_XClient(uwinp), &parent);
!     Userwin_XTransient_For(uwinp) = parent;
  }
  
  /* ------------------------------------------------------------ */
--- 62,77 ----
      Window  parent;
  
      parent = None;
!     if (XGetTransientForHint(dpy, Userwin_XClient(uwinp), &parent))
!     {
! 	/* it's possible to set the transient for hint, with no   */
! 	/* parent (toolkit does this) -- so make the transient    */
! 	/* for be the root (since we use 0 to mean not transient  */
! 	Userwin_XTransient_For(uwinp) = (parent	== None)? root : parent;
!     }
!     else
! 	Userwin_XTransient_For(uwinp) = None;
! 
  }
  
  /* ------------------------------------------------------------ */