flathub / org.gnu.emacs

https://flathub.org/apps/details/org.gnu.emacs
15 stars 17 forks source link

Pure-GTK support #58

Open TheSamsai opened 1 year ago

TheSamsai commented 1 year ago

Emacs 29.1 shipped with Pure-GTK (PGTK) support, which improves compatibility with Wayland for example. This could also be supported in the Flathub version.

jameschensmith commented 1 year ago

While I'm all for PGTK, the release notes state that it would cause problems for X users.

Emacs now supports being built with pure GTK. To use this option, make sure the GTK 3 (version 3.22.23 or later) and Cairo development files are installed, and configure Emacs with the option '--with-pgtk'. Unlike the default X and GTK build, the resulting Emacs binary will work on any underlying window system supported by GDK, such as Wayland and Broadway. We recommend that you use this configuration only if you are running a window system other than X that's supported by GDK. Running this configuration on X is known to have problems, such as undesirable frame positioning and various issues with keyboard input of sequences such as 'C-;' and 'C-S-u'.** Running this on WSL is also known to have problems.

Note that, unlike the X build of Emacs, the PGTK build cannot automatically switch to text-mode interface (thus emulating '-nw') if it cannot determine the default display; it will instead complain and ask you to invoke it with the explicit '-nw' option.

jistr commented 8 months ago

While I'm all for PGTK, the release notes state that it would cause problems for X users.

That's a good point, but the flip side of that is the current build is unusable for anyone with a modern (hidpi) monitor with fractional scaling (125/150/175% scaling is popular with 4K monitors as 100% is often too small and 200% too big).

If we can't have an issue-free experience for both Wayland and X, and we have to make an either-or choice, i would argue in 2023 (soon 2024) it's time to start prioritizing Wayland usage, because Wayland has been adopted as the default in all major distros between years 2016 - 2021. [1]

[1] https://en.wikipedia.org/wiki/Wayland_(protocol)#Desktop_Linux_distributions

kjinho commented 4 months ago

I have a working fork of this Emacs flatpak working with --pgtk in Wayland. Does anyone want to test whether it also works in X? https://github.com/kjinho/org.gnu.emacs/tree/master