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

Getting applications to show up on the X screen?



    Date: Fri, 12 Oct 90 09:47:55 +0100
    From: metal@ztivax.siemens.com (Oliver Gajek)

    I'm running the X Remote Screen system on an XL400 to connect to a Sun
    X server.  The Symbolics applications come out on the Sun nice enough,
    but when I call our own (mostly static window) applications, they come
    out on the Symbolics instead of the Sun screen.  Is there a magic flavor
    to mixin or some other trick that's needed?

How do you call your application?  Via the select key?  Have you placed
the flavor of your window or a particular window instance on the select
key list?  Via a function or command?  If so, how does the function
decide what the superior of the window is to be?

The right method for choosing a superior for a new frame is usually to
call TV:MOUSE-DEFAULT-SUPERIOR.  That'll be the screen attached to the
mouse attached to the current console.

Maybe you're precreating the windows by, for instance, setting some
variables them when you loaded the system.  You'll need to change that
to make them when you know the screen, or perhaps reset the superior
(the technique used by Zmail, I believe).

If you have static windows code, you may also be skirting the stream
interfaces and accessing state of the primary console directly.  You can
perform a quick check for the common cases of this by running
(TV:ENABLE-OBSOLETE-CONSOLE-COMPILER-WARNINGS) and then recompiling your
windowing code.

In my experience, the conversion of an application (even an old one)
from using the main screen to using a remote screen is fairly
straightforward and mechanical.  Often much more difficult is converting
the application itself for the possibility that there will be more than
one instance of its frame(s) running simultaneously on the same machine.
One should not store information related to the state of a particular
instance of the user interface (as opposed to shared global databases)
in global variables, but rather in the frame itself, or some kind of
program instance.