I have been inserting debugging in formation and here is a trace that I am getting when I click on the Skype entry in the indicator applet. For some reason, whenever the items in a menu change, then all items of the menu are removed and then inserted again. For Skype this seems to happen every single time I open the menu. When I open other menu items such as bluetooth or Ubuntu One, then the entries are not removed and inserted. But the menu simply opens. However I can reproduce the same phenomen with network-manager. When I open the menu and then pull the network cable I can see how all items get removed and then re-inserted.
From the trace I can see there are 20 items removed from the Skype menu, but 21 added. This explains the 22px size difference between the first and last size_allocate call. I have not measured this, but it seems the menu is painted with a height of 356px while at the end it has 378px thus requiring scrolling.
Note that the menu is a member of 'IndicatorObjectEntry' (from libindicator) and indicator-applet has no control over adding or removing entries.
I have been inserting debugging in formation and here is a trace that I am getting when I click on the Skype entry in the indicator applet. For some reason, whenever the items in a menu change, then all items of the menu are removed and then inserted again. For Skype this seems to happen every single time I open the menu. When I open other menu items such as bluetooth or Ubuntu One, then the entries are not removed and inserted. But the menu simply opens. However I can reproduce the same phenomen with network-manager. When I open the menu and then pull the network cable I can see how all items get removed and then re-inserted.
Indicator- Applet- Message: button_press_event cb: entry_secondary _activated Applet- Message: size_allocate: New height: 356 Applet- Message: entry-activated cb: entry_activated Applet- Message: size_allocate: New height: 356 Applet- Message: menu_entry_remove: menu_shell: 0xd4d0c0; child: 0xfb22d0 Applet- Message: size_allocate: New height: 0 Applet- Message: menu_entry_insert: menu_shell: 0xd4d0c0; child: 0xfc82d0
Indicator-
Indicator-
Indicator-
Indicator-
[ ... 19 repeating entries truncated ... ]
Indicator-
Indicator-
[ ... 15 repeating entries truncated ... ]
(indicator- applet: 6978): Gtk-CRITICAL **: gtk_widget_ set_accel_ path: assertion 'GTK_IS_ACCEL_GROUP (accel_group)' failed
(indicator- applet: 6978): Gtk-CRITICAL **: gtk_widget_ add_accelerator : assertion 'GTK_IS_ACCEL_GROUP (accel_group)' failed Applet- Message: menu_entry_insert: menu_shell: 0xd4d0c0; child: 0xfb25f0 Applet- Message: menu_entry_insert: menu_shell: 0xd4d0c0; child: 0xfb2460 Applet- Message: menu_entry_insert: menu_shell: 0xd4d0c0; child: 0xf9e8f0 Applet- Message: menu_entry_insert: menu_shell: 0xd4d0c0; child: 0xfb22d0
Indicator-
Indicator-
Indicator-
Indicator-
(indicator- applet: 6978): Gtk-CRITICAL **: gtk_widget_ set_accel_ path: assertion 'GTK_IS_ACCEL_GROUP (accel_group)' failed
(indicator- applet: 6978): Gtk-CRITICAL **: gtk_widget_ add_accelerator : assertion 'GTK_IS_ACCEL_GROUP (accel_group)' failed Applet- Message: menu_entry_insert: menu_shell: 0xd4d0c0; child: 0xffc790 Applet- Message: size_allocate: New height: 378 Applet- Message: size_allocate: New height: 378
Indicator-
Indicator-
Indicator-
From the trace I can see there are 20 items removed from the Skype menu, but 21 added. This explains the 22px size difference between the first and last size_allocate call. I have not measured this, but it seems the menu is painted with a height of 356px while at the end it has 378px thus requiring scrolling.
Note that the menu is a member of 'IndicatorObjec tEntry' (from libindicator) and indicator-applet has no control over adding or removing entries.