Get transparency plugin working again

Review Request #1731 — Created Sept. 8, 2022 and submitted — Latest diff uploaded

Information

pidgin/pidgin
default

Reviewers

No need to restrict to Windows-only as it uses plain GTK APIs.

GTK4 doesn't support setting Always-on-Top programmatically, and that seems bad from the user point of view for programs to be able to do that anyway, so drop that option.

Instead of tracking a list of windows manually based on PurpleConversations, just follow along the GtkApplication for windows added/removed.

Configuration is completely untested because we have no way to open plugin prefs yet.

Enabled plugin and checked that Buddy List and Conversation Windows were made transparent. The latter also gained a slider to set the opacity, which also worked.

Opaque-during-focus also seemed to work, though there seems to be a bug with the window getting a focus enter event on hover even if the window isn't really focused.

We don't currently have a way to create a second Conversation Window, so I can't be entirely sure the window signals work, but at least window-added is checked because the plugin is loaded before the first window is created.


Commits

Files