If the saved file has the "show" valuable has 1 but the setting is not loaded, maybe ibus-daemon doesn't connect to ibus-gconf or gconfd-2 properly.
Right click on the ibus panel icon provides the restart menu item.
If you restart the ibus with the menu item, the languagebar setting is loaded properly?
fujiwara
The setting is loaded by __config_load_show() in /usr/share/ibus/ui/gtk/panel.py
Probably you could try to add a line likes 'print "show =", show, self.__config' in the function for your test.
To run the ibus panel by manual:
% ps -ef | grep ui/gtk
123 python /usr/share/ibus/ui/gtk/main.py
% kill 123
% env IBUS_PREFIX=/usr python /usr/share/ibus/ui/gtk/main.py
(03/31/11 17:22), P.A.-san wrote:
> Yes, it is. If I restart ibus all of my settings is loaded.
>
Agreed.
>
> I availed myself of your advise and added to the source code a
> diagnostic message. Then I killed the ibus process and manually ran it
> again. The program doesn't raise any exceptions and prints "show = 1,
> <Config object at ...>". I ran it several times and each time there's
> nothing exceptional. Maybe changing the default settings in the source
> code will make sense for me? Would you like to point me out where they
> resides. (I understand it's not a good solution but none the less.)
>
My understanding is, you can show the language-bar whenever the diagnostic prints "show = 1".
If so, you could modify the following default setting by manual:
--- /usr/share/ibus/ui/gtk/panel.py
+++ /usr/share/ibus/ui/gtk/panel.py
def __config_load_show(self):
- show = self.__config.get_value("panel", "show", 0)
+ show = self.__config.get_value("panel", "show", 1)
self.__language_bar.set_show(show)
It means to return the default value 1 when the get_value method receives an exception.
I guess you don't have to modify the gconf value.
To fix your problem, probably I think The file input/output will be needed for the furthermore debugging instead of standard IO.