Short one today since it was mostly focused on one specific task that I expect to take a few days to complete, plus the usual Buddies of Budgie standup on Saturdays.Yesterday, I was dealing with a bunch of linker issues since for some reason the generated client headers and public code from ecm_add_wayland_client_protocol weren't being discovered properly during the build phase. I still haven't figured out what the hell is doing on with that and figured "screw it", I'll continue some refactoring and have my classes inherit from generated QtWayland::CLASS interfaces from QtWaylandScanner. I wasn't originally going to, at least after feeling so defeated yesterday, but after some tinkering today I very quickly realized how much cleaner the code will be by leveraging the generated interfaces.So previously, my WaylandOutputManager class only inherited from QObject for the use of signals and slots, and had members for zwlr_output_manager_v1, wl_display, wl_registry, all the output heads, etc. That was fine given the model and it had worked before all the refactoring, but I ended up with a ton of class functions for all the various Wayland listeners like those for the output head, output modes, output manager, and global registry.With the splitting up that I am doing now, at least what I have so far is a new WaylandOrchestrator class that effectively is what WaylandOutputManager was (the toplevel), but classes like WaylandOutputManager will now inherit not just from QObject but from QtWayland::zwlr_output_manager_v1 as well.This in practice means I just need to implement the functions like zwlr_output_manager_v1_head(struct ::zwlr_output_head_v1 *head) from the class and the init function generated by QtWaylandScanner will take care of setting up the listeners for me.This model will feel a lot nicer in places like inheriting from zwlr_output_head_v1 because of the sheer amount of properties of a head that I need to handle (name, description, size, mode, position, scale, etc.).So not quite the route I was expecting to already be doing down before even making the damn thing a public repo, but I know I will be much prouder of the work once it is all said and done!