One other comment, based on a brief look at the diff and some testing.
Line 41, struct zxdg_output_manager_v1 *xdg_output_manager; should be removed, along with the check || state.xdg_output_manager == NULL near the end of the file. (The second line makes swaybg fail to start with a "Missing a required Wayland interface" error message.)
One other comment, based on a brief look at the diff and some testing.
struct zxdg_output_manager_v1 *xdg_output_manager;
should be removed, along with the check|| state.xdg_output_manager == NULL
near the end of the file. (The second line makes swaybg fail to start with a "Missing a required Wayland interface" error message.)