[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