Set the application on all windows

Review Request #3664 — Created Nov. 22, 2024 and submitted

Information

pidgin/pidgin
default

Reviewers

In some DEs (like GNOME), this allows grouping them all together.

It also restores the "construction" style in the title bar (for Adwaita stuff at least).

Opened all the windows, and Alt-Tab now groups things together. Also checked in the inspector that the property was set on the windows.

Summary ID
Set the application on all windows
In some DEs (like GNOME), this allows grouping them all together. It also restores the "construction" style in the title bar, since that is a property of the application.
fbbdcddc5b6ddc33bc8f29bb34a0368f5d2c19c7
Description From Last Updated

Seems like we could just update the constructors to take a application property and pass it through?

grimgrim

This and the others should probably have the (nullable) annotation?

grimgrim
QuLogic
grim
  1. 
      
  2. Show all issues

    Seems like we could just update the constructors to take a application property and pass it through?

    1. That sounds like a reasonable corollary to gtk_application_window_new, and should work work everything else.

      But for PidginDisplayWindow, the activation uses pidgin_display_window_get_default. Should we pass through an application there, or change that to not track a default itself, but manage the default window in the application (like the other windows) instead?

    2. If we manage it via the application and expose a purple_application_get_default_window that seems like it'd be more consistent than what we have now?

    3. I assume you meant pidgin_application_..., not purple_application_..., but I actually wonder if we need to expose the default.

      I did see that it's used in the Windows event loop, and it's to present the window when a message comes in from a second instance. But isn't that all handled for us by GtkApplication emitting the activate from a second instance? At least on Linux that's the intention, so I wonder if we need this at all on Windows. I'll go look at GTK, but then it wouldn't be necessary.

    4. The only other thing I could think of where it might want to be exposed is a system tray, but that can just call an application action so yeah we shouldn't need to expose it.

  3. 
      
QuLogic
grim
  1. 
      
  2. pidgin/pidginabout.h (Diff revision 3)
     
     
    Show all issues

    This and the others should probably have the (nullable) annotation?

  3. 
      
QuLogic
grim
  1. Awesome work, thanks you for the reworks!!

  2. 
      
grim
Review request changed
Status:
Completed