pidgin minimize to tray is visually wrong using compiz

Bug #146461 reported by will_in_wi on 2007-09-28
4
Affects Status Importance Assigned to Milestone
Pidgin
Confirmed
Low
Richard Laager
compiz (Ubuntu)
Low
compiz packagers

Bug Description

Binary package hint: compiz

When I click on the tray icon to minimize pidgin, it uses the window close effect. It should use the minimize effect like rhythmbox does.

Gutsy Beta

David Portwood (dzportwood) wrote :

Thank you for taking the time to report this bug and helping to make Ubuntu better. However, this compiz package is not from the official Ubuntu repositories, and as such is not supported here. Please report this bug upstream at [WWW] https://bugs.freedesktop.org/enter_bug.cgi?product=xorg . Thanks!

Changed in compiz:
status: New → Invalid
David Portwood (dzportwood) wrote :

I closed the wrong set of bugs, sorry.

Changed in compiz:
assignee: nobody → compiz
status: Invalid → New
Changed in compiz:
importance: Undecided → Low
Changed in compiz:
status: New → Confirmed
Danny Baumann (dannybaumann) wrote :

This is not a compiz problem. Pidgin must tell Compiz that it's iconified and not minimized, and it must tell Compiz where it's iconified to.
In rythmbox, this is done in the rb_shell_set_visibility function in shell/rb-shell.c.

Changed in pidgin:
status: New → Confirmed
Changed in compiz:
status: Confirmed → Invalid
Richard Laager (rlaager) wrote :

I looked at the code in Rhythmbox. I see what it's doing. Every application should not have to duplicate that code. I'll see if that can be implemented in libegg or something.

Changed in pidgin:
assignee: nobody → rlaager
importance: Undecided → Low
Richard Laager (rlaager) wrote :

It seems like we should switch to GtkStatusIcon at some point. Then there could be something like this in GTK+ (based off the code from Rhythmbox):

void gtk_status_icon_iconify_window(GtkStatusIcon *icon, GtkWindow *window)
{
    if (!gtk_status_icon_is_embedded ())
        return;

    // Get the geometry of the tray icon as with gtk_status_icon_get_geometry ()
    // Set the geometry of the window.
    gtk_window_set_skip_taskbar_hint(window, TRUE);
    gtk_window_iconify(window);
    gtk_window_hide(window);

    g_list_prepend(hidden_windows, window);
}

void gtk_status_icon_deiconify_windows(GtkStatusIcon *icon)
{
    // for window in hidden_windows:
        gtk_window_set_skip_taskbar_hint(window, FALSE);
        gtk_window_show(window);
        gtk_window_deiconify(window);

        // remove window from hidden_windows
    // end
}

Obviously, this needs some input from the GTK+ guys. I'm not sure if the icon should automatically de-iconify on click or not. I'm also not sure if you'd want to de-iconify everything in one shot (or if it should even track multiple hidden windows).

Richard Laager (rlaager) wrote :

This may come up when Rhythmbox ports to GtkStatusIcon: http://bugzilla.gnome.org/show_bug.cgi?id=349280

To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.