Re: ICCCM compliance question ...
- From: Felix Bellaby <felix pooh u-net com>
- To: gtk-devel-list redhat com
- Subject: Re: ICCCM compliance question ...
- Date: Mon, 18 Jan 1999 12:47:18 +0000 (GMT)
Hi all,
Owen Taylor writes:
> GTK+ has no concept of multi-headed applications ...
> every window must be on the same display and same screen;
> so until that changes, there is no point in worrying about
> it.
The fact that gtk apps can only map windows on a single screen
is not really relevent to the discussion because session
management is not a screen, display or X server based concept.
> (If the session manager for the window manager for :0.1
> isn't the same as the sesssion manager for the window
> manager for :0.0, then if an app is displaying windows
> on both screens, things just aren't going to work nicely.)
There is nothing to stop you running multiple session managers
with multiple window managers and apps divided them between them
in arbitrary ways. The effects are perfectly predictable.
When you close one of the session managers all the apps that
are in its session are closed down. This will include any
window managers in the session and might leave you with some
screens without window managers.
The apps which are clients of other session managers will continue
to run. If these apps had windows mapped on the screens that have
lost their window managers then they will still be there but will
have lost their WM frames, etc.
The details of where those windows are on the screen (etc.) will
have been saved by the window manager that used to be managing
the screen.
If you restart the session that you just closed then the window
manager will restore the states of all the windows, including
the ones that were not in the session that you closed.
If, instead, you close another session then some of the windows
on the unmanaged screen may disappear as their apps close down.
However, you can then restart both sessions in either order
and exactly restore the screens which were left unmanaged by the
closing the first session.
Apps can even make changes to the windows that they have mapped
on the unmanaged screens without completely breaking the set up.
Obviously, when you restart the window manager for the unmanaged
screen after doing this then it will not find the same windows
that were there when it was closed down. However, it will still
correctly restore the states of all the windows that it recognises.
The problem with running multiple session managers occurs when
one of them closes down before another so that its apps unmap
windows from a screen without the window manager for that screen
saving its state. In this case, the windows will reappear in
"default" positions when they are remapped.
However, even this problem can be resolved providing that all
of the apps on the display are clients of session managers which
themselves are (ultimately) clients of a master session manager.
Restarting the master will always restore everything correctly
providing each session manager requests a save from its parent
when it is shut down.
This discussion remains unchanged if we go beyond the multiple
screens case to multiple displays and multiple hosts.
If everybody ran their session managers independently from
their X servers as clients of a master session manager run by
Mr Gates then he could close down and restart the entire of X.
However, why would he restart it ?
Felix
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]