I pushed a lot of updates for the XPCE GUI subsystem. Highlights:
- Remove a lot of dead code remaining from the X11 and native Windows binding as well as conditional code to support systems long forgotten.
- Deleted methods based on old X11 features. Notably dealing with window icons, icon images/labels, icon placement, selection management and global grabbing of keyboard or mouse. Modern and security-aware environments no longer support these and neither does SDL3.
- Implemented several others, e.g., alert sound/flash, image saving, get image pixels, get frame content as image, (de-)activate the screen saver and much more.
All in all this removed over 5,000 lines of code and a lot of #ifdef ![]()
The only immediate visible change is the PceEmacs find-references now reuses the references view window unless you “pin” it (like the variable bindings of the GUI tracer).
A lot of the work was with help of Claude code. I’m really impressed with the current version. It even managed to get the Prolog/XPCE coding for the PceEmacs changes almost right. The downside is that my work changes from coding (which I enjoy a lot) to reviewing, cleaning sometimes ugly code and testing. But, one can use it selectively as there are also boring coding tasks!
If you use the source version and the development tools (or xpce itself), please build and test that your workflow or xpce application still works as expected.