this post was submitted on 14 Nov 2023
3 points (100.0% liked)
Emacs
313 readers
2 users here now
A community for the timeless and infinitely powerful editor. Want to see what Emacs is capable of?!
Get Emacs
Rules
- Posts should be emacs related
- Be kind please
- Yes, we already know: Google results for "emacs" and "vi" link to each other. We good.
Emacs Resources
Emacs Tutorials
- Beginner’s Guide to Emacs
- Absolute Beginner's Guide to Emacs
- How to Learn Emacs: A Hand-drawn One-pager for Beginners
Useful Emacs configuration files and distributions
Quick pain-saver tip
founded 1 year ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
Recently I was reading #emacs and saw that some claim pgtk, or native wayland, is bodged and not feature complete. Is that right? If so, which is the best toolkit to compile from source with to run under XWayland?
The author of the emacs pgtk code says that no one who has X installed should use pgtk -- he's stated on several occasions that if you have X at all then you should use a supported X toolkit in Emacs for best results.
I've seen counter-arguments that pgtk is still beneficial if you happen to have a "high DPI display", but I believe that's the only argument I've ever seen for using pgtk under X.
I always build
--with-x-toolkit=lucid
myself, and can happily vouch for that one. I don't use Wayland, though.The issue is that the pure GTK port doesn't have those functions that are based on Xlib such as frame properties that come from X11. Some feature specific to X11 that can be implemented purely with GTK are not implemented such as outer window id's (I have a patch for that). So in theory the pure GTK windowing system could replace the GTK with X11 calls if it optionally allows the call of functions that depend on X11 if requested.
Pure GTK also allows the use of GTK input methods besides the better high dpi scaling.
It's feature complete but limited because Wayland is limited.
For example there's no way for Emacs to know which frames are currently visible.