diff options
author | Marius Halden <marius.h@lden.org> | 2016-01-28 04:00:03 +0100 |
---|---|---|
committer | Marius Halden <marius.h@lden.org> | 2016-05-07 14:27:54 +0200 |
commit | 261a20494e1214aad567c87d71ca827ac8ca6081 (patch) | |
tree | 971a41704c79c6588889f2022bf7c40ee4703e6a /protocols/twitter/twitter.c | |
parent | 282bdd93637a6d497c4f1c864f0b89bc2fb7c584 (diff) |
Allow custom channel names for twitter
Diffstat (limited to 'protocols/twitter/twitter.c')
-rw-r--r-- | protocols/twitter/twitter.c | 20 |
1 files changed, 17 insertions, 3 deletions
diff --git a/protocols/twitter/twitter.c b/protocols/twitter/twitter.c index 82290f65..2cac166f 100644 --- a/protocols/twitter/twitter.c +++ b/protocols/twitter/twitter.c @@ -304,7 +304,7 @@ static void twitter_main_loop_start(struct im_connection *ic) struct groupchat *twitter_groupchat_init(struct im_connection *ic) { - char *name_hint; + char *name_hint, *tmp; struct groupchat *gc; struct twitter_data *td = ic->proto_data; GSList *l; @@ -315,7 +315,14 @@ struct groupchat *twitter_groupchat_init(struct im_connection *ic) td->timeline_gc = gc = imcb_chat_new(ic, "twitter/timeline"); - name_hint = g_strdup_printf("%s_%s", td->prefix, ic->acc->user); + tmp = set_getstr(&ic->acc->set, "channel_name"); + + if (tmp == NULL) { + name_hint = g_strdup_printf("%s_%s", td->prefix, ic->acc->user); + } else { + name_hint = g_strdup(tmp); + } + imcb_chat_name_hint(gc, name_hint); g_free(name_hint); @@ -518,6 +525,11 @@ static char *set_eval_commands(set_t * set, char *value) } } +static char *set_eval_channel_name(set_t * set, char *value) +{ + return value; // XXX: Validate somethig here? +} + static char *set_eval_mode(set_t * set, char *value) { if (g_strcasecmp(value, "one") == 0 || @@ -572,7 +584,9 @@ static void twitter_init(account_t * acc) s = set_add(&acc->set, "strip_newlines", "false", set_eval_bool, acc); - s = set_add(&acc->set, "long_ids", "false", set_eval_bool, acct); + s = set_add(&acc->set, "long_ids", "false", set_eval_bool, acc); + + s = set_add(&acc->set, "channel_name", NULL, set_eval_channel_name, acc); s = set_add(&acc->set, "_last_tweet", "0", NULL, acc); s->flags |= SET_HIDDEN | SET_NOSAVE; |