Third-Party App
Today we go from running our boring test app, to an actual third-party program. Everything we've implemented so far has been done entirely in the dark. Since we'll finally be plugging in a third-party application, we get to see if anything actually works!
Foot
We're going to start with foot, a simple terminal program. This is not only one of the simpler programs to run, it's also one of the most powerful and can give us some new ways to test and run commands from within our compositor.
As expected, it didn't work the first try. Or the second. I needed to implement the APIs for both wl_region and wl_subcompositor / wl_subsurface. Surprisingly, it worked on the third try, and opened up a whole new world of experiments to run.
CLion and Chromium
The other two programs I use regularly are Chromium and CLion. After resolving a few issues with wp_viewporter and wl_output for CLion, and running xwayland-satellite for Chromium, both apps were still having issues. CLion was crashing without any useful errors, and Chromium wasn't updating its frames.
Eventually, I got CLion working after addressing some problems with my subsurface implementation. Chromium continued to be problematic, and while I have a solid theory on the cause (lookin' at you, xdg_popup), I didn't quite have time to fix it in this devlog.
Related Links
Here's the PR for these changes: Github PR #9
There are also API reference pages for things discussed in this video: