void fe_common_core_finish_init(void) { signal_emit("irssi init read settings", 0); #ifdef SIGPIPE signal(SIGPIPE, SIG_IGN); #endif if (cmdline_nick != NULL) { /* override nick found from setup */ settings_set_str("nick", cmdline_nick); } if (cmdline_hostname != NULL) { /* override host name found from setup */ settings_set_str("hostname", cmdline_hostname); } create_windows(); /* _after_ windows are created.. */ g_log_set_handler(G_LOG_DOMAIN, (GLogLevelFlags) (G_LOG_LEVEL_CRITICAL | G_LOG_LEVEL_WARNING), (GLogFunc) glog_func, NULL); autoconnect_servers(); }
void fe_common_core_finish_init(void) { int setup_changed; signal_emit("irssi init read settings", 0); #ifdef SIGPIPE signal(SIGPIPE, SIG_IGN); #endif setup_changed = FALSE; if (cmdline_nick != NULL && *cmdline_nick != '\0') { /* override nick found from setup */ settings_set_str("nick", cmdline_nick); setup_changed = TRUE; } if (cmdline_hostname != NULL) { /* override host name found from setup */ settings_set_str("hostname", cmdline_hostname); setup_changed = TRUE; } sig_setup_changed(); signal_add_first("setup changed", (SIGNAL_FUNC) sig_setup_changed); /* _after_ windows are created.. */ g_log_set_default_handler((GLogFunc) glog_func, NULL); if (setup_changed) signal_emit("setup changed", 0); autorun_startup(); autoconnect_servers(); }
/* SYNTAX: SET [-clear] [<key> [<value>] */ static void cmd_set(char *data) { GHashTable *optlist; GSList *sets, *tmp; const char *last_section; char *key, *value; void *free_arg; int found, clear; if (!cmd_get_params(data, &free_arg, 2 | PARAM_FLAG_GETREST | PARAM_FLAG_OPTIONS, "set", &optlist, &key, &value)) return; clear = g_hash_table_lookup(optlist, "clear") != NULL; last_section = ""; found = 0; sets = settings_get_sorted(); for (tmp = sets; tmp != NULL; tmp = tmp->next) { SETTINGS_REC *rec = tmp->data; if (((clear || *value != '\0') && g_strcasecmp(rec->key, key) != 0) || (*value == '\0' && *key != '\0' && stristr(rec->key, key) == NULL)) continue; if (strcmp(last_section, rec->section) != 0) { /* print section */ printtext(NULL, NULL, MSGLEVEL_CLIENTCRAP, "%_[ %s ]", rec->section); last_section = rec->section; } if (clear || *value != '\0') { /* change the setting */ switch (rec->type) { case SETTING_TYPE_BOOLEAN: set_boolean(key, clear ? FALSE : value); break; case SETTING_TYPE_INT: settings_set_int(key, clear ? 0 : atoi(value)); break; case SETTING_TYPE_STRING: settings_set_str(key, clear ? "" : value); break; } signal_emit("setup changed", 0); } set_print(rec); found = TRUE; if (clear || *value != '\0') break; } g_slist_free(sets); if (!found) printtext(NULL, NULL, MSGLEVEL_CLIENTERROR, "Unknown setting %s", key); cmd_params_free(free_arg); }
void fe_common_core_finish_init(void) { int setup_changed; signal_emit("irssi init read settings", 0); #ifdef SIGPIPE signal(SIGPIPE, SIG_IGN); #endif setup_changed = FALSE; if (cmdline_nick != NULL && *cmdline_nick != '\0') { /* override nick found from setup */ settings_set_str("nick", cmdline_nick); setup_changed = TRUE; } if (cmdline_hostname != NULL) { /* override host name found from setup */ settings_set_str("hostname", cmdline_hostname); setup_changed = TRUE; } sig_setup_changed(); signal_add_first("setup changed", (SIGNAL_FUNC) sig_setup_changed); /* _after_ windows are created.. */ #if GLIB_CHECK_VERSION(2,6,0) g_log_set_default_handler((GLogFunc) glog_func, NULL); #else g_log_set_handler(G_LOG_DOMAIN, (GLogLevelFlags) (G_LOG_LEVEL_CRITICAL | G_LOG_LEVEL_WARNING), (GLogFunc) glog_func, NULL); g_log_set_handler("GLib", (GLogLevelFlags) (G_LOG_LEVEL_CRITICAL | G_LOG_LEVEL_WARNING), (GLogFunc) glog_func, NULL); /* send glib errors to the same place */ #endif if (setup_changed) signal_emit("setup changed", 0); autorun_startup(); autoconnect_servers(); }
gboolean settings_set_choice(const char *key, const char *value) { SETTINGS_REC *rec; rec = settings_get_record(key); if (rec != NULL && strarray_find(rec->choices, value) < 0) return FALSE; settings_set_str(key, value); return TRUE; }
static void init_userinfo(void) { const char *set, *nick, *user_name, *str; /* check if nick/username/realname wasn't read from setup.. */ set = settings_get_str("real_name"); if (set == NULL || *set == '\0') { str = g_getenv("IRCNAME"); settings_set_str("real_name", str != NULL ? str : g_get_real_name()); } /* username */ user_name = settings_get_str("user_name"); if (user_name == NULL || *user_name == '\0') { str = g_getenv("IRCUSER"); settings_set_str("user_name", str != NULL ? str : g_get_user_name()); user_name = settings_get_str("user_name"); } /* nick */ nick = settings_get_str("nick"); if (nick == NULL || *nick == '\0') { str = g_getenv("IRCNICK"); settings_set_str("nick", str != NULL ? str : user_name); nick = settings_get_str("nick"); } /* host name */ set = settings_get_str("hostname"); if (set == NULL || *set == '\0') { str = g_getenv("IRCHOST"); if (str != NULL) settings_set_str("hostname", str); } }
static void read_settings(void) { const char *str; if (active_entry != NULL) gui_entry_set_utf8(active_entry, term_type == TERM_TYPE_UTF8); str = settings_get_str("actlist_sort"); if (g_ascii_strcasecmp(str, "recent") == 0) actlist_sort = 1; else if (g_ascii_strcasecmp(str, "level") == 0) actlist_sort = 2; else if (g_ascii_strcasecmp(str, "level,recent") == 0) actlist_sort = 3; else { settings_set_str("actlist_sort", "refnum"); actlist_sort = 0; } }
/* SYNTAX: SET [-clear | -default] [<key> [<value>]] */ static void cmd_set(char *data) { GHashTable *optlist; char *key, *value; void *free_arg; int clear, set_default; SETTINGS_REC *rec; if (!cmd_get_params(data, &free_arg, 2 | PARAM_FLAG_GETREST | PARAM_FLAG_OPTIONS, "set", &optlist, &key, &value)) return; clear = g_hash_table_lookup(optlist, "clear") != NULL; set_default = g_hash_table_lookup(optlist, "default") != NULL; if (*key == '\0') clear = set_default = FALSE; if (!(clear || set_default || *value != '\0')) set_print_pattern(key); else { rec = settings_get_record(key); if (rec != NULL) { /* change the setting */ switch (rec->type) { case SETTING_TYPE_BOOLEAN: if (clear) settings_set_bool(key, FALSE); else if (set_default) settings_set_bool(key, rec->default_value.v_bool); else set_boolean(key, value); break; case SETTING_TYPE_INT: if (clear) settings_set_int(key, 0); else if (set_default) settings_set_int(key, rec->default_value.v_int); else set_int(key, value); break; case SETTING_TYPE_CHOICE: if (clear || set_default) settings_set_choice(key, rec->choices[rec->default_value.v_int]); else set_choice(key, value); break; case SETTING_TYPE_STRING: settings_set_str(key, clear ? "" : set_default ? rec->default_value.v_string : value); break; case SETTING_TYPE_TIME: if (!settings_set_time(key, clear ? "0" : set_default ? rec->default_value.v_string : value)) printformat(NULL, NULL, MSGLEVEL_CLIENTERROR, TXT_INVALID_TIME); break; case SETTING_TYPE_LEVEL: if (!settings_set_level(key, clear ? "" : set_default ? rec->default_value.v_string : value)) printformat(NULL, NULL, MSGLEVEL_CLIENTERROR, TXT_INVALID_LEVEL); break; case SETTING_TYPE_SIZE: if (!settings_set_size(key, clear ? "0" : set_default ? rec->default_value.v_string : value)) printformat(NULL, NULL, MSGLEVEL_CLIENTERROR, TXT_INVALID_SIZE); break; case SETTING_TYPE_ANY: /* Unpossible! */ break; } signal_emit("setup changed", 0); printformat(NULL, NULL, MSGLEVEL_CLIENTCRAP, TXT_SET_TITLE, rec->section); set_print(rec); } else printformat(NULL, NULL, MSGLEVEL_CLIENTERROR, TXT_SET_UNKNOWN, key); } cmd_params_free(free_arg); }