unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
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.



  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).