Open TheSamsai opened 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.
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
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
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.