File xchat-tabs_outgoing_msg.patch of Package xchat

---
 src/common/cfgfiles.c |    1 +
 src/common/outbound.c |    5 ++++-
 src/common/xchat.h    |    1 +
 src/fe-gtk/setup.c    |    1 +
 4 files changed, 7 insertions(+), 1 deletion(-)

Index: xchat-2.8.6/src/common/cfgfiles.c
===================================================================
--- xchat-2.8.6.orig/src/common/cfgfiles.c
+++ xchat-2.8.6/src/common/cfgfiles.c
@@ -537,6 +537,7 @@ const struct prefs vars[] = {
 	{"tab_layout", P_OFFINT (tab_layout), TYPE_INT},
 	{"tab_new_to_front", P_OFFINT (newtabstofront), TYPE_INT},
 	{"tab_notices", P_OFFINT (notices_tabs), TYPE_BOOL},
+        {"tab_outgoing_msg", P_OFFINT (tabs_outgoing_msg), TYPE_BOOL},
 	{"tab_pos", P_OFFINT (tab_pos), TYPE_INT},
 	{"tab_position", P_OFFINT (_tabs_position), TYPE_INT}, /* obsolete */
 	{"tab_server", P_OFFINT (use_server_tab), TYPE_BOOL},
Index: xchat-2.8.6/src/common/outbound.c
===================================================================
--- xchat-2.8.6.orig/src/common/outbound.c
+++ xchat-2.8.6/src/common/outbound.c
@@ -2607,8 +2607,11 @@ cmd_msg (struct session *sess, char *tbu
 				sess->server->p_message (sess->server, nick, msg);
 			}
 			newsess = find_dialog (sess->server, nick);
-			if (!newsess)
+			if (!newsess) {
 				newsess = find_channel (sess->server, nick);
+                                if(!newsess && prefs.tabs_outgoing_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);
Index: xchat-2.8.6/src/common/xchat.h
===================================================================
--- xchat-2.8.6.orig/src/common/xchat.h
+++ xchat-2.8.6/src/common/xchat.h
@@ -267,6 +267,7 @@ struct xchatprefs
 	unsigned int irc_whois_front;
 	unsigned int use_server_tab;
 	unsigned int notices_tabs;
+        unsigned int tabs_outgoing_msg;
 	unsigned int style_namelistgad;
 	unsigned int style_inputbox;
 	unsigned int windows_as_tabs;
Index: xchat-2.8.6/src/fe-gtk/setup.c
===================================================================
--- xchat-2.8.6.orig/src/fe-gtk/setup.c
+++ xchat-2.8.6/src/fe-gtk/setup.c
@@ -249,6 +249,7 @@ static const setting tabs_settings[] =
 	{ST_RADIO,  N_("Switcher type:"),P_OFFINTNL(tab_layout), 0, swtype, 0},
 	{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 an extra tab for outgoing msg"), P_OFFINTNL(tabs_outgoing_msg), 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_("Sort tabs in alphabetical order"), P_OFFINTNL(tab_sort), 0, 0, 0},
 	{ST_TOGGLE, N_("Smaller text"), P_OFFINTNL(tab_small), 0, 0, 0},