1. Make sure you have at least one device paired (but not necessarily
connected), with your computer.
2. Start with Bluetooth turned off. If you have to turn off
bluetooth (via the indicator menu), kill bluetooth-applet
("killall bluetooth-applet") and then relaunch ("bluetooth-applet
&").
3. Turn on Bluetooth via the indicator menu. The individual menus
for the devices won't show up and you will only see the "Devices"
heading in the menu.
Investigation so far:
First, at Ted Gould's suggestion, I ran dbusmenu-dumper to see what
dbusmenu was getting:
The output of this confirmed that it indeed was not getting the menus
for the devices.
Next, I added debug prints to libappindicator/appindicator.c where
menuitems with labels were being added, in menuitem_iterate() and
container_iterate(). Again, I confirmed that at this level the device
menus were never seen.
I next added debug prints to applet/main.c in gnome-bluetooth to trace
which related functions were being called and also when the top level
devices menus were being added. I have confirmed that they *are*
being added at this level.
Another detail, if I kill the bluetooth-applet while bluetooth is
enabled, and then re-launch it, the device menus do show up.
I'm not sure if there is a signal that isn't being caught or what. At
the end of the function where the menu items are being added, there is
a call to:
gtk_ui_manager_ensure_update (uimanager);
I think I remember something about this causing issues in the past,
but I'm unsure.
Quick update with more details.
First, steps to reproduce this:
1. Make sure you have at least one device paired (but not necessarily
connected), with your computer.
2. Start with Bluetooth turned off. If you have to turn off
bluetooth (via the indicator menu), kill bluetooth-applet
("killall bluetooth-applet") and then relaunch ("bluetooth-applet
&").
3. Turn on Bluetooth via the indicator menu. The individual menus
for the devices won't show up and you will only see the "Devices"
heading in the menu.
Investigation so far:
First, at Ted Gould's suggestion, I ran dbusmenu-dumper to see what
dbusmenu was getting:
/usr/lib/ libdbusmenu/ dbusmenu- dumper --dbus- name=org. gnome.Bluetooth .applet --dbus- object= /org/ayatana/ NotificationIte m/bluetooth_ manager/ Menu
The output of this confirmed that it indeed was not getting the menus
for the devices.
Next, I added debug prints to libappindicator /appindicator. c where iterate( ). Again, I confirmed that at this level the device
menuitems with labels were being added, in menuitem_iterate() and
container_
menus were never seen.
I next added debug prints to applet/main.c in gnome-bluetooth to trace
which related functions were being called and also when the top level
devices menus were being added. I have confirmed that they *are*
being added at this level.
Another detail, if I kill the bluetooth-applet while bluetooth is
enabled, and then re-launch it, the device menus do show up.
I'm not sure if there is a signal that isn't being caught or what. At
the end of the function where the menu items are being added, there is
a call to:
gtk_ui_ manager_ ensure_ update (uimanager);
I think I remember something about this causing issues in the past,
but I'm unsure.