Path: utzoo!attcan!uunet!lll-winken!lll-tis!ames!ll-xn!mit-eddie!bloom-beacon!orc.olivetti.COM!lauwers
From: lauwers@orc.olivetti.COM (Chris Lauwers)
Newsgroups: comp.windows.x
Subject: rooms and hierarchies of window managers
Message-ID: <8805112257.AA05122@modena.orc.olivetti.com>
Date: 11 May 88 22:57:04 GMT
Sender: daemon@bloom-beacon.MIT.EDU
Organization: The Internet
Lines: 34

I am interested in building a system like Rooms (built by Card and
Henderson at Xerox PARC) on top of X11. A Rooms system basically
simulates multiple logical screens (called rooms) on one physical
screen. A top-level Rooms manager allows creation and destruction of
rooms (basically just big windows) and starts up a separate window
manager for each of these rooms.  Each window manager manages the
space in its room (as if the window it is running in is its root
window). The room manager allows users to switch back and forth
between rooms, and possibly to resize and move rooms.

Initially, I was planning to modify an existing window manager (uwm)
and use it for both the top-level rooms-manager and the per-room
window managers. There are some problems with that, however.

The reason is that the "room-manager" blocks certain events from the
per-room window managers. As I understand it, a window manager
typically performs "passive grabs" on mouse buttons to register itself
with the X server as the event handler for certain combinations of
events (e.g.  "if the left mouse button is pressed while the SHIFT key
is down, send that button event to me").  If uwm is used for both the
top-level room manager and the per-room window managers, they will all
attempt to grab the same buttons, and only the room-manager's attemp
will succeed (assuming it is started up first).  This means that if I
click "SHIFT left-button" to move an application window in a room the
"SHIFT left-button" event will go to the room manager (whose grab
succeeded), and the entire room will be moved.


Does anybody have any idea how to get around this ?

Chris Lauwers
Olivetti Research Center

lauwers@orc.olivetti.com
(lauwers%orc.uucp@unix.sri.com)