Example #1
0
void
state_changed()
{
    hotkey_t hk;
    REFRESH_KEY_SETTING(trigger);
    settings_set(TRIGGER_KEY, &hk);

    REFRESH_KEY_SETTING(english);
    settings_set(ENG_KEY, &hk);

    varchar colorstr;
    REFRESH_COLOR_SETTING(background_color_btn);
    settings_set(PREEDIT_COLOR, colorstr);

    REFRESH_COLOR_SETTING(font_color_btn);
    settings_set(PREEDIT_FONT_COLOR, colorstr);

    /* font and size information */
    settings_set(PREEDIT_FONT, (void*) gtk_font_button_get_font_name(font_btn));

    /* font color information */
    double scale = gtk_adjustment_get_value(opacity_value);
    settings_set(PREEDIT_OPACITY, &scale);

    int ncandi = gtk_adjustment_get_value(ncandidates);
    settings_set(CANDIDATES_SIZE, &ncandi);
    
    settings_save();

    /* notify all running xsunpinyin with this user */
    char cmd[256];
    snprintf(cmd, 256, "/usr/bin/pkill -10 '^xsunpinyin$' -u %d", getuid());
    system(cmd);
}
Example #2
0
void
state_changed()
{
    hotkey_t hk;
    REFRESH_KEY_SETTING(trigger);
    settings_set(TRIGGER_KEY, &hk);

    REFRESH_KEY_SETTING(english);
    settings_set(ENG_KEY, &hk);

    varchar colorstr;
    REFRESH_COLOR_SETTING(background_color_btn);
    settings_set(PREEDIT_COLOR, colorstr);

    REFRESH_COLOR_SETTING(font_color_btn);
    settings_set(PREEDIT_FONT_COLOR, colorstr);

    /* font and size information */
    settings_set(PREEDIT_FONT, (void*) gtk_font_button_get_font_name(font_btn));

    /* font color information */
    settings_set_double(PREEDIT_OPACITY,
                        gtk_adjustment_get_value(opacity_value));

    settings_set_int(CANDIDATES_SIZE,
                     gtk_adjustment_get_value(ncandidates));

    /* page up and down trigger */
    settings_set_int(PAGE_MINUS_PLUS,
                     gtk_toggle_button_get_active(minus_plus_check));
    settings_set_int(PAGE_COMMA_PERIOD,
                     gtk_toggle_button_get_active(comma_period_check));
    settings_set_int(PAGE_PAREN,
                     gtk_toggle_button_get_active(paren_check));

    /* fuzzy segmentation */
    settings_set_int(FUZZY_SEGMENTATION,
                     gtk_toggle_button_get_active(fuzzy_seg_check));
    settings_set_int(FUZZY_INNER_SEGMENTATION,
                     gtk_toggle_button_get_active(fuzzy_inner_seg_check));

    /* cancel on backspace */
    settings_set_int(CANCEL_ON_BACKSPACE,
                     gtk_toggle_button_get_active(cancel_on_backspace_check));

    /* smart punctuation */
    settings_set_int(SMART_PUNCT,
                     gtk_toggle_button_get_active(smart_punct_check));

    settings_set_int(SHUANGPIN, gtk_toggle_button_get_active(shuangpin_check));
    int sche_idx = gtk_combo_box_get_active(shuangpin_combo);
    if (sche_idx < UI_SHUANGPIN_SCHEMES_NUM)
        settings_set_string(SHUANGPIN_SCHEME, ui_shuangpin_schemes[sche_idx]);

    /* skins */
    settings_set_string(SKIN_NAME, gtk_combo_box_get_active_text(skin_combo));

    /* whether hide icbar */
    settings_set_int(HIDE_ICBAR, gtk_toggle_button_get_active(hide_icbar_check));

    /* init status */
    settings_set_int(INIT_PUNC_TYPE, gtk_toggle_button_get_active(punc_english_radio));
    settings_set_int(INIT_WIDTH, gtk_toggle_button_get_active(half_width_radio));
    settings_set_int(INIT_LANGUAGE, gtk_toggle_button_get_active(lang_english_radio));
    
    settings_save();
    send_reload();
}