emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Abysmal state of GTK build


From: Tim Cross
Subject: Re: Abysmal state of GTK build
Date: Mon, 22 Aug 2022 18:32:26 +1000
User-agent: mu4e 1.8.9; emacs 29.0.50

Po Lu <luangruo@yahoo.com> writes:

> Tim Cross <theophilusx@gmail.com> writes:
>
>> Like others in this thread, I don't use the menu-bar, toolbar,
>> scroll-bars etc, so toolkit seems somewhat irrelevant (I have to do an
>> M-x version to see which one I'm using!). I build using lucid as that
>> seemed like a better choice than gtk and I use xfce rather than gnome as
>> my desktop environment (and sometimes stumpwm).
>
> [...]
>
>> I suspect a part of the decision regarding which toolkit to build emacs
>> with for various distros probably relates to minimising the number of
>> toolkits to install. As Gnome seems to be the current 'default', gtk is
>> already installed, so will likely be a preferred choice unless some
>> other compelling reason is given.
>
> The problem here is not a stylistic issue.  I want to disable the GTK
> build by default because it leads to serious problems for users, up to
> and including crashes.

You missed my point. I'm not saying the change is because of a stylistic
issue - I'm saying the change is likely to create a stylistic
issue. This will in turn cause more resistance to the change and
possibly increase motivation to do whatever is necessary to re-enable
gtk build. 

>
>> With Fedora now shipping with Wayland as default and the recent
>> announcement regarding nvidia driver licensing and support for nvidia
>> under wayland, I suspectg we will see a significant growth in
>> distributions defaulting to wayland and wanting to reduce/remove
>> dependency on X. 
>
> The regular GTK build of Emacs will not run on GNOME Wayland either.
> People who want to use Wayland should use the different PGTK build instead.
>

Yes, I know that and that is a problem for distributions where they want
to minimise the distro size and number of packages which need to be
maintained. As it stands now, most distributions include 3 packages -
emacs-gtk, emacs-lucid and emacs-nox. As they move to support wayland,
they will either have to include emacs-pgtk or continue with the
wayland-x interface. The risk is, given they need GTK for both emacs-gtk
and emacs-pgtk, they will drop the emacs-lucid package rather than the
emacs-gtk package (unless we help educate them on why that would be a
bad choice). To educate effectively, it helps to understand their
situation and not just address the technical issues seen from a pure
emacs development position.

>> One factor which will likely come into play if we changed the default
>> toolkit is theming. I've noticed that in both the most recent releases
>> of Ubuntu and Fedora, a lot of reviews and comments centred around
>> improved consistency in themes (especially consistency when switching
>> between light/dark themes). With a lucid build, I expect you will need
>> to setup X resources to match your theme. With the GTK build, it looks
>> like it inherits from whatever you set your default theme to (for menus
>> etc).
>
> Emacs's own interface doesn't respect any toolkit theme.

OK, so how does my Emacs default theme change between dark and light
theme when I change the theme of my desktop environment? This never use
to work and I assumed it was because emacs didn't respect the DE
theme. I use to manage it via X resources. However, I noticed on recent
installs under both Ubuntu and Fedora that changing between light and
dark themes also resulted in changes to (for example) the menus and
menu-bar from a light background with dark text to a dark background
with light text. My assumption was that this was due to the GTK theme
being respected?
>
>> Personally, I tend to define my theme and just leave it. I do use a dark
>> theme and after many years, I have a good default Xresources, so not a
>> big issue for me (with the exception of some qt based apps). However,
>> for a generation brought up using Gnome, the whole xrdb stuff is likely
>> to be challenging/frustrating. I assume similar issues will exist for
>> the no toolket default.
>
> The no toolkit build can be customized entirely with Lisp.
>

Which is fine for those who know lisp. However, this isn't what people
expect these days. THis was my point - lots of the comments and reviews
for recent distributions of Ubuntu and Fedora have referenced greatly
improved theme/style consistencies. From my own limited experience, this
appears to extend to Emacs as well (to a limited extent, not the whole
UI, just menus, popup dialogue boxes etc.

>> I don't think this is sufficient reason not to change the default to
>> (lets say) lucid - just mention it as I suspect it will cause some
>> disruption/frustration. There also seems to be a lot of bad
>> information about using/setting Xresources out there, which might add
>> to the confusion.
>
> Are you sure what you understand "this" is?  I'm going to say this
> again: defaulting to the GTK build because it "looks better" or is "more
> consistent" is quite simply trading crashes for looks.

Ignoring the level of motivation visual appeal/style has to peoples
decisions is likely to be somewhat naive. There are plenty of examples
of superior technology/solutions losing to inferior ones because of
non-technical reasons.

I also wonder about how frequent these crashes and technical issues
are. I switched over from gtk to lucid a little while ago. However,
prior to switching, I experienced absolutely no issues and I cannot
recall the last time Emacs crashed for me. I'm running latest emacs
devel (29.0.50) on Fedora 36 (previously on Ubutnu 22.04). I'm a heavy
Emacs users, running it every day all day and using it for nearly
everything. I switched to lucid because the technical arguments made
sense to me. However, I did not experience any of the technical issues
you reference. If my experience is more common, then your purely
technical argument is going to have difficulty gaining traction.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]