rime / ibus-rime

【中州韻】Rime for Linux/IBus
https://rime.im
GNU General Public License v3.0
732 stars 105 forks source link

Migration request from IBusConfig to GSettings #39

Closed fujiwarat closed 6 years ago

fujiwarat commented 6 years ago

I'm the maintainer of IBus. ibus-rime uses IBusConfig and I'd ask to migrate it to GSettings and delete IBusConfig.

E.g. rime_settings.c

ibus_rime_load_settings (void)
{
    const gchar *rime_schema_id = "org.freedesktop.ibus.engine.rime";
    const gchar *panel_schema_id = "org.freedesktop.ibus.panel";
    GSettings *rime_settings = g_settings_new (rime_schema_id);
    GSettings *panel_settings = g_settings_new (panel_schema_id);
    GVariant *value;

    value = g_settings_get_value (rime_settings, "embed-preedit-text");
    if (!value) {
        value = g_settings_get_value (panel_settings, "embed-preedit-text");
    }

    g_signal_connect (rime_settings, "changed", ibus_rime_settings_value_changed_cb);
}

https://groups.google.com/forum/#!topic/ibus-devel/Mu1IoFX-bKE

lotem commented 6 years ago

Instead of porting to GSettings, I'm thinking of switching to Rime's configuration files (in YAML format) which users from Windows and macOS are already familiar of. Several users have asked why their UI configuration doesn't work for ibus-rime, which make me realize that it's inconsistent.

fujiwarat commented 6 years ago

I don't mind YAML or GSettings. My request is to drop IBusConfig in each engine.

fujiwarat commented 6 years ago

Thank you!