ibus doesn't remember the preferences

136 views
Skip to first unread message

P.A.

unread,
Mar 29, 2011, 5:14:49 PM3/29/11
to ibus-user
Hi.

My ibus and ibus-anthy preferences aren't saved and are returned to
the defaults after the system reboot.

For example, I run `ibus-stup` and set the "Show language panel"
option to "When active". After that, all works fine and the language
panel is really showed up when I activate ibus. However, after the
system reboot all is back to the defaults and the language panel
doesn't appear at all despite the relevant option in the ibus settings
menu keeps its value.

In the ibus-anthy panel I set the typing mode to "Kana". This mode is
saved before the next reboot, after that it returns to "Romaji".

How can I save my preferences?

Thanks.

Debian GNU/Linux 6.0.1;
GNOME 2.30.2;
ibus 1.3.7.

Takao Fujiwara

unread,
Mar 29, 2011, 9:20:29 PM3/29/11
to ibus...@googlegroups.com, P.A.
Did you log out the session after you change the preference values?
The "Show language panel" setting will be saved as 'show' entry name in $HOME/.gconf/desktop/ibus/panel/%gconf.xml after gconfd syncs the values.

P.A.

unread,
Mar 30, 2011, 3:00:16 AM3/30/11
to ibus-user
Yes, all was saved and all start working. Thanks for help, Takao.

P.A.

unread,
Mar 31, 2011, 1:12:11 AM3/31/11
to ibus-user
It stoped working again.

I noticed that sometimes it loads my preferences but sometimes it
doesn't and uses the defaults. Maybe there's some global configuration
file and I should use it to fasten the settings.

Here's my preferences file, just in case: http://dl.dropbox.com/u/20481401/%25gconf.xml.
And that's the appropriate gconf entry: http://dl.dropbox.com/u/20481401/gconf.png.

P.A.:

Takao Fujiwara

unread,
Mar 31, 2011, 1:39:06 AM3/31/11
to ibus...@googlegroups.com, P.A.
(03/31/11 14:12), P.A.-san wrote:
> It stoped working again.
>
> I noticed that sometimes it loads my preferences but sometimes it
> doesn't and uses the defaults. Maybe there's some global configuration
> file and I should use it to fasten the settings.
>
> Here's my preferences file, just in case: http://dl.dropbox.com/u/20481401/%25gconf.xml.
> And that's the appropriate gconf entry: http://dl.dropbox.com/u/20481401/gconf.png.
>

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

P.A.

unread,
Mar 31, 2011, 4:22:00 AM3/31/11
to ibus-user
Yes, it is. If I restart ibus all of my settings is loaded.

Takao Fujiwara

unread,
Mar 31, 2011, 6:15:30 AM3/31/11
to ibus...@googlegroups.com, P.A.
OK, probably I think the exact reproducing steps are needed if we investigate your problem.
I cannot reproduce your problem and probably it's hard to know the root cause from your current descriptions.
Of course, it would be great if you could provide a patch by yourself.

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.
>

P.A.

unread,
Mar 31, 2011, 7:47:46 AM3/31/11
to ibus-user
Unfortunately, I'm not very good at python, so I can only help writing
bug reports.

As for my problem, I think it'll be hard to solve because as I said
sometimes the ibus-daemon still loads my settings, however in the most
cases it doesn't.

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.)

On 31 мар, 14:15, Takao Fujiwara <tfuji...@redhat.com> wrote:
> OK, probably I think the exact reproducing steps are needed if we investigate your problem.
> I cannot reproduce your problem and probably it's hard to know the root cause from your current descriptions.
> Of course, it would be great if you could provide a patch by yourself.
>
> 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.
>
> > On 31 , 09:39, Takao Fujiwara<tfuji...@redhat.com>  wrote:

Takao Fujiwara

unread,
Mar 31, 2011, 9:55:12 PM3/31/11
to ibus...@googlegroups.com, P.A.
(03/31/11 20:47), P.A.-san wrote:
> As for my problem, I think it'll be hard to solve because as I said
> sometimes the ibus-daemon still loads my settings, however in the most
> cases it doesn't.

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.

Reply all
Reply to author
Forward
0 new messages