From: Po Lu <luangruo@yahoo.com>
To: chad <yandros@gmail.com>
Cc: Richard Stallman <rms@gnu.org>,
Lars Ingebrigtsen <larsi@gnus.org>,
Stefan Monnier <monnier@iro.umontreal.ca>,
EMACS development team <emacs-devel@gnu.org>
Subject: Re: Touchscreen support
Date: Sat, 15 Jan 2022 08:48:03 +0800 [thread overview]
Message-ID: <87ilul25a4.fsf@yahoo.com> (raw)
In-Reply-To: <CAO2hHWZpRo19X-vrg7=Kkmxt5qWsPZrnzuRCAXirL_wvVd+rFQ@mail.gmail.com> (chad's message of "Fri, 14 Jan 2022 19:17:38 -0500")
I agree with what you said in the general sense, but you got some
details wrong:
> In general, the currently-used toolkits have raised the floor of the
> "stamp of approval" abstraction layer. As a (somewhat contrived)
> example, once upon a time one might have used xmh to read email. It
> was an X application that used the Athena Widgets and also could use
> the 3D Athena widgets, so in terms of code, you would see X, XAW, and
> XA3D calls.
Inaccurate comparison: the X tookit intrinstics are not intended to
abstract away X, so you're always supposed to (and even encouraged to)
use X to do things.
> These days, one might instead use a GTK4 or QT mail reader, and those
> toolkits would only "promise support" for code that made gtk or qt
> calls; the programmer isn't exactly prohibited from using X11 calls,
> but doing so is not recommended nor supported, and if the programmer
> runs into trouble, they are very likely to be told "you're breaking
> the abstraction barrier we set; remove it and then come back with your
> problem". (This is more or less exactly the situation that created
> these lines in xterm.c:)
> #ifdef USE_GTK
> /* A long-standing GTK bug prevents proper disconnect handling
> <https://gitlab.gnome.org/GNOME/gtk/issues/221>. Once,
> the resulting Glib error message loop filled a user's disk.
> To avoid this, kill Emacs unconditionally on disconnect. */
> shut_down_emacs (0, Qnil);
> fprintf (stderr, "%s\n\
> When compiled with GTK, Emacs cannot recover from X disconnects.\n\
> This is a GTK bug: https://gitlab.gnome.org/GNOME/gtk/issues/221\n\
> For details, see etc/PROBLEMS.\n",
> error_msg);
> emacs_abort ();
> #endif /* USE_GTK */
That is a rather bad example as well: GTK can't handle a display
closing, even if you use the GTK-provided abstraction layer
(GdkDisplayManager, etc) to open and close multiple displays. It's just
a bug in their code that they have no interest in fixing, since multiple
display support is of no interest to every program but Emacs.
x_wm_set_size_hint in gtkutil.c would be a better example, IMO.
Thanks.
next prev parent reply other threads:[~2022-01-15 0:48 UTC|newest]
Thread overview: 50+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <87czlxkntg.fsf.ref@yahoo.com>
2021-12-16 7:31 ` Touchscreen support Po Lu via Emacs development discussions.
2021-12-16 7:58 ` Lars Ingebrigtsen
2021-12-16 8:02 ` Po Lu
2021-12-17 6:19 ` Po Lu
2021-12-17 7:17 ` Lars Ingebrigtsen
2021-12-17 12:29 ` Stefan Monnier
2021-12-17 12:36 ` Po Lu
2021-12-17 13:18 ` Stefan Monnier
2021-12-17 13:48 ` Po Lu
2021-12-17 16:00 ` Stefan Monnier
2021-12-18 0:02 ` Po Lu
2021-12-18 16:22 ` Stefan Monnier
2021-12-18 19:12 ` Stefan Monnier
2021-12-18 4:41 ` Richard Stallman
2021-12-18 4:53 ` Po Lu
2021-12-20 4:42 ` Richard Stallman
2021-12-20 4:59 ` Po Lu
2021-12-21 4:15 ` Richard Stallman
2021-12-21 4:35 ` Po Lu
2021-12-22 4:16 ` Richard Stallman
2021-12-22 4:39 ` Po Lu
2021-12-23 3:43 ` Richard Stallman
2021-12-23 4:46 ` Po Lu
2021-12-26 3:57 ` Richard Stallman
2021-12-26 5:02 ` Po Lu
2021-12-27 4:14 ` Richard Stallman
2021-12-27 6:05 ` Stefan Monnier
2021-12-28 4:19 ` Richard Stallman
2022-01-15 0:17 ` chad
2022-01-15 0:48 ` Po Lu [this message]
2022-01-16 5:07 ` Richard Stallman
2022-01-16 5:35 ` Po Lu
2021-12-18 7:48 ` Lars Ingebrigtsen
2021-12-18 14:46 ` Eli Zaretskii
2021-12-19 0:24 ` Po Lu
2021-12-19 8:14 ` Eli Zaretskii
2021-12-19 9:24 ` Po Lu
2021-12-19 9:32 ` Eli Zaretskii
2021-12-19 9:38 ` Po Lu
2021-12-19 11:31 ` Eli Zaretskii
2021-12-19 11:42 ` Po Lu
2021-12-19 17:58 ` Eli Zaretskii
2021-12-20 0:54 ` Po Lu
2021-12-20 15:18 ` Eli Zaretskii
2021-12-21 1:08 ` Po Lu
2021-12-21 12:11 ` Eli Zaretskii
2021-12-21 12:21 ` Po Lu
2021-12-21 14:17 ` Eli Zaretskii
2021-12-19 18:26 ` [External] : " Drew Adams
2021-12-20 4:42 ` Richard Stallman
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://www.gnu.org/software/emacs/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87ilul25a4.fsf@yahoo.com \
--to=luangruo@yahoo.com \
--cc=emacs-devel@gnu.org \
--cc=larsi@gnus.org \
--cc=monnier@iro.umontreal.ca \
--cc=rms@gnu.org \
--cc=yandros@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/emacs.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).