From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Po Lu Newsgroups: gmane.emacs.help Subject: Re: Running with both PGTK and an X toolkit? Date: Sat, 11 Mar 2023 07:44:02 +0800 Message-ID: <87y1o4f9z1.fsf@yahoo.com> References: <87pm9ghg28.fsf@catern.com> Mime-Version: 1.0 Content-Type: text/plain Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="21710"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Gnus/5.13 (Gnus v5.13) Cc: help-gnu-emacs@gnu.org To: Spencer Baugh Original-X-From: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane-mx.org@gnu.org Sat Mar 11 00:45:00 2023 Return-path: Envelope-to: geh-help-gnu-emacs@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1pamPz-0005Q0-Qb for geh-help-gnu-emacs@m.gmane-mx.org; Sat, 11 Mar 2023 00:44:59 +0100 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pamPM-0006K2-Au; Fri, 10 Mar 2023 18:44:20 -0500 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pamPK-0006Jq-GS for help-gnu-emacs@gnu.org; Fri, 10 Mar 2023 18:44:18 -0500 Original-Received: from sonic305-22.consmr.mail.ne1.yahoo.com ([66.163.185.148]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1pamPI-0006HG-0w for help-gnu-emacs@gnu.org; Fri, 10 Mar 2023 18:44:18 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1678491850; bh=nv7IN7KKB92xmdE3iMZ7WSw6IOC0h/HFJcHDvgnAdkk=; h=From:To:Cc:Subject:In-Reply-To:References:Date:From:Subject:Reply-To; b=IgvEe0OQlHeflrayEG3ii5quUD29DYr27zKU7yAOCFJXAGPPSU8S/yNYWSV5j5ZDqVTdTWyyL5CMpSVta5JVdjJeocqSdp6QabmzuTus/lLeVD1ju/RdiRJgHNcpHsrWkNegj3MDFZVo5PwL5PkK2u0VysB5X95/geWCpaAdkX8FuNNMVBMZlzxGiUEgQyDfaxl+dnLGpyXuz2jMECg3GANZk7PO5q53oMJQ94KvmTwBYLiH0u427KMNQ41vjwIWXIMnvG4Hox9suBSRzz1ib4c8n4Qz0YruDj0UoWN7RhGyajHFtxNfqg8a/Vb/6QzV8JzfURgO/iye34rFsVx+KQ== X-SONIC-DKIM-SIGN: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1678491850; bh=TfibjPhq5ETBlkHgZA0v+3cCVANwt5RZi7QHrE9N7+5=; h=X-Sonic-MF:From:To:Subject:Date:From:Subject; b=bRUaQy/H1F8jX36w7qVgqs/wF325DXj90bP6JyN/nT1PWj0mlJmMqi2ibpK635Je8JSshi7KhIGuxC4FLuJvhJoG8P4YuP1f8cJdxuAD4Ee1j044An73f1YLndhpOqK9/Nt3sElLdbgWxBON4d/KRES2ppMC8UzTcuavbty4yXra1gw9BZfJ+p2BiFLPSkdXvKKAQTkQb2JCq39NrnNTUr94Gjib/qgRzIJa7e+6rraoqb9U8NTW+mldbE6AvPUZ43a2giIVxSl9+5r0pWkUY14a8d1qChqOY5Gg2KVzffN4Ukhnl83NqEVDiiaKOw5BTMf6/tMYNacX7TCnmfTxLQ== X-YMail-OSG: HOZGyaMVM1kCmxlSnRdqs7XoGz_AZxYw3cAuf5S72xeKXpg_HTkxntnP_NQf2Md HqlOl2sv8WnPzzQNotskkcjMe0lEbhEPKQXdeGFruW1u1zAJNUsflZoWqnfpKqVKib93qN_2Kmp8 Vh_zgzorAeF5r92lOdmTIex9z5nBK8x4Qbx9t9UI4QaYdeGE7Jh8wKT1jHiZbPcI3znNFvnaLVUh KNO58Do8twgRLmzlksmJyQPWcY1ZnZgEjB14zatUXPEzIFYfXJ5dzawWKY6lgOOTRUQlZ.RWiXjO fQWLFxUHuZk8ezBSxkn9OgVeoKUFvxoVCsr5.VEXaiFgrQPw0E45gd3rWpLLVfh63twSwull_Ern rgX_ZE1YzLCAlLq_K8BAnqrguEDAk8phRu_9YCuI83h7yon76VsyAW1DoOSU6nB9xiwFj_cFBhx3 .AMYmZx5r9Z7z9zHSE8buCmHS9.NQa2sMOLJ.t4yz4rP5xpqTbtVKYnl3EchiVGfX0yc8tmWMhqW s.0Z_U.wW0gpX_tsehfrAyCvXiBx8i9bQEhFlLG5Z56CmL.T32XUpSsJFJGO93KxQcT5a6TrLoS. _GSz2ZB_cmLbPW1wzCr.3iXWBKr6ryWHTWmb0DAIt2mLSuoN31AFYeJtg145f.puY.DUgf6l3jGJ t6Bnsd1tLvY8TjrSdClF9zDp0AEtgYmvJzHvIB39HhDtJsdrlxUOWzq8kdC2L.PNv81kzUJcVljF 4mzow.AUE8iV7p7m0DZSi0aygXKPlkjzF0GmCt6Ijhs_z1Rir3uwDiti5HIxzNy65nKL1QJ6CZy4 eut8TgXrpMY6r4JyHlVylxRs0OSvEzoR1msyeIiy6D X-Sonic-MF: X-Sonic-ID: e1b3699c-02ed-4c6a-bcf9-259a43cf6d56 Original-Received: from sonic.gate.mail.ne1.yahoo.com by sonic305.consmr.mail.ne1.yahoo.com with HTTP; Fri, 10 Mar 2023 23:44:10 +0000 Original-Received: by hermes--production-sg3-67c57bccff-ddhjj (Yahoo Inc. Hermes SMTP Server) with ESMTPA ID e1371692d4d5da55b71dd26285c1e735; Fri, 10 Mar 2023 23:44:06 +0000 (UTC) In-Reply-To: <87pm9ghg28.fsf@catern.com> (Spencer Baugh's message of "Fri, 10 Mar 2023 13:49:36 +0000 (UTC)") X-Mailer: WebService/1.1.21284 mail.backend.jedi.jws.acl:role.jedi.acl.token.atz.jws.hermes.yahoo Received-SPF: pass client-ip=66.163.185.148; envelope-from=luangruo@yahoo.com; helo=sonic305-22.consmr.mail.ne1.yahoo.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H2=-0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: help-gnu-emacs@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Users list for the GNU Emacs text editor List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane-mx.org@gnu.org Original-Sender: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane-mx.org@gnu.org Xref: news.gmane.io gmane.emacs.help:142973 Archived-At: Spencer Baugh writes: > I'd like to configure an Emacs with both PGTK (for Wayland and Broadway) > and an X toolkit (for X - probably Lucid). The reason is that I'd like > to simultaneously have X frames open and Wayland/Broadway frames open. > > (More specifically, I think it would be cool to be able to use Broadway > to connect to my Emacs remotely through a web browser, but I use X for > my normal Emacs setup.) > > Is it possible to have both PGTK and an X toolkit configured into Emacs? > I'm willing to do development work to make this work, if it's not > categorically impossible. > > And if that is possible, is it possible to have two frames using two > different windowing systems at the same time? (I feel like I've heard > about people doing that before, at least for other combinations) 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. 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. So you will have to make all of those (the list I gave is nowhere near exhaustive) aware of more than one window system; this probably means moving the Fx_* functions out of each terminal's fns.[cm] file and making them dispatch to the right function based on the frame's window system, and tediously examining every other window system test to determine what to do. 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.