unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Po Lu <luangruo@yahoo.com>
To: Lars Ingebrigtsen <larsi@gnus.org>
Cc: emacs-devel@gnu.org
Subject: Re: Abysmal state of GTK build
Date: Sun, 21 Aug 2022 21:59:23 +0800	[thread overview]
Message-ID: <87czctk890.fsf@yahoo.com> (raw)
In-Reply-To: <87mtbxlnf1.fsf@gnus.org> (Lars Ingebrigtsen's message of "Sun, 21 Aug 2022 15:46:26 +0200")

Lars Ingebrigtsen <larsi@gnus.org> writes:

> Well, let me qualify that a bit: I think if we can make the default
> non-Gtk toolkit version of Emacs pretty enough (and usable enough for a
> reasonable user), and have compelling reasons to discourage the
> Gtk-toolkit version (I think the _exit when a display shuts down, and
> the XInput2 problems, might be compelling), then we might convince them.

Prettyness is hardly useful when the software itself crashes.

Especially with the modern idea of "pretty", which is rounded corners,
low-contrast icons, animations and blur.  Aside from that, the GTK build
already has enough compelling problems for almost anyone to switch from
it, just look at this part of etc/PROBLEMS:

  *** Emacs built with GTK+ toolkit can unexpectedly widen frames

  This resizing takes place when a frame is not wide enough to accommodate
  its entire menu bar.  Typically, it occurs when switching buffers or
  changing a buffer's major mode and the new mode adds entries to the menu
  bar.  The frame is then widened by the window manager so that the menu
  bar is fully shown.  Subsequently switching to another buffer or
  changing the buffer's mode will not shrink the frame back to its
  previous width.  The height of the frame remains unaltered.  Apparently,
  the failure is also dependent on the chosen font.

  The resizing is usually accompanied by console output like

  Gtk-CRITICAL **: gtk_distribute_natural_allocation: assertion 'extra_space >= 0' failed

  It's not clear whether the GTK version used has any impact on the
  occurrence of the failure.  So far, the failure has been observed with
  GTK+ versions 3.4.2, 3.14.5 and 3.18.7.  However, another 3.4.2 build
  does not exhibit the bug.

  Some window managers (Xfce) apparently work around this failure by
  cropping the menu bar.  With other windows managers, it's possible to
  shrink the frame manually after the problem occurs, e.g. by dragging the
  frame's border with the mouse.  However, some window managers have been
  reported to refuse such attempts and snap back to the width needed to
  show the full menu bar (wmii) or at least cause the screen to flicker
  during such resizing attempts (i3, IceWM).

  See also https://debbugs.gnu.org/cgi/bugreport.cgi?bug=15700,
  https://debbugs.gnu.org/cgi/bugreport.cgi?bug=22000,
  https://debbugs.gnu.org/cgi/bugreport.cgi?bug=22898 and
  https://lists.gnu.org/r/emacs-devel/2016-07/msg00154.html.

That bug is particularly nasty.  I tried my best to get rid of it, but
it still pops up once in a while, usually when the user switches to a
Dired buffer, which has a very long menu bar.  Despite the frame being
maximized on some window managers, which is probably very annoying.

I think the reason users use the GTK build despite those problems is
because it is the default, and they don't know any better.  Then,
because they assume that the developers of a major toolkit are better at
their job than us, blame for the resulting problems is assigned to
Emacs, which results in shouting on the bug tracker.

In the meantime, we have to endure the low-quality work of the GTK
developers, in whose world files cannot be saved after the window server
is shut down, and users and developers who turn off GTK mis-features are
"clowns", "the internet peanut gallery", and have their knobs yanked out
from underneath:

  https://gitlab.gnome.org/GNOME/gtk/-/merge_requests/4829

> But without the 1-5) I outlined, I don't think there's any chance
> what-so-ever.

Were they fine with the Lucid build before the GTK build became the
default?



  reply	other threads:[~2022-08-21 13:59 UTC|newest]

Thread overview: 288+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <87ilmlluxq.fsf.ref@yahoo.com>
2022-08-21 11:04 ` Abysmal state of GTK build Po Lu
2022-08-21 11:19   ` Dmitry Gutov
2022-08-21 11:44     ` Po Lu
2022-08-21 14:01       ` Dmitry Gutov
2022-08-21 14:06         ` Po Lu
2022-08-21 14:11           ` Gregory Heytings
2022-08-22  1:04             ` Po Lu
2022-08-21 11:22   ` Eli Zaretskii
2022-08-21 11:39     ` Po Lu
2022-08-21 15:54       ` Robert Pluim
2022-08-21 16:32         ` Sean Whitton
2022-08-21 16:46           ` Lars Ingebrigtsen
2022-08-21 16:50             ` Lars Ingebrigtsen
2022-08-21 16:58             ` Sean Whitton
2022-08-22  1:13             ` Po Lu
2022-08-22  4:32               ` tomas
2022-08-23  3:44               ` Richard Stallman
2022-08-23  3:58                 ` Po Lu
2022-08-23  4:51                   ` tomas
2022-08-21 16:51           ` Óscar Fuentes
2022-08-21 17:08             ` Eli Zaretskii
2022-08-21 17:35               ` Óscar Fuentes
2022-08-22  1:15             ` Po Lu
2022-08-22  2:06               ` Stefan Monnier
2022-08-23  3:44               ` Richard Stallman
2022-08-23  4:02                 ` Po Lu
2022-08-25  3:32                   ` Richard Stallman
2022-08-25  4:18                     ` Po Lu
2022-08-23 11:29                 ` Eli Zaretskii
2022-08-23 12:15                 ` Lynn Winebarger
2022-08-24  3:52                   ` Richard Stallman
2022-08-24  8:57                     ` Robert Pluim
2022-08-24 10:43                       ` Po Lu
2022-08-24 11:24                         ` Eli Zaretskii
2022-08-24 11:17                       ` Eli Zaretskii
2022-08-25  6:25                       ` Gerd Möllmann
2022-08-25  6:52                         ` Po Lu
2022-08-25  6:57                           ` Gerd Möllmann
2022-08-25  8:28                             ` xdisp.c in C++ (Was: Abysmal state of GTK build) Eli Zaretskii
2022-08-25  9:04                               ` Gerd Möllmann
2022-08-23  3:44               ` Abysmal state of GTK build Richard Stallman
2022-08-23  4:03                 ` Po Lu
2022-08-23 11:26                   ` Stefan Kangas
2022-08-23 12:30                     ` Po Lu
2022-08-23 12:50                       ` Stefan Kangas
2022-08-23 13:01                         ` Po Lu
2022-08-24  3:52                   ` Richard Stallman
2022-08-22  1:10           ` Po Lu
2022-08-21 16:51         ` Visuwesh
2022-08-22  1:17           ` Po Lu
2022-08-22  6:47             ` Visuwesh
2022-08-22  1:11         ` Po Lu
2022-08-23  3:44         ` Richard Stallman
2022-08-23 12:41           ` Akib Azmain Turja
2022-08-23 13:00             ` Po Lu
2022-08-21 11:49   ` Lars Ingebrigtsen
2022-08-21 12:00     ` Visuwesh
2022-08-21 12:06     ` Lars Ingebrigtsen
2022-08-21 13:34       ` Po Lu
2022-08-21 13:38         ` Lars Ingebrigtsen
2022-08-21 13:46           ` Lars Ingebrigtsen
2022-08-21 13:59             ` Po Lu [this message]
2022-08-21 14:11               ` Lars Ingebrigtsen
2022-08-21 14:16                 ` Po Lu
2022-08-21 14:17                   ` Lars Ingebrigtsen
2022-08-21 14:20                     ` Po Lu
2022-08-21 14:28                       ` Lars Ingebrigtsen
2022-08-21 18:32                       ` Dmitry Gutov
2022-08-22  1:07                         ` Po Lu
2022-08-21 14:29                   ` Stefan Monnier
2022-08-21 19:27                     ` Rob Browning
2022-08-22  3:10                       ` Sean Whitton
2022-08-22  5:43                         ` Rob Browning
2022-08-22  7:10                         ` Visuwesh
2022-08-22  7:56                           ` Po Lu
2022-08-21 16:47                   ` Sean Whitton
2022-08-21 15:28                 ` Lynn Winebarger
2022-08-22  5:21                   ` Jean Louis
2022-08-22  6:01                   ` Po Lu
2022-08-22  6:48                     ` Tim Cross
2022-08-22  7:55                       ` Po Lu
2022-08-22  8:32                         ` Tim Cross
2022-08-22  9:44                           ` Po Lu
2022-08-22 23:19                             ` Tim Cross
2022-08-23  0:57                               ` Po Lu
2022-08-23  4:44                               ` Consistent theme across the desktop [Re: Abysmal state of GTK build] tomas
2022-08-23 11:45                                 ` Eli Zaretskii
2022-08-23 12:02                                   ` tomas
2022-08-23 12:31                                     ` Eli Zaretskii
2022-08-23 12:48                                       ` tomas
2022-08-23 13:22                                         ` Eli Zaretskii
2022-08-23 14:10                                           ` tomas
2022-08-23 15:52                                             ` Eli Zaretskii
2022-08-23 16:38                                           ` Yuri Khan
2022-08-23 16:57                                             ` Eli Zaretskii
2022-08-24  4:23                                               ` tomas
2022-08-24 11:02                                                 ` Eli Zaretskii
2022-08-23 12:31                                   ` Po Lu
2022-08-24  3:52                                     ` Richard Stallman
2022-08-24  4:24                                       ` tomas
2022-08-22  9:04                         ` Abysmal state of GTK build Dirk-Jan C. Binnema
2022-08-22 12:10                           ` Po Lu
2022-08-22 12:35                             ` Eli Zaretskii
2022-08-22 12:59                               ` Po Lu
2022-08-22 13:08                                 ` Eli Zaretskii
2022-08-23  0:42                                   ` Po Lu
2022-08-23  2:36                                     ` Eli Zaretskii
2022-08-23  3:04                                       ` Po Lu
2022-08-23 17:52                                     ` Yilkal Argaw
2022-08-23 18:45                                       ` Stefan Monnier
2022-08-24  1:50                                       ` Po Lu
2022-08-22 12:40                             ` Eli Zaretskii
2022-08-22 13:03                               ` Po Lu
2022-08-22 13:08                                 ` Dmitry Gutov
2022-08-23  0:45                                   ` Po Lu
2022-08-23 10:30                                     ` Dmitry Gutov
2022-08-22 13:10                                 ` Eli Zaretskii
2022-08-23  0:46                                   ` Po Lu
2022-08-22 15:10                             ` Lynn Winebarger
2022-08-23  6:34                             ` Dirk-Jan C. Binnema
2022-08-23  8:58                               ` Po Lu
2022-08-23  3:46                         ` Richard Stallman
2022-08-23  4:04                           ` Po Lu
2022-08-24  3:52                             ` Richard Stallman
2022-08-24  4:27                               ` Po Lu
2022-08-21 13:30     ` Po Lu
2022-08-21 13:35       ` Eli Zaretskii
2022-08-21 13:41         ` Po Lu
2022-08-21 13:46           ` Eli Zaretskii
2022-08-21 13:47         ` Lars Ingebrigtsen
2022-08-21 13:50           ` Eli Zaretskii
2022-08-21 14:01             ` Po Lu
2022-08-23  7:38             ` Gerd Möllmann
2022-08-23  8:54               ` Po Lu
2022-08-23  9:27                 ` Gerd Möllmann
2022-08-23  9:39               ` Lars Ingebrigtsen
2022-08-23 14:07                 ` Gerd Möllmann
2022-08-23 14:43                   ` Lars Ingebrigtsen
2022-08-23 15:29                     ` Óscar Fuentes
2022-08-23 16:14                       ` Alternative build systems (Was: Abysmal state of GTK build) Eli Zaretskii
2022-08-23 16:36                         ` Alternative build systems Óscar Fuentes
2022-08-23 16:55                           ` Eli Zaretskii
2022-08-23 23:38                             ` Óscar Fuentes
2022-08-24  1:48                               ` Po Lu
2022-08-24 12:35                       ` Abysmal state of GTK build Andrea Corallo
2022-08-24 12:57                         ` Óscar Fuentes
2022-08-24 13:00                         ` Visuwesh
2022-08-24 13:42                           ` Po Lu
2022-08-23 16:06                     ` Eli Zaretskii
2022-08-23 16:10                       ` Lars Ingebrigtsen
2022-08-23 16:24                         ` Eli Zaretskii
2022-08-24 10:11                           ` Lars Ingebrigtsen
2022-08-24 11:18                             ` Eli Zaretskii
2022-08-24 11:30                               ` Lars Ingebrigtsen
2022-08-24 11:47                                 ` Eli Zaretskii
2022-08-24 12:16                                   ` Stefan Monnier
2022-08-24 12:19                                     ` Lars Ingebrigtsen
2022-08-24 12:23                                       ` Stefan Monnier
2022-08-25 12:03                                         ` Lars Ingebrigtsen
2022-08-24 12:35                                     ` Eli Zaretskii
2022-08-25 12:07                                       ` Lars Ingebrigtsen
2022-08-25 12:19                                         ` Lars Ingebrigtsen
2022-08-24 12:13                             ` Po Lu
2022-08-24 12:16                               ` Gerd Möllmann
2022-08-24  6:38                       ` Gerd Möllmann
2022-08-24 11:08                         ` Eli Zaretskii
2022-08-24 11:51                           ` Gerd Möllmann
2022-08-24 12:01                             ` Eli Zaretskii
2022-08-24 12:04                               ` Gerd Möllmann
2022-08-24 12:19                                 ` Eli Zaretskii
2022-08-24 12:22                                   ` Gerd Möllmann
2022-08-23 17:10                     ` Stefan Monnier
2022-08-24 10:14                       ` Lars Ingebrigtsen
2022-08-24 10:46                         ` Po Lu
2022-08-24 10:48                           ` Lars Ingebrigtsen
2022-08-24 11:15                             ` Po Lu
2022-08-24 11:17                               ` Lars Ingebrigtsen
2022-08-24 12:13                                 ` Po Lu
2022-08-24 12:20                                   ` Lars Ingebrigtsen
2022-08-24 12:36                                     ` Po Lu
2022-08-25  3:33                       ` Changing the make setup for Emacs Richard Stallman
2022-08-25 22:42                         ` change the Subject line (was: Changing the make setup for Emacs) andrés ramírez
2022-08-21 13:36       ` Abysmal state of GTK build Lars Ingebrigtsen
2022-08-21 13:43         ` Po Lu
2022-08-21 13:51           ` Lars Ingebrigtsen
2022-08-21 14:04             ` Po Lu
2022-08-21 14:13               ` Lars Ingebrigtsen
2022-08-21 14:18                 ` Po Lu
2022-08-21 15:02                   ` Gregory Heytings
2022-08-22  1:18                     ` Po Lu
2022-08-22 10:04                       ` Lars Ingebrigtsen
2022-08-22 11:46                         ` Po Lu
2022-08-22 11:56                           ` Lars Ingebrigtsen
2022-08-22 12:14                             ` Po Lu
2022-08-22 12:21                               ` Lars Ingebrigtsen
2022-08-22 13:13                                 ` Po Lu
2022-08-22 13:19                                   ` Lars Ingebrigtsen
2022-08-23  0:50                                     ` Po Lu
2022-08-24 11:19                                       ` Lars Ingebrigtsen
2022-08-24 12:17                                         ` Po Lu
2022-08-22 17:33                                   ` Eli Zaretskii
2022-08-23  0:47                                     ` Po Lu
2022-08-23  2:38                                       ` Eli Zaretskii
2022-08-23  3:05                                         ` Po Lu
2022-08-23 11:22                                           ` Eli Zaretskii
2022-08-24  3:52                                           ` Richard Stallman
2022-08-23  3:51                                   ` Jean Louis
2022-08-23  5:14                                     ` Po Lu
2022-08-23 11:51                                       ` Eli Zaretskii
2022-08-23 12:34                                         ` Po Lu
2022-08-23 12:45                                           ` Eli Zaretskii
2022-08-25  3:32                                       ` Richard Stallman
2022-08-23  3:53                                   ` Jean Louis
2022-08-21 14:05       ` Gregory Heytings
2022-08-21 14:08         ` Po Lu
2022-08-21 14:15           ` Lars Ingebrigtsen
2022-08-21 14:17             ` Po Lu
2022-08-21 14:27               ` Lars Ingebrigtsen
2022-08-22  1:09                 ` Po Lu
2022-08-24  2:32             ` Thomas Fitzsimmons
2022-08-24  2:47               ` Po Lu
2022-08-25  3:33                 ` Richard Stallman
2022-08-21 14:06       ` Dmitry Gutov
2022-08-23  3:44       ` Richard Stallman
2022-08-23  3:57         ` Po Lu
2022-08-24  3:52           ` Richard Stallman
2022-08-24  4:20             ` Po Lu
2022-08-24  4:34               ` tomas
2022-08-26  3:36               ` Richard Stallman
2022-08-24  4:25             ` Tim Cross
2022-08-24  4:37               ` tomas
2022-08-24  7:52                 ` Tim Cross
2022-08-24  4:58               ` Po Lu
2022-08-26  3:36               ` Richard Stallman
2022-08-26  5:26                 ` Tim Cross
2022-08-28  4:06                   ` Richard Stallman
2022-08-28  4:14                     ` Po Lu
2022-09-04  3:01                       ` Richard Stallman
2022-08-28  7:45                     ` Tim Cross
2022-08-21 14:47     ` Stefan Kangas
2022-08-21 14:58       ` Lars Ingebrigtsen
2022-08-22  7:05     ` Visuwesh
2022-08-22  7:51       ` Po Lu
2022-08-23  3:46       ` Richard Stallman
2022-08-23 15:08         ` Visuwesh
2022-08-25 16:01         ` Rudolf Adamkovič
2022-08-26  1:29           ` Po Lu
2022-08-23  7:00 Payas Relekar
2022-08-23  7:17 ` Po Lu
2022-08-23  7:21   ` Payas Relekar
2022-08-23  8:53     ` Po Lu
2022-08-23 13:08       ` Stefan Monnier
2022-08-24  1:16         ` Po Lu
2022-08-24  1:34           ` Stefan Monnier
2022-08-23 12:05   ` Eli Zaretskii
2022-08-23 12:29     ` Po Lu
2022-08-23 12:41       ` Eli Zaretskii
2022-08-23 12:59         ` Po Lu
2022-08-23 15:13           ` Óscar Fuentes
2022-08-23 15:18             ` Visuwesh
2022-08-23 16:09             ` Eli Zaretskii
2022-08-23 16:41               ` Óscar Fuentes
2022-08-23 16:59                 ` Eli Zaretskii
2022-08-23 23:25                   ` Óscar Fuentes
2022-08-24  1:45                     ` Po Lu
2022-08-24  3:02                       ` Óscar Fuentes
2022-08-24  3:41                         ` Po Lu
2022-08-23 23:25             ` Tim Cross
2022-08-24  4:25               ` Po Lu
2022-08-24  1:36             ` Po Lu
2022-08-24  2:31               ` Óscar Fuentes
2022-08-24  3:23                 ` Po Lu
2022-08-24  3:52   ` Richard Stallman
2022-08-24  4:18     ` Po Lu
2022-08-24  8:52       ` Robert Pluim
2022-08-26  3:36       ` Richard Stallman
2022-08-26  4:34         ` Po Lu
2022-09-04  3:01           ` Richard Stallman
2022-09-04  5:14             ` Eli Zaretskii
2022-09-05  4:03               ` Richard Stallman
2022-09-05  8:34               ` Robert Pluim
2022-09-05 14:12                 ` Po Lu
2022-09-07 13:03                 ` Daniel Brooks
2022-08-24  3:52 ` Richard Stallman
  -- strict thread matches above, loose matches on Subject: below --
2022-08-23 13:53 Payas Relekar
2022-08-24  1:15 ` Po Lu
2022-09-04  4:08 Payas Relekar
2022-09-05  4:03 ` 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=87czctk890.fsf@yahoo.com \
    --to=luangruo@yahoo.com \
    --cc=emacs-devel@gnu.org \
    --cc=larsi@gnus.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).