Re: WM Extended Spec Summary, 6/21/99



>  So what is it application needs to communicate with the WM? It's showing
>  windows,  hiding windows, moving windows to other desktops, iconifying windows
>  etc. All is done currently with a few simply, well defined X-calls. So there's
>  no need to put an additional burden on WM developers.

Operations like that have no problem, and they can be handled fine
with X calls and property changes.  Note that this is app->wm
interaction.

The idea of having a CORBA interface to the window manager is related
to wm->app notification issues.  Right now a pager has to be
implemented by effectively writing "mini window manager", so that it
can walk the window hierarchy and figure out the client windows,
handle configure events, and the like.  This is a pain.

It would be useful to have a CORBA interface that window managers
could use to notify things like pagers about changes in the window
hierarchy.  Very informally, you could have something like

	interface WindowManagerListener
	{
		void window_mapped (in long window_id,
				    in long desktop_num,
				    in short x, in short y,
				    in short w, in short h,
				    in string title);
		void window_destroyed (in long window_id);
		void window_iconified (in long window_id);
		void window_configured (in long window_id,
					in short x, in short y,
					in short w, in short h);
		void window_title_changed (in long window_id,
					   in string title);
		void window_stacking_changed (in long window_id,
					      in long z_position);
		void window_desktop_changed (in long window_id,
					     in long desktop_num);
	}

You get the idea.  A pager would contact the window manager and give
it a handle to a WindowManagerListener object, and then the WM would
use this to notify the pager about changes in the window hierarchy.

This has the following advantages:

	1. People can write pagers that work with any window manager
           that supports this interface.

	2. Pagers do not have to use X hackery to do their work.

	3. The window manager becomes accessible like any other
           service in the system.

Of course, this interface cannot be written properly until the WM
specification is complete, i.e. until issues like how desktops behave
and what can window managers do to client windows are resolved.

  Federico



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]