[Pidgin] #2025: System tray icon has the wrong size

Pidgin trac at pidgin.im
Wed Mar 5 12:50:14 EST 2008


#2025: System tray icon has the wrong size
---------------------------+------------------------------------------------
  Reporter:  Dima          |       Owner:        
      Type:  defect        |      Status:  closed
  Priority:  minor         |   Milestone:        
 Component:  pidgin (gtk)  |     Version:  2.0.2 
Resolution:  duplicate     |    Keywords:        
   Pending:  0             |  
---------------------------+------------------------------------------------
Comment (by gagern):

 Some details on the setup mentioned in comment:5. My KDE Panel has Size
 "Large" on a 94dpi screen. Usually my tray icons are arranged in two rows,
 and each seems to have 22px. When pidgin starts, it usually displays too
 large an icon, leading to a single row arrangement for all icons.
 Disabling and re-enabling the tray icon of pidgin has a good chance of
 solving the issue, but at times I have to repeat this several times until
 it works. This seems a lot like a race condition to me.

 I added a bit of debug code to {{{docklet_x11_resize_icon}}} in
 {{{pidgin/gtkdocklet-x11.c}}} of the pidgin-2.4.0 release:
 {{{
 purple_debug(PURPLE_DEBUG_INFO, "docklet",
              "resized from %d to %dx%d\n",
              docklet_height,
              widget->allocation.height, widget->allocation.width);
 }}}

 With this in place, I did a test run. I got a large icon when pidgin was
 started, and a correctly sized after disabling it once. The trace says:
 {{{
 (18:31:52) docklet: resized from 0 to 200x200
 (18:31:52) gtkblist: added visibility manager: 1
 (18:31:52) docklet: created
 ... further startup, loading plugins ...
 (18:31:53) docklet: embedded
 (18:31:53) docklet: resized from 200 to 48x48
 (18:31:53) docklet: resized from 48 to 48x48
 ... disabling tray icon ...
 (18:32:14) gtkblist: removed visibility manager: 0
 (18:32:14) docklet: destroyed
 (18:32:14) prefs: /pidgin/docklet/show changed, scheduling save.
 (18:32:14) prefs: /pidgin/blist/list_visible changed, scheduling save.
 ... enabling tray icon ...
 (18:32:17) docklet: resized from 48 to 200x200
 (18:32:17) gtkblist: added visibility manager: 1
 (18:32:17) docklet: created
 (18:32:17) prefs: /pidgin/docklet/show changed, scheduling save.
 (18:32:17) docklet: resized from 200 to 200x200
 (18:32:17) docklet: resized from 200 to 48x48
 (18:32:17) docklet: resized from 48 to 48x48
 (18:32:17) docklet: embedded
 (18:32:17) docklet: resized from 48 to 48x48
 (18:32:17) docklet: resized from 48 to 30x100
 (18:32:17) docklet: resized from 30 to 22x22
 (18:32:17) docklet: resized from 22 to 22x22
 }}}

 I have no clue where these 200x200 size comes from. I tried a version that
 returned from docklet_x11_resize_icon immediately if the allocation area
 was 200x200. So far I always got the correct size with a version modified
 in this way, so it might be a viable workaround. For comparison, with this
 hack in place the debug trace looks like this:
 {{{
 (18:43:30) docklet: resized from 0 to 200x200
 (18:43:30) gtkblist: added visibility manager: 1
 (18:43:30) docklet: created
 ... further startup, loading plugins ...
 (18:43:31) docklet: embedded
 (18:43:31) docklet: resized from 0 to 22x22
 (18:43:31) docklet: resized from 22 to 22x22
 ... disabling tray icon ...
 (18:43:37) gtkblist: removed visibility manager: 0
 (18:43:37) docklet: destroyed
 (18:43:37) prefs: /pidgin/docklet/show changed, scheduling save.
 ... enabling tray icon ...
 (18:43:39) docklet: resized from 22 to 200x200
 (18:43:39) gtkblist: added visibility manager: 1
 (18:43:39) docklet: created
 (18:43:39) prefs: /pidgin/docklet/show changed, scheduling save.
 (18:43:39) docklet: embedded
 (18:43:39) docklet: resized from 22 to 200x200
 (18:43:39) docklet: resized from 22 to 30x100
 (18:43:39) docklet: resized from 30 to 30x100
 (18:43:39) docklet: resized from 30 to 22x22
 (18:43:39) docklet: resized from 22 to 22x22
 }}}

 I hope some of this might help identifying and solving the issue. If I can
 provide more information, please let me know.

-- 
Ticket URL: <http://developer.pidgin.im/ticket/2025#comment:6>
Pidgin <http://pidgin.im>
Pidgin


More information about the Tracker mailing list