diff options
-rw-r--r-- | src/common/cfgfiles.c | 1 | ||||
-rw-r--r-- | src/common/outbound.c | 6 | ||||
-rw-r--r-- | src/common/xchat.h | 1 | ||||
-rw-r--r-- | src/fe-gtk/setup.c | 1 |
4 files changed, 9 insertions, 0 deletions
diff --git a/src/common/cfgfiles.c b/src/common/cfgfiles.c index e3029df8..7948fe2c 100644 --- a/src/common/cfgfiles.c +++ b/src/common/cfgfiles.c @@ -423,6 +423,7 @@ const struct prefs vars[] = { {"gui_auto_open_chat", P_OFFINT (autoopendccchatwindow), TYPE_BOOL}, {"gui_auto_open_dialog", P_OFFINT (autodialog), TYPE_BOOL}, + {"gui_auto_open_msg", P_OFFINT (gui_auto_open_msg), TYPE_BOOL}, {"gui_auto_open_recv", P_OFFINT (autoopendccrecvwindow), TYPE_BOOL}, {"gui_auto_open_send", P_OFFINT (autoopendccsendwindow), TYPE_BOOL}, {"gui_dialog_height", P_OFFINT (dialog_height), TYPE_INT}, diff --git a/src/common/outbound.c b/src/common/outbound.c index df8eddbd..417ac323 100644 --- a/src/common/outbound.c +++ b/src/common/outbound.c @@ -2605,7 +2605,13 @@ cmd_msg (struct session *sess, char *tbuf, char *word[], char *word_eol[]) } newsess = find_dialog (sess->server, nick); if (!newsess) + { newsess = find_channel (sess->server, nick); + if (!newsess && prefs.gui_auto_open_msg) + { + newsess = new_ircwindow (sess->server, nick, SESS_DIALOG, 0); + } + } if (newsess) inbound_chanmsg (newsess->server, NULL, newsess->channel, newsess->server->nick, msg, TRUE, FALSE); diff --git a/src/common/xchat.h b/src/common/xchat.h index 6856d949..3ec13e6b 100644 --- a/src/common/xchat.h +++ b/src/common/xchat.h @@ -205,6 +205,7 @@ struct xchatprefs unsigned int perc_ascii; unsigned int autosave; unsigned int autodialog; + unsigned int gui_auto_open_msg; unsigned int autosave_url; unsigned int autoreconnect; unsigned int autoreconnectonfail; diff --git a/src/fe-gtk/setup.c b/src/fe-gtk/setup.c index e07c2c7e..acb4eda6 100644 --- a/src/fe-gtk/setup.c +++ b/src/fe-gtk/setup.c @@ -265,6 +265,7 @@ static const setting tabs_settings[] = {ST_TOGGLE, N_("Open an extra tab for server messages"), P_OFFINTNL(use_server_tab), 0, 0, 0}, {ST_TOGGLE, N_("Open an extra tab for server notices"), P_OFFINTNL(notices_tabs), 0, 0, 0}, {ST_TOGGLE, N_("Open a new tab when you receive a private message"), P_OFFINTNL(autodialog), 0, 0, 0}, + {ST_TOGGLE, N_("Open a new tab when you send a private message"), P_OFFINTNL(gui_auto_open_msg), 0, 0, 0}, {ST_TOGGLE, N_("Sort tabs in alphabetical order"), P_OFFINTNL(tab_sort), 0, 0, 0}, {ST_TOGGLE, N_("Smaller text"), P_OFFINTNL(tab_small), 0, 0, 0}, #if 0 |