elementary / wingpanel

Stylish top panel that holds indicators and spawns an application launcher
https://elementary.io
GNU General Public License v3.0
137 stars 46 forks source link

add support for mutter 3.3x #260

Closed decathorpe closed 4 years ago

decathorpe commented 4 years ago

This is mostly stuff adapted from the corresponding gala/wip/mutter-3.3x branch. I had to look up some API changes which didn't affect gala. Anyway, there's no guarantee that this actually works correctly, but it kinda does on fedora 31.

I confirmed that this continues to compile with mutter 3.28, and it does compile on fedora 31 (mutter 3.34.1) and fedora rawhide (mutter 3.35.1). So the support for mutter 3.30 and 3.32 is untested, but present and should be working as well.

Note 1: I'm using conditional compilation as it's used elsewhere for this kind of "dual" / "multiple" support, so the original code (mutter 3.28 support) is effectively unchanged.

Note 2: This makes wingpanel actually launch in a Pantheon session with gala compiled against mutter 3.34. But gala is still crashing at launch for various reasons I haven't been able to completely understand yet. Either it crashes in workspace handling code, or in screensaver registering code, depending on whether Pantheon is launched from LightDM or GDM, respectively.

Anyway. Treat this as a proof-of-concept starting point.