unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: chad <yandros@gmail.com>
To: Richard Stallman <rms@gnu.org>
Cc: Po Lu <luangruo@yahoo.com>, Lars Ingebrigtsen <larsi@gnus.org>,
	Stefan Monnier <monnier@iro.umontreal.ca>,
	EMACS development team <emacs-devel@gnu.org>
Subject: Re: Touchscreen support
Date: Fri, 14 Jan 2022 19:17:38 -0500	[thread overview]
Message-ID: <CAO2hHWZpRo19X-vrg7=Kkmxt5qWsPZrnzuRCAXirL_wvVd+rFQ@mail.gmail.com> (raw)
In-Reply-To: <E1n1hP6-0001GL-EQ@fencepost.gnu.org>

[-- Attachment #1: Type: text/plain, Size: 2611 bytes --]

On Sun, Dec 26, 2021 at 11:15 PM Richard Stallman <rms@gnu.org> wrote:

>
>   > > Is it to be expected that, at some date, they will say that GTK 3 is
> no
>   > > longer supported and people should downgrade to GTK version 4?
>
>   > If meant "upgrade to GTK version 4", then yes.
>
> For Emacs, changing to GTK 4 would be a downgrade, so that's what I call
> it.
>
> Anyway, if you're right about their plans, it means that sticking with
> GTK 3 is a short-term solution but not a permanent solution.
>

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. 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 */


Over time, reaching "past" the abstraction barrier has become harder and
harder as the toolkits have become more "all encompassing", to the point
where it's more semantically accurate to talk about an app being a GTK or
QT (or W32 or mac) app than, say, an X app that uses QT. I don't know if
this owes more to "easy platform consistency" or to "just do everything via
javascript inside a browser", but the end result is pretty much the same.
It probably doesn't help that Wayland is basically a decade old and still
doesn't have a stable standard specification (or really a draft spec beyond
"whatever is currently in the release code").

Hope that helps,
~Chad

[-- Attachment #2: Type: text/html, Size: 3496 bytes --]

  parent reply	other threads:[~2022-01-15  0:17 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 [this message]
2022-01-15  0:48                                         ` Po Lu
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='CAO2hHWZpRo19X-vrg7=Kkmxt5qWsPZrnzuRCAXirL_wvVd+rFQ@mail.gmail.com' \
    --to=yandros@gmail.com \
    --cc=emacs-devel@gnu.org \
    --cc=larsi@gnus.org \
    --cc=luangruo@yahoo.com \
    --cc=monnier@iro.umontreal.ca \
    --cc=rms@gnu.org \
    /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).