[Top][All Lists]

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

Re: Running with both PGTK and an X toolkit?

From: Eli Zaretskii
Subject: Re: Running with both PGTK and an X toolkit?
Date: Sat, 11 Mar 2023 10:04:07 +0200

[This discussion doesn't belong here, it belongs on emacs-devel.]

> From: Po Lu <>
> Cc:
> Date: Sat, 11 Mar 2023 07:44:02 +0800
> It is going to be very difficult to use those two window systems at the
> time, but not impossible, unlike running the NS port along with other
> window systems in the same process, where the very different event
> handling systems make it impossible to design a `select' that works
> reliably with both.

Same with the MS-Windows frames.

So I think this kind of mixing is only possible on GNU and Unix
systems, where the same 'select' (or similar) call can handle several
"window systems".

> The problem here is that most of our code assumes that only one window
> system has been built into Emacs: FRAME_WINDOW_P, the Fx_* functions in
> each TERMfns.c file, ifdefs in xdisp.c and menu.c,
> Fmenu_or_popup_active_p, et cetera.

That is true, but the real problem is only in name clashes, I think.
Most, if not all, of the actual interfaces are called through
dispatches that accept the frame or its terminal object as an
argument, so it should be easy to make them call the correct

> We also have a big Display_Info typedef that is always the current
> window system's Display_Info structure.  Either each window system's
> Display_Info structure will have to be made the same, or x*.c must stop
> directly accessing display information.

Yes, Display_Info variables will need to become function calls that
return a public portable structure, not something that is defined
differently for each window-system.

reply via email to

[Prev in Thread] Current Thread [Next in Thread]