- added new setting (look_one_server_buffer): use same buffer for all servers

- fixed DCC bug when looking for ports in range
This commit is contained in:
Sebastien Helleu 2005-10-30 09:56:24 +00:00
parent 24ceb3bb95
commit 079e4a4028
60 changed files with 8532 additions and 7542 deletions

View File

@ -1,10 +1,12 @@
WeeChat - Wee Enhanced Environment for Chat
===========================================
ChangeLog - 2005-10-28
ChangeLog - 2005-10-30
Version 0.1.6 (under dev!):
* added setting for having one server buffer for all servers
(look_one_server_buffer)
* added setting for ignoring some chars when completing nicks
* fixed IRC message parser bug
* signal SIGPIPE is now ignored

47
TODO
View File

@ -1,7 +1,7 @@
WeeChat - Wee Enhanced Environment for Chat
===========================================
TODO - 2005-10-06
TODO - 2005-10-30
Legend:
# done
@ -10,9 +10,6 @@ Legend:
? is this really necessary?
v0.1.6:
------
* General:
+ Windows version
+ Solaris version
@ -20,24 +17,22 @@ v0.1.6:
* Interface:
+ Gtk GUI
+ internationalization (traduce WeeChat in many languages)
- highlight should not occur on partial words
# highlight should not occur on partial words
# one buffer for all servers
- color for nicks (except own nick) when nick colors are disabled
- allow decode/encode charsets for servers or chan (not globally)
- interpret special chars in messages (color & bold for example)
- understand incomplete commands if unambigous (for example: /he for /help is ok)
? Qt GUI
* WeeChat commands
- be able to bind a key on more than one command
- be able to make an alias running more than one command
- host with "*" possible with /ignore command
* Configuration:
- be able to launch more than one command when connecting to server
* Plugins:
- dynamically load plugins as a separate library
- allow print function to write on all buffers or all channels of a server
- Ruby plugin
- "/ruby load" and "/ruby unload" commands to (un)load Ruby scripts
Future versions:
---------------
- "/completion" command: do shortcuts (for example when we type "u"
in the text bar it send it to the server as "you")
- "/last": command to look for text in previous messages
- completion system for scripts arguments
* IRC protocol:
- customizable CTCP version reply
@ -48,15 +43,11 @@ Future versions:
- "/notify" and "/unnotify" command to be warn by WeeChat when a given
nick/host connect to the given irc network
* WeeChat commands:
- "/completion" command: do shortcuts (for example when we type "u"
in the text bar it send it to the server as "you")
- "/last": command to look for text in previous messages
- completion system for scripts arguments
* Configuration:
- be able to launch more than one command when connecting to server
* Interface:
- color for nicks (except own nick) when nick colors are disabled
- allow decode/encode charsets for servers or chan (not globally)
- interpret special chars in messages (color & bold for example)
- understand incomplete commands if unambigous (for example: /he for /help is ok)
? Qt GUI
* Plugins:
# dynamically load plugins as a separate library
- allow print function to write on all buffers or all channels of a server
- Ruby plugin
- "/ruby load" and "/ruby unload" commands to (un)load Ruby scripts

View File

@ -18,6 +18,7 @@
./src/gui/curses/gui-display.c
./src/gui/gtk/gui-display.c
./src/gui/gtk/gui-input.c
./src/gui/gui-action.c
./src/gui/gui-common.c
./src/gui/gui-keyboard.c
./src/gui/gui.h

1149
po/cs.po

File diff suppressed because it is too large Load Diff

1146
po/es.po

File diff suppressed because it is too large Load Diff

1151
po/fr.po

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -285,7 +285,7 @@ alias_new (char *alias_name, char *alias_command)
if (weelist_search (index_commands, alias_name))
{
irc_display_prefix (NULL, PREFIX_ERROR);
irc_display_prefix (NULL, NULL, PREFIX_ERROR);
gui_printf (NULL, _("%s alias or command \"%s\" already exists!\n"),
WEECHAT_ERROR, alias_name);
return NULL;
@ -295,14 +295,14 @@ alias_new (char *alias_name, char *alias_command)
pos[0] = '\0';
if (alias_search (alias_command))
{
irc_display_prefix (NULL, PREFIX_ERROR);
irc_display_prefix (NULL, NULL, PREFIX_ERROR);
gui_printf (NULL, _("%s alias cannot run another alias!\n"),
WEECHAT_ERROR);
return NULL;
}
if (!weelist_search (index_commands, alias_command))
{
irc_display_prefix (NULL, PREFIX_ERROR);
irc_display_prefix (NULL, NULL, PREFIX_ERROR);
gui_printf (NULL, _("%s target command \"%s\" does not exist!\n"),
WEECHAT_ERROR, alias_command);
return NULL;
@ -530,7 +530,7 @@ exec_weechat_command (t_irc_server *server, char *string)
if (weechat_commands[i].min_arg ==
weechat_commands[i].max_arg)
{
irc_display_prefix (NULL, PREFIX_ERROR);
irc_display_prefix (NULL, NULL, PREFIX_ERROR);
gui_printf (NULL,
_("%s wrong argument count for %s command \"%s\" "
"(expected: %d arg%s)\n"),
@ -542,7 +542,7 @@ exec_weechat_command (t_irc_server *server, char *string)
}
else
{
irc_display_prefix (NULL, PREFIX_ERROR);
irc_display_prefix (NULL, NULL, PREFIX_ERROR);
gui_printf (NULL,
_("%s wrong argument count for %s command \"%s\" "
"(expected: between %d and %d arg%s)\n"),
@ -564,7 +564,7 @@ exec_weechat_command (t_irc_server *server, char *string)
(ptr_args);
if (return_code < 0)
{
irc_display_prefix (NULL, PREFIX_ERROR);
irc_display_prefix (NULL, NULL, PREFIX_ERROR);
gui_printf (NULL,
_("%s command \"%s\" failed\n"),
WEECHAT_ERROR, command + 1);
@ -586,7 +586,7 @@ exec_weechat_command (t_irc_server *server, char *string)
{
if (irc_commands[i].min_arg == irc_commands[i].max_arg)
{
irc_display_prefix (NULL, PREFIX_ERROR);
irc_display_prefix (NULL, NULL, PREFIX_ERROR);
gui_printf
(NULL,
_("%s wrong argument count for IRC command \"%s\" "
@ -598,7 +598,7 @@ exec_weechat_command (t_irc_server *server, char *string)
}
else
{
irc_display_prefix (NULL, PREFIX_ERROR);
irc_display_prefix (NULL, NULL, PREFIX_ERROR);
gui_printf
(NULL,
_("%s wrong argument count for IRC command \"%s\" "
@ -614,7 +614,7 @@ exec_weechat_command (t_irc_server *server, char *string)
if ((irc_commands[i].need_connection) &&
((!server) || (!server->is_connected)))
{
irc_display_prefix (NULL, PREFIX_ERROR);
irc_display_prefix (NULL, NULL, PREFIX_ERROR);
gui_printf (NULL,
_("%s command \"%s\" needs a server connection!\n"),
WEECHAT_ERROR, irc_commands[i].command_name);
@ -629,7 +629,7 @@ exec_weechat_command (t_irc_server *server, char *string)
(server, ptr_args);
if (return_code < 0)
{
irc_display_prefix (NULL, PREFIX_ERROR);
irc_display_prefix (NULL, NULL, PREFIX_ERROR);
gui_printf (NULL,
_("%s command \"%s\" failed\n"),
WEECHAT_ERROR, command + 1);
@ -668,7 +668,7 @@ exec_weechat_command (t_irc_server *server, char *string)
return 1;
}
}
irc_display_prefix (NULL, PREFIX_ERROR);
irc_display_prefix (NULL, NULL, PREFIX_ERROR);
gui_printf (NULL,
_("%s unknown command \"%s\" (type /help for help)\n"),
WEECHAT_ERROR,
@ -744,7 +744,7 @@ user_command (t_irc_server *server, t_gui_buffer *buffer, char *command)
}
else
{
irc_display_prefix (server->buffer, PREFIX_ERROR);
irc_display_prefix (server, server->buffer, PREFIX_ERROR);
gui_printf (server->buffer,
_("%s cannot find nick for sending message\n"),
WEECHAT_ERROR);
@ -768,15 +768,15 @@ user_command (t_irc_server *server, t_gui_buffer *buffer, char *command)
}
else
{
irc_display_prefix (server->buffer, PREFIX_ERROR);
gui_printf (server->buffer,
irc_display_prefix (NULL, NULL, PREFIX_ERROR);
gui_printf (NULL,
_("%s unable to call handler for message (not enough memory)\n"),
WEECHAT_ERROR);
}
}
else
{
irc_display_prefix ((server) ? server->buffer : NULL, PREFIX_ERROR);
irc_display_prefix (NULL, (server) ? server->buffer : NULL, PREFIX_ERROR);
gui_printf_nolog ((server) ? server->buffer : NULL,
_("This window is not a channel!\n"));
}
@ -805,7 +805,7 @@ weechat_cmd_alias (char *arguments)
pos++;
if (!pos[0])
{
irc_display_prefix (NULL, PREFIX_ERROR);
irc_display_prefix (NULL, NULL, PREFIX_ERROR);
gui_printf (NULL, _("%s missing arguments for \"%s\" command\n"),
WEECHAT_ERROR, "alias");
return -1;
@ -814,13 +814,13 @@ weechat_cmd_alias (char *arguments)
return -1;
if (weelist_add (&index_commands, &last_index_command, arguments))
{
irc_display_prefix (NULL, PREFIX_INFO);
irc_display_prefix (NULL, NULL, PREFIX_INFO);
gui_printf (NULL, _("Alias \"%s\" => \"%s\" created\n"),
arguments, pos);
}
else
{
irc_display_prefix (NULL, PREFIX_ERROR);
irc_display_prefix (NULL, NULL, PREFIX_ERROR);
gui_printf (NULL, _("Failed to create alias \"%s\" => \"%s\" "
"(not enough memory)\n"),
arguments, pos);
@ -829,7 +829,7 @@ weechat_cmd_alias (char *arguments)
}
else
{
irc_display_prefix (NULL, PREFIX_ERROR);
irc_display_prefix (NULL, NULL, PREFIX_ERROR);
gui_printf (NULL, _("%s missing arguments for \"%s\" command\n"),
WEECHAT_ERROR, "alias");
return -1;
@ -852,7 +852,7 @@ weechat_cmd_alias (char *arguments)
}
else
{
irc_display_prefix (NULL, PREFIX_INFO);
irc_display_prefix (NULL, NULL, PREFIX_INFO);
gui_printf (NULL, _("No alias defined.\n"));
}
}
@ -939,7 +939,7 @@ weechat_cmd_buffer (int argc, char **argv)
if (argc < 2)
{
irc_display_prefix (NULL, PREFIX_ERROR);
irc_display_prefix (NULL, NULL, PREFIX_ERROR);
gui_printf (NULL, _("%s missing arguments for \"%s\" command\n"),
WEECHAT_ERROR, "buffer");
return -1;
@ -962,7 +962,7 @@ weechat_cmd_buffer (int argc, char **argv)
else
{
/* invalid number */
irc_display_prefix (NULL, PREFIX_ERROR);
irc_display_prefix (NULL, NULL, PREFIX_ERROR);
gui_printf (NULL, _("%s incorrect buffer number\n"),
WEECHAT_ERROR);
return -1;
@ -973,9 +973,11 @@ weechat_cmd_buffer (int argc, char **argv)
/* close buffer (server or channel/private) */
if ((!gui_current_window->buffer->next_buffer)
&& (gui_current_window->buffer == gui_buffers))
&& (gui_current_window->buffer == gui_buffers)
&& ((!gui_current_window->buffer->all_servers)
|| (!SERVER(gui_current_window->buffer))))
{
irc_display_prefix (NULL, PREFIX_ERROR);
irc_display_prefix (NULL, NULL, PREFIX_ERROR);
gui_printf (NULL,
_("%s can not close the single buffer\n"),
WEECHAT_ERROR);
@ -985,7 +987,7 @@ weechat_cmd_buffer (int argc, char **argv)
{
if (SERVER(gui_current_window->buffer)->channels)
{
irc_display_prefix (NULL, PREFIX_ERROR);
irc_display_prefix (NULL, NULL, PREFIX_ERROR);
gui_printf (NULL,
_("%s can not close server buffer while channels "
"are opened\n"),
@ -994,8 +996,18 @@ weechat_cmd_buffer (int argc, char **argv)
}
server_disconnect (SERVER(gui_current_window->buffer), 0);
ptr_server = SERVER(gui_current_window->buffer);
gui_buffer_free (gui_current_window->buffer, 1);
ptr_server->buffer = NULL;
if (!gui_current_window->buffer->all_servers)
{
gui_buffer_free (gui_current_window->buffer, 1);
ptr_server->buffer = NULL;
}
else
{
ptr_server->buffer = NULL;
gui_current_window->buffer->server = NULL;
gui_window_switch_server (gui_current_window);
}
}
else
{
@ -1055,7 +1067,7 @@ weechat_cmd_buffer (int argc, char **argv)
if ((number < NOTIFY_LEVEL_MIN) || (number > NOTIFY_LEVEL_MAX))
{
/* invalid highlight level */
irc_display_prefix (NULL, PREFIX_ERROR);
irc_display_prefix (NULL, NULL, PREFIX_ERROR);
gui_printf (NULL, _("%s incorrect notify level (must be between %d and %d)\n"),
WEECHAT_ERROR, NOTIFY_LEVEL_MIN, NOTIFY_LEVEL_MAX);
return -1;
@ -1064,7 +1076,7 @@ weechat_cmd_buffer (int argc, char **argv)
&& (!BUFFER_IS_PRIVATE(gui_current_window->buffer)))
{
/* invalid buffer type (only ok on channel or private) */
irc_display_prefix (NULL, PREFIX_ERROR);
irc_display_prefix (NULL, NULL, PREFIX_ERROR);
gui_printf (NULL, _("%s incorrect buffer for notify (must be channel or private)\n"),
WEECHAT_ERROR);
return -1;
@ -1077,7 +1089,7 @@ weechat_cmd_buffer (int argc, char **argv)
else
{
/* invalid number */
irc_display_prefix (NULL, PREFIX_ERROR);
irc_display_prefix (NULL, NULL, PREFIX_ERROR);
gui_printf (NULL, _("%s incorrect notify level (must be between %d and %d)\n"),
WEECHAT_ERROR, NOTIFY_LEVEL_MIN, NOTIFY_LEVEL_MAX);
return -1;
@ -1143,7 +1155,7 @@ weechat_cmd_clear (int argc, char **argv)
gui_buffer_clear_all ();
else
{
irc_display_prefix (NULL, PREFIX_ERROR);
irc_display_prefix (NULL, NULL, PREFIX_ERROR);
gui_printf (NULL,
_("unknown parameter \"%s\" for \"%s\" command\n"),
argv[0], "clear");
@ -1173,7 +1185,7 @@ weechat_cmd_connect (int argc, char **argv)
{
if (ptr_server->is_connected)
{
irc_display_prefix (NULL, PREFIX_ERROR);
irc_display_prefix (NULL, NULL, PREFIX_ERROR);
gui_printf (NULL,
_("%s already connected to server \"%s\"!\n"),
WEECHAT_ERROR, ptr_server->name);
@ -1181,7 +1193,7 @@ weechat_cmd_connect (int argc, char **argv)
}
if (ptr_server->child_pid > 0)
{
irc_display_prefix (NULL, PREFIX_ERROR);
irc_display_prefix (NULL, NULL, PREFIX_ERROR);
gui_printf (NULL,
_("%s currently connecting to server \"%s\"!\n"),
WEECHAT_ERROR, ptr_server->name);
@ -1200,7 +1212,7 @@ weechat_cmd_connect (int argc, char **argv)
}
else
{
irc_display_prefix (NULL, PREFIX_ERROR);
irc_display_prefix (NULL, NULL, PREFIX_ERROR);
gui_printf (NULL, _("%s server not found\n"), WEECHAT_ERROR);
return -1;
}
@ -1216,7 +1228,7 @@ weechat_cmd_debug (int argc, char **argv)
{
if (argc != 1)
{
irc_display_prefix (NULL, PREFIX_ERROR);
irc_display_prefix (NULL, NULL, PREFIX_ERROR);
gui_printf (NULL,
_("%s wrong argument count for \"%s\" command\n"),
WEECHAT_ERROR, "debug");
@ -1229,7 +1241,7 @@ weechat_cmd_debug (int argc, char **argv)
}
else
{
irc_display_prefix (NULL, PREFIX_ERROR);
irc_display_prefix (NULL, NULL, PREFIX_ERROR);
gui_printf (NULL,
_("%s unknown option for \"%s\" command\n"),
WEECHAT_ERROR, "debug");
@ -1258,7 +1270,7 @@ weechat_cmd_disconnect (int argc, char **argv)
if ((!ptr_server->is_connected) && (ptr_server->child_pid == 0)
&& (ptr_server->reconnect_start == 0))
{
irc_display_prefix (ptr_server->buffer, PREFIX_ERROR);
irc_display_prefix (NULL, ptr_server->buffer, PREFIX_ERROR);
gui_printf (ptr_server->buffer,
_("%s not connected to server \"%s\"!\n"),
WEECHAT_ERROR, ptr_server->name);
@ -1266,7 +1278,7 @@ weechat_cmd_disconnect (int argc, char **argv)
}
if (ptr_server->reconnect_start > 0)
{
irc_display_prefix (ptr_server->buffer, PREFIX_INFO);
irc_display_prefix (NULL, ptr_server->buffer, PREFIX_INFO);
gui_printf (ptr_server->buffer,
_("Auto-reconnection is cancelled\n"));
}
@ -1275,7 +1287,7 @@ weechat_cmd_disconnect (int argc, char **argv)
}
else
{
irc_display_prefix (NULL, PREFIX_ERROR);
irc_display_prefix (NULL, NULL, PREFIX_ERROR);
gui_printf (NULL, _("%s server not found\n"), WEECHAT_ERROR);
return -1;
}
@ -1427,7 +1439,7 @@ weechat_cmd_help (int argc, char **argv)
}
}
#endif
irc_display_prefix (NULL, PREFIX_ERROR);
irc_display_prefix (NULL, NULL, PREFIX_ERROR);
gui_printf (NULL,
_("No help available, \"%s\" is an unknown command\n"),
argv[0]);
@ -1489,7 +1501,7 @@ weechat_cmd_ignore (int argc, char **argv)
}
else
{
irc_display_prefix (NULL, PREFIX_INFO);
irc_display_prefix (NULL, NULL, PREFIX_INFO);
gui_printf (NULL, _("No ignore defined.\n"));
}
return 0;
@ -1583,7 +1595,7 @@ weechat_cmd_key (char *arguments)
gui_printf (NULL, _("Key \"%s\" unbinded\n"), arguments);
else
{
irc_display_prefix (NULL, PREFIX_ERROR);
irc_display_prefix (NULL, NULL, PREFIX_ERROR);
gui_printf (NULL,
_("%s unable to unbind key \"%s\"\n"),
WEECHAT_ERROR, arguments);
@ -1616,7 +1628,7 @@ weechat_cmd_key (char *arguments)
}
else
{
irc_display_prefix (NULL, PREFIX_ERROR);
irc_display_prefix (NULL, NULL, PREFIX_ERROR);
gui_printf (NULL,
_("%s \"-yes\" argument is required for keys reset (securuty reason)\n"),
WEECHAT_ERROR);
@ -1630,7 +1642,7 @@ weechat_cmd_key (char *arguments)
pos = strchr (arguments, ' ');
if (!pos)
{
irc_display_prefix (NULL, PREFIX_ERROR);
irc_display_prefix (NULL, NULL, PREFIX_ERROR);
gui_printf (NULL,
_("%s wrong argument count for \"%s\" command\n"),
WEECHAT_ERROR, "key");
@ -1645,7 +1657,7 @@ weechat_cmd_key (char *arguments)
weechat_cmd_key_display (ptr_key, 1);
else
{
irc_display_prefix (NULL, PREFIX_ERROR);
irc_display_prefix (NULL, NULL, PREFIX_ERROR);
gui_printf (NULL,
_("%s unable to bind key \"%s\"\n"),
WEECHAT_ERROR, arguments);
@ -1673,13 +1685,13 @@ weechat_cmd_plugin (int argc, char **argv)
case 0:
/* list plugins */
gui_printf (NULL, "\n");
irc_display_prefix (NULL, PREFIX_PLUGIN);
irc_display_prefix (NULL, NULL, PREFIX_PLUGIN);
gui_printf (NULL, _("Plugins loaded:\n"));
for (ptr_plugin = weechat_plugins; ptr_plugin;
ptr_plugin = ptr_plugin->next_plugin)
{
/* plugin info */
irc_display_prefix (NULL, PREFIX_PLUGIN);
irc_display_prefix (NULL, NULL, PREFIX_PLUGIN);
gui_printf (NULL, " %s v%s - %s (%s)\n",
ptr_plugin->name,
ptr_plugin->version,
@ -1687,7 +1699,7 @@ weechat_cmd_plugin (int argc, char **argv)
ptr_plugin->filename);
/* message handlers */
irc_display_prefix (NULL, PREFIX_PLUGIN);
irc_display_prefix (NULL, NULL, PREFIX_PLUGIN);
gui_printf (NULL, _(" message handlers:\n"));
handler_found = 0;
for (ptr_handler = ptr_plugin->handlers;
@ -1696,19 +1708,19 @@ weechat_cmd_plugin (int argc, char **argv)
if (ptr_handler->type == HANDLER_MESSAGE)
{
handler_found = 1;
irc_display_prefix (NULL, PREFIX_PLUGIN);
irc_display_prefix (NULL, NULL, PREFIX_PLUGIN);
gui_printf (NULL, _(" IRC(%s)\n"),
ptr_handler->irc_command);
}
}
if (!handler_found)
{
irc_display_prefix (NULL, PREFIX_PLUGIN);
irc_display_prefix (NULL, NULL, PREFIX_PLUGIN);
gui_printf (NULL, _(" (no message handler)\n"));
}
/* command handlers */
irc_display_prefix (NULL, PREFIX_PLUGIN);
irc_display_prefix (NULL, NULL, PREFIX_PLUGIN);
gui_printf (NULL, _(" command handlers:\n"));
handler_found = 0;
for (ptr_handler = ptr_plugin->handlers;
@ -1717,7 +1729,7 @@ weechat_cmd_plugin (int argc, char **argv)
if (ptr_handler->type == HANDLER_COMMAND)
{
handler_found = 1;
irc_display_prefix (NULL, PREFIX_PLUGIN);
irc_display_prefix (NULL, NULL, PREFIX_PLUGIN);
gui_printf (NULL, " /%s",
ptr_handler->command);
if (ptr_handler->description
@ -1729,13 +1741,13 @@ weechat_cmd_plugin (int argc, char **argv)
}
if (!handler_found)
{
irc_display_prefix (NULL, PREFIX_PLUGIN);
irc_display_prefix (NULL, NULL, PREFIX_PLUGIN);
gui_printf (NULL, _(" (no command handler)\n"));
}
}
if (!weechat_plugins)
{
irc_display_prefix (NULL, PREFIX_PLUGIN);
irc_display_prefix (NULL, NULL, PREFIX_PLUGIN);
gui_printf (NULL, _(" (no plugin)\n"));
}
break;
@ -1757,20 +1769,20 @@ weechat_cmd_plugin (int argc, char **argv)
plugin_unload_name (argv[1]);
else
{
irc_display_prefix (NULL, PREFIX_ERROR);
irc_display_prefix (NULL, NULL, PREFIX_ERROR);
gui_printf (NULL,
_("%s unknown option for \"%s\" command\n"),
WEECHAT_ERROR, "plugin");
}
break;
default:
irc_display_prefix (NULL, PREFIX_ERROR);
irc_display_prefix (NULL, NULL, PREFIX_ERROR);
gui_printf (NULL,
_("%s wrong argument count for \"%s\" command\n"),
WEECHAT_ERROR, "plugin");
}
#else
irc_display_prefix (NULL, PREFIX_ERROR);
irc_display_prefix (NULL, NULL, PREFIX_ERROR);
gui_printf (NULL,
_("Command \"plugin\" is not available, WeeChat was built "
"without plugins support.\n"));
@ -1818,7 +1830,7 @@ weechat_cmd_server (int argc, char **argv)
}
else
{
irc_display_prefix (NULL, PREFIX_INFO);
irc_display_prefix (NULL, NULL, PREFIX_INFO);
gui_printf (NULL, _("No server.\n"));
}
}
@ -1829,7 +1841,7 @@ weechat_cmd_server (int argc, char **argv)
irc_display_server (ptr_server);
else
{
irc_display_prefix (NULL, PREFIX_INFO);
irc_display_prefix (NULL, NULL, PREFIX_INFO);
gui_printf (NULL, _("Server '%s' not found.\n"), argv[0]);
}
}
@ -1840,7 +1852,7 @@ weechat_cmd_server (int argc, char **argv)
{
if (argc < 2)
{
irc_display_prefix (NULL, PREFIX_ERROR);
irc_display_prefix (NULL, NULL, PREFIX_ERROR);
gui_printf (NULL,
_("%s missing servername for \"%s\" command\n"),
WEECHAT_ERROR, "server del");
@ -1848,7 +1860,7 @@ weechat_cmd_server (int argc, char **argv)
}
if (argc > 2)
{
irc_display_prefix (NULL, PREFIX_ERROR);
irc_display_prefix (NULL, NULL, PREFIX_ERROR);
gui_printf (NULL,
_("%s too much arguments for \"%s\" command, ignoring arguments\n"),
WEECHAT_WARNING, "server del");
@ -1867,7 +1879,7 @@ weechat_cmd_server (int argc, char **argv)
}
if (!server_found)
{
irc_display_prefix (NULL, PREFIX_ERROR);
irc_display_prefix (NULL, NULL, PREFIX_ERROR);
gui_printf (NULL,
_("%s server \"%s\" not found for \"%s\" command\n"),
WEECHAT_ERROR, argv[1], "server del");
@ -1875,7 +1887,7 @@ weechat_cmd_server (int argc, char **argv)
}
if (server_found->is_connected)
{
irc_display_prefix (NULL, PREFIX_ERROR);
irc_display_prefix (NULL, NULL, PREFIX_ERROR);
gui_printf (NULL,
_("%s you can not delete server \"%s\" because you are connected to. "
"Try /disconnect %s before.\n"),
@ -1892,7 +1904,7 @@ weechat_cmd_server (int argc, char **argv)
}
}
irc_display_prefix (NULL, PREFIX_INFO);
irc_display_prefix (NULL, NULL, PREFIX_INFO);
gui_printf_color (NULL, COLOR_WIN_CHAT, _("Server"));
gui_printf_color (NULL, COLOR_WIN_CHAT_CHANNEL,
" %s ", server_found->name);
@ -1909,7 +1921,7 @@ weechat_cmd_server (int argc, char **argv)
if (argc < 3)
{
irc_display_prefix (NULL, PREFIX_ERROR);
irc_display_prefix (NULL, NULL, PREFIX_ERROR);
gui_printf (NULL,
_("%s missing parameters for \"%s\" command\n"),
WEECHAT_ERROR, "server");
@ -1919,7 +1931,7 @@ weechat_cmd_server (int argc, char **argv)
if (server_name_already_exists (argv[0]))
{
irc_display_prefix (NULL, PREFIX_ERROR);
irc_display_prefix (NULL, NULL, PREFIX_ERROR);
gui_printf (NULL,
_("%s server \"%s\" already exists, can't create it!\n"),
WEECHAT_ERROR, argv[0]);
@ -1948,7 +1960,7 @@ weechat_cmd_server (int argc, char **argv)
{
if (i == (argc - 1))
{
irc_display_prefix (NULL, PREFIX_ERROR);
irc_display_prefix (NULL, NULL, PREFIX_ERROR);
gui_printf (NULL,
_("%s missing password for \"%s\" parameter\n"),
WEECHAT_ERROR, "-pwd");
@ -1961,7 +1973,7 @@ weechat_cmd_server (int argc, char **argv)
{
if (i >= (argc - 3))
{
irc_display_prefix (NULL, PREFIX_ERROR);
irc_display_prefix (NULL, NULL, PREFIX_ERROR);
gui_printf (NULL,
_("%s missing nick(s) for \"%s\" parameter\n"),
WEECHAT_ERROR, "-nicks");
@ -1976,7 +1988,7 @@ weechat_cmd_server (int argc, char **argv)
{
if (i == (argc - 1))
{
irc_display_prefix (NULL, PREFIX_ERROR);
irc_display_prefix (NULL, NULL, PREFIX_ERROR);
gui_printf (NULL,
_("%s missing password for \"%s\" parameter\n"),
WEECHAT_ERROR, "-username");
@ -1989,7 +2001,7 @@ weechat_cmd_server (int argc, char **argv)
{
if (i == (argc - 1))
{
irc_display_prefix (NULL, PREFIX_ERROR);
irc_display_prefix (NULL, NULL, PREFIX_ERROR);
gui_printf (NULL,
_("%s missing password for \"%s\" parameter\n"),
WEECHAT_ERROR, "-realname");
@ -2002,7 +2014,7 @@ weechat_cmd_server (int argc, char **argv)
{
if (i == (argc - 1))
{
irc_display_prefix (NULL, PREFIX_ERROR);
irc_display_prefix (NULL, NULL, PREFIX_ERROR);
gui_printf (NULL,
_("%s missing command for \"%s\" parameter\n"),
WEECHAT_ERROR, "-command");
@ -2015,7 +2027,7 @@ weechat_cmd_server (int argc, char **argv)
{
if (i == (argc - 1))
{
irc_display_prefix (NULL, PREFIX_ERROR);
irc_display_prefix (NULL, NULL, PREFIX_ERROR);
gui_printf (NULL,
_("%s missing password for \"%s\" parameter\n"),
WEECHAT_ERROR, "-autojoin");
@ -2038,7 +2050,7 @@ weechat_cmd_server (int argc, char **argv)
server.command, 1, server.autojoin, 1, NULL);
if (new_server)
{
irc_display_prefix (NULL, PREFIX_INFO);
irc_display_prefix (NULL, NULL, PREFIX_INFO);
gui_printf_color (NULL, COLOR_WIN_CHAT, _("Server"));
gui_printf_color (NULL, COLOR_WIN_CHAT_CHANNEL,
" %s ", server.name);
@ -2046,7 +2058,7 @@ weechat_cmd_server (int argc, char **argv)
}
else
{
irc_display_prefix (NULL, PREFIX_ERROR);
irc_display_prefix (NULL, NULL, PREFIX_ERROR);
gui_printf (NULL,
_("%s unable to create server\n"),
WEECHAT_ERROR);
@ -2188,7 +2200,7 @@ weechat_cmd_set (char *arguments)
ptr_server = server_search (option);
if (!ptr_server)
{
irc_display_prefix (NULL, PREFIX_ERROR);
irc_display_prefix (NULL, NULL, PREFIX_ERROR);
gui_printf (NULL,
_("%s server \"%s\" not found\n"),
WEECHAT_ERROR, option);
@ -2220,12 +2232,12 @@ weechat_cmd_set (char *arguments)
config_change_buffer_content ();
break;
case -1:
irc_display_prefix (NULL, PREFIX_ERROR);
irc_display_prefix (NULL, NULL, PREFIX_ERROR);
gui_printf (NULL, _("%s config option \"%s\" not found\n"),
WEECHAT_ERROR, pos + 1);
break;
case -2:
irc_display_prefix (NULL, PREFIX_ERROR);
irc_display_prefix (NULL, NULL, PREFIX_ERROR);
gui_printf (NULL, _("%s incorrect value for option \"%s\"\n"),
WEECHAT_ERROR, pos + 1);
break;
@ -2240,7 +2252,7 @@ weechat_cmd_set (char *arguments)
{
if (ptr_option->handler_change == NULL)
{
irc_display_prefix (NULL, PREFIX_ERROR);
irc_display_prefix (NULL, NULL, PREFIX_ERROR);
gui_printf (NULL,
_("%s option \"%s\" can not be changed while WeeChat is running\n"),
WEECHAT_ERROR, option);
@ -2258,7 +2270,7 @@ weechat_cmd_set (char *arguments)
}
else
{
irc_display_prefix (NULL, PREFIX_ERROR);
irc_display_prefix (NULL, NULL, PREFIX_ERROR);
gui_printf (NULL, _("%s incorrect value for option \"%s\"\n"),
WEECHAT_ERROR, option);
}
@ -2266,7 +2278,7 @@ weechat_cmd_set (char *arguments)
}
else
{
irc_display_prefix (NULL, PREFIX_ERROR);
irc_display_prefix (NULL, NULL, PREFIX_ERROR);
gui_printf (NULL, _("%s config option \"%s\" not found\n"),
WEECHAT_ERROR, option);
}
@ -2432,7 +2444,7 @@ weechat_cmd_unalias (char *arguments)
ptr_weelist = weelist_search (index_commands, arguments);
if (!ptr_weelist)
{
irc_display_prefix (NULL, PREFIX_ERROR);
irc_display_prefix (NULL, NULL, PREFIX_ERROR);
gui_printf (NULL, _("%s alias or command \"%s\" not found\n"),
WEECHAT_ERROR, arguments);
return -1;
@ -2442,7 +2454,7 @@ weechat_cmd_unalias (char *arguments)
ptr_alias = alias_search (arguments);
if (ptr_alias)
alias_free (ptr_alias);
irc_display_prefix (NULL, PREFIX_INFO);
irc_display_prefix (NULL, NULL, PREFIX_INFO);
gui_printf (NULL, _("Alias \"%s\" removed\n"),
arguments);
return 0;
@ -2493,7 +2505,7 @@ weechat_cmd_unignore (int argc, char **argv)
if (ret)
{
irc_display_prefix (NULL, PREFIX_INFO);
irc_display_prefix (NULL, NULL, PREFIX_INFO);
gui_printf_color (NULL, COLOR_WIN_CHAT_CHANNEL, "%d ", ret);
if (ret > 1)
gui_printf (NULL, _("ignore were removed.\n"));
@ -2502,7 +2514,7 @@ weechat_cmd_unignore (int argc, char **argv)
}
else
{
irc_display_prefix (NULL, PREFIX_ERROR);
irc_display_prefix (NULL, NULL, PREFIX_ERROR);
gui_printf (NULL, _("%s no ignore found\n"),
WEECHAT_ERROR);
return -1;
@ -2578,7 +2590,7 @@ weechat_cmd_window (int argc, char **argv)
gui_window_merge_all (gui_current_window);
else
{
irc_display_prefix (NULL, PREFIX_ERROR);
irc_display_prefix (NULL, NULL, PREFIX_ERROR);
gui_printf (NULL,
_("%s unknown option for \"%s\" command\n"),
WEECHAT_ERROR, "window merge");
@ -2602,7 +2614,7 @@ weechat_cmd_window (int argc, char **argv)
gui_switch_to_next_window (gui_current_window);
else
{
irc_display_prefix (NULL, PREFIX_ERROR);
irc_display_prefix (NULL, NULL, PREFIX_ERROR);
gui_printf (NULL,
_("%s unknown option for \"%s\" command\n"),
WEECHAT_ERROR, "window");

View File

@ -120,7 +120,7 @@ fifo_exec (char *text)
pos_msg = strstr (text, " *");
if (!pos_msg)
{
irc_display_prefix (NULL, PREFIX_ERROR);
irc_display_prefix (NULL, NULL, PREFIX_ERROR);
gui_printf (NULL, _("%s invalid text received on FIFO pipe\n"),
WEECHAT_WARNING);
return;
@ -142,7 +142,7 @@ fifo_exec (char *text)
ptr_server = server_search (text);
if (!ptr_server || !ptr_server->buffer)
{
irc_display_prefix (NULL, PREFIX_ERROR);
irc_display_prefix (NULL, NULL, PREFIX_ERROR);
gui_printf (NULL, _("%s server \"%s\" not found (FIFO pipe data)\n"),
WEECHAT_WARNING, text);
return;
@ -154,8 +154,9 @@ fifo_exec (char *text)
ptr_channel = channel_search (ptr_server, pos + 1);
if (!ptr_channel)
{
irc_display_prefix (NULL, PREFIX_ERROR);
gui_printf (NULL, _("%s channel \"%s\" not found (FIFO pipe data)\n"),
irc_display_prefix (NULL, NULL, PREFIX_ERROR);
gui_printf (NULL,
_("%s channel \"%s\" not found (FIFO pipe data)\n"),
WEECHAT_WARNING, pos + 1);
return;
}

View File

@ -72,6 +72,7 @@ char *cfg_look_charset_decode_iso;
char *cfg_look_charset_decode_utf;
char *cfg_look_charset_encode;
char *cfg_look_charset_internal;
int cfg_look_one_server_buffer;
char *cfg_look_buffer_timestamp;
int cfg_look_color_nicks;
int cfg_look_color_nicks_number;
@ -133,6 +134,10 @@ t_config_option weechat_options_look[] =
N_("forces internal WeeChat charset (should be empty in most cases, that means detected charset is used)"),
OPTION_TYPE_STRING, 0, 0, 0,
"", NULL, NULL, &cfg_look_charset_internal, config_change_charset },
{ "look_one_server_buffer", N_("use same buffer for all servers"),
N_("use same buffer for all servers"),
OPTION_TYPE_BOOLEAN, BOOL_FALSE, BOOL_TRUE, BOOL_FALSE,
NULL, NULL, &cfg_look_one_server_buffer, NULL, config_change_one_server_buffer },
{ "look_buffer_timestamp", N_("timestamp for buffers"),
N_("timestamp for buffers"),
OPTION_TYPE_STRING, 0, 0, 0,
@ -241,6 +246,7 @@ int cfg_col_chat_time;
int cfg_col_chat_time_sep;
int cfg_col_chat_prefix1;
int cfg_col_chat_prefix2;
int cfg_col_chat_server;
int cfg_col_chat_join;
int cfg_col_chat_part;
int cfg_col_chat_nick;
@ -320,6 +326,10 @@ t_config_option weechat_options_colors[] =
N_("color for middle char of prefix"),
OPTION_TYPE_COLOR, 0, 0, 0,
"white", NULL, &cfg_col_chat_prefix2, NULL, &config_change_color },
{ "col_chat_server", N_("color for server name"),
N_("color for server name"),
OPTION_TYPE_COLOR, 0, 0, 0,
"brown", NULL, &cfg_col_chat_server, NULL, &config_change_color },
{ "col_chat_join", N_("color for join arrow (prefix)"),
N_("color for join arrow (prefix)"),
OPTION_TYPE_COLOR, 0, 0, 0,
@ -1010,6 +1020,20 @@ config_change_charset ()
gui_redraw_buffer (gui_current_window->buffer);
}
/*
* config_change_one_server_buffer: called when the "one server buffer"
* setting is changed
*/
void
config_change_one_server_buffer ()
{
if (cfg_look_one_server_buffer)
gui_merge_servers (gui_current_window);
else
gui_split_server (gui_current_window);
}
/*
* config_change_color: called when a color is changed by /set command
*/

View File

@ -87,6 +87,7 @@ extern char *cfg_look_charset_decode_iso;
extern char *cfg_look_charset_decode_utf;
extern char *cfg_look_charset_encode;
extern char *cfg_look_charset_internal;
extern int cfg_look_one_server_buffer;
extern char *cfg_look_buffer_timestamp;
extern int cfg_look_color_nicks;
extern int cfg_look_color_nicks_number;
@ -118,6 +119,7 @@ extern int cfg_col_chat_time;
extern int cfg_col_chat_time_sep;
extern int cfg_col_chat_prefix1;
extern int cfg_col_chat_prefix2;
extern int cfg_col_chat_server;
extern int cfg_col_chat_join;
extern int cfg_col_chat_part;
extern int cfg_col_chat_nick;
@ -222,6 +224,7 @@ extern void config_change_title ();
extern void config_change_buffers ();
extern void config_change_buffer_content ();
extern void config_change_charset ();
extern void config_change_one_server_buffer ();
extern void config_change_color ();
extern void config_change_nicks_colors ();
extern void config_change_away_check ();

View File

@ -20,6 +20,7 @@ INCLUDES = -DLOCALEDIR=\"$(datadir)/locale\"
noinst_LIBRARIES = lib_weechat_gui_common.a
lib_weechat_gui_common_a_SOURCES = gui-common.c \
gui-action.c \
gui-keyboard.c \
gui.h

View File

@ -20,6 +20,7 @@ INCLUDES = -DLOCALEDIR=\"$(datadir)/locale\"
bin_PROGRAMS = weechat-curses
weechat_curses_LDADD = ../gui-common.o ../gui-keyboard.o \
../gui-action.o \
../../common/lib_weechat_main.a \
../../irc/lib_weechat_irc.a \
$(PLUGINS_LIBS) \

View File

@ -1222,8 +1222,8 @@ gui_draw_buffer_status (t_gui_buffer *buffer, int erase)
{
t_gui_window *ptr_win;
t_weechat_hotlist *ptr_hotlist;
char format[32], str_nicks[32], *string;
int i, first_mode, x;
char format[32], str_nicks[32], *more;
int i, first_mode, x, server_pos, server_total;
int display_name, names_count;
/* make gcc happy */
@ -1256,27 +1256,31 @@ gui_draw_buffer_status (t_gui_buffer *buffer, int erase)
COLOR_WIN_STATUS_DELIMITERS);
wprintw (ptr_win->win_status, "] ");
/* display current server */
if (SERVER(ptr_win->buffer) && SERVER(ptr_win->buffer)->name)
/* display "<servers>" or current server */
if (ptr_win->buffer->all_servers)
{
wprintw (ptr_win->win_status, "[");
gui_window_set_color (ptr_win->win_status,
COLOR_WIN_STATUS);
wprintw (ptr_win->win_status, _("<servers>"));
gui_window_set_color (ptr_win->win_status,
COLOR_WIN_STATUS_DELIMITERS);
wprintw (ptr_win->win_status, "] ");
}
else if (SERVER(ptr_win->buffer) && SERVER(ptr_win->buffer)->name)
{
wprintw (ptr_win->win_status, "[");
gui_window_set_color (ptr_win->win_status,
COLOR_WIN_STATUS);
wprintw (ptr_win->win_status, "%s", SERVER(ptr_win->buffer)->name);
if (SERVER(ptr_win->buffer)->is_away)
{
string = weechat_convert_encoding ((local_utf8) ?
cfg_look_charset_decode_iso : cfg_look_charset_decode_utf,
(cfg_look_charset_internal && cfg_look_charset_internal[0]) ?
cfg_look_charset_internal : local_charset,
_("(away)"));
wprintw (ptr_win->win_status, string);
free (string);
}
wprintw (ptr_win->win_status, _("(away)"));
gui_window_set_color (ptr_win->win_status,
COLOR_WIN_STATUS_DELIMITERS);
wprintw (ptr_win->win_status, "] ");
}
/* infos about current buffer */
if (SERVER(ptr_win->buffer) && !CHANNEL(ptr_win->buffer))
{
gui_window_set_color (ptr_win->win_status,
@ -1294,6 +1298,28 @@ gui_draw_buffer_status (t_gui_buffer *buffer, int erase)
else
wprintw (ptr_win->win_status, "(%s) ",
SERVER(ptr_win->buffer)->name);
if (ptr_win->buffer->all_servers)
{
server_get_number_buffer (SERVER(ptr_win->buffer),
&server_pos,
&server_total);
gui_window_set_color (ptr_win->win_status,
COLOR_WIN_STATUS_DELIMITERS);
wprintw (ptr_win->win_status, "(");
gui_window_set_color (ptr_win->win_status,
COLOR_WIN_STATUS);
wprintw (ptr_win->win_status, "%d", server_pos);
gui_window_set_color (ptr_win->win_status,
COLOR_WIN_STATUS_DELIMITERS);
wprintw (ptr_win->win_status, "/");
gui_window_set_color (ptr_win->win_status,
COLOR_WIN_STATUS);
wprintw (ptr_win->win_status, "%d", server_total);
gui_window_set_color (ptr_win->win_status,
COLOR_WIN_STATUS_DELIMITERS);
wprintw (ptr_win->win_status, ") ");
}
}
if (SERVER(ptr_win->buffer) && CHANNEL(ptr_win->buffer))
{
@ -1382,15 +1408,7 @@ gui_draw_buffer_status (t_gui_buffer *buffer, int erase)
if (ptr_win->buffer->dcc)
wprintw (ptr_win->win_status, "<DCC> ");
else
{
string = weechat_convert_encoding ((local_utf8) ?
cfg_look_charset_decode_iso : cfg_look_charset_decode_utf,
(cfg_look_charset_internal && cfg_look_charset_internal[0]) ?
cfg_look_charset_internal : local_charset,
_("[not connected]"));
wprintw (ptr_win->win_status, "%s " , string);
free (string);
}
wprintw (ptr_win->win_status, _("[not connected] "));
}
/* display list of other active windows (if any) with numbers */
@ -1400,13 +1418,7 @@ gui_draw_buffer_status (t_gui_buffer *buffer, int erase)
COLOR_WIN_STATUS_DELIMITERS);
wprintw (ptr_win->win_status, "[");
gui_window_set_color (ptr_win->win_status, COLOR_WIN_STATUS);
string = weechat_convert_encoding ((local_utf8) ?
cfg_look_charset_decode_iso : cfg_look_charset_decode_utf,
(cfg_look_charset_internal && cfg_look_charset_internal[0]) ?
cfg_look_charset_internal : local_charset,
_("Act: "));
wprintw (ptr_win->win_status, string);
free (string);
wprintw (ptr_win->win_status, _("Act: "));
names_count = 0;
for (ptr_hotlist = hotlist; ptr_hotlist;
@ -1494,14 +1506,8 @@ gui_draw_buffer_status (t_gui_buffer *buffer, int erase)
COLOR_WIN_STATUS_DELIMITERS);
wprintw (ptr_win->win_status, "[");
gui_window_set_color (ptr_win->win_status, COLOR_WIN_STATUS);
string = weechat_convert_encoding ((local_utf8) ?
cfg_look_charset_decode_iso : cfg_look_charset_decode_utf,
(cfg_look_charset_internal && cfg_look_charset_internal[0]) ?
cfg_look_charset_internal : local_charset,
_("Lag: %.1f"));
wprintw (ptr_win->win_status, string,
wprintw (ptr_win->win_status, _("Lag: %.1f"),
((float)(SERVER(ptr_win->buffer)->lag)) / 1000);
free (string);
gui_window_set_color (ptr_win->win_status,
COLOR_WIN_STATUS_DELIMITERS);
wprintw (ptr_win->win_status, "]");
@ -1516,20 +1522,16 @@ gui_draw_buffer_status (t_gui_buffer *buffer, int erase)
}
else
x = ptr_win->win_width - 2;
string = weechat_convert_encoding ((local_utf8) ?
cfg_look_charset_decode_iso : cfg_look_charset_decode_utf,
(cfg_look_charset_internal && cfg_look_charset_internal[0]) ?
cfg_look_charset_internal : local_charset,
_("-MORE-"));
x -= strlen (string) - 1;
more = strdup (_("-MORE-"));
x -= strlen (more) - 1;
if (x < 0)
x = 0;
gui_window_set_color (ptr_win->win_status, COLOR_WIN_STATUS_MORE);
if (ptr_win->start_line)
mvwprintw (ptr_win->win_status, 0, x, "%s", string);
mvwprintw (ptr_win->win_status, 0, x, "%s", more);
else
{
snprintf (format, sizeof (format) - 1, "%%-%ds", (int)(strlen (string)));
snprintf (format, sizeof (format) - 1, "%%-%ds", (int)(strlen (more)));
mvwprintw (ptr_win->win_status, 0, x, format, " ");
}
if (gui_buffer_has_nicklist (ptr_win->buffer))
@ -1543,7 +1545,7 @@ gui_draw_buffer_status (t_gui_buffer *buffer, int erase)
COLOR_WIN_STATUS_DELIMITERS);
wprintw (ptr_win->win_status, "]");
}
free (string);
free (more);
wnoutrefresh (ptr_win->win_status);
refresh ();
@ -1778,8 +1780,8 @@ gui_draw_buffer_input (t_gui_buffer *buffer, int erase)
wprintw (ptr_win->win_input, format,
"");
wclrtoeol (ptr_win->win_input);
ptr_win->win_input_x = strlen (CHANNEL(buffer)->name) +
strlen (SERVER(buffer)->nick) + 3 +
ptr_win->win_input_x = utf8_strlen (CHANNEL(buffer)->name) +
utf8_strlen (SERVER(buffer)->nick) + 3 +
(buffer->input_buffer_pos - buffer->input_buffer_1st_display);
if (ptr_win == gui_current_window)
move (ptr_win->win_y + ptr_win->win_height - 1,
@ -1805,7 +1807,7 @@ gui_draw_buffer_input (t_gui_buffer *buffer, int erase)
wprintw (ptr_win->win_input, format,
"");
wclrtoeol (ptr_win->win_input);
ptr_win->win_input_x = strlen (ptr_nickname) + 2 +
ptr_win->win_input_x = utf8_strlen (ptr_nickname) + 2 +
(buffer->input_buffer_pos - buffer->input_buffer_1st_display);
if (ptr_win == gui_current_window)
move (ptr_win->win_y + ptr_win->win_height - 1,
@ -1966,11 +1968,11 @@ gui_get_dcc_buffer (t_gui_window *window)
}
/*
* gui_input_page_up: display previous page on buffer
* gui_window_page_up: display previous page on buffer
*/
void
gui_input_page_up (t_gui_window *window)
gui_window_page_up (t_gui_window *window)
{
if (!gui_ok)
return;
@ -1988,11 +1990,11 @@ gui_input_page_up (t_gui_window *window)
}
/*
* gui_input_page_down: display next page on buffer
* gui_window_page_down: display next page on buffer
*/
void
gui_input_page_down (t_gui_window *window)
gui_window_page_down (t_gui_window *window)
{
t_gui_line *ptr_line;
int line_pos;
@ -2024,11 +2026,11 @@ gui_input_page_down (t_gui_window *window)
}
/*
* gui_input_nick_beginning: go to beginning of nicklist
* gui_window_nick_beginning: go to beginning of nicklist
*/
void
gui_input_nick_beginning (t_gui_window *window)
gui_window_nick_beginning (t_gui_window *window)
{
if (!gui_ok)
return;
@ -2044,11 +2046,11 @@ gui_input_nick_beginning (t_gui_window *window)
}
/*
* gui_input_nick_end: go to the end of nicklist
* gui_window_nick_end: go to the end of nicklist
*/
void
gui_input_nick_end (t_gui_window *window)
gui_window_nick_end (t_gui_window *window)
{
int new_start;
@ -2073,11 +2075,11 @@ gui_input_nick_end (t_gui_window *window)
}
/*
* gui_input_nick_page_up: scroll one page up in nicklist
* gui_window_nick_page_up: scroll one page up in nicklist
*/
void
gui_input_nick_page_up (t_gui_window *window)
gui_window_nick_page_up (t_gui_window *window)
{
if (!gui_ok)
return;
@ -2095,11 +2097,11 @@ gui_input_nick_page_up (t_gui_window *window)
}
/*
* gui_input_nick_page_down: scroll one page down in nicklist
* gui_window_nick_page_down: scroll one page down in nicklist
*/
void
gui_input_nick_page_down (t_gui_window *window)
gui_window_nick_page_down (t_gui_window *window)
{
if (!gui_ok)
return;
@ -2120,7 +2122,7 @@ gui_input_nick_page_down (t_gui_window *window)
}
/*
* gui_window_init_subviews: init subviews for a WeeChat window
* gui_window_init_subwindows: init subviews for a WeeChat window
*/
void
@ -2363,11 +2365,11 @@ gui_window_merge_all (t_gui_window *window)
}
/*
* gui_curses_resize_handler: called when term size is modified
* gui_refresh_screen: called when term size is modified
*/
void
gui_curses_resize_handler ()
gui_refresh_screen ()
{
t_gui_window *ptr_win, *old_current_window;
int old_width, old_height;
@ -2460,6 +2462,8 @@ gui_init_colors ()
cfg_col_chat_prefix1, cfg_col_chat_bg);
init_pair (COLOR_WIN_CHAT_PREFIX2,
cfg_col_chat_prefix2, cfg_col_chat_bg);
init_pair (COLOR_WIN_CHAT_SERVER,
cfg_col_chat_server, cfg_col_chat_bg);
init_pair (COLOR_WIN_CHAT_JOIN,
cfg_col_chat_join, cfg_col_chat_bg);
init_pair (COLOR_WIN_CHAT_PART,
@ -2555,6 +2559,7 @@ gui_init_colors ()
color_attr[COLOR_WIN_CHAT_DARK - 1] = (cfg_col_chat_dark >= 0) ? cfg_col_chat_dark & A_BOLD : 0;
color_attr[COLOR_WIN_CHAT_PREFIX1 - 1] = (cfg_col_chat_prefix1 >= 0) ? cfg_col_chat_prefix1 & A_BOLD : 0;
color_attr[COLOR_WIN_CHAT_PREFIX2 - 1] = (cfg_col_chat_prefix2 >= 0) ? cfg_col_chat_prefix2 & A_BOLD : 0;
color_attr[COLOR_WIN_CHAT_SERVER - 1] = (cfg_col_chat_server >= 0) ? cfg_col_chat_server & A_BOLD : 0;
color_attr[COLOR_WIN_CHAT_JOIN - 1] = (cfg_col_chat_join >= 0) ? cfg_col_chat_join & A_BOLD : 0;
color_attr[COLOR_WIN_CHAT_PART - 1] = (cfg_col_chat_part >= 0) ? cfg_col_chat_part & A_BOLD : 0;
color_attr[COLOR_WIN_CHAT_NICK - 1] = (cfg_col_chat_nick >= 0) ? cfg_col_chat_nick & A_BOLD : 0;
@ -2642,7 +2647,7 @@ gui_init ()
gui_current_window = gui_windows;
gui_buffer_new (gui_windows, NULL, NULL, 0, 1);
signal (SIGWINCH, gui_curses_resize_handler);
signal (SIGWINCH, gui_refresh_screen);
if (cfg_look_set_title)
gui_set_window_title ();
@ -2809,13 +2814,14 @@ gui_printf_internal (t_gui_buffer *buffer, int display_time, int type, int color
else
buffer = gui_current_window->buffer;
if (buffer->dcc)
if (!buffer || buffer->dcc)
buffer = gui_buffers;
}
if (buffer == NULL)
{
wee_log_printf ("gui_printf without buffer! this is a bug, please send to developers - thanks\n");
wee_log_printf ("WARNING: gui_printf_internal without buffer! This is a bug, "
"please send to developers - thanks\n");
return;
}

View File

@ -105,6 +105,7 @@ gui_input_default_key_bindings ()
gui_key_bind ( /* m-j,m-x */ "meta-jmeta-x", "jump_next_server");
gui_key_bind ( /* m-k */ "meta-k", "grab_key");
gui_key_bind ( /* m-r */ "meta-r", "delete_line");
gui_key_bind ( /* m-s */ "meta-s", "switch_server");
/* keys binded with commands */
gui_key_bind ( /* m-left */ "meta-meta2-D", "/buffer -1");
@ -149,7 +150,7 @@ gui_input_grab_end ()
{
if (gui_current_window->buffer->has_input)
{
gui_input_insert_string (gui_current_window, expanded_key, -1);
gui_insert_string_input (gui_current_window, expanded_key, -1);
gui_current_window->buffer->input_buffer_pos += strlen (expanded_key);
gui_draw_buffer_input (gui_current_window->buffer, 1);
}
@ -192,7 +193,7 @@ gui_input_read ()
if (key == KEY_RESIZE)
{
gui_curses_resize_handler ();
gui_refresh_screen ();
continue;
}
@ -265,10 +266,10 @@ gui_input_read ()
key_str[1] = '\0';
if (gui_current_window->buffer->dcc)
gui_input_action_dcc (gui_current_window, key_str);
gui_exec_action_dcc (gui_current_window, key_str);
else
{
gui_input_insert_string (gui_current_window, key_str, -1);
gui_insert_string_input (gui_current_window, key_str, -1);
gui_current_window->buffer->input_buffer_pos += utf8_strlen (key_str);
gui_draw_buffer_input (gui_current_window->buffer, 0);
gui_current_window->buffer->completion.position = -1;
@ -408,7 +409,7 @@ gui_main_loop ()
diff = (int) get_timeval_diff (&(ptr_server->lag_check_time), &tv);
if (diff / 1000 > cfg_irc_lag_disconnect * 60)
{
irc_display_prefix (ptr_server->buffer, PREFIX_ERROR);
irc_display_prefix (ptr_server, ptr_server->buffer, PREFIX_ERROR);
gui_printf (ptr_server->buffer,
_("%s lag is high, disconnecting from server...\n"),
WEECHAT_WARNING);

1075
src/gui/gui-action.c Normal file

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -41,77 +41,79 @@ int gui_key_grab = 0;
int gui_key_grab_count = 0;
t_gui_key_function gui_key_functions[] =
{ { "return", gui_input_return,
{ { "return", gui_action_return,
N_("terminate line") },
{ "tab", gui_input_tab,
{ "tab", gui_action_tab,
N_("complete word") },
{ "backspace", gui_input_backspace,
{ "backspace", gui_action_backspace,
N_("delete previous char") },
{ "delete", gui_input_delete,
{ "delete", gui_action_delete,
N_("delete next char") },
{ "delete_end_line", gui_input_delete_end_of_line,
{ "delete_end_line", gui_action_delete_end_of_line,
N_("delete until end of line") },
{ "delete_beginning_line", gui_input_delete_begin_of_line,
{ "delete_beginning_line", gui_action_delete_begin_of_line,
N_("delete until beginning of line") },
{ "delete_line", gui_input_delete_line,
{ "delete_line", gui_action_delete_line,
N_("delete entire line") },
{ "delete_previous_word", gui_input_delete_previous_word,
{ "delete_previous_word", gui_action_delete_previous_word,
N_("delete previous word") },
{ "delete_next_word", gui_input_delete_next_word,
{ "delete_next_word", gui_action_delete_next_word,
N_("delete next word") },
{ "clipboard_paste", gui_input_clipboard_paste,
{ "clipboard_paste", gui_action_clipboard_paste,
N_("paste current clipboard content") },
{ "transpose_chars", gui_input_transpose_chars,
{ "transpose_chars", gui_action_transpose_chars,
N_("transpose chars") },
{ "home", gui_input_home,
{ "home", gui_action_home,
N_("go to beginning of line") },
{ "end", gui_input_end,
{ "end", gui_action_end,
N_("go to end of line") },
{ "left", gui_input_left,
{ "left", gui_action_left,
N_("move one char left") },
{ "previous_word", gui_input_previous_word,
{ "previous_word", gui_action_previous_word,
N_("move to previous word") },
{ "right", gui_input_right,
{ "right", gui_action_right,
N_("move one char right") },
{ "next_word", gui_input_next_word,
{ "next_word", gui_action_next_word,
N_("move to next word") },
{ "up", gui_input_up,
{ "up", gui_action_up,
N_("call previous command in history") },
{ "up_global", gui_input_up_global,
{ "up_global", gui_action_up_global,
N_("call previous command in global history") },
{ "down", gui_input_down,
{ "down", gui_action_down,
N_("call next command in history") },
{ "down_global", gui_input_down_global,
{ "down_global", gui_action_down_global,
N_("call next command in global history") },
{ "page_up", gui_input_page_up,
{ "page_up", gui_action_page_up,
N_("scroll one page up") },
{ "page_down", gui_input_page_down,
{ "page_down", gui_action_page_down,
N_("scroll one page down") },
{ "infobar_clear", gui_input_infobar_clear,
N_("clear infobar") },
{ "nick_page_up", gui_input_nick_page_up,
N_("scroll nicklist one page up") },
{ "nick_page_down", gui_input_nick_page_down,
N_("scroll nicklist one page down") },
{ "nick_beginning", gui_input_nick_beginning,
{ "nick_beginning", gui_action_nick_beginning,
N_("display beginning of nicklist") },
{ "nick_end", gui_input_nick_end,
{ "nick_end", gui_action_nick_end,
N_("display end of nicklist") },
{ "refresh", gui_curses_resize_handler,
N_("refresh screen") },
{ "jump_smart", gui_input_jump_smart,
{ "nick_page_up", gui_action_nick_page_up,
N_("scroll nicklist one page up") },
{ "nick_page_down", gui_action_nick_page_down,
N_("scroll nicklist one page down") },
{ "jump_smart", gui_action_jump_smart,
N_("jump to buffer with activity") },
{ "jump_dcc", gui_input_jump_dcc,
{ "jump_dcc", gui_action_jump_dcc,
N_("jump to DCC buffer") },
{ "jump_last_buffer", gui_input_jump_last_buffer,
{ "jump_last_buffer", gui_action_jump_last_buffer,
N_("jump to last buffer") },
{ "jump_server", gui_input_jump_server,
{ "jump_server", gui_action_jump_server,
N_("jump to server buffer") },
{ "jump_next_server", gui_input_jump_next_server,
{ "jump_next_server", gui_action_jump_next_server,
N_("jump to next server") },
{ "hotlist_clear", gui_input_hotlist_clear,
{ "switch_server", gui_action_switch_server,
N_("switch active server on servers buffer") },
{ "hotlist_clear", gui_action_hotlist_clear,
N_("clear hotlist") },
{ "grab_key", gui_input_grab_key,
{ "infobar_clear", gui_action_infobar_clear,
N_("clear infobar") },
{ "refresh", gui_action_refresh_screen,
N_("refresh screen") },
{ "grab_key", gui_action_grab_key,
N_("grab a key") },
{ NULL, NULL, NULL }
};

View File

@ -26,61 +26,62 @@
#define INPUT_BUFFER_BLOCK_SIZE 256
#define NUM_COLORS 56
#define NUM_COLORS 57
#define COLOR_WIN_TITLE 1
#define COLOR_WIN_CHAT 2
#define COLOR_WIN_CHAT_TIME 3
#define COLOR_WIN_CHAT_TIME_SEP 4
#define COLOR_WIN_CHAT_PREFIX1 5
#define COLOR_WIN_CHAT_PREFIX2 6
#define COLOR_WIN_CHAT_JOIN 7
#define COLOR_WIN_CHAT_PART 8
#define COLOR_WIN_CHAT_NICK 9
#define COLOR_WIN_CHAT_HOST 10
#define COLOR_WIN_CHAT_CHANNEL 11
#define COLOR_WIN_CHAT_DARK 12
#define COLOR_WIN_CHAT_HIGHLIGHT 13
#define COLOR_WIN_STATUS 14
#define COLOR_WIN_STATUS_DELIMITERS 15
#define COLOR_WIN_STATUS_CHANNEL 16
#define COLOR_WIN_STATUS_DATA_MSG 17
#define COLOR_WIN_STATUS_DATA_PRIVATE 18
#define COLOR_WIN_STATUS_DATA_HIGHLIGHT 19
#define COLOR_WIN_STATUS_DATA_OTHER 20
#define COLOR_WIN_STATUS_MORE 21
#define COLOR_WIN_INFOBAR 22
#define COLOR_WIN_INFOBAR_DELIMITERS 23
#define COLOR_WIN_INFOBAR_HIGHLIGHT 24
#define COLOR_WIN_INPUT 25
#define COLOR_WIN_INPUT_CHANNEL 26
#define COLOR_WIN_INPUT_NICK 27
#define COLOR_WIN_INPUT_DELIMITERS 28
#define COLOR_WIN_NICK 29
#define COLOR_WIN_NICK_AWAY 30
#define COLOR_WIN_NICK_CHANOWNER 31
#define COLOR_WIN_NICK_CHANADMIN 32
#define COLOR_WIN_NICK_OP 33
#define COLOR_WIN_NICK_HALFOP 34
#define COLOR_WIN_NICK_VOICE 35
#define COLOR_WIN_NICK_MORE 36
#define COLOR_WIN_NICK_SEP 37
#define COLOR_WIN_NICK_SELF 38
#define COLOR_WIN_NICK_PRIVATE 39
#define COLOR_WIN_NICK_FIRST 40
#define COLOR_WIN_NICK_LAST 49
#define COLOR_WIN_CHAT_SERVER 7
#define COLOR_WIN_CHAT_JOIN 8
#define COLOR_WIN_CHAT_PART 9
#define COLOR_WIN_CHAT_NICK 10
#define COLOR_WIN_CHAT_HOST 11
#define COLOR_WIN_CHAT_CHANNEL 12
#define COLOR_WIN_CHAT_DARK 13
#define COLOR_WIN_CHAT_HIGHLIGHT 14
#define COLOR_WIN_STATUS 15
#define COLOR_WIN_STATUS_DELIMITERS 16
#define COLOR_WIN_STATUS_CHANNEL 17
#define COLOR_WIN_STATUS_DATA_MSG 18
#define COLOR_WIN_STATUS_DATA_PRIVATE 19
#define COLOR_WIN_STATUS_DATA_HIGHLIGHT 20
#define COLOR_WIN_STATUS_DATA_OTHER 21
#define COLOR_WIN_STATUS_MORE 22
#define COLOR_WIN_INFOBAR 23
#define COLOR_WIN_INFOBAR_DELIMITERS 24
#define COLOR_WIN_INFOBAR_HIGHLIGHT 25
#define COLOR_WIN_INPUT 26
#define COLOR_WIN_INPUT_CHANNEL 27
#define COLOR_WIN_INPUT_NICK 28
#define COLOR_WIN_INPUT_DELIMITERS 29
#define COLOR_WIN_NICK 30
#define COLOR_WIN_NICK_AWAY 31
#define COLOR_WIN_NICK_CHANOWNER 32
#define COLOR_WIN_NICK_CHANADMIN 33
#define COLOR_WIN_NICK_OP 34
#define COLOR_WIN_NICK_HALFOP 35
#define COLOR_WIN_NICK_VOICE 36
#define COLOR_WIN_NICK_MORE 37
#define COLOR_WIN_NICK_SEP 38
#define COLOR_WIN_NICK_SELF 39
#define COLOR_WIN_NICK_PRIVATE 40
#define COLOR_WIN_NICK_FIRST 41
#define COLOR_WIN_NICK_LAST 50
#define COLOR_WIN_NICK_NUMBER (COLOR_WIN_NICK_LAST - COLOR_WIN_NICK_FIRST + 1)
#define COLOR_DCC_SELECTED 50
#define COLOR_DCC_WAITING 51
#define COLOR_DCC_CONNECTING 52
#define COLOR_DCC_ACTIVE 53
#define COLOR_DCC_DONE 54
#define COLOR_DCC_FAILED 55
#define COLOR_DCC_ABORTED 56
#define COLOR_DCC_SELECTED 51
#define COLOR_DCC_WAITING 52
#define COLOR_DCC_CONNECTING 53
#define COLOR_DCC_ACTIVE 54
#define COLOR_DCC_DONE 55
#define COLOR_DCC_FAILED 56
#define COLOR_DCC_ABORTED 57
#define SERVER(buffer) ((t_irc_server *)(buffer->server))
#define CHANNEL(buffer) ((t_irc_channel *)(buffer->channel))
#define BUFFER_IS_SERVER(buffer) (SERVER(buffer) && !CHANNEL(buffer))
#define BUFFER_IS_SERVER(buffer) ((SERVER(buffer) || (buffer->all_servers)) && !CHANNEL(buffer))
#define BUFFER_IS_CHANNEL(buffer) (CHANNEL(buffer) && (CHANNEL(buffer)->type == CHAT_CHANNEL))
#define BUFFER_IS_PRIVATE(buffer) (CHANNEL(buffer) && (CHANNEL(buffer)->type == CHAT_PRIVATE))
@ -92,6 +93,9 @@
#define MSG_TYPE_HIGHLIGHT 32
#define MSG_TYPE_NOLOG 64
#define gui_printf(buffer, fmt, argz...) \
gui_printf_internal(buffer, 1, MSG_TYPE_INFO, -1, fmt, ##argz)
#define gui_printf_color(buffer, color, fmt, argz...) \
gui_printf_internal(buffer, 1, MSG_TYPE_INFO, color, fmt, ##argz)
@ -101,9 +105,6 @@
#define gui_printf_type_color(buffer, type, color, fmt, argz...) \
gui_printf_internal(buffer, 1, type, color, fmt, ##argz)
#define gui_printf(buffer, fmt, argz...) \
gui_printf_internal(buffer, 1, MSG_TYPE_INFO, -1, fmt, ##argz)
#define gui_printf_nolog(buffer, fmt, argz...) \
gui_printf_internal(buffer, 1, MSG_TYPE_INFO | MSG_TYPE_NOLOG, -1, fmt, ##argz)
@ -173,6 +174,7 @@ struct t_gui_buffer
/* server/channel */
void *server; /* buffer's server */
int all_servers; /* =1 if all servers are displayed here */
void *channel; /* buffer's channel */
int dcc; /* buffer is dcc status */
@ -329,38 +331,12 @@ extern void gui_infobar_remove ();
extern void gui_buffer_free (t_gui_buffer *, int);
extern t_gui_line *gui_new_line (t_gui_buffer *);
extern t_gui_message *gui_new_message (t_gui_buffer *);
extern void gui_input_clipboard_copy (char *, int);
extern void gui_input_clipboard_paste (t_gui_window *);
extern void gui_input_action_dcc (t_gui_window *, char *);
extern int gui_input_insert_string (t_gui_window *, char *, int);
extern void gui_input_return (t_gui_window *);
extern void gui_input_tab (t_gui_window *);
extern void gui_input_backspace (t_gui_window *);
extern void gui_input_delete (t_gui_window *);
extern void gui_input_delete_previous_word (t_gui_window *);
extern void gui_input_delete_next_word (t_gui_window *);
extern void gui_input_delete_begin_of_line (t_gui_window *);
extern void gui_input_delete_end_of_line (t_gui_window *);
extern void gui_input_delete_line (t_gui_window *);
extern void gui_input_transpose_chars (t_gui_window *);
extern void gui_input_home (t_gui_window *);
extern void gui_input_end (t_gui_window *);
extern void gui_input_left (t_gui_window *);
extern void gui_input_previous_word (t_gui_window *);
extern void gui_input_right (t_gui_window *);
extern void gui_input_next_word (t_gui_window *);
extern void gui_input_up (t_gui_window *);
extern void gui_input_up_global (t_gui_window *);
extern void gui_input_down (t_gui_window *);
extern void gui_input_down_global (t_gui_window *);
extern void gui_input_jump_smart (t_gui_window *);
extern void gui_input_jump_dcc (t_gui_window *);
extern void gui_input_jump_last_buffer (t_gui_window *);
extern void gui_input_jump_server (t_gui_window *);
extern void gui_input_jump_next_server (t_gui_window *);
extern void gui_input_hotlist_clear (t_gui_window *);
extern void gui_input_infobar_clear (t_gui_window *);
extern void gui_input_grab_key (t_gui_window *);
extern void gui_optimize_input_buffer_size (t_gui_buffer *);
extern void gui_exec_action_dcc (t_gui_window *, char *);
extern int gui_insert_string_input (t_gui_window *, char *, int);
extern void gui_merge_servers (t_gui_window *);
extern void gui_split_server (t_gui_window *);
extern void gui_window_switch_server (t_gui_window *);
extern void gui_switch_to_previous_buffer (t_gui_window *);
extern void gui_switch_to_next_buffer (t_gui_window *);
extern void gui_switch_to_previous_window (t_gui_window *);
@ -372,6 +348,47 @@ extern void gui_move_buffer_to_number (t_gui_window *, int);
extern void gui_window_print_log (t_gui_window *);
extern void gui_buffer_print_log (t_gui_buffer *);
/* GUI independent functions: actions */
extern void gui_action_clipboard_copy (char *, int);
extern void gui_action_clipboard_paste (t_gui_window *);
extern void gui_action_return (t_gui_window *);
extern void gui_action_tab (t_gui_window *);
extern void gui_action_backspace (t_gui_window *);
extern void gui_action_delete (t_gui_window *);
extern void gui_action_delete_previous_word (t_gui_window *);
extern void gui_action_delete_next_word (t_gui_window *);
extern void gui_action_delete_begin_of_line (t_gui_window *);
extern void gui_action_delete_end_of_line (t_gui_window *);
extern void gui_action_delete_line (t_gui_window *);
extern void gui_action_transpose_chars (t_gui_window *);
extern void gui_action_home (t_gui_window *);
extern void gui_action_end (t_gui_window *);
extern void gui_action_left (t_gui_window *);
extern void gui_action_previous_word (t_gui_window *);
extern void gui_action_right (t_gui_window *);
extern void gui_action_next_word (t_gui_window *);
extern void gui_action_up (t_gui_window *);
extern void gui_action_up_global (t_gui_window *);
extern void gui_action_down (t_gui_window *);
extern void gui_action_down_global (t_gui_window *);
extern void gui_action_page_up (t_gui_window *);
extern void gui_action_page_down (t_gui_window *);
extern void gui_action_nick_beginning (t_gui_window *);
extern void gui_action_nick_end (t_gui_window *);
extern void gui_action_nick_page_up (t_gui_window *);
extern void gui_action_nick_page_down (t_gui_window *);
extern void gui_action_jump_smart (t_gui_window *);
extern void gui_action_jump_dcc (t_gui_window *);
extern void gui_action_jump_last_buffer (t_gui_window *);
extern void gui_action_jump_server (t_gui_window *);
extern void gui_action_jump_next_server (t_gui_window *);
extern void gui_action_switch_server (t_gui_window *);
extern void gui_action_hotlist_clear (t_gui_window *);
extern void gui_action_infobar_clear (t_gui_window *);
extern void gui_action_refresh_screen ();
extern void gui_action_grab_key (t_gui_window *);
/* GUI independent functions: keys */
extern void gui_key_init ();
@ -403,13 +420,12 @@ extern void gui_draw_buffer_input (t_gui_buffer *, int);
extern void gui_redraw_buffer (t_gui_buffer *);
extern void gui_switch_to_buffer (t_gui_window *, t_gui_buffer *);
extern t_gui_buffer *gui_get_dcc_buffer (t_gui_window *);
extern void gui_input_page_up (t_gui_window *);
extern void gui_input_page_down (t_gui_window *);
extern void gui_input_nick_beginning (t_gui_window *);
extern void gui_input_nick_end (t_gui_window *);
extern void gui_input_nick_page_up (t_gui_window *);
extern void gui_input_nick_page_down (t_gui_window *);
extern void gui_curses_resize_handler ();
extern void gui_window_page_up (t_gui_window *);
extern void gui_window_page_down (t_gui_window *);
extern void gui_window_nick_beginning (t_gui_window *);
extern void gui_window_nick_end (t_gui_window *);
extern void gui_window_nick_page_up (t_gui_window *);
extern void gui_window_nick_page_down (t_gui_window *);
extern void gui_window_init_subwindows (t_gui_window *);
extern void gui_window_split_horiz (t_gui_window *);
extern void gui_window_split_vertic (t_gui_window *);
@ -419,6 +435,7 @@ extern int gui_window_merge_left (t_gui_window *);
extern int gui_window_merge_right (t_gui_window *);
extern void gui_window_merge_auto (t_gui_window *);
extern void gui_window_merge_all (t_gui_window *);
extern void gui_refresh_screen ();
extern void gui_pre_init (int *, char **[]);
extern void gui_init_colors ();
extern void gui_set_window_title ();

View File

@ -362,7 +362,8 @@ dcc_close (t_irc_dcc *ptr_dcc, int status)
{
if (DCC_IS_FILE(ptr_dcc->type))
{
irc_display_prefix (ptr_dcc->server->buffer, PREFIX_INFO);
irc_display_prefix (ptr_dcc->server, ptr_dcc->server->buffer,
PREFIX_INFO);
gui_printf (ptr_dcc->server->buffer, _("DCC: file "));
gui_printf_color (ptr_dcc->server->buffer,
COLOR_WIN_CHAT_CHANNEL,
@ -397,7 +398,7 @@ dcc_close (t_irc_dcc *ptr_dcc, int status)
ptr_buffer = ptr_dcc->channel->buffer;
else
ptr_buffer = ptr_dcc->server->buffer;
irc_display_prefix (ptr_buffer, PREFIX_INFO);
irc_display_prefix (ptr_dcc->server, ptr_buffer, PREFIX_INFO);
gui_printf (ptr_buffer, _("DCC chat closed with "));
gui_printf_color (ptr_buffer, COLOR_WIN_CHAT_NICK,
"%s", ptr_dcc->nick);
@ -452,7 +453,8 @@ dcc_channel_for_chat (t_irc_dcc *ptr_dcc)
{
if (!channel_create_dcc (ptr_dcc))
{
irc_display_prefix (ptr_dcc->server->buffer, PREFIX_ERROR);
irc_display_prefix (ptr_dcc->server, ptr_dcc->server->buffer,
PREFIX_ERROR);
gui_printf (ptr_dcc->server->buffer,
_("%s can't associate DCC chat with private buffer "
"(maybe private buffer has already DCC CHAT?)\n"),
@ -462,7 +464,8 @@ dcc_channel_for_chat (t_irc_dcc *ptr_dcc)
return;
}
irc_display_prefix (ptr_dcc->channel->buffer, PREFIX_INFO);
irc_display_prefix (ptr_dcc->server, ptr_dcc->channel->buffer,
PREFIX_INFO);
gui_printf_type (ptr_dcc->channel->buffer, MSG_TYPE_MSG,
_("Connected to "));
gui_printf_color (ptr_dcc->channel->buffer, COLOR_WIN_CHAT_NICK,
@ -560,7 +563,8 @@ dcc_accept_resume (t_irc_server *server, char *filename, int port,
ptr_dcc->nick, ptr_dcc->filename,
ptr_dcc->port, ptr_dcc->start_resume);
irc_display_prefix (ptr_dcc->server->buffer, PREFIX_INFO);
irc_display_prefix (ptr_dcc->server, ptr_dcc->server->buffer,
PREFIX_INFO);
gui_printf (ptr_dcc->server->buffer, _("DCC: file "));
gui_printf_color (ptr_dcc->server->buffer,
COLOR_WIN_CHAT_CHANNEL,
@ -614,7 +618,7 @@ dcc_add (t_irc_server *server, int type, unsigned long addr, int port, char *nic
/* create new DCC struct */
if ((new_dcc = (t_irc_dcc *) malloc (sizeof (t_irc_dcc))) == NULL)
{
irc_display_prefix (server->buffer, PREFIX_ERROR);
irc_display_prefix (server, server->buffer, PREFIX_ERROR);
gui_printf (server->buffer,
_("%s not enough memory for new DCC\n"),
WEECHAT_ERROR);
@ -664,7 +668,7 @@ dcc_add (t_irc_server *server, int type, unsigned long addr, int port, char *nic
/* write info message on server buffer */
if (type == DCC_FILE_RECV)
{
irc_display_prefix (server->buffer, PREFIX_INFO);
irc_display_prefix (server, server->buffer, PREFIX_INFO);
gui_printf (server->buffer, _("Incoming DCC file from "));
gui_printf_color (server->buffer, COLOR_WIN_CHAT_NICK, "%s", nick);
gui_printf_color (server->buffer, COLOR_WIN_CHAT_DARK, " (");
@ -681,7 +685,7 @@ dcc_add (t_irc_server *server, int type, unsigned long addr, int port, char *nic
}
if (type == DCC_FILE_SEND)
{
irc_display_prefix (server->buffer, PREFIX_INFO);
irc_display_prefix (server, server->buffer, PREFIX_INFO);
gui_printf (server->buffer, _("Sending DCC file to "));
gui_printf_color (server->buffer, COLOR_WIN_CHAT_NICK, "%s", nick);
gui_printf (server->buffer, ": ");
@ -695,7 +699,7 @@ dcc_add (t_irc_server *server, int type, unsigned long addr, int port, char *nic
}
if (type == DCC_CHAT_RECV)
{
irc_display_prefix (server->buffer, PREFIX_INFO);
irc_display_prefix (server, server->buffer, PREFIX_INFO);
gui_printf (server->buffer, _("Incoming DCC chat request from "));
gui_printf_color (server->buffer, COLOR_WIN_CHAT_NICK, "%s", nick);
gui_printf_color (server->buffer, COLOR_WIN_CHAT_DARK, " (");
@ -707,7 +711,7 @@ dcc_add (t_irc_server *server, int type, unsigned long addr, int port, char *nic
}
if (type == DCC_CHAT_SEND)
{
irc_display_prefix (server->buffer, PREFIX_INFO);
irc_display_prefix (server, server->buffer, PREFIX_INFO);
gui_printf (server->buffer, _("Sending DCC chat request to "));
gui_printf_color (server->buffer, COLOR_WIN_CHAT_NICK, "%s\n", nick);
dcc_redraw (HOTLIST_MSG);
@ -722,7 +726,8 @@ dcc_add (t_irc_server *server, int type, unsigned long addr, int port, char *nic
if (DCC_IS_FILE(type) && (new_dcc->start_resume > 0))
{
irc_display_prefix (new_dcc->server->buffer, PREFIX_INFO);
irc_display_prefix (new_dcc->server, new_dcc->server->buffer,
PREFIX_INFO);
gui_printf (new_dcc->server->buffer, _("DCC: file "));
gui_printf_color (new_dcc->server->buffer,
COLOR_WIN_CHAT_CHANNEL,
@ -800,7 +805,7 @@ dcc_send_request (t_irc_server *server, int type, char *nick, char *filename)
4);
if (!filename2)
{
irc_display_prefix (server->buffer, PREFIX_ERROR);
irc_display_prefix (server, server->buffer, PREFIX_ERROR);
gui_printf (server->buffer,
_("%s not enough memory for DCC SEND\n"),
WEECHAT_ERROR);
@ -822,7 +827,7 @@ dcc_send_request (t_irc_server *server, int type, char *nick, char *filename)
/* check if file exists */
if (stat (filename2, &st) == -1)
{
irc_display_prefix (server->buffer, PREFIX_ERROR);
irc_display_prefix (server, server->buffer, PREFIX_ERROR);
gui_printf (server->buffer,
_("%s cannot access file \"%s\"\n"),
WEECHAT_ERROR, filename2);
@ -864,7 +869,7 @@ dcc_send_request (t_irc_server *server, int type, char *nick, char *filename)
sock = socket (AF_INET, SOCK_STREAM, 0);
if (sock == -1)
{
irc_display_prefix (server->buffer, PREFIX_ERROR);
irc_display_prefix (server, server->buffer, PREFIX_ERROR);
gui_printf (server->buffer,
_("%s cannot create socket for DCC\n"),
WEECHAT_ERROR);
@ -897,6 +902,7 @@ dcc_send_request (t_irc_server *server, int type, char *nick, char *filename)
if (bind (sock, (struct sockaddr *) &addr, sizeof (addr)) == 0)
break;
}
port++;
}
if (port > port_end)
@ -921,7 +927,7 @@ dcc_send_request (t_irc_server *server, int type, char *nick, char *filename)
if (port == -1)
{
/* Could not find any port to bind */
irc_display_prefix (server->buffer, PREFIX_ERROR);
irc_display_prefix (server, server->buffer, PREFIX_ERROR);
gui_printf (server->buffer,
_("%s cannot find available port for DCC\n"),
WEECHAT_ERROR);
@ -965,7 +971,7 @@ dcc_send_request (t_irc_server *server, int type, char *nick, char *filename)
short_filename, filename2, st.st_size);
if (!ptr_dcc)
{
irc_display_prefix (server->buffer, PREFIX_ERROR);
irc_display_prefix (server, server->buffer, PREFIX_ERROR);
gui_printf (server->buffer,
_("%s cannot send DCC\n"),
WEECHAT_ERROR);
@ -1045,8 +1051,10 @@ dcc_chat_sendf (t_irc_dcc *ptr_dcc, char *fmt, ...)
buffer);
if (dcc_chat_send (ptr_dcc, buf2, strlen (buf2)) <= 0)
{
irc_display_prefix (ptr_dcc->server->buffer, PREFIX_ERROR);
gui_printf (ptr_dcc->server->buffer, _("%s error sending data to \"%s\" via DCC CHAT\n"),
irc_display_prefix (ptr_dcc->server, ptr_dcc->server->buffer,
PREFIX_ERROR);
gui_printf (ptr_dcc->server->buffer,
_("%s error sending data to \"%s\" via DCC CHAT\n"),
WEECHAT_ERROR, ptr_dcc->nick);
dcc_close (ptr_dcc, DCC_FAILED);
}
@ -1318,7 +1326,7 @@ dcc_handle ()
{
if (cfg_dcc_blocksize > (int) sizeof (buffer))
{
irc_display_prefix (NULL, PREFIX_ERROR);
irc_display_prefix (NULL, NULL, PREFIX_ERROR);
gui_printf (NULL, _("%s DCC failed because blocksize is too "
"big. Check value of \"dcc_blocksize\" option, "
"max is %d.\n"),

View File

@ -36,12 +36,12 @@
/*
* irc_display_prefix: display prefix for action or info message
* irc_display_prefix: display a prefix for action/info/error msg
* prefix must be 3 chars length
*/
void
irc_display_prefix (t_gui_buffer *buffer, char *prefix)
irc_display_prefix (t_irc_server *server, t_gui_buffer *buffer, char *prefix)
{
int type;
@ -65,6 +65,12 @@ irc_display_prefix (t_gui_buffer *buffer, char *prefix)
else
gui_printf_color (buffer, COLOR_WIN_CHAT_PREFIX1, "%s ", prefix);
}
if (server && (server->buffer == buffer) && buffer->all_servers)
{
gui_printf_type_color (buffer, type, COLOR_WIN_CHAT_DARK, "[");
gui_printf_type_color (buffer, type, COLOR_WIN_CHAT_SERVER, "%s", server->name);
gui_printf_type_color (buffer, type, COLOR_WIN_CHAT_DARK, "] ");
}
}
/*
@ -133,10 +139,11 @@ irc_display_nick (t_gui_buffer *buffer, t_irc_nick *nick, char *nickname,
*/
void
irc_display_mode (t_gui_buffer *buffer, char *channel_name, char set_flag,
irc_display_mode (t_irc_server *server, t_gui_buffer *buffer,
char *channel_name, char set_flag,
char *symbol, char *nick_host, char *message, char *param)
{
irc_display_prefix (buffer, PREFIX_INFO);
irc_display_prefix (server, buffer, PREFIX_INFO);
gui_printf_color (buffer, COLOR_WIN_CHAT_DARK, "[");
gui_printf_color (buffer, COLOR_WIN_CHAT_CHANNEL, "%s", channel_name);
gui_printf_color (buffer, COLOR_WIN_CHAT, "/");

View File

@ -191,6 +191,7 @@ ignore_add (char *mask, char *type, char *channel_name, char *server_name)
if (!mask || !mask[0] || !type || !type[0] || !channel_name || !channel_name[0]
|| !server_name || !server_name[0])
{
irc_display_prefix (NULL, NULL, PREFIX_ERROR);
gui_printf (NULL,
_("%s too few arguments for ignore\n"),
WEECHAT_ERROR);
@ -207,7 +208,7 @@ ignore_add (char *mask, char *type, char *channel_name, char *server_name)
if ((strcmp (mask, "*") == 0) && (strcmp (type, "*") == 0))
{
irc_display_prefix (NULL, PREFIX_ERROR);
irc_display_prefix (NULL, NULL, PREFIX_ERROR);
gui_printf (NULL,
_("%s mask or type/command should be non generic value for ignore\n"),
WEECHAT_ERROR);
@ -216,7 +217,7 @@ ignore_add (char *mask, char *type, char *channel_name, char *server_name)
if (ignore_search (mask, type, channel_name, server_name))
{
irc_display_prefix (NULL, PREFIX_ERROR);
irc_display_prefix (NULL, NULL, PREFIX_ERROR);
gui_printf (NULL,
_("%s ignore already exists\n"),
WEECHAT_ERROR);
@ -252,7 +253,7 @@ ignore_add (char *mask, char *type, char *channel_name, char *server_name)
/* not a pre-defined command and not an IRC command => error */
if ((type_index < 0) && (!command_ptr))
{
irc_display_prefix (NULL, PREFIX_ERROR);
irc_display_prefix (NULL, NULL, PREFIX_ERROR);
gui_printf (NULL,
_("%s unknown type or IRC command \"%s\" for ignore\n"),
WEECHAT_ERROR, type);
@ -280,7 +281,7 @@ ignore_add (char *mask, char *type, char *channel_name, char *server_name)
}
else
{
irc_display_prefix (NULL, PREFIX_ERROR);
irc_display_prefix (NULL, NULL, PREFIX_ERROR);
gui_printf (NULL,
_("%s not enough memory to create ignore\n"),
WEECHAT_ERROR);
@ -402,7 +403,7 @@ ignore_search_free (char *mask, char *type, char *channel_name, char *server_nam
found++;
if (found == 1)
gui_printf (NULL, "\n");
irc_display_prefix (NULL, PREFIX_INFO);
irc_display_prefix (NULL, NULL, PREFIX_INFO);
weechat_cmd_ignore_display (_("Removing ignore:"), ptr_ignore);
next_ignore = ptr_ignore->next_ignore;
ignore_free (ptr_ignore);
@ -438,7 +439,7 @@ ignore_search_free_by_number (int number)
if (i == number)
{
gui_printf (NULL, "\n");
irc_display_prefix (NULL, PREFIX_INFO);
irc_display_prefix (NULL, NULL, PREFIX_INFO);
weechat_cmd_ignore_display (_("Removing ignore:"), ptr_ignore);
ignore_free (ptr_ignore);
return 1;

File diff suppressed because it is too large Load Diff

View File

@ -57,7 +57,7 @@ irc_login (t_irc_server *server)
hostname[sizeof (hostname) - 1] = '\0';
if (!hostname[0])
strcpy (hostname, _("unknown"));
irc_display_prefix (server->buffer, PREFIX_INFO);
irc_display_prefix (server, server->buffer, PREFIX_INFO);
gui_printf (server->buffer,
_("%s: using local hostname \"%s\"\n"),
PACKAGE_NAME, hostname);
@ -109,7 +109,7 @@ irc_cmd_send_ame (t_irc_server *server, char *arguments)
server_sendf (ptr_server, "PRIVMSG %s :\01ACTION %s\01\r\n",
ptr_channel->name,
(arguments && arguments[0]) ? arguments : "");
irc_display_prefix (ptr_channel->buffer, PREFIX_ACTION_ME);
irc_display_prefix (NULL, ptr_channel->buffer, PREFIX_ACTION_ME);
gui_printf_color (ptr_channel->buffer,
COLOR_WIN_CHAT_NICK, "%s", ptr_server->nick);
gui_printf_color (ptr_channel->buffer,
@ -162,7 +162,7 @@ irc_cmd_send_amsg (t_irc_server *server, char *arguments)
}
else
{
irc_display_prefix (ptr_server->buffer, PREFIX_ERROR);
irc_display_prefix (ptr_server, ptr_server->buffer, PREFIX_ERROR);
gui_printf (ptr_server->buffer,
_("%s cannot find nick for sending message\n"),
WEECHAT_ERROR);
@ -324,7 +324,7 @@ irc_cmd_send_ban (t_irc_server *server, char *arguments)
{
if (!BUFFER_IS_CHANNEL(gui_current_window->buffer))
{
irc_display_prefix (server->buffer, PREFIX_ERROR);
irc_display_prefix (NULL, server->buffer, PREFIX_ERROR);
gui_printf_nolog (server->buffer,
_("%s \"%s\" command can only be executed in a channel window\n"),
WEECHAT_ERROR, "ban");
@ -352,7 +352,7 @@ irc_cmd_send_ban (t_irc_server *server, char *arguments)
{
if (!BUFFER_IS_CHANNEL(gui_current_window->buffer))
{
irc_display_prefix (server->buffer, PREFIX_ERROR);
irc_display_prefix (NULL, server->buffer, PREFIX_ERROR);
gui_printf_nolog (server->buffer,
_("%s \"%s\" command can only be executed in a channel window\n"),
WEECHAT_ERROR, "ban");
@ -400,7 +400,7 @@ irc_cmd_send_ctcp (t_irc_server *server, char *arguments)
pos++;
}
irc_display_prefix (server->buffer, PREFIX_SERVER);
irc_display_prefix (server, server->buffer, PREFIX_SERVER);
gui_printf_color (server->buffer, COLOR_WIN_CHAT, "CTCP");
gui_printf_color (server->buffer, COLOR_WIN_CHAT_DARK, "(");
gui_printf_color (server->buffer, COLOR_WIN_CHAT_NICK, "%s", arguments);
@ -451,7 +451,7 @@ irc_cmd_send_dcc (t_irc_server *server, char *arguments)
pos_nick = strchr (arguments, ' ');
if (!pos_nick)
{
irc_display_prefix (server->buffer, PREFIX_ERROR);
irc_display_prefix (NULL, server->buffer, PREFIX_ERROR);
gui_printf_nolog (server->buffer,
_("%s wrong argument count for \"%s\" command\n"),
WEECHAT_ERROR, "dcc send");
@ -463,7 +463,7 @@ irc_cmd_send_dcc (t_irc_server *server, char *arguments)
pos_file = strchr (pos_nick, ' ');
if (!pos_file)
{
irc_display_prefix (server->buffer, PREFIX_ERROR);
irc_display_prefix (NULL, server->buffer, PREFIX_ERROR);
gui_printf_nolog (server->buffer,
_("%s wrong argument count for \"%s\" command\n"),
WEECHAT_ERROR, "dcc send");
@ -481,7 +481,7 @@ irc_cmd_send_dcc (t_irc_server *server, char *arguments)
pos_nick = strchr (arguments, ' ');
if (!pos_nick)
{
irc_display_prefix (server->buffer, PREFIX_ERROR);
irc_display_prefix (NULL, server->buffer, PREFIX_ERROR);
gui_printf_nolog (server->buffer,
_("%s wrong argument count for \"%s\" command\n"),
WEECHAT_ERROR, "dcc chat");
@ -504,7 +504,7 @@ irc_cmd_send_dcc (t_irc_server *server, char *arguments)
}
else
{
irc_display_prefix (server->buffer, PREFIX_ERROR);
irc_display_prefix (NULL, server->buffer, PREFIX_ERROR);
gui_printf_nolog (server->buffer,
_("%s wrong arguments for \"%s\" command\n"),
WEECHAT_ERROR, "dcc");
@ -539,7 +539,7 @@ irc_cmd_send_dehalfop (t_irc_server *server, int argc, char **argv)
}
else
{
irc_display_prefix (server->buffer, PREFIX_ERROR);
irc_display_prefix (NULL, server->buffer, PREFIX_ERROR);
gui_printf_nolog (server->buffer,
_("%s \"%s\" command can only be executed in a channel window\n"),
WEECHAT_ERROR, "dehalfop");
@ -572,7 +572,7 @@ irc_cmd_send_deop (t_irc_server *server, int argc, char **argv)
}
else
{
irc_display_prefix (server->buffer, PREFIX_ERROR);
irc_display_prefix (NULL, server->buffer, PREFIX_ERROR);
gui_printf_nolog (server->buffer,
_("%s \"%s\" command can only be executed in a channel window\n"),
WEECHAT_ERROR, "deop");
@ -605,7 +605,7 @@ irc_cmd_send_devoice (t_irc_server *server, int argc, char **argv)
}
else
{
irc_display_prefix (server->buffer, PREFIX_ERROR);
irc_display_prefix (NULL, server->buffer, PREFIX_ERROR);
gui_printf_nolog (server->buffer,
_("%s \"%s\" command can only be executed in a channel window\n"),
WEECHAT_ERROR, "devoice");
@ -653,7 +653,7 @@ irc_cmd_send_halfop (t_irc_server *server, int argc, char **argv)
}
else
{
irc_display_prefix (server->buffer, PREFIX_ERROR);
irc_display_prefix (NULL, server->buffer, PREFIX_ERROR);
gui_printf_nolog (server->buffer,
_("%s \"%s\" command can only be executed in a channel window\n"),
WEECHAT_ERROR, "halfop");
@ -689,7 +689,7 @@ irc_cmd_send_invite (t_irc_server *server, int argc, char **argv)
{
if (!BUFFER_IS_CHANNEL(gui_current_window->buffer))
{
irc_display_prefix (server->buffer, PREFIX_ERROR);
irc_display_prefix (NULL, server->buffer, PREFIX_ERROR);
gui_printf_nolog (server->buffer,
_("%s \"%s\" command can only be executed in a channel window\n"),
WEECHAT_ERROR, "invite");
@ -741,7 +741,7 @@ irc_cmd_send_kick (t_irc_server *server, char *arguments)
pos_nick = strchr (arguments, ' ');
if (!pos_nick)
{
irc_display_prefix (server->buffer, PREFIX_ERROR);
irc_display_prefix (NULL, server->buffer, PREFIX_ERROR);
gui_printf_nolog (server->buffer,
_("%s wrong arguments for \"%s\" command\n"),
WEECHAT_ERROR, "kick");
@ -756,7 +756,7 @@ irc_cmd_send_kick (t_irc_server *server, char *arguments)
{
if (!BUFFER_IS_CHANNEL(gui_current_window->buffer))
{
irc_display_prefix (server->buffer, PREFIX_ERROR);
irc_display_prefix (NULL, server->buffer, PREFIX_ERROR);
gui_printf_nolog (server->buffer,
_("%s \"%s\" command can only be executed in a channel window\n"),
WEECHAT_ERROR, "kick");
@ -798,7 +798,7 @@ irc_cmd_send_kickban (t_irc_server *server, char *arguments)
pos_nick = strchr (arguments, ' ');
if (!pos_nick)
{
irc_display_prefix (server->buffer, PREFIX_ERROR);
irc_display_prefix (NULL, server->buffer, PREFIX_ERROR);
gui_printf_nolog (server->buffer,
_("%s wrong arguments for \"%s\" command\n"),
WEECHAT_ERROR, "kickban");
@ -813,7 +813,7 @@ irc_cmd_send_kickban (t_irc_server *server, char *arguments)
{
if (!BUFFER_IS_CHANNEL(gui_current_window->buffer))
{
irc_display_prefix (server->buffer, PREFIX_ERROR);
irc_display_prefix (NULL, server->buffer, PREFIX_ERROR);
gui_printf_nolog (server->buffer,
_("%s \"%s\" command can only be executed in a channel window\n"),
WEECHAT_ERROR, "kickban");
@ -905,7 +905,7 @@ irc_send_me (t_irc_server *server, t_irc_channel *channel, char *arguments)
server_sendf (server, "PRIVMSG %s :\01ACTION %s\01\r\n",
channel->name,
(arguments && arguments[0]) ? arguments : "");
irc_display_prefix (channel->buffer, PREFIX_ACTION_ME);
irc_display_prefix (NULL, channel->buffer, PREFIX_ACTION_ME);
gui_printf_color (channel->buffer,
COLOR_WIN_CHAT_NICK, "%s", server->nick);
gui_printf_color (channel->buffer,
@ -941,7 +941,7 @@ irc_cmd_send_me (t_irc_server *server, char *arguments)
{
if (BUFFER_IS_SERVER(gui_current_window->buffer))
{
irc_display_prefix (server->buffer, PREFIX_ERROR);
irc_display_prefix (NULL, server->buffer, PREFIX_ERROR);
gui_printf_nolog (server->buffer,
_("%s \"%s\" command can not be executed on a server window\n"),
WEECHAT_ERROR, "me");
@ -1008,7 +1008,7 @@ irc_cmd_send_msg (t_irc_server *server, char *arguments)
{
if (BUFFER_IS_SERVER(gui_current_window->buffer))
{
irc_display_prefix (server->buffer, PREFIX_ERROR);
irc_display_prefix (NULL, server->buffer, PREFIX_ERROR);
gui_printf_nolog (server->buffer,
_("%s \"%s\" command can not be executed on a server window\n"),
WEECHAT_ERROR, "msg *");
@ -1026,7 +1026,7 @@ irc_cmd_send_msg (t_irc_server *server, char *arguments)
}
else
{
irc_display_prefix (server->buffer, PREFIX_ERROR);
irc_display_prefix (server, server->buffer, PREFIX_ERROR);
gui_printf_nolog (server->buffer,
_("%s nick \"%s\" not found for \"%s\" command\n"),
WEECHAT_ERROR, server->nick, "msg");
@ -1051,7 +1051,7 @@ irc_cmd_send_msg (t_irc_server *server, char *arguments)
}
else
{
irc_display_prefix (server->buffer, PREFIX_ERROR);
irc_display_prefix (server, server->buffer, PREFIX_ERROR);
gui_printf_nolog (server->buffer,
_("%s nick \"%s\" not found for \"%s\" command\n"),
WEECHAT_ERROR, server->nick, "msg");
@ -1080,7 +1080,7 @@ irc_cmd_send_msg (t_irc_server *server, char *arguments)
}
}
}
irc_display_prefix (server->buffer, PREFIX_SERVER);
irc_display_prefix (server, server->buffer, PREFIX_SERVER);
gui_printf_type_color (server->buffer,
MSG_TYPE_NICK,
COLOR_WIN_CHAT_DARK, "-");
@ -1103,7 +1103,7 @@ irc_cmd_send_msg (t_irc_server *server, char *arguments)
ptr_channel = channel_new (server, CHAT_PRIVATE, arguments, 1);
if (!ptr_channel)
{
irc_display_prefix (server->buffer, PREFIX_ERROR);
irc_display_prefix (NULL, server->buffer, PREFIX_ERROR);
gui_printf_nolog (server->buffer,
_("%s cannot create new private window \"%s\"\n"),
WEECHAT_ERROR, arguments);
@ -1133,7 +1133,7 @@ irc_cmd_send_msg (t_irc_server *server, char *arguments)
}
else
{
irc_display_prefix (server->buffer, PREFIX_ERROR);
irc_display_prefix (NULL, server->buffer, PREFIX_ERROR);
gui_printf_nolog (server->buffer,
_("%s wrong argument count for \"%s\" command\n"),
WEECHAT_ERROR, "msg");
@ -1155,7 +1155,7 @@ irc_cmd_send_names (t_irc_server *server, char *arguments)
{
if (!BUFFER_IS_CHANNEL(gui_current_window->buffer))
{
irc_display_prefix (server->buffer, PREFIX_ERROR);
irc_display_prefix (NULL, server->buffer, PREFIX_ERROR);
gui_printf_nolog (server->buffer,
_("%s \"%s\" command can only be executed in a channel window\n"),
WEECHAT_ERROR, "names");
@ -1216,7 +1216,7 @@ irc_cmd_send_notice (t_irc_server *server, char *arguments)
pos++;
while (pos[0] == ' ')
pos++;
irc_display_prefix (server->buffer, PREFIX_SERVER);
irc_display_prefix (server, server->buffer, PREFIX_SERVER);
gui_printf_color (server->buffer, COLOR_WIN_CHAT, "notice");
gui_printf_color (server->buffer, COLOR_WIN_CHAT_DARK, "(");
gui_printf_color (server->buffer, COLOR_WIN_CHAT_NICK, "%s", arguments);
@ -1226,7 +1226,7 @@ irc_cmd_send_notice (t_irc_server *server, char *arguments)
}
else
{
irc_display_prefix (server->buffer, PREFIX_ERROR);
irc_display_prefix (NULL, server->buffer, PREFIX_ERROR);
gui_printf_nolog (server->buffer,
_("%s wrong argument count for \"%s\" command\n"),
WEECHAT_ERROR, "notice");
@ -1253,7 +1253,7 @@ irc_cmd_send_op (t_irc_server *server, int argc, char **argv)
}
else
{
irc_display_prefix (server->buffer, PREFIX_ERROR);
irc_display_prefix (NULL, server->buffer, PREFIX_ERROR);
gui_printf_nolog (server->buffer,
_("%s \"%s\" command can only be executed in a channel window\n"),
WEECHAT_ERROR, "op");
@ -1301,7 +1301,7 @@ irc_cmd_send_part (t_irc_server *server, char *arguments)
{
if (BUFFER_IS_SERVER(gui_current_window->buffer))
{
irc_display_prefix (server->buffer, PREFIX_ERROR);
irc_display_prefix (NULL, server->buffer, PREFIX_ERROR);
gui_printf_nolog (server->buffer,
_("%s \"%s\" command can not be executed on a server window\n"),
WEECHAT_ERROR, "part");
@ -1315,7 +1315,7 @@ irc_cmd_send_part (t_irc_server *server, char *arguments)
{
if (BUFFER_IS_SERVER(gui_current_window->buffer))
{
irc_display_prefix (server->buffer, PREFIX_ERROR);
irc_display_prefix (NULL, server->buffer, PREFIX_ERROR);
gui_printf_nolog (server->buffer,
_("%s \"%s\" command can not be executed on a server window\n"),
WEECHAT_ERROR, "part");
@ -1411,7 +1411,7 @@ irc_cmd_send_query (t_irc_server *server, char *arguments)
ptr_channel = channel_new (server, CHAT_PRIVATE, arguments, 1);
if (!ptr_channel)
{
irc_display_prefix (server->buffer, PREFIX_ERROR);
irc_display_prefix (NULL, server->buffer, PREFIX_ERROR);
gui_printf_nolog (server->buffer,
_("%s cannot create new private window \"%s\"\n"),
WEECHAT_ERROR, arguments);
@ -1659,7 +1659,7 @@ irc_cmd_send_topic (t_irc_server *server, char *arguments)
{
if (BUFFER_IS_SERVER(gui_current_window->buffer))
{
irc_display_prefix (server->buffer, PREFIX_ERROR);
irc_display_prefix (NULL, server->buffer, PREFIX_ERROR);
gui_printf_nolog (server->buffer,
_("%s \"%s\" command can not be executed on a server window\n"),
WEECHAT_ERROR, "topic");
@ -1732,7 +1732,7 @@ irc_cmd_send_unban (t_irc_server *server, char *arguments)
{
if (!BUFFER_IS_CHANNEL(gui_current_window->buffer))
{
irc_display_prefix (server->buffer, PREFIX_ERROR);
irc_display_prefix (NULL, server->buffer, PREFIX_ERROR);
gui_printf_nolog (server->buffer,
_("%s \"%s\" command can only be executed in a channel window\n"),
WEECHAT_ERROR, "unban");
@ -1758,7 +1758,7 @@ irc_cmd_send_unban (t_irc_server *server, char *arguments)
}
else
{
irc_display_prefix (server->buffer, PREFIX_ERROR);
irc_display_prefix (NULL, server->buffer, PREFIX_ERROR);
gui_printf_nolog (server->buffer,
_("%s wrong argument count for \"%s\" command\n"),
WEECHAT_ERROR, "unban");
@ -1812,7 +1812,7 @@ irc_cmd_send_version (t_irc_server *server, char *arguments)
}
else
{
irc_display_prefix (server->buffer, PREFIX_INFO);
irc_display_prefix (NULL, server->buffer, PREFIX_INFO);
gui_printf (server->buffer, _("%s, compiled on %s %s\n"),
PACKAGE_STRING,
__DATE__, __TIME__);
@ -1846,7 +1846,7 @@ irc_cmd_send_voice (t_irc_server *server, int argc, char **argv)
}
else
{
irc_display_prefix (server->buffer, PREFIX_ERROR);
irc_display_prefix (NULL, server->buffer, PREFIX_ERROR);
gui_printf_nolog (server->buffer,
_("%s \"%s\" command can only be executed in a channel window\n"),
WEECHAT_ERROR, "voice");

View File

@ -462,7 +462,7 @@ server_sendf (t_irc_server *server, char *fmt, ...)
buffer);
if (server_send (server, buf2, strlen (buf2)) <= 0)
{
irc_display_prefix (server->buffer, PREFIX_ERROR);
irc_display_prefix (server, server->buffer, PREFIX_ERROR);
gui_printf (server->buffer, _("%s error sending data to IRC server\n"),
WEECHAT_ERROR);
}
@ -484,7 +484,7 @@ server_msgq_add_msg (t_irc_server *server, char *msg)
message = (t_irc_message *) malloc (sizeof (t_irc_message));
if (!message)
{
irc_display_prefix (server->buffer, PREFIX_ERROR);
irc_display_prefix (server, server->buffer, PREFIX_ERROR);
gui_printf (server->buffer,
_("%s not enough memory for received IRC message\n"),
WEECHAT_ERROR);
@ -497,7 +497,7 @@ server_msgq_add_msg (t_irc_server *server, char *msg)
strlen (msg) + 1);
if (!message->data)
{
irc_display_prefix (server->buffer, PREFIX_ERROR);
irc_display_prefix (server, server->buffer, PREFIX_ERROR);
gui_printf (server->buffer,
_("%s not enough memory for received IRC message\n"),
WEECHAT_ERROR);
@ -544,7 +544,7 @@ server_msgq_add_unterminated (t_irc_server *server, char *string)
strlen (string) + 1);
if (!server->unterminated_message)
{
irc_display_prefix (server->buffer, PREFIX_ERROR);
irc_display_prefix (server, server->buffer, PREFIX_ERROR);
gui_printf (server->buffer,
_("%s not enough memory for received IRC message\n"),
WEECHAT_ERROR);
@ -557,7 +557,7 @@ server_msgq_add_unterminated (t_irc_server *server, char *string)
server->unterminated_message = strdup (string);
if (!server->unterminated_message)
{
irc_display_prefix (server->buffer, PREFIX_ERROR);
irc_display_prefix (server, server->buffer, PREFIX_ERROR);
gui_printf (server->buffer,
_("%s not enough memory for received IRC message\n"),
WEECHAT_ERROR);
@ -668,17 +668,20 @@ server_msgq_flush ()
command, args))
{
case -1:
irc_display_prefix (recv_msgq->server->buffer, PREFIX_ERROR);
irc_display_prefix (recv_msgq->server,
recv_msgq->server->buffer, PREFIX_ERROR);
gui_printf (recv_msgq->server->buffer,
_("%s Command '%s' failed!\n"), WEECHAT_ERROR, command);
break;
case -2:
irc_display_prefix (recv_msgq->server->buffer, PREFIX_ERROR);
irc_display_prefix (recv_msgq->server,
recv_msgq->server->buffer, PREFIX_ERROR);
gui_printf (recv_msgq->server->buffer,
_("%s No command to execute!\n"), WEECHAT_ERROR);
break;
case -3:
irc_display_prefix (recv_msgq->server->buffer, PREFIX_ERROR);
irc_display_prefix (recv_msgq->server,
recv_msgq->server->buffer, PREFIX_ERROR);
gui_printf (recv_msgq->server->buffer,
_("%s Unknown command: cmd=%s, host=%s, args=%s\n"),
WEECHAT_WARNING, command, host, args);
@ -729,7 +732,7 @@ server_recv (t_irc_server *server)
}
else
{
irc_display_prefix (server->buffer, PREFIX_ERROR);
irc_display_prefix (server, server->buffer, PREFIX_ERROR);
gui_printf (server->buffer,
_("%s cannot read data from socket, disconnecting from server...\n"),
WEECHAT_ERROR);
@ -813,7 +816,7 @@ server_reconnect_schedule (t_irc_server *server)
if (server->autoreconnect)
{
server->reconnect_start = time (NULL);
irc_display_prefix (server->buffer, PREFIX_INFO);
irc_display_prefix (server, server->buffer, PREFIX_INFO);
gui_printf (server->buffer, _("%s: Reconnecting to server in %d seconds\n"),
PACKAGE_NAME, server->autoreconnect_delay);
}
@ -842,10 +845,11 @@ server_child_read (t_irc_server *server)
#ifdef HAVE_GNUTLS
if (server->ssl_connected)
{
gnutls_transport_set_ptr (server->gnutls_sess, (gnutls_transport_ptr) server->sock);
gnutls_transport_set_ptr (server->gnutls_sess,
(gnutls_transport_ptr) server->sock);
if (gnutls_handshake (server->gnutls_sess) < 0)
{
irc_display_prefix (server->buffer, PREFIX_ERROR);
irc_display_prefix (server, server->buffer, PREFIX_ERROR);
gui_printf (server->buffer,
_("%s gnutls handshake failed\n"),
WEECHAT_ERROR);
@ -861,7 +865,7 @@ server_child_read (t_irc_server *server)
break;
/* adress not found */
case '1':
irc_display_prefix (server->buffer, PREFIX_ERROR);
irc_display_prefix (server, server->buffer, PREFIX_ERROR);
if (cfg_proxy_use)
gui_printf (server->buffer,
_("%s proxy address \"%s\" not found\n"),
@ -875,7 +879,7 @@ server_child_read (t_irc_server *server)
break;
/* IP address not found */
case '2':
irc_display_prefix (server->buffer, PREFIX_ERROR);
irc_display_prefix (server, server->buffer, PREFIX_ERROR);
if (cfg_proxy_use)
gui_printf (server->buffer,
_("%s proxy IP address not found\n"), WEECHAT_ERROR);
@ -887,7 +891,7 @@ server_child_read (t_irc_server *server)
break;
/* connection refused */
case '3':
irc_display_prefix (server->buffer, PREFIX_ERROR);
irc_display_prefix (server, server->buffer, PREFIX_ERROR);
if (cfg_proxy_use)
gui_printf (server->buffer,
_("%s proxy connection refused\n"), WEECHAT_ERROR);
@ -899,9 +903,11 @@ server_child_read (t_irc_server *server)
break;
/* proxy fails to connect to server */
case '4':
irc_display_prefix (server->buffer, PREFIX_ERROR);
irc_display_prefix (server, server->buffer, PREFIX_ERROR);
gui_printf (server->buffer,
_("%s proxy fails to establish connection to server (check username/password if used)\n"), WEECHAT_ERROR);
_("%s proxy fails to establish connection to "
"server (check username/password if used)\n"),
WEECHAT_ERROR);
server_close_connection (server);
server_reconnect_schedule (server);
break;
@ -1376,14 +1382,14 @@ server_connect (t_irc_server *server)
#ifndef HAVE_GNUTLS
if (server->ssl)
{
irc_display_prefix (server->buffer, PREFIX_ERROR);
irc_display_prefix (server, server->buffer, PREFIX_ERROR);
gui_printf (server->buffer,
_("%s cannot connect with SSL since WeeChat was not built "
"with GNUtls support\n"), WEECHAT_ERROR);
return 0;
}
#endif
irc_display_prefix (server->buffer, PREFIX_INFO);
irc_display_prefix (server, server->buffer, PREFIX_INFO);
if (cfg_proxy_use)
{
gui_printf (server->buffer,
@ -1423,7 +1429,7 @@ server_connect (t_irc_server *server)
{
if (gnutls_init (&server->gnutls_sess, GNUTLS_CLIENT) != 0)
{
irc_display_prefix (server->buffer, PREFIX_ERROR);
irc_display_prefix (server, server->buffer, PREFIX_ERROR);
gui_printf (server->buffer,
_("%s gnutls init error\n"), WEECHAT_ERROR);
return 0;
@ -1438,7 +1444,7 @@ server_connect (t_irc_server *server)
/* create pipe for child process */
if (pipe (child_pipe) < 0)
{
irc_display_prefix (server->buffer, PREFIX_ERROR);
irc_display_prefix (server, server->buffer, PREFIX_ERROR);
gui_printf (server->buffer,
_("%s cannot create pipe\n"), WEECHAT_ERROR);
return 0;
@ -1453,7 +1459,7 @@ server_connect (t_irc_server *server)
server->sock = socket ((server->ipv6) ? AF_INET6 : AF_INET, SOCK_STREAM, 0);
if (server->sock == -1)
{
irc_display_prefix (server->buffer, PREFIX_ERROR);
irc_display_prefix (server, server->buffer, PREFIX_ERROR);
gui_printf (server->buffer,
_("%s cannot create socket\n"), WEECHAT_ERROR);
return 0;
@ -1464,7 +1470,7 @@ server_connect (t_irc_server *server)
if (setsockopt (server->sock, SOL_SOCKET, SO_REUSEADDR,
(void *) &set, sizeof (set)) == -1)
{
irc_display_prefix (server->buffer, PREFIX_ERROR);
irc_display_prefix (server, server->buffer, PREFIX_ERROR);
gui_printf (server->buffer,
_("%s cannot set socket option \"SO_REUSEADDR\"\n"),
WEECHAT_WARNING);
@ -1475,7 +1481,7 @@ server_connect (t_irc_server *server)
if (setsockopt (server->sock, SOL_SOCKET, SO_KEEPALIVE,
(void *) &set, sizeof (set)) == -1)
{
irc_display_prefix (server->buffer, PREFIX_ERROR);
irc_display_prefix (server, server->buffer, PREFIX_ERROR);
gui_printf (server->buffer,
_("%s cannot set socket option \"SO_KEEPALIVE\"\n"),
WEECHAT_WARNING);
@ -1507,7 +1513,7 @@ server_connect (t_irc_server *server)
void
server_reconnect (t_irc_server *server)
{
irc_display_prefix (server->buffer, PREFIX_INFO);
irc_display_prefix (server, server->buffer, PREFIX_INFO);
gui_printf (server->buffer, _("%s: Reconnecting to server...\n"),
PACKAGE_NAME);
server->reconnect_start = 0;
@ -1557,7 +1563,7 @@ server_disconnect (t_irc_server *server, int reconnect)
ptr_channel = ptr_channel->next_channel)
{
nick_free_all (ptr_channel);
irc_display_prefix (ptr_channel->buffer, PREFIX_INFO);
irc_display_prefix (NULL, ptr_channel->buffer, PREFIX_INFO);
gui_printf (ptr_channel->buffer, _("Disconnected from server!\n"));
}
}
@ -1566,7 +1572,7 @@ server_disconnect (t_irc_server *server, int reconnect)
if (server->buffer)
{
irc_display_prefix (server->buffer, PREFIX_INFO);
irc_display_prefix (server, server->buffer, PREFIX_INFO);
gui_printf (server->buffer, _("Disconnected from server!\n"));
}
@ -1638,6 +1644,31 @@ server_get_number_connected ()
return number;
}
/*
* server_get_number_buffer: returns position of a server and total number of
* buffers with a buffer
*/
void
server_get_number_buffer (t_irc_server *server,
int *server_pos, int *server_total)
{
t_irc_server *ptr_server;
*server_pos = 0;
*server_total = 0;
for (ptr_server = irc_servers; ptr_server;
ptr_server = ptr_server->next_server)
{
if (ptr_server->buffer)
{
(*server_total)++;
if (ptr_server == server)
*server_pos = *server_total;
}
}
}
/*
* server_name_already_exists: return 1 if server name already exists
* otherwise return 0

View File

@ -308,6 +308,7 @@ extern void server_disconnect (t_irc_server *, int);
extern void server_disconnect_all ();
extern t_irc_server *server_search (char *);
extern int server_get_number_connected ();
extern void server_get_number_buffer (t_irc_server *, int *, int *);
extern int server_name_already_exists (char *);
extern void server_remove_away ();
extern void server_check_away ();
@ -371,10 +372,11 @@ extern void dcc_end ();
/* IRC display (irc-diplay.c) */
extern void irc_display_prefix (/*@null@*/ t_gui_buffer *, char *);
extern void irc_display_nick (t_gui_buffer *, t_irc_nick *, char *, int, int, int, int);
extern void irc_display_mode (t_gui_buffer *, char *, char, char *, char *,
char *, char *);
extern void irc_display_prefix (t_irc_server *, t_gui_buffer *, char *);
extern void irc_display_nick (t_gui_buffer *, t_irc_nick *, char *, int,
int, int, int);
extern void irc_display_mode (t_irc_server *, t_gui_buffer *, char *, char,
char *, char *, char *, char *);
extern void irc_display_server (t_irc_server *ptr_server);
/* IRC protocol (irc-commands.c) */

View File

@ -210,7 +210,7 @@ plugin_config_read ()
pos = strchr (line, '=');
if (pos == NULL)
{
irc_display_prefix (NULL, PREFIX_ERROR);
irc_display_prefix (NULL, NULL, PREFIX_ERROR);
gui_printf (NULL,
_("%s %s, line %d: invalid syntax, missing \"=\"\n"),
WEECHAT_WARNING, filename, line_number);
@ -261,7 +261,7 @@ plugin_config_write ()
if ((file = fopen (filename, "wt")) == NULL)
{
irc_display_prefix (NULL, PREFIX_ERROR);
irc_display_prefix (NULL, NULL, PREFIX_ERROR);
gui_printf (NULL, _("%s cannot create file \"%s\"\n"),
WEECHAT_ERROR, filename);
free (filename);

View File

@ -169,7 +169,7 @@ weechat_plugin_printf (t_weechat_plugin *plugin,
va_start (argptr, message);
vsnprintf (buf, sizeof (buf) - 1, message, argptr);
va_end (argptr);
irc_display_prefix (ptr_buffer, PREFIX_PLUGIN);
irc_display_prefix (NULL, ptr_buffer, PREFIX_PLUGIN);
gui_printf (ptr_buffer, "%s\n", buf);
}
@ -189,7 +189,7 @@ weechat_plugin_printf_server (t_weechat_plugin *plugin, char *message, ...)
va_start (argptr, message);
vsnprintf (buf, sizeof (buf) - 1, message, argptr);
va_end (argptr);
irc_display_prefix (NULL, PREFIX_PLUGIN);
irc_display_prefix (NULL, NULL, PREFIX_PLUGIN);
gui_printf (NULL, "%s\n", buf);
}

View File

@ -226,7 +226,7 @@ plugin_msg_handler_add (t_weechat_plugin *plugin, char *irc_command,
}
else
{
irc_display_prefix (NULL, PREFIX_ERROR);
irc_display_prefix (NULL, NULL, PREFIX_ERROR);
gui_printf (NULL,
_("%s plugin %s: unable to add handler for IRC command \"%s\" (not enough memory)\n"),
WEECHAT_ERROR, plugin->name, irc_command);
@ -261,7 +261,7 @@ plugin_cmd_handler_add (t_weechat_plugin *plugin, char *command,
if (plugin_cmd_handler_search (command))
{
irc_display_prefix (NULL, PREFIX_ERROR);
irc_display_prefix (NULL, NULL, PREFIX_ERROR);
gui_printf (NULL,
_("%s plugin %s: unable to add handler for \"%s\" command "
"(already exists)\n"),
@ -298,7 +298,7 @@ plugin_cmd_handler_add (t_weechat_plugin *plugin, char *command,
}
else
{
irc_display_prefix (NULL, PREFIX_ERROR);
irc_display_prefix (NULL, NULL, PREFIX_ERROR);
gui_printf (NULL,
_("%s plugin %s: unable to add handler for \"%s\" command (not enough memory)\n"),
WEECHAT_ERROR, plugin->name, command);
@ -546,7 +546,7 @@ plugin_load (char *filename)
handle = dlopen (full_name, RTLD_GLOBAL | RTLD_NOW);
if (!handle)
{
irc_display_prefix (NULL, PREFIX_ERROR);
irc_display_prefix (NULL, NULL, PREFIX_ERROR);
gui_printf (NULL, _("%s unable to load plugin \"%s\": %s\n"),
WEECHAT_ERROR, full_name, dlerror());
free (full_name);
@ -557,7 +557,7 @@ plugin_load (char *filename)
if (!name)
{
dlclose (handle);
irc_display_prefix (NULL, PREFIX_ERROR);
irc_display_prefix (NULL, NULL, PREFIX_ERROR);
gui_printf (NULL, _("%s symbol \"plugin_name\" not found in plugin \"%s\", failed to load\n"),
WEECHAT_ERROR, full_name);
free (full_name);
@ -567,7 +567,7 @@ plugin_load (char *filename)
if (plugin_search (name))
{
dlclose (handle);
irc_display_prefix (NULL, PREFIX_ERROR);
irc_display_prefix (NULL, NULL, PREFIX_ERROR);
gui_printf (NULL,
_("%s unable to load plugin \"%s\": a plugin with "
"same name already exists\n"),
@ -580,7 +580,7 @@ plugin_load (char *filename)
if (!description)
{
dlclose (handle);
irc_display_prefix (NULL, PREFIX_ERROR);
irc_display_prefix (NULL, NULL, PREFIX_ERROR);
gui_printf (NULL, _("%s symbol \"plugin_description\" not found in plugin \"%s\", failed to load\n"),
WEECHAT_ERROR, full_name);
free (full_name);
@ -591,7 +591,7 @@ plugin_load (char *filename)
if (!version)
{
dlclose (handle);
irc_display_prefix (NULL, PREFIX_ERROR);
irc_display_prefix (NULL, NULL, PREFIX_ERROR);
gui_printf (NULL, _("%s symbol \"plugin_version\" not found in plugin \"%s\", failed to load\n"),
WEECHAT_ERROR, full_name);
free (full_name);
@ -602,7 +602,7 @@ plugin_load (char *filename)
if (!init_func)
{
dlclose (handle);
irc_display_prefix (NULL, PREFIX_ERROR);
irc_display_prefix (NULL, NULL, PREFIX_ERROR);
gui_printf (NULL, _("%s function \"weechat_plugin_init\" not found in plugin \"%s\", failed to load\n"),
WEECHAT_ERROR, full_name);
free (full_name);
@ -655,7 +655,7 @@ plugin_load (char *filename)
weechat_plugins = new_plugin;
last_weechat_plugin = new_plugin;
irc_display_prefix (NULL, PREFIX_PLUGIN);
irc_display_prefix (NULL, NULL, PREFIX_PLUGIN);
gui_printf (NULL,
_("Initializing plugin \"%s\" %s\n"),
new_plugin->name, new_plugin->version);
@ -663,7 +663,7 @@ plugin_load (char *filename)
/* init plugin */
if (((t_weechat_init_func *)init_func) (new_plugin) < 0)
{
irc_display_prefix (NULL, PREFIX_ERROR);
irc_display_prefix (NULL, NULL, PREFIX_ERROR);
gui_printf (NULL,
_("%s unable to initialize plugin \"%s\"\n"),
WEECHAT_ERROR, full_name);
@ -674,7 +674,7 @@ plugin_load (char *filename)
}
else
{
irc_display_prefix (NULL, PREFIX_ERROR);
irc_display_prefix (NULL, NULL, PREFIX_ERROR);
gui_printf (NULL,
_("%s unable to load plugin \"%s\" (not enough memory)\n"),
WEECHAT_ERROR, full_name);
@ -682,7 +682,7 @@ plugin_load (char *filename)
return NULL;
}
irc_display_prefix (NULL, PREFIX_PLUGIN);
irc_display_prefix (NULL, NULL, PREFIX_PLUGIN);
gui_printf (NULL,
_("Plugin \"%s\" (%s) loaded.\n"),
name, full_name);
@ -823,12 +823,12 @@ plugin_unload_name (char *name)
if (ptr_plugin)
{
plugin_unload (ptr_plugin);
irc_display_prefix (NULL, PREFIX_PLUGIN);
irc_display_prefix (NULL, NULL, PREFIX_PLUGIN);
gui_printf (NULL, _("Plugin \"%s\" unloaded.\n"), name);
}
else
{
irc_display_prefix (NULL, PREFIX_ERROR);
irc_display_prefix (NULL, NULL, PREFIX_ERROR);
gui_printf (NULL,
_("%s plugin \"%s\" not found\n"),
WEECHAT_ERROR, name);

View File

@ -62,7 +62,7 @@ typedef struct t_weechat_plugin t_weechat_plugin;
typedef int (t_plugin_handler_func) (t_weechat_plugin *, char *, char *, char *, char *, void *);
/* message handler, called when an IRC messages is received */
/* handlers */
typedef enum t_handler_type t_handler_type;

View File

@ -1,10 +1,12 @@
WeeChat - Wee Enhanced Environment for Chat
===========================================
ChangeLog - 2005-10-28
ChangeLog - 2005-10-30
Version 0.1.6 (under dev!):
* added setting for having one server buffer for all servers
(look_one_server_buffer)
* added setting for ignoring some chars when completing nicks
* fixed IRC message parser bug
* signal SIGPIPE is now ignored

View File

@ -1,7 +1,7 @@
WeeChat - Wee Enhanced Environment for Chat
===========================================
TODO - 2005-10-06
TODO - 2005-10-30
Legend:
# done
@ -10,9 +10,6 @@ Legend:
? is this really necessary?
v0.1.6:
------
* General:
+ Windows version
+ Solaris version
@ -20,24 +17,22 @@ v0.1.6:
* Interface:
+ Gtk GUI
+ internationalization (traduce WeeChat in many languages)
- highlight should not occur on partial words
# highlight should not occur on partial words
# one buffer for all servers
- color for nicks (except own nick) when nick colors are disabled
- allow decode/encode charsets for servers or chan (not globally)
- interpret special chars in messages (color & bold for example)
- understand incomplete commands if unambigous (for example: /he for /help is ok)
? Qt GUI
* WeeChat commands
- be able to bind a key on more than one command
- be able to make an alias running more than one command
- host with "*" possible with /ignore command
* Configuration:
- be able to launch more than one command when connecting to server
* Plugins:
- dynamically load plugins as a separate library
- allow print function to write on all buffers or all channels of a server
- Ruby plugin
- "/ruby load" and "/ruby unload" commands to (un)load Ruby scripts
Future versions:
---------------
- "/completion" command: do shortcuts (for example when we type "u"
in the text bar it send it to the server as "you")
- "/last": command to look for text in previous messages
- completion system for scripts arguments
* IRC protocol:
- customizable CTCP version reply
@ -48,15 +43,11 @@ Future versions:
- "/notify" and "/unnotify" command to be warn by WeeChat when a given
nick/host connect to the given irc network
* WeeChat commands:
- "/completion" command: do shortcuts (for example when we type "u"
in the text bar it send it to the server as "you")
- "/last": command to look for text in previous messages
- completion system for scripts arguments
* Configuration:
- be able to launch more than one command when connecting to server
* Interface:
- color for nicks (except own nick) when nick colors are disabled
- allow decode/encode charsets for servers or chan (not globally)
- interpret special chars in messages (color & bold for example)
- understand incomplete commands if unambigous (for example: /he for /help is ok)
? Qt GUI
* Plugins:
# dynamically load plugins as a separate library
- allow print function to write on all buffers or all channels of a server
- Ruby plugin
- "/ruby load" and "/ruby unload" commands to (un)load Ruby scripts

View File

@ -18,6 +18,7 @@
./src/gui/curses/gui-display.c
./src/gui/gtk/gui-display.c
./src/gui/gtk/gui-input.c
./src/gui/gui-action.c
./src/gui/gui-common.c
./src/gui/gui-keyboard.c
./src/gui/gui.h

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -285,7 +285,7 @@ alias_new (char *alias_name, char *alias_command)
if (weelist_search (index_commands, alias_name))
{
irc_display_prefix (NULL, PREFIX_ERROR);
irc_display_prefix (NULL, NULL, PREFIX_ERROR);
gui_printf (NULL, _("%s alias or command \"%s\" already exists!\n"),
WEECHAT_ERROR, alias_name);
return NULL;
@ -295,14 +295,14 @@ alias_new (char *alias_name, char *alias_command)
pos[0] = '\0';
if (alias_search (alias_command))
{
irc_display_prefix (NULL, PREFIX_ERROR);
irc_display_prefix (NULL, NULL, PREFIX_ERROR);
gui_printf (NULL, _("%s alias cannot run another alias!\n"),
WEECHAT_ERROR);
return NULL;
}
if (!weelist_search (index_commands, alias_command))
{
irc_display_prefix (NULL, PREFIX_ERROR);
irc_display_prefix (NULL, NULL, PREFIX_ERROR);
gui_printf (NULL, _("%s target command \"%s\" does not exist!\n"),
WEECHAT_ERROR, alias_command);
return NULL;
@ -530,7 +530,7 @@ exec_weechat_command (t_irc_server *server, char *string)
if (weechat_commands[i].min_arg ==
weechat_commands[i].max_arg)
{
irc_display_prefix (NULL, PREFIX_ERROR);
irc_display_prefix (NULL, NULL, PREFIX_ERROR);
gui_printf (NULL,
_("%s wrong argument count for %s command \"%s\" "
"(expected: %d arg%s)\n"),
@ -542,7 +542,7 @@ exec_weechat_command (t_irc_server *server, char *string)
}
else
{
irc_display_prefix (NULL, PREFIX_ERROR);
irc_display_prefix (NULL, NULL, PREFIX_ERROR);
gui_printf (NULL,
_("%s wrong argument count for %s command \"%s\" "
"(expected: between %d and %d arg%s)\n"),
@ -564,7 +564,7 @@ exec_weechat_command (t_irc_server *server, char *string)
(ptr_args);
if (return_code < 0)
{
irc_display_prefix (NULL, PREFIX_ERROR);
irc_display_prefix (NULL, NULL, PREFIX_ERROR);
gui_printf (NULL,
_("%s command \"%s\" failed\n"),
WEECHAT_ERROR, command + 1);
@ -586,7 +586,7 @@ exec_weechat_command (t_irc_server *server, char *string)
{
if (irc_commands[i].min_arg == irc_commands[i].max_arg)
{
irc_display_prefix (NULL, PREFIX_ERROR);
irc_display_prefix (NULL, NULL, PREFIX_ERROR);
gui_printf
(NULL,
_("%s wrong argument count for IRC command \"%s\" "
@ -598,7 +598,7 @@ exec_weechat_command (t_irc_server *server, char *string)
}
else
{
irc_display_prefix (NULL, PREFIX_ERROR);
irc_display_prefix (NULL, NULL, PREFIX_ERROR);
gui_printf
(NULL,
_("%s wrong argument count for IRC command \"%s\" "
@ -614,7 +614,7 @@ exec_weechat_command (t_irc_server *server, char *string)
if ((irc_commands[i].need_connection) &&
((!server) || (!server->is_connected)))
{
irc_display_prefix (NULL, PREFIX_ERROR);
irc_display_prefix (NULL, NULL, PREFIX_ERROR);
gui_printf (NULL,
_("%s command \"%s\" needs a server connection!\n"),
WEECHAT_ERROR, irc_commands[i].command_name);
@ -629,7 +629,7 @@ exec_weechat_command (t_irc_server *server, char *string)
(server, ptr_args);
if (return_code < 0)
{
irc_display_prefix (NULL, PREFIX_ERROR);
irc_display_prefix (NULL, NULL, PREFIX_ERROR);
gui_printf (NULL,
_("%s command \"%s\" failed\n"),
WEECHAT_ERROR, command + 1);
@ -668,7 +668,7 @@ exec_weechat_command (t_irc_server *server, char *string)
return 1;
}
}
irc_display_prefix (NULL, PREFIX_ERROR);
irc_display_prefix (NULL, NULL, PREFIX_ERROR);
gui_printf (NULL,
_("%s unknown command \"%s\" (type /help for help)\n"),
WEECHAT_ERROR,
@ -744,7 +744,7 @@ user_command (t_irc_server *server, t_gui_buffer *buffer, char *command)
}
else
{
irc_display_prefix (server->buffer, PREFIX_ERROR);
irc_display_prefix (server, server->buffer, PREFIX_ERROR);
gui_printf (server->buffer,
_("%s cannot find nick for sending message\n"),
WEECHAT_ERROR);
@ -768,15 +768,15 @@ user_command (t_irc_server *server, t_gui_buffer *buffer, char *command)
}
else
{
irc_display_prefix (server->buffer, PREFIX_ERROR);
gui_printf (server->buffer,
irc_display_prefix (NULL, NULL, PREFIX_ERROR);
gui_printf (NULL,
_("%s unable to call handler for message (not enough memory)\n"),
WEECHAT_ERROR);
}
}
else
{
irc_display_prefix ((server) ? server->buffer : NULL, PREFIX_ERROR);
irc_display_prefix (NULL, (server) ? server->buffer : NULL, PREFIX_ERROR);
gui_printf_nolog ((server) ? server->buffer : NULL,
_("This window is not a channel!\n"));
}
@ -805,7 +805,7 @@ weechat_cmd_alias (char *arguments)
pos++;
if (!pos[0])
{
irc_display_prefix (NULL, PREFIX_ERROR);
irc_display_prefix (NULL, NULL, PREFIX_ERROR);
gui_printf (NULL, _("%s missing arguments for \"%s\" command\n"),
WEECHAT_ERROR, "alias");
return -1;
@ -814,13 +814,13 @@ weechat_cmd_alias (char *arguments)
return -1;
if (weelist_add (&index_commands, &last_index_command, arguments))
{
irc_display_prefix (NULL, PREFIX_INFO);
irc_display_prefix (NULL, NULL, PREFIX_INFO);
gui_printf (NULL, _("Alias \"%s\" => \"%s\" created\n"),
arguments, pos);
}
else
{
irc_display_prefix (NULL, PREFIX_ERROR);
irc_display_prefix (NULL, NULL, PREFIX_ERROR);
gui_printf (NULL, _("Failed to create alias \"%s\" => \"%s\" "
"(not enough memory)\n"),
arguments, pos);
@ -829,7 +829,7 @@ weechat_cmd_alias (char *arguments)
}
else
{
irc_display_prefix (NULL, PREFIX_ERROR);
irc_display_prefix (NULL, NULL, PREFIX_ERROR);
gui_printf (NULL, _("%s missing arguments for \"%s\" command\n"),
WEECHAT_ERROR, "alias");
return -1;
@ -852,7 +852,7 @@ weechat_cmd_alias (char *arguments)
}
else
{
irc_display_prefix (NULL, PREFIX_INFO);
irc_display_prefix (NULL, NULL, PREFIX_INFO);
gui_printf (NULL, _("No alias defined.\n"));
}
}
@ -939,7 +939,7 @@ weechat_cmd_buffer (int argc, char **argv)
if (argc < 2)
{
irc_display_prefix (NULL, PREFIX_ERROR);
irc_display_prefix (NULL, NULL, PREFIX_ERROR);
gui_printf (NULL, _("%s missing arguments for \"%s\" command\n"),
WEECHAT_ERROR, "buffer");
return -1;
@ -962,7 +962,7 @@ weechat_cmd_buffer (int argc, char **argv)
else
{
/* invalid number */
irc_display_prefix (NULL, PREFIX_ERROR);
irc_display_prefix (NULL, NULL, PREFIX_ERROR);
gui_printf (NULL, _("%s incorrect buffer number\n"),
WEECHAT_ERROR);
return -1;
@ -973,9 +973,11 @@ weechat_cmd_buffer (int argc, char **argv)
/* close buffer (server or channel/private) */
if ((!gui_current_window->buffer->next_buffer)
&& (gui_current_window->buffer == gui_buffers))
&& (gui_current_window->buffer == gui_buffers)
&& ((!gui_current_window->buffer->all_servers)
|| (!SERVER(gui_current_window->buffer))))
{
irc_display_prefix (NULL, PREFIX_ERROR);
irc_display_prefix (NULL, NULL, PREFIX_ERROR);
gui_printf (NULL,
_("%s can not close the single buffer\n"),
WEECHAT_ERROR);
@ -985,7 +987,7 @@ weechat_cmd_buffer (int argc, char **argv)
{
if (SERVER(gui_current_window->buffer)->channels)
{
irc_display_prefix (NULL, PREFIX_ERROR);
irc_display_prefix (NULL, NULL, PREFIX_ERROR);
gui_printf (NULL,
_("%s can not close server buffer while channels "
"are opened\n"),
@ -994,8 +996,18 @@ weechat_cmd_buffer (int argc, char **argv)
}
server_disconnect (SERVER(gui_current_window->buffer), 0);
ptr_server = SERVER(gui_current_window->buffer);
gui_buffer_free (gui_current_window->buffer, 1);
ptr_server->buffer = NULL;
if (!gui_current_window->buffer->all_servers)
{
gui_buffer_free (gui_current_window->buffer, 1);
ptr_server->buffer = NULL;
}
else
{
ptr_server->buffer = NULL;
gui_current_window->buffer->server = NULL;
gui_window_switch_server (gui_current_window);
}
}
else
{
@ -1055,7 +1067,7 @@ weechat_cmd_buffer (int argc, char **argv)
if ((number < NOTIFY_LEVEL_MIN) || (number > NOTIFY_LEVEL_MAX))
{
/* invalid highlight level */
irc_display_prefix (NULL, PREFIX_ERROR);
irc_display_prefix (NULL, NULL, PREFIX_ERROR);
gui_printf (NULL, _("%s incorrect notify level (must be between %d and %d)\n"),
WEECHAT_ERROR, NOTIFY_LEVEL_MIN, NOTIFY_LEVEL_MAX);
return -1;
@ -1064,7 +1076,7 @@ weechat_cmd_buffer (int argc, char **argv)
&& (!BUFFER_IS_PRIVATE(gui_current_window->buffer)))
{
/* invalid buffer type (only ok on channel or private) */
irc_display_prefix (NULL, PREFIX_ERROR);
irc_display_prefix (NULL, NULL, PREFIX_ERROR);
gui_printf (NULL, _("%s incorrect buffer for notify (must be channel or private)\n"),
WEECHAT_ERROR);
return -1;
@ -1077,7 +1089,7 @@ weechat_cmd_buffer (int argc, char **argv)
else
{
/* invalid number */
irc_display_prefix (NULL, PREFIX_ERROR);
irc_display_prefix (NULL, NULL, PREFIX_ERROR);
gui_printf (NULL, _("%s incorrect notify level (must be between %d and %d)\n"),
WEECHAT_ERROR, NOTIFY_LEVEL_MIN, NOTIFY_LEVEL_MAX);
return -1;
@ -1143,7 +1155,7 @@ weechat_cmd_clear (int argc, char **argv)
gui_buffer_clear_all ();
else
{
irc_display_prefix (NULL, PREFIX_ERROR);
irc_display_prefix (NULL, NULL, PREFIX_ERROR);
gui_printf (NULL,
_("unknown parameter \"%s\" for \"%s\" command\n"),
argv[0], "clear");
@ -1173,7 +1185,7 @@ weechat_cmd_connect (int argc, char **argv)
{
if (ptr_server->is_connected)
{
irc_display_prefix (NULL, PREFIX_ERROR);
irc_display_prefix (NULL, NULL, PREFIX_ERROR);
gui_printf (NULL,
_("%s already connected to server \"%s\"!\n"),
WEECHAT_ERROR, ptr_server->name);
@ -1181,7 +1193,7 @@ weechat_cmd_connect (int argc, char **argv)
}
if (ptr_server->child_pid > 0)
{
irc_display_prefix (NULL, PREFIX_ERROR);
irc_display_prefix (NULL, NULL, PREFIX_ERROR);
gui_printf (NULL,
_("%s currently connecting to server \"%s\"!\n"),
WEECHAT_ERROR, ptr_server->name);
@ -1200,7 +1212,7 @@ weechat_cmd_connect (int argc, char **argv)
}
else
{
irc_display_prefix (NULL, PREFIX_ERROR);
irc_display_prefix (NULL, NULL, PREFIX_ERROR);
gui_printf (NULL, _("%s server not found\n"), WEECHAT_ERROR);
return -1;
}
@ -1216,7 +1228,7 @@ weechat_cmd_debug (int argc, char **argv)
{
if (argc != 1)
{
irc_display_prefix (NULL, PREFIX_ERROR);
irc_display_prefix (NULL, NULL, PREFIX_ERROR);
gui_printf (NULL,
_("%s wrong argument count for \"%s\" command\n"),
WEECHAT_ERROR, "debug");
@ -1229,7 +1241,7 @@ weechat_cmd_debug (int argc, char **argv)
}
else
{
irc_display_prefix (NULL, PREFIX_ERROR);
irc_display_prefix (NULL, NULL, PREFIX_ERROR);
gui_printf (NULL,
_("%s unknown option for \"%s\" command\n"),
WEECHAT_ERROR, "debug");
@ -1258,7 +1270,7 @@ weechat_cmd_disconnect (int argc, char **argv)
if ((!ptr_server->is_connected) && (ptr_server->child_pid == 0)
&& (ptr_server->reconnect_start == 0))
{
irc_display_prefix (ptr_server->buffer, PREFIX_ERROR);
irc_display_prefix (NULL, ptr_server->buffer, PREFIX_ERROR);
gui_printf (ptr_server->buffer,
_("%s not connected to server \"%s\"!\n"),
WEECHAT_ERROR, ptr_server->name);
@ -1266,7 +1278,7 @@ weechat_cmd_disconnect (int argc, char **argv)
}
if (ptr_server->reconnect_start > 0)
{
irc_display_prefix (ptr_server->buffer, PREFIX_INFO);
irc_display_prefix (NULL, ptr_server->buffer, PREFIX_INFO);
gui_printf (ptr_server->buffer,
_("Auto-reconnection is cancelled\n"));
}
@ -1275,7 +1287,7 @@ weechat_cmd_disconnect (int argc, char **argv)
}
else
{
irc_display_prefix (NULL, PREFIX_ERROR);
irc_display_prefix (NULL, NULL, PREFIX_ERROR);
gui_printf (NULL, _("%s server not found\n"), WEECHAT_ERROR);
return -1;
}
@ -1427,7 +1439,7 @@ weechat_cmd_help (int argc, char **argv)
}
}
#endif
irc_display_prefix (NULL, PREFIX_ERROR);
irc_display_prefix (NULL, NULL, PREFIX_ERROR);
gui_printf (NULL,
_("No help available, \"%s\" is an unknown command\n"),
argv[0]);
@ -1489,7 +1501,7 @@ weechat_cmd_ignore (int argc, char **argv)
}
else
{
irc_display_prefix (NULL, PREFIX_INFO);
irc_display_prefix (NULL, NULL, PREFIX_INFO);
gui_printf (NULL, _("No ignore defined.\n"));
}
return 0;
@ -1583,7 +1595,7 @@ weechat_cmd_key (char *arguments)
gui_printf (NULL, _("Key \"%s\" unbinded\n"), arguments);
else
{
irc_display_prefix (NULL, PREFIX_ERROR);
irc_display_prefix (NULL, NULL, PREFIX_ERROR);
gui_printf (NULL,
_("%s unable to unbind key \"%s\"\n"),
WEECHAT_ERROR, arguments);
@ -1616,7 +1628,7 @@ weechat_cmd_key (char *arguments)
}
else
{
irc_display_prefix (NULL, PREFIX_ERROR);
irc_display_prefix (NULL, NULL, PREFIX_ERROR);
gui_printf (NULL,
_("%s \"-yes\" argument is required for keys reset (securuty reason)\n"),
WEECHAT_ERROR);
@ -1630,7 +1642,7 @@ weechat_cmd_key (char *arguments)
pos = strchr (arguments, ' ');
if (!pos)
{
irc_display_prefix (NULL, PREFIX_ERROR);
irc_display_prefix (NULL, NULL, PREFIX_ERROR);
gui_printf (NULL,
_("%s wrong argument count for \"%s\" command\n"),
WEECHAT_ERROR, "key");
@ -1645,7 +1657,7 @@ weechat_cmd_key (char *arguments)
weechat_cmd_key_display (ptr_key, 1);
else
{
irc_display_prefix (NULL, PREFIX_ERROR);
irc_display_prefix (NULL, NULL, PREFIX_ERROR);
gui_printf (NULL,
_("%s unable to bind key \"%s\"\n"),
WEECHAT_ERROR, arguments);
@ -1673,13 +1685,13 @@ weechat_cmd_plugin (int argc, char **argv)
case 0:
/* list plugins */
gui_printf (NULL, "\n");
irc_display_prefix (NULL, PREFIX_PLUGIN);
irc_display_prefix (NULL, NULL, PREFIX_PLUGIN);
gui_printf (NULL, _("Plugins loaded:\n"));
for (ptr_plugin = weechat_plugins; ptr_plugin;
ptr_plugin = ptr_plugin->next_plugin)
{
/* plugin info */
irc_display_prefix (NULL, PREFIX_PLUGIN);
irc_display_prefix (NULL, NULL, PREFIX_PLUGIN);
gui_printf (NULL, " %s v%s - %s (%s)\n",
ptr_plugin->name,
ptr_plugin->version,
@ -1687,7 +1699,7 @@ weechat_cmd_plugin (int argc, char **argv)
ptr_plugin->filename);
/* message handlers */
irc_display_prefix (NULL, PREFIX_PLUGIN);
irc_display_prefix (NULL, NULL, PREFIX_PLUGIN);
gui_printf (NULL, _(" message handlers:\n"));
handler_found = 0;
for (ptr_handler = ptr_plugin->handlers;
@ -1696,19 +1708,19 @@ weechat_cmd_plugin (int argc, char **argv)
if (ptr_handler->type == HANDLER_MESSAGE)
{
handler_found = 1;
irc_display_prefix (NULL, PREFIX_PLUGIN);
irc_display_prefix (NULL, NULL, PREFIX_PLUGIN);
gui_printf (NULL, _(" IRC(%s)\n"),
ptr_handler->irc_command);
}
}
if (!handler_found)
{
irc_display_prefix (NULL, PREFIX_PLUGIN);
irc_display_prefix (NULL, NULL, PREFIX_PLUGIN);
gui_printf (NULL, _(" (no message handler)\n"));
}
/* command handlers */
irc_display_prefix (NULL, PREFIX_PLUGIN);
irc_display_prefix (NULL, NULL, PREFIX_PLUGIN);
gui_printf (NULL, _(" command handlers:\n"));
handler_found = 0;
for (ptr_handler = ptr_plugin->handlers;
@ -1717,7 +1729,7 @@ weechat_cmd_plugin (int argc, char **argv)
if (ptr_handler->type == HANDLER_COMMAND)
{
handler_found = 1;
irc_display_prefix (NULL, PREFIX_PLUGIN);
irc_display_prefix (NULL, NULL, PREFIX_PLUGIN);
gui_printf (NULL, " /%s",
ptr_handler->command);
if (ptr_handler->description
@ -1729,13 +1741,13 @@ weechat_cmd_plugin (int argc, char **argv)
}
if (!handler_found)
{
irc_display_prefix (NULL, PREFIX_PLUGIN);
irc_display_prefix (NULL, NULL, PREFIX_PLUGIN);
gui_printf (NULL, _(" (no command handler)\n"));
}
}
if (!weechat_plugins)
{
irc_display_prefix (NULL, PREFIX_PLUGIN);
irc_display_prefix (NULL, NULL, PREFIX_PLUGIN);
gui_printf (NULL, _(" (no plugin)\n"));
}
break;
@ -1757,20 +1769,20 @@ weechat_cmd_plugin (int argc, char **argv)
plugin_unload_name (argv[1]);
else
{
irc_display_prefix (NULL, PREFIX_ERROR);
irc_display_prefix (NULL, NULL, PREFIX_ERROR);
gui_printf (NULL,
_("%s unknown option for \"%s\" command\n"),
WEECHAT_ERROR, "plugin");
}
break;
default:
irc_display_prefix (NULL, PREFIX_ERROR);
irc_display_prefix (NULL, NULL, PREFIX_ERROR);
gui_printf (NULL,
_("%s wrong argument count for \"%s\" command\n"),
WEECHAT_ERROR, "plugin");
}
#else
irc_display_prefix (NULL, PREFIX_ERROR);
irc_display_prefix (NULL, NULL, PREFIX_ERROR);
gui_printf (NULL,
_("Command \"plugin\" is not available, WeeChat was built "
"without plugins support.\n"));
@ -1818,7 +1830,7 @@ weechat_cmd_server (int argc, char **argv)
}
else
{
irc_display_prefix (NULL, PREFIX_INFO);
irc_display_prefix (NULL, NULL, PREFIX_INFO);
gui_printf (NULL, _("No server.\n"));
}
}
@ -1829,7 +1841,7 @@ weechat_cmd_server (int argc, char **argv)
irc_display_server (ptr_server);
else
{
irc_display_prefix (NULL, PREFIX_INFO);
irc_display_prefix (NULL, NULL, PREFIX_INFO);
gui_printf (NULL, _("Server '%s' not found.\n"), argv[0]);
}
}
@ -1840,7 +1852,7 @@ weechat_cmd_server (int argc, char **argv)
{
if (argc < 2)
{
irc_display_prefix (NULL, PREFIX_ERROR);
irc_display_prefix (NULL, NULL, PREFIX_ERROR);
gui_printf (NULL,
_("%s missing servername for \"%s\" command\n"),
WEECHAT_ERROR, "server del");
@ -1848,7 +1860,7 @@ weechat_cmd_server (int argc, char **argv)
}
if (argc > 2)
{
irc_display_prefix (NULL, PREFIX_ERROR);
irc_display_prefix (NULL, NULL, PREFIX_ERROR);
gui_printf (NULL,
_("%s too much arguments for \"%s\" command, ignoring arguments\n"),
WEECHAT_WARNING, "server del");
@ -1867,7 +1879,7 @@ weechat_cmd_server (int argc, char **argv)
}
if (!server_found)
{
irc_display_prefix (NULL, PREFIX_ERROR);
irc_display_prefix (NULL, NULL, PREFIX_ERROR);
gui_printf (NULL,
_("%s server \"%s\" not found for \"%s\" command\n"),
WEECHAT_ERROR, argv[1], "server del");
@ -1875,7 +1887,7 @@ weechat_cmd_server (int argc, char **argv)
}
if (server_found->is_connected)
{
irc_display_prefix (NULL, PREFIX_ERROR);
irc_display_prefix (NULL, NULL, PREFIX_ERROR);
gui_printf (NULL,
_("%s you can not delete server \"%s\" because you are connected to. "
"Try /disconnect %s before.\n"),
@ -1892,7 +1904,7 @@ weechat_cmd_server (int argc, char **argv)
}
}
irc_display_prefix (NULL, PREFIX_INFO);
irc_display_prefix (NULL, NULL, PREFIX_INFO);
gui_printf_color (NULL, COLOR_WIN_CHAT, _("Server"));
gui_printf_color (NULL, COLOR_WIN_CHAT_CHANNEL,
" %s ", server_found->name);
@ -1909,7 +1921,7 @@ weechat_cmd_server (int argc, char **argv)
if (argc < 3)
{
irc_display_prefix (NULL, PREFIX_ERROR);
irc_display_prefix (NULL, NULL, PREFIX_ERROR);
gui_printf (NULL,
_("%s missing parameters for \"%s\" command\n"),
WEECHAT_ERROR, "server");
@ -1919,7 +1931,7 @@ weechat_cmd_server (int argc, char **argv)
if (server_name_already_exists (argv[0]))
{
irc_display_prefix (NULL, PREFIX_ERROR);
irc_display_prefix (NULL, NULL, PREFIX_ERROR);
gui_printf (NULL,
_("%s server \"%s\" already exists, can't create it!\n"),
WEECHAT_ERROR, argv[0]);
@ -1948,7 +1960,7 @@ weechat_cmd_server (int argc, char **argv)
{
if (i == (argc - 1))
{
irc_display_prefix (NULL, PREFIX_ERROR);
irc_display_prefix (NULL, NULL, PREFIX_ERROR);
gui_printf (NULL,
_("%s missing password for \"%s\" parameter\n"),
WEECHAT_ERROR, "-pwd");
@ -1961,7 +1973,7 @@ weechat_cmd_server (int argc, char **argv)
{
if (i >= (argc - 3))
{
irc_display_prefix (NULL, PREFIX_ERROR);
irc_display_prefix (NULL, NULL, PREFIX_ERROR);
gui_printf (NULL,
_("%s missing nick(s) for \"%s\" parameter\n"),
WEECHAT_ERROR, "-nicks");
@ -1976,7 +1988,7 @@ weechat_cmd_server (int argc, char **argv)
{
if (i == (argc - 1))
{
irc_display_prefix (NULL, PREFIX_ERROR);
irc_display_prefix (NULL, NULL, PREFIX_ERROR);
gui_printf (NULL,
_("%s missing password for \"%s\" parameter\n"),
WEECHAT_ERROR, "-username");
@ -1989,7 +2001,7 @@ weechat_cmd_server (int argc, char **argv)
{
if (i == (argc - 1))
{
irc_display_prefix (NULL, PREFIX_ERROR);
irc_display_prefix (NULL, NULL, PREFIX_ERROR);
gui_printf (NULL,
_("%s missing password for \"%s\" parameter\n"),
WEECHAT_ERROR, "-realname");
@ -2002,7 +2014,7 @@ weechat_cmd_server (int argc, char **argv)
{
if (i == (argc - 1))
{
irc_display_prefix (NULL, PREFIX_ERROR);
irc_display_prefix (NULL, NULL, PREFIX_ERROR);
gui_printf (NULL,
_("%s missing command for \"%s\" parameter\n"),
WEECHAT_ERROR, "-command");
@ -2015,7 +2027,7 @@ weechat_cmd_server (int argc, char **argv)
{
if (i == (argc - 1))
{
irc_display_prefix (NULL, PREFIX_ERROR);
irc_display_prefix (NULL, NULL, PREFIX_ERROR);
gui_printf (NULL,
_("%s missing password for \"%s\" parameter\n"),
WEECHAT_ERROR, "-autojoin");
@ -2038,7 +2050,7 @@ weechat_cmd_server (int argc, char **argv)
server.command, 1, server.autojoin, 1, NULL);
if (new_server)
{
irc_display_prefix (NULL, PREFIX_INFO);
irc_display_prefix (NULL, NULL, PREFIX_INFO);
gui_printf_color (NULL, COLOR_WIN_CHAT, _("Server"));
gui_printf_color (NULL, COLOR_WIN_CHAT_CHANNEL,
" %s ", server.name);
@ -2046,7 +2058,7 @@ weechat_cmd_server (int argc, char **argv)
}
else
{
irc_display_prefix (NULL, PREFIX_ERROR);
irc_display_prefix (NULL, NULL, PREFIX_ERROR);
gui_printf (NULL,
_("%s unable to create server\n"),
WEECHAT_ERROR);
@ -2188,7 +2200,7 @@ weechat_cmd_set (char *arguments)
ptr_server = server_search (option);
if (!ptr_server)
{
irc_display_prefix (NULL, PREFIX_ERROR);
irc_display_prefix (NULL, NULL, PREFIX_ERROR);
gui_printf (NULL,
_("%s server \"%s\" not found\n"),
WEECHAT_ERROR, option);
@ -2220,12 +2232,12 @@ weechat_cmd_set (char *arguments)
config_change_buffer_content ();
break;
case -1:
irc_display_prefix (NULL, PREFIX_ERROR);
irc_display_prefix (NULL, NULL, PREFIX_ERROR);
gui_printf (NULL, _("%s config option \"%s\" not found\n"),
WEECHAT_ERROR, pos + 1);
break;
case -2:
irc_display_prefix (NULL, PREFIX_ERROR);
irc_display_prefix (NULL, NULL, PREFIX_ERROR);
gui_printf (NULL, _("%s incorrect value for option \"%s\"\n"),
WEECHAT_ERROR, pos + 1);
break;
@ -2240,7 +2252,7 @@ weechat_cmd_set (char *arguments)
{
if (ptr_option->handler_change == NULL)
{
irc_display_prefix (NULL, PREFIX_ERROR);
irc_display_prefix (NULL, NULL, PREFIX_ERROR);
gui_printf (NULL,
_("%s option \"%s\" can not be changed while WeeChat is running\n"),
WEECHAT_ERROR, option);
@ -2258,7 +2270,7 @@ weechat_cmd_set (char *arguments)
}
else
{
irc_display_prefix (NULL, PREFIX_ERROR);
irc_display_prefix (NULL, NULL, PREFIX_ERROR);
gui_printf (NULL, _("%s incorrect value for option \"%s\"\n"),
WEECHAT_ERROR, option);
}
@ -2266,7 +2278,7 @@ weechat_cmd_set (char *arguments)
}
else
{
irc_display_prefix (NULL, PREFIX_ERROR);
irc_display_prefix (NULL, NULL, PREFIX_ERROR);
gui_printf (NULL, _("%s config option \"%s\" not found\n"),
WEECHAT_ERROR, option);
}
@ -2432,7 +2444,7 @@ weechat_cmd_unalias (char *arguments)
ptr_weelist = weelist_search (index_commands, arguments);
if (!ptr_weelist)
{
irc_display_prefix (NULL, PREFIX_ERROR);
irc_display_prefix (NULL, NULL, PREFIX_ERROR);
gui_printf (NULL, _("%s alias or command \"%s\" not found\n"),
WEECHAT_ERROR, arguments);
return -1;
@ -2442,7 +2454,7 @@ weechat_cmd_unalias (char *arguments)
ptr_alias = alias_search (arguments);
if (ptr_alias)
alias_free (ptr_alias);
irc_display_prefix (NULL, PREFIX_INFO);
irc_display_prefix (NULL, NULL, PREFIX_INFO);
gui_printf (NULL, _("Alias \"%s\" removed\n"),
arguments);
return 0;
@ -2493,7 +2505,7 @@ weechat_cmd_unignore (int argc, char **argv)
if (ret)
{
irc_display_prefix (NULL, PREFIX_INFO);
irc_display_prefix (NULL, NULL, PREFIX_INFO);
gui_printf_color (NULL, COLOR_WIN_CHAT_CHANNEL, "%d ", ret);
if (ret > 1)
gui_printf (NULL, _("ignore were removed.\n"));
@ -2502,7 +2514,7 @@ weechat_cmd_unignore (int argc, char **argv)
}
else
{
irc_display_prefix (NULL, PREFIX_ERROR);
irc_display_prefix (NULL, NULL, PREFIX_ERROR);
gui_printf (NULL, _("%s no ignore found\n"),
WEECHAT_ERROR);
return -1;
@ -2578,7 +2590,7 @@ weechat_cmd_window (int argc, char **argv)
gui_window_merge_all (gui_current_window);
else
{
irc_display_prefix (NULL, PREFIX_ERROR);
irc_display_prefix (NULL, NULL, PREFIX_ERROR);
gui_printf (NULL,
_("%s unknown option for \"%s\" command\n"),
WEECHAT_ERROR, "window merge");
@ -2602,7 +2614,7 @@ weechat_cmd_window (int argc, char **argv)
gui_switch_to_next_window (gui_current_window);
else
{
irc_display_prefix (NULL, PREFIX_ERROR);
irc_display_prefix (NULL, NULL, PREFIX_ERROR);
gui_printf (NULL,
_("%s unknown option for \"%s\" command\n"),
WEECHAT_ERROR, "window");

View File

@ -120,7 +120,7 @@ fifo_exec (char *text)
pos_msg = strstr (text, " *");
if (!pos_msg)
{
irc_display_prefix (NULL, PREFIX_ERROR);
irc_display_prefix (NULL, NULL, PREFIX_ERROR);
gui_printf (NULL, _("%s invalid text received on FIFO pipe\n"),
WEECHAT_WARNING);
return;
@ -142,7 +142,7 @@ fifo_exec (char *text)
ptr_server = server_search (text);
if (!ptr_server || !ptr_server->buffer)
{
irc_display_prefix (NULL, PREFIX_ERROR);
irc_display_prefix (NULL, NULL, PREFIX_ERROR);
gui_printf (NULL, _("%s server \"%s\" not found (FIFO pipe data)\n"),
WEECHAT_WARNING, text);
return;
@ -154,8 +154,9 @@ fifo_exec (char *text)
ptr_channel = channel_search (ptr_server, pos + 1);
if (!ptr_channel)
{
irc_display_prefix (NULL, PREFIX_ERROR);
gui_printf (NULL, _("%s channel \"%s\" not found (FIFO pipe data)\n"),
irc_display_prefix (NULL, NULL, PREFIX_ERROR);
gui_printf (NULL,
_("%s channel \"%s\" not found (FIFO pipe data)\n"),
WEECHAT_WARNING, pos + 1);
return;
}

View File

@ -72,6 +72,7 @@ char *cfg_look_charset_decode_iso;
char *cfg_look_charset_decode_utf;
char *cfg_look_charset_encode;
char *cfg_look_charset_internal;
int cfg_look_one_server_buffer;
char *cfg_look_buffer_timestamp;
int cfg_look_color_nicks;
int cfg_look_color_nicks_number;
@ -133,6 +134,10 @@ t_config_option weechat_options_look[] =
N_("forces internal WeeChat charset (should be empty in most cases, that means detected charset is used)"),
OPTION_TYPE_STRING, 0, 0, 0,
"", NULL, NULL, &cfg_look_charset_internal, config_change_charset },
{ "look_one_server_buffer", N_("use same buffer for all servers"),
N_("use same buffer for all servers"),
OPTION_TYPE_BOOLEAN, BOOL_FALSE, BOOL_TRUE, BOOL_FALSE,
NULL, NULL, &cfg_look_one_server_buffer, NULL, config_change_one_server_buffer },
{ "look_buffer_timestamp", N_("timestamp for buffers"),
N_("timestamp for buffers"),
OPTION_TYPE_STRING, 0, 0, 0,
@ -241,6 +246,7 @@ int cfg_col_chat_time;
int cfg_col_chat_time_sep;
int cfg_col_chat_prefix1;
int cfg_col_chat_prefix2;
int cfg_col_chat_server;
int cfg_col_chat_join;
int cfg_col_chat_part;
int cfg_col_chat_nick;
@ -320,6 +326,10 @@ t_config_option weechat_options_colors[] =
N_("color for middle char of prefix"),
OPTION_TYPE_COLOR, 0, 0, 0,
"white", NULL, &cfg_col_chat_prefix2, NULL, &config_change_color },
{ "col_chat_server", N_("color for server name"),
N_("color for server name"),
OPTION_TYPE_COLOR, 0, 0, 0,
"brown", NULL, &cfg_col_chat_server, NULL, &config_change_color },
{ "col_chat_join", N_("color for join arrow (prefix)"),
N_("color for join arrow (prefix)"),
OPTION_TYPE_COLOR, 0, 0, 0,
@ -1010,6 +1020,20 @@ config_change_charset ()
gui_redraw_buffer (gui_current_window->buffer);
}
/*
* config_change_one_server_buffer: called when the "one server buffer"
* setting is changed
*/
void
config_change_one_server_buffer ()
{
if (cfg_look_one_server_buffer)
gui_merge_servers (gui_current_window);
else
gui_split_server (gui_current_window);
}
/*
* config_change_color: called when a color is changed by /set command
*/

View File

@ -87,6 +87,7 @@ extern char *cfg_look_charset_decode_iso;
extern char *cfg_look_charset_decode_utf;
extern char *cfg_look_charset_encode;
extern char *cfg_look_charset_internal;
extern int cfg_look_one_server_buffer;
extern char *cfg_look_buffer_timestamp;
extern int cfg_look_color_nicks;
extern int cfg_look_color_nicks_number;
@ -118,6 +119,7 @@ extern int cfg_col_chat_time;
extern int cfg_col_chat_time_sep;
extern int cfg_col_chat_prefix1;
extern int cfg_col_chat_prefix2;
extern int cfg_col_chat_server;
extern int cfg_col_chat_join;
extern int cfg_col_chat_part;
extern int cfg_col_chat_nick;
@ -222,6 +224,7 @@ extern void config_change_title ();
extern void config_change_buffers ();
extern void config_change_buffer_content ();
extern void config_change_charset ();
extern void config_change_one_server_buffer ();
extern void config_change_color ();
extern void config_change_nicks_colors ();
extern void config_change_away_check ();

View File

@ -20,6 +20,7 @@ INCLUDES = -DLOCALEDIR=\"$(datadir)/locale\"
noinst_LIBRARIES = lib_weechat_gui_common.a
lib_weechat_gui_common_a_SOURCES = gui-common.c \
gui-action.c \
gui-keyboard.c \
gui.h

View File

@ -20,6 +20,7 @@ INCLUDES = -DLOCALEDIR=\"$(datadir)/locale\"
bin_PROGRAMS = weechat-curses
weechat_curses_LDADD = ../gui-common.o ../gui-keyboard.o \
../gui-action.o \
../../common/lib_weechat_main.a \
../../irc/lib_weechat_irc.a \
$(PLUGINS_LIBS) \

View File

@ -1222,8 +1222,8 @@ gui_draw_buffer_status (t_gui_buffer *buffer, int erase)
{
t_gui_window *ptr_win;
t_weechat_hotlist *ptr_hotlist;
char format[32], str_nicks[32], *string;
int i, first_mode, x;
char format[32], str_nicks[32], *more;
int i, first_mode, x, server_pos, server_total;
int display_name, names_count;
/* make gcc happy */
@ -1256,27 +1256,31 @@ gui_draw_buffer_status (t_gui_buffer *buffer, int erase)
COLOR_WIN_STATUS_DELIMITERS);
wprintw (ptr_win->win_status, "] ");
/* display current server */
if (SERVER(ptr_win->buffer) && SERVER(ptr_win->buffer)->name)
/* display "<servers>" or current server */
if (ptr_win->buffer->all_servers)
{
wprintw (ptr_win->win_status, "[");
gui_window_set_color (ptr_win->win_status,
COLOR_WIN_STATUS);
wprintw (ptr_win->win_status, _("<servers>"));
gui_window_set_color (ptr_win->win_status,
COLOR_WIN_STATUS_DELIMITERS);
wprintw (ptr_win->win_status, "] ");
}
else if (SERVER(ptr_win->buffer) && SERVER(ptr_win->buffer)->name)
{
wprintw (ptr_win->win_status, "[");
gui_window_set_color (ptr_win->win_status,
COLOR_WIN_STATUS);
wprintw (ptr_win->win_status, "%s", SERVER(ptr_win->buffer)->name);
if (SERVER(ptr_win->buffer)->is_away)
{
string = weechat_convert_encoding ((local_utf8) ?
cfg_look_charset_decode_iso : cfg_look_charset_decode_utf,
(cfg_look_charset_internal && cfg_look_charset_internal[0]) ?
cfg_look_charset_internal : local_charset,
_("(away)"));
wprintw (ptr_win->win_status, string);
free (string);
}
wprintw (ptr_win->win_status, _("(away)"));
gui_window_set_color (ptr_win->win_status,
COLOR_WIN_STATUS_DELIMITERS);
wprintw (ptr_win->win_status, "] ");
}
/* infos about current buffer */
if (SERVER(ptr_win->buffer) && !CHANNEL(ptr_win->buffer))
{
gui_window_set_color (ptr_win->win_status,
@ -1294,6 +1298,28 @@ gui_draw_buffer_status (t_gui_buffer *buffer, int erase)
else
wprintw (ptr_win->win_status, "(%s) ",
SERVER(ptr_win->buffer)->name);
if (ptr_win->buffer->all_servers)
{
server_get_number_buffer (SERVER(ptr_win->buffer),
&server_pos,
&server_total);
gui_window_set_color (ptr_win->win_status,
COLOR_WIN_STATUS_DELIMITERS);
wprintw (ptr_win->win_status, "(");
gui_window_set_color (ptr_win->win_status,
COLOR_WIN_STATUS);
wprintw (ptr_win->win_status, "%d", server_pos);
gui_window_set_color (ptr_win->win_status,
COLOR_WIN_STATUS_DELIMITERS);
wprintw (ptr_win->win_status, "/");
gui_window_set_color (ptr_win->win_status,
COLOR_WIN_STATUS);
wprintw (ptr_win->win_status, "%d", server_total);
gui_window_set_color (ptr_win->win_status,
COLOR_WIN_STATUS_DELIMITERS);
wprintw (ptr_win->win_status, ") ");
}
}
if (SERVER(ptr_win->buffer) && CHANNEL(ptr_win->buffer))
{
@ -1382,15 +1408,7 @@ gui_draw_buffer_status (t_gui_buffer *buffer, int erase)
if (ptr_win->buffer->dcc)
wprintw (ptr_win->win_status, "<DCC> ");
else
{
string = weechat_convert_encoding ((local_utf8) ?
cfg_look_charset_decode_iso : cfg_look_charset_decode_utf,
(cfg_look_charset_internal && cfg_look_charset_internal[0]) ?
cfg_look_charset_internal : local_charset,
_("[not connected]"));
wprintw (ptr_win->win_status, "%s " , string);
free (string);
}
wprintw (ptr_win->win_status, _("[not connected] "));
}
/* display list of other active windows (if any) with numbers */
@ -1400,13 +1418,7 @@ gui_draw_buffer_status (t_gui_buffer *buffer, int erase)
COLOR_WIN_STATUS_DELIMITERS);
wprintw (ptr_win->win_status, "[");
gui_window_set_color (ptr_win->win_status, COLOR_WIN_STATUS);
string = weechat_convert_encoding ((local_utf8) ?
cfg_look_charset_decode_iso : cfg_look_charset_decode_utf,
(cfg_look_charset_internal && cfg_look_charset_internal[0]) ?
cfg_look_charset_internal : local_charset,
_("Act: "));
wprintw (ptr_win->win_status, string);
free (string);
wprintw (ptr_win->win_status, _("Act: "));
names_count = 0;
for (ptr_hotlist = hotlist; ptr_hotlist;
@ -1494,14 +1506,8 @@ gui_draw_buffer_status (t_gui_buffer *buffer, int erase)
COLOR_WIN_STATUS_DELIMITERS);
wprintw (ptr_win->win_status, "[");
gui_window_set_color (ptr_win->win_status, COLOR_WIN_STATUS);
string = weechat_convert_encoding ((local_utf8) ?
cfg_look_charset_decode_iso : cfg_look_charset_decode_utf,
(cfg_look_charset_internal && cfg_look_charset_internal[0]) ?
cfg_look_charset_internal : local_charset,
_("Lag: %.1f"));
wprintw (ptr_win->win_status, string,
wprintw (ptr_win->win_status, _("Lag: %.1f"),
((float)(SERVER(ptr_win->buffer)->lag)) / 1000);
free (string);
gui_window_set_color (ptr_win->win_status,
COLOR_WIN_STATUS_DELIMITERS);
wprintw (ptr_win->win_status, "]");
@ -1516,20 +1522,16 @@ gui_draw_buffer_status (t_gui_buffer *buffer, int erase)
}
else
x = ptr_win->win_width - 2;
string = weechat_convert_encoding ((local_utf8) ?
cfg_look_charset_decode_iso : cfg_look_charset_decode_utf,
(cfg_look_charset_internal && cfg_look_charset_internal[0]) ?
cfg_look_charset_internal : local_charset,
_("-MORE-"));
x -= strlen (string) - 1;
more = strdup (_("-MORE-"));
x -= strlen (more) - 1;
if (x < 0)
x = 0;
gui_window_set_color (ptr_win->win_status, COLOR_WIN_STATUS_MORE);
if (ptr_win->start_line)
mvwprintw (ptr_win->win_status, 0, x, "%s", string);
mvwprintw (ptr_win->win_status, 0, x, "%s", more);
else
{
snprintf (format, sizeof (format) - 1, "%%-%ds", (int)(strlen (string)));
snprintf (format, sizeof (format) - 1, "%%-%ds", (int)(strlen (more)));
mvwprintw (ptr_win->win_status, 0, x, format, " ");
}
if (gui_buffer_has_nicklist (ptr_win->buffer))
@ -1543,7 +1545,7 @@ gui_draw_buffer_status (t_gui_buffer *buffer, int erase)
COLOR_WIN_STATUS_DELIMITERS);
wprintw (ptr_win->win_status, "]");
}
free (string);
free (more);
wnoutrefresh (ptr_win->win_status);
refresh ();
@ -1778,8 +1780,8 @@ gui_draw_buffer_input (t_gui_buffer *buffer, int erase)
wprintw (ptr_win->win_input, format,
"");
wclrtoeol (ptr_win->win_input);
ptr_win->win_input_x = strlen (CHANNEL(buffer)->name) +
strlen (SERVER(buffer)->nick) + 3 +
ptr_win->win_input_x = utf8_strlen (CHANNEL(buffer)->name) +
utf8_strlen (SERVER(buffer)->nick) + 3 +
(buffer->input_buffer_pos - buffer->input_buffer_1st_display);
if (ptr_win == gui_current_window)
move (ptr_win->win_y + ptr_win->win_height - 1,
@ -1805,7 +1807,7 @@ gui_draw_buffer_input (t_gui_buffer *buffer, int erase)
wprintw (ptr_win->win_input, format,
"");
wclrtoeol (ptr_win->win_input);
ptr_win->win_input_x = strlen (ptr_nickname) + 2 +
ptr_win->win_input_x = utf8_strlen (ptr_nickname) + 2 +
(buffer->input_buffer_pos - buffer->input_buffer_1st_display);
if (ptr_win == gui_current_window)
move (ptr_win->win_y + ptr_win->win_height - 1,
@ -1966,11 +1968,11 @@ gui_get_dcc_buffer (t_gui_window *window)
}
/*
* gui_input_page_up: display previous page on buffer
* gui_window_page_up: display previous page on buffer
*/
void
gui_input_page_up (t_gui_window *window)
gui_window_page_up (t_gui_window *window)
{
if (!gui_ok)
return;
@ -1988,11 +1990,11 @@ gui_input_page_up (t_gui_window *window)
}
/*
* gui_input_page_down: display next page on buffer
* gui_window_page_down: display next page on buffer
*/
void
gui_input_page_down (t_gui_window *window)
gui_window_page_down (t_gui_window *window)
{
t_gui_line *ptr_line;
int line_pos;
@ -2024,11 +2026,11 @@ gui_input_page_down (t_gui_window *window)
}
/*
* gui_input_nick_beginning: go to beginning of nicklist
* gui_window_nick_beginning: go to beginning of nicklist
*/
void
gui_input_nick_beginning (t_gui_window *window)
gui_window_nick_beginning (t_gui_window *window)
{
if (!gui_ok)
return;
@ -2044,11 +2046,11 @@ gui_input_nick_beginning (t_gui_window *window)
}
/*
* gui_input_nick_end: go to the end of nicklist
* gui_window_nick_end: go to the end of nicklist
*/
void
gui_input_nick_end (t_gui_window *window)
gui_window_nick_end (t_gui_window *window)
{
int new_start;
@ -2073,11 +2075,11 @@ gui_input_nick_end (t_gui_window *window)
}
/*
* gui_input_nick_page_up: scroll one page up in nicklist
* gui_window_nick_page_up: scroll one page up in nicklist
*/
void
gui_input_nick_page_up (t_gui_window *window)
gui_window_nick_page_up (t_gui_window *window)
{
if (!gui_ok)
return;
@ -2095,11 +2097,11 @@ gui_input_nick_page_up (t_gui_window *window)
}
/*
* gui_input_nick_page_down: scroll one page down in nicklist
* gui_window_nick_page_down: scroll one page down in nicklist
*/
void
gui_input_nick_page_down (t_gui_window *window)
gui_window_nick_page_down (t_gui_window *window)
{
if (!gui_ok)
return;
@ -2120,7 +2122,7 @@ gui_input_nick_page_down (t_gui_window *window)
}
/*
* gui_window_init_subviews: init subviews for a WeeChat window
* gui_window_init_subwindows: init subviews for a WeeChat window
*/
void
@ -2363,11 +2365,11 @@ gui_window_merge_all (t_gui_window *window)
}
/*
* gui_curses_resize_handler: called when term size is modified
* gui_refresh_screen: called when term size is modified
*/
void
gui_curses_resize_handler ()
gui_refresh_screen ()
{
t_gui_window *ptr_win, *old_current_window;
int old_width, old_height;
@ -2460,6 +2462,8 @@ gui_init_colors ()
cfg_col_chat_prefix1, cfg_col_chat_bg);
init_pair (COLOR_WIN_CHAT_PREFIX2,
cfg_col_chat_prefix2, cfg_col_chat_bg);
init_pair (COLOR_WIN_CHAT_SERVER,
cfg_col_chat_server, cfg_col_chat_bg);
init_pair (COLOR_WIN_CHAT_JOIN,
cfg_col_chat_join, cfg_col_chat_bg);
init_pair (COLOR_WIN_CHAT_PART,
@ -2555,6 +2559,7 @@ gui_init_colors ()
color_attr[COLOR_WIN_CHAT_DARK - 1] = (cfg_col_chat_dark >= 0) ? cfg_col_chat_dark & A_BOLD : 0;
color_attr[COLOR_WIN_CHAT_PREFIX1 - 1] = (cfg_col_chat_prefix1 >= 0) ? cfg_col_chat_prefix1 & A_BOLD : 0;
color_attr[COLOR_WIN_CHAT_PREFIX2 - 1] = (cfg_col_chat_prefix2 >= 0) ? cfg_col_chat_prefix2 & A_BOLD : 0;
color_attr[COLOR_WIN_CHAT_SERVER - 1] = (cfg_col_chat_server >= 0) ? cfg_col_chat_server & A_BOLD : 0;
color_attr[COLOR_WIN_CHAT_JOIN - 1] = (cfg_col_chat_join >= 0) ? cfg_col_chat_join & A_BOLD : 0;
color_attr[COLOR_WIN_CHAT_PART - 1] = (cfg_col_chat_part >= 0) ? cfg_col_chat_part & A_BOLD : 0;
color_attr[COLOR_WIN_CHAT_NICK - 1] = (cfg_col_chat_nick >= 0) ? cfg_col_chat_nick & A_BOLD : 0;
@ -2642,7 +2647,7 @@ gui_init ()
gui_current_window = gui_windows;
gui_buffer_new (gui_windows, NULL, NULL, 0, 1);
signal (SIGWINCH, gui_curses_resize_handler);
signal (SIGWINCH, gui_refresh_screen);
if (cfg_look_set_title)
gui_set_window_title ();
@ -2809,13 +2814,14 @@ gui_printf_internal (t_gui_buffer *buffer, int display_time, int type, int color
else
buffer = gui_current_window->buffer;
if (buffer->dcc)
if (!buffer || buffer->dcc)
buffer = gui_buffers;
}
if (buffer == NULL)
{
wee_log_printf ("gui_printf without buffer! this is a bug, please send to developers - thanks\n");
wee_log_printf ("WARNING: gui_printf_internal without buffer! This is a bug, "
"please send to developers - thanks\n");
return;
}

View File

@ -105,6 +105,7 @@ gui_input_default_key_bindings ()
gui_key_bind ( /* m-j,m-x */ "meta-jmeta-x", "jump_next_server");
gui_key_bind ( /* m-k */ "meta-k", "grab_key");
gui_key_bind ( /* m-r */ "meta-r", "delete_line");
gui_key_bind ( /* m-s */ "meta-s", "switch_server");
/* keys binded with commands */
gui_key_bind ( /* m-left */ "meta-meta2-D", "/buffer -1");
@ -149,7 +150,7 @@ gui_input_grab_end ()
{
if (gui_current_window->buffer->has_input)
{
gui_input_insert_string (gui_current_window, expanded_key, -1);
gui_insert_string_input (gui_current_window, expanded_key, -1);
gui_current_window->buffer->input_buffer_pos += strlen (expanded_key);
gui_draw_buffer_input (gui_current_window->buffer, 1);
}
@ -192,7 +193,7 @@ gui_input_read ()
if (key == KEY_RESIZE)
{
gui_curses_resize_handler ();
gui_refresh_screen ();
continue;
}
@ -265,10 +266,10 @@ gui_input_read ()
key_str[1] = '\0';
if (gui_current_window->buffer->dcc)
gui_input_action_dcc (gui_current_window, key_str);
gui_exec_action_dcc (gui_current_window, key_str);
else
{
gui_input_insert_string (gui_current_window, key_str, -1);
gui_insert_string_input (gui_current_window, key_str, -1);
gui_current_window->buffer->input_buffer_pos += utf8_strlen (key_str);
gui_draw_buffer_input (gui_current_window->buffer, 0);
gui_current_window->buffer->completion.position = -1;
@ -408,7 +409,7 @@ gui_main_loop ()
diff = (int) get_timeval_diff (&(ptr_server->lag_check_time), &tv);
if (diff / 1000 > cfg_irc_lag_disconnect * 60)
{
irc_display_prefix (ptr_server->buffer, PREFIX_ERROR);
irc_display_prefix (ptr_server, ptr_server->buffer, PREFIX_ERROR);
gui_printf (ptr_server->buffer,
_("%s lag is high, disconnecting from server...\n"),
WEECHAT_WARNING);

1075
weechat/src/gui/gui-action.c Normal file

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -41,77 +41,79 @@ int gui_key_grab = 0;
int gui_key_grab_count = 0;
t_gui_key_function gui_key_functions[] =
{ { "return", gui_input_return,
{ { "return", gui_action_return,
N_("terminate line") },
{ "tab", gui_input_tab,
{ "tab", gui_action_tab,
N_("complete word") },
{ "backspace", gui_input_backspace,
{ "backspace", gui_action_backspace,
N_("delete previous char") },
{ "delete", gui_input_delete,
{ "delete", gui_action_delete,
N_("delete next char") },
{ "delete_end_line", gui_input_delete_end_of_line,
{ "delete_end_line", gui_action_delete_end_of_line,
N_("delete until end of line") },
{ "delete_beginning_line", gui_input_delete_begin_of_line,
{ "delete_beginning_line", gui_action_delete_begin_of_line,
N_("delete until beginning of line") },
{ "delete_line", gui_input_delete_line,
{ "delete_line", gui_action_delete_line,
N_("delete entire line") },
{ "delete_previous_word", gui_input_delete_previous_word,
{ "delete_previous_word", gui_action_delete_previous_word,
N_("delete previous word") },
{ "delete_next_word", gui_input_delete_next_word,
{ "delete_next_word", gui_action_delete_next_word,
N_("delete next word") },
{ "clipboard_paste", gui_input_clipboard_paste,
{ "clipboard_paste", gui_action_clipboard_paste,
N_("paste current clipboard content") },
{ "transpose_chars", gui_input_transpose_chars,
{ "transpose_chars", gui_action_transpose_chars,
N_("transpose chars") },
{ "home", gui_input_home,
{ "home", gui_action_home,
N_("go to beginning of line") },
{ "end", gui_input_end,
{ "end", gui_action_end,
N_("go to end of line") },
{ "left", gui_input_left,
{ "left", gui_action_left,
N_("move one char left") },
{ "previous_word", gui_input_previous_word,
{ "previous_word", gui_action_previous_word,
N_("move to previous word") },
{ "right", gui_input_right,
{ "right", gui_action_right,
N_("move one char right") },
{ "next_word", gui_input_next_word,
{ "next_word", gui_action_next_word,
N_("move to next word") },
{ "up", gui_input_up,
{ "up", gui_action_up,
N_("call previous command in history") },
{ "up_global", gui_input_up_global,
{ "up_global", gui_action_up_global,
N_("call previous command in global history") },
{ "down", gui_input_down,
{ "down", gui_action_down,
N_("call next command in history") },
{ "down_global", gui_input_down_global,
{ "down_global", gui_action_down_global,
N_("call next command in global history") },
{ "page_up", gui_input_page_up,
{ "page_up", gui_action_page_up,
N_("scroll one page up") },
{ "page_down", gui_input_page_down,
{ "page_down", gui_action_page_down,
N_("scroll one page down") },
{ "infobar_clear", gui_input_infobar_clear,
N_("clear infobar") },
{ "nick_page_up", gui_input_nick_page_up,
N_("scroll nicklist one page up") },
{ "nick_page_down", gui_input_nick_page_down,
N_("scroll nicklist one page down") },
{ "nick_beginning", gui_input_nick_beginning,
{ "nick_beginning", gui_action_nick_beginning,
N_("display beginning of nicklist") },
{ "nick_end", gui_input_nick_end,
{ "nick_end", gui_action_nick_end,
N_("display end of nicklist") },
{ "refresh", gui_curses_resize_handler,
N_("refresh screen") },
{ "jump_smart", gui_input_jump_smart,
{ "nick_page_up", gui_action_nick_page_up,
N_("scroll nicklist one page up") },
{ "nick_page_down", gui_action_nick_page_down,
N_("scroll nicklist one page down") },
{ "jump_smart", gui_action_jump_smart,
N_("jump to buffer with activity") },
{ "jump_dcc", gui_input_jump_dcc,
{ "jump_dcc", gui_action_jump_dcc,
N_("jump to DCC buffer") },
{ "jump_last_buffer", gui_input_jump_last_buffer,
{ "jump_last_buffer", gui_action_jump_last_buffer,
N_("jump to last buffer") },
{ "jump_server", gui_input_jump_server,
{ "jump_server", gui_action_jump_server,
N_("jump to server buffer") },
{ "jump_next_server", gui_input_jump_next_server,
{ "jump_next_server", gui_action_jump_next_server,
N_("jump to next server") },
{ "hotlist_clear", gui_input_hotlist_clear,
{ "switch_server", gui_action_switch_server,
N_("switch active server on servers buffer") },
{ "hotlist_clear", gui_action_hotlist_clear,
N_("clear hotlist") },
{ "grab_key", gui_input_grab_key,
{ "infobar_clear", gui_action_infobar_clear,
N_("clear infobar") },
{ "refresh", gui_action_refresh_screen,
N_("refresh screen") },
{ "grab_key", gui_action_grab_key,
N_("grab a key") },
{ NULL, NULL, NULL }
};

View File

@ -26,61 +26,62 @@
#define INPUT_BUFFER_BLOCK_SIZE 256
#define NUM_COLORS 56
#define NUM_COLORS 57
#define COLOR_WIN_TITLE 1
#define COLOR_WIN_CHAT 2
#define COLOR_WIN_CHAT_TIME 3
#define COLOR_WIN_CHAT_TIME_SEP 4
#define COLOR_WIN_CHAT_PREFIX1 5
#define COLOR_WIN_CHAT_PREFIX2 6
#define COLOR_WIN_CHAT_JOIN 7
#define COLOR_WIN_CHAT_PART 8
#define COLOR_WIN_CHAT_NICK 9
#define COLOR_WIN_CHAT_HOST 10
#define COLOR_WIN_CHAT_CHANNEL 11
#define COLOR_WIN_CHAT_DARK 12
#define COLOR_WIN_CHAT_HIGHLIGHT 13
#define COLOR_WIN_STATUS 14
#define COLOR_WIN_STATUS_DELIMITERS 15
#define COLOR_WIN_STATUS_CHANNEL 16
#define COLOR_WIN_STATUS_DATA_MSG 17
#define COLOR_WIN_STATUS_DATA_PRIVATE 18
#define COLOR_WIN_STATUS_DATA_HIGHLIGHT 19
#define COLOR_WIN_STATUS_DATA_OTHER 20
#define COLOR_WIN_STATUS_MORE 21
#define COLOR_WIN_INFOBAR 22
#define COLOR_WIN_INFOBAR_DELIMITERS 23
#define COLOR_WIN_INFOBAR_HIGHLIGHT 24
#define COLOR_WIN_INPUT 25
#define COLOR_WIN_INPUT_CHANNEL 26
#define COLOR_WIN_INPUT_NICK 27
#define COLOR_WIN_INPUT_DELIMITERS 28
#define COLOR_WIN_NICK 29
#define COLOR_WIN_NICK_AWAY 30
#define COLOR_WIN_NICK_CHANOWNER 31
#define COLOR_WIN_NICK_CHANADMIN 32
#define COLOR_WIN_NICK_OP 33
#define COLOR_WIN_NICK_HALFOP 34
#define COLOR_WIN_NICK_VOICE 35
#define COLOR_WIN_NICK_MORE 36
#define COLOR_WIN_NICK_SEP 37
#define COLOR_WIN_NICK_SELF 38
#define COLOR_WIN_NICK_PRIVATE 39
#define COLOR_WIN_NICK_FIRST 40
#define COLOR_WIN_NICK_LAST 49
#define COLOR_WIN_CHAT_SERVER 7
#define COLOR_WIN_CHAT_JOIN 8
#define COLOR_WIN_CHAT_PART 9
#define COLOR_WIN_CHAT_NICK 10
#define COLOR_WIN_CHAT_HOST 11
#define COLOR_WIN_CHAT_CHANNEL 12
#define COLOR_WIN_CHAT_DARK 13
#define COLOR_WIN_CHAT_HIGHLIGHT 14
#define COLOR_WIN_STATUS 15
#define COLOR_WIN_STATUS_DELIMITERS 16
#define COLOR_WIN_STATUS_CHANNEL 17
#define COLOR_WIN_STATUS_DATA_MSG 18
#define COLOR_WIN_STATUS_DATA_PRIVATE 19
#define COLOR_WIN_STATUS_DATA_HIGHLIGHT 20
#define COLOR_WIN_STATUS_DATA_OTHER 21
#define COLOR_WIN_STATUS_MORE 22
#define COLOR_WIN_INFOBAR 23
#define COLOR_WIN_INFOBAR_DELIMITERS 24
#define COLOR_WIN_INFOBAR_HIGHLIGHT 25
#define COLOR_WIN_INPUT 26
#define COLOR_WIN_INPUT_CHANNEL 27
#define COLOR_WIN_INPUT_NICK 28
#define COLOR_WIN_INPUT_DELIMITERS 29
#define COLOR_WIN_NICK 30
#define COLOR_WIN_NICK_AWAY 31
#define COLOR_WIN_NICK_CHANOWNER 32
#define COLOR_WIN_NICK_CHANADMIN 33
#define COLOR_WIN_NICK_OP 34
#define COLOR_WIN_NICK_HALFOP 35
#define COLOR_WIN_NICK_VOICE 36
#define COLOR_WIN_NICK_MORE 37
#define COLOR_WIN_NICK_SEP 38
#define COLOR_WIN_NICK_SELF 39
#define COLOR_WIN_NICK_PRIVATE 40
#define COLOR_WIN_NICK_FIRST 41
#define COLOR_WIN_NICK_LAST 50
#define COLOR_WIN_NICK_NUMBER (COLOR_WIN_NICK_LAST - COLOR_WIN_NICK_FIRST + 1)
#define COLOR_DCC_SELECTED 50
#define COLOR_DCC_WAITING 51
#define COLOR_DCC_CONNECTING 52
#define COLOR_DCC_ACTIVE 53
#define COLOR_DCC_DONE 54
#define COLOR_DCC_FAILED 55
#define COLOR_DCC_ABORTED 56
#define COLOR_DCC_SELECTED 51
#define COLOR_DCC_WAITING 52
#define COLOR_DCC_CONNECTING 53
#define COLOR_DCC_ACTIVE 54
#define COLOR_DCC_DONE 55
#define COLOR_DCC_FAILED 56
#define COLOR_DCC_ABORTED 57
#define SERVER(buffer) ((t_irc_server *)(buffer->server))
#define CHANNEL(buffer) ((t_irc_channel *)(buffer->channel))
#define BUFFER_IS_SERVER(buffer) (SERVER(buffer) && !CHANNEL(buffer))
#define BUFFER_IS_SERVER(buffer) ((SERVER(buffer) || (buffer->all_servers)) && !CHANNEL(buffer))
#define BUFFER_IS_CHANNEL(buffer) (CHANNEL(buffer) && (CHANNEL(buffer)->type == CHAT_CHANNEL))
#define BUFFER_IS_PRIVATE(buffer) (CHANNEL(buffer) && (CHANNEL(buffer)->type == CHAT_PRIVATE))
@ -92,6 +93,9 @@
#define MSG_TYPE_HIGHLIGHT 32
#define MSG_TYPE_NOLOG 64
#define gui_printf(buffer, fmt, argz...) \
gui_printf_internal(buffer, 1, MSG_TYPE_INFO, -1, fmt, ##argz)
#define gui_printf_color(buffer, color, fmt, argz...) \
gui_printf_internal(buffer, 1, MSG_TYPE_INFO, color, fmt, ##argz)
@ -101,9 +105,6 @@
#define gui_printf_type_color(buffer, type, color, fmt, argz...) \
gui_printf_internal(buffer, 1, type, color, fmt, ##argz)
#define gui_printf(buffer, fmt, argz...) \
gui_printf_internal(buffer, 1, MSG_TYPE_INFO, -1, fmt, ##argz)
#define gui_printf_nolog(buffer, fmt, argz...) \
gui_printf_internal(buffer, 1, MSG_TYPE_INFO | MSG_TYPE_NOLOG, -1, fmt, ##argz)
@ -173,6 +174,7 @@ struct t_gui_buffer
/* server/channel */
void *server; /* buffer's server */
int all_servers; /* =1 if all servers are displayed here */
void *channel; /* buffer's channel */
int dcc; /* buffer is dcc status */
@ -329,38 +331,12 @@ extern void gui_infobar_remove ();
extern void gui_buffer_free (t_gui_buffer *, int);
extern t_gui_line *gui_new_line (t_gui_buffer *);
extern t_gui_message *gui_new_message (t_gui_buffer *);
extern void gui_input_clipboard_copy (char *, int);
extern void gui_input_clipboard_paste (t_gui_window *);
extern void gui_input_action_dcc (t_gui_window *, char *);
extern int gui_input_insert_string (t_gui_window *, char *, int);
extern void gui_input_return (t_gui_window *);
extern void gui_input_tab (t_gui_window *);
extern void gui_input_backspace (t_gui_window *);
extern void gui_input_delete (t_gui_window *);
extern void gui_input_delete_previous_word (t_gui_window *);
extern void gui_input_delete_next_word (t_gui_window *);
extern void gui_input_delete_begin_of_line (t_gui_window *);
extern void gui_input_delete_end_of_line (t_gui_window *);
extern void gui_input_delete_line (t_gui_window *);
extern void gui_input_transpose_chars (t_gui_window *);
extern void gui_input_home (t_gui_window *);
extern void gui_input_end (t_gui_window *);
extern void gui_input_left (t_gui_window *);
extern void gui_input_previous_word (t_gui_window *);
extern void gui_input_right (t_gui_window *);
extern void gui_input_next_word (t_gui_window *);
extern void gui_input_up (t_gui_window *);
extern void gui_input_up_global (t_gui_window *);
extern void gui_input_down (t_gui_window *);
extern void gui_input_down_global (t_gui_window *);
extern void gui_input_jump_smart (t_gui_window *);
extern void gui_input_jump_dcc (t_gui_window *);
extern void gui_input_jump_last_buffer (t_gui_window *);
extern void gui_input_jump_server (t_gui_window *);
extern void gui_input_jump_next_server (t_gui_window *);
extern void gui_input_hotlist_clear (t_gui_window *);
extern void gui_input_infobar_clear (t_gui_window *);
extern void gui_input_grab_key (t_gui_window *);
extern void gui_optimize_input_buffer_size (t_gui_buffer *);
extern void gui_exec_action_dcc (t_gui_window *, char *);
extern int gui_insert_string_input (t_gui_window *, char *, int);
extern void gui_merge_servers (t_gui_window *);
extern void gui_split_server (t_gui_window *);
extern void gui_window_switch_server (t_gui_window *);
extern void gui_switch_to_previous_buffer (t_gui_window *);
extern void gui_switch_to_next_buffer (t_gui_window *);
extern void gui_switch_to_previous_window (t_gui_window *);
@ -372,6 +348,47 @@ extern void gui_move_buffer_to_number (t_gui_window *, int);
extern void gui_window_print_log (t_gui_window *);
extern void gui_buffer_print_log (t_gui_buffer *);
/* GUI independent functions: actions */
extern void gui_action_clipboard_copy (char *, int);
extern void gui_action_clipboard_paste (t_gui_window *);
extern void gui_action_return (t_gui_window *);
extern void gui_action_tab (t_gui_window *);
extern void gui_action_backspace (t_gui_window *);
extern void gui_action_delete (t_gui_window *);
extern void gui_action_delete_previous_word (t_gui_window *);
extern void gui_action_delete_next_word (t_gui_window *);
extern void gui_action_delete_begin_of_line (t_gui_window *);
extern void gui_action_delete_end_of_line (t_gui_window *);
extern void gui_action_delete_line (t_gui_window *);
extern void gui_action_transpose_chars (t_gui_window *);
extern void gui_action_home (t_gui_window *);
extern void gui_action_end (t_gui_window *);
extern void gui_action_left (t_gui_window *);
extern void gui_action_previous_word (t_gui_window *);
extern void gui_action_right (t_gui_window *);
extern void gui_action_next_word (t_gui_window *);
extern void gui_action_up (t_gui_window *);
extern void gui_action_up_global (t_gui_window *);
extern void gui_action_down (t_gui_window *);
extern void gui_action_down_global (t_gui_window *);
extern void gui_action_page_up (t_gui_window *);
extern void gui_action_page_down (t_gui_window *);
extern void gui_action_nick_beginning (t_gui_window *);
extern void gui_action_nick_end (t_gui_window *);
extern void gui_action_nick_page_up (t_gui_window *);
extern void gui_action_nick_page_down (t_gui_window *);
extern void gui_action_jump_smart (t_gui_window *);
extern void gui_action_jump_dcc (t_gui_window *);
extern void gui_action_jump_last_buffer (t_gui_window *);
extern void gui_action_jump_server (t_gui_window *);
extern void gui_action_jump_next_server (t_gui_window *);
extern void gui_action_switch_server (t_gui_window *);
extern void gui_action_hotlist_clear (t_gui_window *);
extern void gui_action_infobar_clear (t_gui_window *);
extern void gui_action_refresh_screen ();
extern void gui_action_grab_key (t_gui_window *);
/* GUI independent functions: keys */
extern void gui_key_init ();
@ -403,13 +420,12 @@ extern void gui_draw_buffer_input (t_gui_buffer *, int);
extern void gui_redraw_buffer (t_gui_buffer *);
extern void gui_switch_to_buffer (t_gui_window *, t_gui_buffer *);
extern t_gui_buffer *gui_get_dcc_buffer (t_gui_window *);
extern void gui_input_page_up (t_gui_window *);
extern void gui_input_page_down (t_gui_window *);
extern void gui_input_nick_beginning (t_gui_window *);
extern void gui_input_nick_end (t_gui_window *);
extern void gui_input_nick_page_up (t_gui_window *);
extern void gui_input_nick_page_down (t_gui_window *);
extern void gui_curses_resize_handler ();
extern void gui_window_page_up (t_gui_window *);
extern void gui_window_page_down (t_gui_window *);
extern void gui_window_nick_beginning (t_gui_window *);
extern void gui_window_nick_end (t_gui_window *);
extern void gui_window_nick_page_up (t_gui_window *);
extern void gui_window_nick_page_down (t_gui_window *);
extern void gui_window_init_subwindows (t_gui_window *);
extern void gui_window_split_horiz (t_gui_window *);
extern void gui_window_split_vertic (t_gui_window *);
@ -419,6 +435,7 @@ extern int gui_window_merge_left (t_gui_window *);
extern int gui_window_merge_right (t_gui_window *);
extern void gui_window_merge_auto (t_gui_window *);
extern void gui_window_merge_all (t_gui_window *);
extern void gui_refresh_screen ();
extern void gui_pre_init (int *, char **[]);
extern void gui_init_colors ();
extern void gui_set_window_title ();

View File

@ -362,7 +362,8 @@ dcc_close (t_irc_dcc *ptr_dcc, int status)
{
if (DCC_IS_FILE(ptr_dcc->type))
{
irc_display_prefix (ptr_dcc->server->buffer, PREFIX_INFO);
irc_display_prefix (ptr_dcc->server, ptr_dcc->server->buffer,
PREFIX_INFO);
gui_printf (ptr_dcc->server->buffer, _("DCC: file "));
gui_printf_color (ptr_dcc->server->buffer,
COLOR_WIN_CHAT_CHANNEL,
@ -397,7 +398,7 @@ dcc_close (t_irc_dcc *ptr_dcc, int status)
ptr_buffer = ptr_dcc->channel->buffer;
else
ptr_buffer = ptr_dcc->server->buffer;
irc_display_prefix (ptr_buffer, PREFIX_INFO);
irc_display_prefix (ptr_dcc->server, ptr_buffer, PREFIX_INFO);
gui_printf (ptr_buffer, _("DCC chat closed with "));
gui_printf_color (ptr_buffer, COLOR_WIN_CHAT_NICK,
"%s", ptr_dcc->nick);
@ -452,7 +453,8 @@ dcc_channel_for_chat (t_irc_dcc *ptr_dcc)
{
if (!channel_create_dcc (ptr_dcc))
{
irc_display_prefix (ptr_dcc->server->buffer, PREFIX_ERROR);
irc_display_prefix (ptr_dcc->server, ptr_dcc->server->buffer,
PREFIX_ERROR);
gui_printf (ptr_dcc->server->buffer,
_("%s can't associate DCC chat with private buffer "
"(maybe private buffer has already DCC CHAT?)\n"),
@ -462,7 +464,8 @@ dcc_channel_for_chat (t_irc_dcc *ptr_dcc)
return;
}
irc_display_prefix (ptr_dcc->channel->buffer, PREFIX_INFO);
irc_display_prefix (ptr_dcc->server, ptr_dcc->channel->buffer,
PREFIX_INFO);
gui_printf_type (ptr_dcc->channel->buffer, MSG_TYPE_MSG,
_("Connected to "));
gui_printf_color (ptr_dcc->channel->buffer, COLOR_WIN_CHAT_NICK,
@ -560,7 +563,8 @@ dcc_accept_resume (t_irc_server *server, char *filename, int port,
ptr_dcc->nick, ptr_dcc->filename,
ptr_dcc->port, ptr_dcc->start_resume);
irc_display_prefix (ptr_dcc->server->buffer, PREFIX_INFO);
irc_display_prefix (ptr_dcc->server, ptr_dcc->server->buffer,
PREFIX_INFO);
gui_printf (ptr_dcc->server->buffer, _("DCC: file "));
gui_printf_color (ptr_dcc->server->buffer,
COLOR_WIN_CHAT_CHANNEL,
@ -614,7 +618,7 @@ dcc_add (t_irc_server *server, int type, unsigned long addr, int port, char *nic
/* create new DCC struct */
if ((new_dcc = (t_irc_dcc *) malloc (sizeof (t_irc_dcc))) == NULL)
{
irc_display_prefix (server->buffer, PREFIX_ERROR);
irc_display_prefix (server, server->buffer, PREFIX_ERROR);
gui_printf (server->buffer,
_("%s not enough memory for new DCC\n"),
WEECHAT_ERROR);
@ -664,7 +668,7 @@ dcc_add (t_irc_server *server, int type, unsigned long addr, int port, char *nic
/* write info message on server buffer */
if (type == DCC_FILE_RECV)
{
irc_display_prefix (server->buffer, PREFIX_INFO);
irc_display_prefix (server, server->buffer, PREFIX_INFO);
gui_printf (server->buffer, _("Incoming DCC file from "));
gui_printf_color (server->buffer, COLOR_WIN_CHAT_NICK, "%s", nick);
gui_printf_color (server->buffer, COLOR_WIN_CHAT_DARK, " (");
@ -681,7 +685,7 @@ dcc_add (t_irc_server *server, int type, unsigned long addr, int port, char *nic
}
if (type == DCC_FILE_SEND)
{
irc_display_prefix (server->buffer, PREFIX_INFO);
irc_display_prefix (server, server->buffer, PREFIX_INFO);
gui_printf (server->buffer, _("Sending DCC file to "));
gui_printf_color (server->buffer, COLOR_WIN_CHAT_NICK, "%s", nick);
gui_printf (server->buffer, ": ");
@ -695,7 +699,7 @@ dcc_add (t_irc_server *server, int type, unsigned long addr, int port, char *nic
}
if (type == DCC_CHAT_RECV)
{
irc_display_prefix (server->buffer, PREFIX_INFO);
irc_display_prefix (server, server->buffer, PREFIX_INFO);
gui_printf (server->buffer, _("Incoming DCC chat request from "));
gui_printf_color (server->buffer, COLOR_WIN_CHAT_NICK, "%s", nick);
gui_printf_color (server->buffer, COLOR_WIN_CHAT_DARK, " (");
@ -707,7 +711,7 @@ dcc_add (t_irc_server *server, int type, unsigned long addr, int port, char *nic
}
if (type == DCC_CHAT_SEND)
{
irc_display_prefix (server->buffer, PREFIX_INFO);
irc_display_prefix (server, server->buffer, PREFIX_INFO);
gui_printf (server->buffer, _("Sending DCC chat request to "));
gui_printf_color (server->buffer, COLOR_WIN_CHAT_NICK, "%s\n", nick);
dcc_redraw (HOTLIST_MSG);
@ -722,7 +726,8 @@ dcc_add (t_irc_server *server, int type, unsigned long addr, int port, char *nic
if (DCC_IS_FILE(type) && (new_dcc->start_resume > 0))
{
irc_display_prefix (new_dcc->server->buffer, PREFIX_INFO);
irc_display_prefix (new_dcc->server, new_dcc->server->buffer,
PREFIX_INFO);
gui_printf (new_dcc->server->buffer, _("DCC: file "));
gui_printf_color (new_dcc->server->buffer,
COLOR_WIN_CHAT_CHANNEL,
@ -800,7 +805,7 @@ dcc_send_request (t_irc_server *server, int type, char *nick, char *filename)
4);
if (!filename2)
{
irc_display_prefix (server->buffer, PREFIX_ERROR);
irc_display_prefix (server, server->buffer, PREFIX_ERROR);
gui_printf (server->buffer,
_("%s not enough memory for DCC SEND\n"),
WEECHAT_ERROR);
@ -822,7 +827,7 @@ dcc_send_request (t_irc_server *server, int type, char *nick, char *filename)
/* check if file exists */
if (stat (filename2, &st) == -1)
{
irc_display_prefix (server->buffer, PREFIX_ERROR);
irc_display_prefix (server, server->buffer, PREFIX_ERROR);
gui_printf (server->buffer,
_("%s cannot access file \"%s\"\n"),
WEECHAT_ERROR, filename2);
@ -864,7 +869,7 @@ dcc_send_request (t_irc_server *server, int type, char *nick, char *filename)
sock = socket (AF_INET, SOCK_STREAM, 0);
if (sock == -1)
{
irc_display_prefix (server->buffer, PREFIX_ERROR);
irc_display_prefix (server, server->buffer, PREFIX_ERROR);
gui_printf (server->buffer,
_("%s cannot create socket for DCC\n"),
WEECHAT_ERROR);
@ -897,6 +902,7 @@ dcc_send_request (t_irc_server *server, int type, char *nick, char *filename)
if (bind (sock, (struct sockaddr *) &addr, sizeof (addr)) == 0)
break;
}
port++;
}
if (port > port_end)
@ -921,7 +927,7 @@ dcc_send_request (t_irc_server *server, int type, char *nick, char *filename)
if (port == -1)
{
/* Could not find any port to bind */
irc_display_prefix (server->buffer, PREFIX_ERROR);
irc_display_prefix (server, server->buffer, PREFIX_ERROR);
gui_printf (server->buffer,
_("%s cannot find available port for DCC\n"),
WEECHAT_ERROR);
@ -965,7 +971,7 @@ dcc_send_request (t_irc_server *server, int type, char *nick, char *filename)
short_filename, filename2, st.st_size);
if (!ptr_dcc)
{
irc_display_prefix (server->buffer, PREFIX_ERROR);
irc_display_prefix (server, server->buffer, PREFIX_ERROR);
gui_printf (server->buffer,
_("%s cannot send DCC\n"),
WEECHAT_ERROR);
@ -1045,8 +1051,10 @@ dcc_chat_sendf (t_irc_dcc *ptr_dcc, char *fmt, ...)
buffer);
if (dcc_chat_send (ptr_dcc, buf2, strlen (buf2)) <= 0)
{
irc_display_prefix (ptr_dcc->server->buffer, PREFIX_ERROR);
gui_printf (ptr_dcc->server->buffer, _("%s error sending data to \"%s\" via DCC CHAT\n"),
irc_display_prefix (ptr_dcc->server, ptr_dcc->server->buffer,
PREFIX_ERROR);
gui_printf (ptr_dcc->server->buffer,
_("%s error sending data to \"%s\" via DCC CHAT\n"),
WEECHAT_ERROR, ptr_dcc->nick);
dcc_close (ptr_dcc, DCC_FAILED);
}
@ -1318,7 +1326,7 @@ dcc_handle ()
{
if (cfg_dcc_blocksize > (int) sizeof (buffer))
{
irc_display_prefix (NULL, PREFIX_ERROR);
irc_display_prefix (NULL, NULL, PREFIX_ERROR);
gui_printf (NULL, _("%s DCC failed because blocksize is too "
"big. Check value of \"dcc_blocksize\" option, "
"max is %d.\n"),

View File

@ -36,12 +36,12 @@
/*
* irc_display_prefix: display prefix for action or info message
* irc_display_prefix: display a prefix for action/info/error msg
* prefix must be 3 chars length
*/
void
irc_display_prefix (t_gui_buffer *buffer, char *prefix)
irc_display_prefix (t_irc_server *server, t_gui_buffer *buffer, char *prefix)
{
int type;
@ -65,6 +65,12 @@ irc_display_prefix (t_gui_buffer *buffer, char *prefix)
else
gui_printf_color (buffer, COLOR_WIN_CHAT_PREFIX1, "%s ", prefix);
}
if (server && (server->buffer == buffer) && buffer->all_servers)
{
gui_printf_type_color (buffer, type, COLOR_WIN_CHAT_DARK, "[");
gui_printf_type_color (buffer, type, COLOR_WIN_CHAT_SERVER, "%s", server->name);
gui_printf_type_color (buffer, type, COLOR_WIN_CHAT_DARK, "] ");
}
}
/*
@ -133,10 +139,11 @@ irc_display_nick (t_gui_buffer *buffer, t_irc_nick *nick, char *nickname,
*/
void
irc_display_mode (t_gui_buffer *buffer, char *channel_name, char set_flag,
irc_display_mode (t_irc_server *server, t_gui_buffer *buffer,
char *channel_name, char set_flag,
char *symbol, char *nick_host, char *message, char *param)
{
irc_display_prefix (buffer, PREFIX_INFO);
irc_display_prefix (server, buffer, PREFIX_INFO);
gui_printf_color (buffer, COLOR_WIN_CHAT_DARK, "[");
gui_printf_color (buffer, COLOR_WIN_CHAT_CHANNEL, "%s", channel_name);
gui_printf_color (buffer, COLOR_WIN_CHAT, "/");

View File

@ -191,6 +191,7 @@ ignore_add (char *mask, char *type, char *channel_name, char *server_name)
if (!mask || !mask[0] || !type || !type[0] || !channel_name || !channel_name[0]
|| !server_name || !server_name[0])
{
irc_display_prefix (NULL, NULL, PREFIX_ERROR);
gui_printf (NULL,
_("%s too few arguments for ignore\n"),
WEECHAT_ERROR);
@ -207,7 +208,7 @@ ignore_add (char *mask, char *type, char *channel_name, char *server_name)
if ((strcmp (mask, "*") == 0) && (strcmp (type, "*") == 0))
{
irc_display_prefix (NULL, PREFIX_ERROR);
irc_display_prefix (NULL, NULL, PREFIX_ERROR);
gui_printf (NULL,
_("%s mask or type/command should be non generic value for ignore\n"),
WEECHAT_ERROR);
@ -216,7 +217,7 @@ ignore_add (char *mask, char *type, char *channel_name, char *server_name)
if (ignore_search (mask, type, channel_name, server_name))
{
irc_display_prefix (NULL, PREFIX_ERROR);
irc_display_prefix (NULL, NULL, PREFIX_ERROR);
gui_printf (NULL,
_("%s ignore already exists\n"),
WEECHAT_ERROR);
@ -252,7 +253,7 @@ ignore_add (char *mask, char *type, char *channel_name, char *server_name)
/* not a pre-defined command and not an IRC command => error */
if ((type_index < 0) && (!command_ptr))
{
irc_display_prefix (NULL, PREFIX_ERROR);
irc_display_prefix (NULL, NULL, PREFIX_ERROR);
gui_printf (NULL,
_("%s unknown type or IRC command \"%s\" for ignore\n"),
WEECHAT_ERROR, type);
@ -280,7 +281,7 @@ ignore_add (char *mask, char *type, char *channel_name, char *server_name)
}
else
{
irc_display_prefix (NULL, PREFIX_ERROR);
irc_display_prefix (NULL, NULL, PREFIX_ERROR);
gui_printf (NULL,
_("%s not enough memory to create ignore\n"),
WEECHAT_ERROR);
@ -402,7 +403,7 @@ ignore_search_free (char *mask, char *type, char *channel_name, char *server_nam
found++;
if (found == 1)
gui_printf (NULL, "\n");
irc_display_prefix (NULL, PREFIX_INFO);
irc_display_prefix (NULL, NULL, PREFIX_INFO);
weechat_cmd_ignore_display (_("Removing ignore:"), ptr_ignore);
next_ignore = ptr_ignore->next_ignore;
ignore_free (ptr_ignore);
@ -438,7 +439,7 @@ ignore_search_free_by_number (int number)
if (i == number)
{
gui_printf (NULL, "\n");
irc_display_prefix (NULL, PREFIX_INFO);
irc_display_prefix (NULL, NULL, PREFIX_INFO);
weechat_cmd_ignore_display (_("Removing ignore:"), ptr_ignore);
ignore_free (ptr_ignore);
return 1;

File diff suppressed because it is too large Load Diff

View File

@ -57,7 +57,7 @@ irc_login (t_irc_server *server)
hostname[sizeof (hostname) - 1] = '\0';
if (!hostname[0])
strcpy (hostname, _("unknown"));
irc_display_prefix (server->buffer, PREFIX_INFO);
irc_display_prefix (server, server->buffer, PREFIX_INFO);
gui_printf (server->buffer,
_("%s: using local hostname \"%s\"\n"),
PACKAGE_NAME, hostname);
@ -109,7 +109,7 @@ irc_cmd_send_ame (t_irc_server *server, char *arguments)
server_sendf (ptr_server, "PRIVMSG %s :\01ACTION %s\01\r\n",
ptr_channel->name,
(arguments && arguments[0]) ? arguments : "");
irc_display_prefix (ptr_channel->buffer, PREFIX_ACTION_ME);
irc_display_prefix (NULL, ptr_channel->buffer, PREFIX_ACTION_ME);
gui_printf_color (ptr_channel->buffer,
COLOR_WIN_CHAT_NICK, "%s", ptr_server->nick);
gui_printf_color (ptr_channel->buffer,
@ -162,7 +162,7 @@ irc_cmd_send_amsg (t_irc_server *server, char *arguments)
}
else
{
irc_display_prefix (ptr_server->buffer, PREFIX_ERROR);
irc_display_prefix (ptr_server, ptr_server->buffer, PREFIX_ERROR);
gui_printf (ptr_server->buffer,
_("%s cannot find nick for sending message\n"),
WEECHAT_ERROR);
@ -324,7 +324,7 @@ irc_cmd_send_ban (t_irc_server *server, char *arguments)
{
if (!BUFFER_IS_CHANNEL(gui_current_window->buffer))
{
irc_display_prefix (server->buffer, PREFIX_ERROR);
irc_display_prefix (NULL, server->buffer, PREFIX_ERROR);
gui_printf_nolog (server->buffer,
_("%s \"%s\" command can only be executed in a channel window\n"),
WEECHAT_ERROR, "ban");
@ -352,7 +352,7 @@ irc_cmd_send_ban (t_irc_server *server, char *arguments)
{
if (!BUFFER_IS_CHANNEL(gui_current_window->buffer))
{
irc_display_prefix (server->buffer, PREFIX_ERROR);
irc_display_prefix (NULL, server->buffer, PREFIX_ERROR);
gui_printf_nolog (server->buffer,
_("%s \"%s\" command can only be executed in a channel window\n"),
WEECHAT_ERROR, "ban");
@ -400,7 +400,7 @@ irc_cmd_send_ctcp (t_irc_server *server, char *arguments)
pos++;
}
irc_display_prefix (server->buffer, PREFIX_SERVER);
irc_display_prefix (server, server->buffer, PREFIX_SERVER);
gui_printf_color (server->buffer, COLOR_WIN_CHAT, "CTCP");
gui_printf_color (server->buffer, COLOR_WIN_CHAT_DARK, "(");
gui_printf_color (server->buffer, COLOR_WIN_CHAT_NICK, "%s", arguments);
@ -451,7 +451,7 @@ irc_cmd_send_dcc (t_irc_server *server, char *arguments)
pos_nick = strchr (arguments, ' ');
if (!pos_nick)
{
irc_display_prefix (server->buffer, PREFIX_ERROR);
irc_display_prefix (NULL, server->buffer, PREFIX_ERROR);
gui_printf_nolog (server->buffer,
_("%s wrong argument count for \"%s\" command\n"),
WEECHAT_ERROR, "dcc send");
@ -463,7 +463,7 @@ irc_cmd_send_dcc (t_irc_server *server, char *arguments)
pos_file = strchr (pos_nick, ' ');
if (!pos_file)
{
irc_display_prefix (server->buffer, PREFIX_ERROR);
irc_display_prefix (NULL, server->buffer, PREFIX_ERROR);
gui_printf_nolog (server->buffer,
_("%s wrong argument count for \"%s\" command\n"),
WEECHAT_ERROR, "dcc send");
@ -481,7 +481,7 @@ irc_cmd_send_dcc (t_irc_server *server, char *arguments)
pos_nick = strchr (arguments, ' ');
if (!pos_nick)
{
irc_display_prefix (server->buffer, PREFIX_ERROR);
irc_display_prefix (NULL, server->buffer, PREFIX_ERROR);
gui_printf_nolog (server->buffer,
_("%s wrong argument count for \"%s\" command\n"),
WEECHAT_ERROR, "dcc chat");
@ -504,7 +504,7 @@ irc_cmd_send_dcc (t_irc_server *server, char *arguments)
}
else
{
irc_display_prefix (server->buffer, PREFIX_ERROR);
irc_display_prefix (NULL, server->buffer, PREFIX_ERROR);
gui_printf_nolog (server->buffer,
_("%s wrong arguments for \"%s\" command\n"),
WEECHAT_ERROR, "dcc");
@ -539,7 +539,7 @@ irc_cmd_send_dehalfop (t_irc_server *server, int argc, char **argv)
}
else
{
irc_display_prefix (server->buffer, PREFIX_ERROR);
irc_display_prefix (NULL, server->buffer, PREFIX_ERROR);
gui_printf_nolog (server->buffer,
_("%s \"%s\" command can only be executed in a channel window\n"),
WEECHAT_ERROR, "dehalfop");
@ -572,7 +572,7 @@ irc_cmd_send_deop (t_irc_server *server, int argc, char **argv)
}
else
{
irc_display_prefix (server->buffer, PREFIX_ERROR);
irc_display_prefix (NULL, server->buffer, PREFIX_ERROR);
gui_printf_nolog (server->buffer,
_("%s \"%s\" command can only be executed in a channel window\n"),
WEECHAT_ERROR, "deop");
@ -605,7 +605,7 @@ irc_cmd_send_devoice (t_irc_server *server, int argc, char **argv)
}
else
{
irc_display_prefix (server->buffer, PREFIX_ERROR);
irc_display_prefix (NULL, server->buffer, PREFIX_ERROR);
gui_printf_nolog (server->buffer,
_("%s \"%s\" command can only be executed in a channel window\n"),
WEECHAT_ERROR, "devoice");
@ -653,7 +653,7 @@ irc_cmd_send_halfop (t_irc_server *server, int argc, char **argv)
}
else
{
irc_display_prefix (server->buffer, PREFIX_ERROR);
irc_display_prefix (NULL, server->buffer, PREFIX_ERROR);
gui_printf_nolog (server->buffer,
_("%s \"%s\" command can only be executed in a channel window\n"),
WEECHAT_ERROR, "halfop");
@ -689,7 +689,7 @@ irc_cmd_send_invite (t_irc_server *server, int argc, char **argv)
{
if (!BUFFER_IS_CHANNEL(gui_current_window->buffer))
{
irc_display_prefix (server->buffer, PREFIX_ERROR);
irc_display_prefix (NULL, server->buffer, PREFIX_ERROR);
gui_printf_nolog (server->buffer,
_("%s \"%s\" command can only be executed in a channel window\n"),
WEECHAT_ERROR, "invite");
@ -741,7 +741,7 @@ irc_cmd_send_kick (t_irc_server *server, char *arguments)
pos_nick = strchr (arguments, ' ');
if (!pos_nick)
{
irc_display_prefix (server->buffer, PREFIX_ERROR);
irc_display_prefix (NULL, server->buffer, PREFIX_ERROR);
gui_printf_nolog (server->buffer,
_("%s wrong arguments for \"%s\" command\n"),
WEECHAT_ERROR, "kick");
@ -756,7 +756,7 @@ irc_cmd_send_kick (t_irc_server *server, char *arguments)
{
if (!BUFFER_IS_CHANNEL(gui_current_window->buffer))
{
irc_display_prefix (server->buffer, PREFIX_ERROR);
irc_display_prefix (NULL, server->buffer, PREFIX_ERROR);
gui_printf_nolog (server->buffer,
_("%s \"%s\" command can only be executed in a channel window\n"),
WEECHAT_ERROR, "kick");
@ -798,7 +798,7 @@ irc_cmd_send_kickban (t_irc_server *server, char *arguments)
pos_nick = strchr (arguments, ' ');
if (!pos_nick)
{
irc_display_prefix (server->buffer, PREFIX_ERROR);
irc_display_prefix (NULL, server->buffer, PREFIX_ERROR);
gui_printf_nolog (server->buffer,
_("%s wrong arguments for \"%s\" command\n"),
WEECHAT_ERROR, "kickban");
@ -813,7 +813,7 @@ irc_cmd_send_kickban (t_irc_server *server, char *arguments)
{
if (!BUFFER_IS_CHANNEL(gui_current_window->buffer))
{
irc_display_prefix (server->buffer, PREFIX_ERROR);
irc_display_prefix (NULL, server->buffer, PREFIX_ERROR);
gui_printf_nolog (server->buffer,
_("%s \"%s\" command can only be executed in a channel window\n"),
WEECHAT_ERROR, "kickban");
@ -905,7 +905,7 @@ irc_send_me (t_irc_server *server, t_irc_channel *channel, char *arguments)
server_sendf (server, "PRIVMSG %s :\01ACTION %s\01\r\n",
channel->name,
(arguments && arguments[0]) ? arguments : "");
irc_display_prefix (channel->buffer, PREFIX_ACTION_ME);
irc_display_prefix (NULL, channel->buffer, PREFIX_ACTION_ME);
gui_printf_color (channel->buffer,
COLOR_WIN_CHAT_NICK, "%s", server->nick);
gui_printf_color (channel->buffer,
@ -941,7 +941,7 @@ irc_cmd_send_me (t_irc_server *server, char *arguments)
{
if (BUFFER_IS_SERVER(gui_current_window->buffer))
{
irc_display_prefix (server->buffer, PREFIX_ERROR);
irc_display_prefix (NULL, server->buffer, PREFIX_ERROR);
gui_printf_nolog (server->buffer,
_("%s \"%s\" command can not be executed on a server window\n"),
WEECHAT_ERROR, "me");
@ -1008,7 +1008,7 @@ irc_cmd_send_msg (t_irc_server *server, char *arguments)
{
if (BUFFER_IS_SERVER(gui_current_window->buffer))
{
irc_display_prefix (server->buffer, PREFIX_ERROR);
irc_display_prefix (NULL, server->buffer, PREFIX_ERROR);
gui_printf_nolog (server->buffer,
_("%s \"%s\" command can not be executed on a server window\n"),
WEECHAT_ERROR, "msg *");
@ -1026,7 +1026,7 @@ irc_cmd_send_msg (t_irc_server *server, char *arguments)
}
else
{
irc_display_prefix (server->buffer, PREFIX_ERROR);
irc_display_prefix (server, server->buffer, PREFIX_ERROR);
gui_printf_nolog (server->buffer,
_("%s nick \"%s\" not found for \"%s\" command\n"),
WEECHAT_ERROR, server->nick, "msg");
@ -1051,7 +1051,7 @@ irc_cmd_send_msg (t_irc_server *server, char *arguments)
}
else
{
irc_display_prefix (server->buffer, PREFIX_ERROR);
irc_display_prefix (server, server->buffer, PREFIX_ERROR);
gui_printf_nolog (server->buffer,
_("%s nick \"%s\" not found for \"%s\" command\n"),
WEECHAT_ERROR, server->nick, "msg");
@ -1080,7 +1080,7 @@ irc_cmd_send_msg (t_irc_server *server, char *arguments)
}
}
}
irc_display_prefix (server->buffer, PREFIX_SERVER);
irc_display_prefix (server, server->buffer, PREFIX_SERVER);
gui_printf_type_color (server->buffer,
MSG_TYPE_NICK,
COLOR_WIN_CHAT_DARK, "-");
@ -1103,7 +1103,7 @@ irc_cmd_send_msg (t_irc_server *server, char *arguments)
ptr_channel = channel_new (server, CHAT_PRIVATE, arguments, 1);
if (!ptr_channel)
{
irc_display_prefix (server->buffer, PREFIX_ERROR);
irc_display_prefix (NULL, server->buffer, PREFIX_ERROR);
gui_printf_nolog (server->buffer,
_("%s cannot create new private window \"%s\"\n"),
WEECHAT_ERROR, arguments);
@ -1133,7 +1133,7 @@ irc_cmd_send_msg (t_irc_server *server, char *arguments)
}
else
{
irc_display_prefix (server->buffer, PREFIX_ERROR);
irc_display_prefix (NULL, server->buffer, PREFIX_ERROR);
gui_printf_nolog (server->buffer,
_("%s wrong argument count for \"%s\" command\n"),
WEECHAT_ERROR, "msg");
@ -1155,7 +1155,7 @@ irc_cmd_send_names (t_irc_server *server, char *arguments)
{
if (!BUFFER_IS_CHANNEL(gui_current_window->buffer))
{
irc_display_prefix (server->buffer, PREFIX_ERROR);
irc_display_prefix (NULL, server->buffer, PREFIX_ERROR);
gui_printf_nolog (server->buffer,
_("%s \"%s\" command can only be executed in a channel window\n"),
WEECHAT_ERROR, "names");
@ -1216,7 +1216,7 @@ irc_cmd_send_notice (t_irc_server *server, char *arguments)
pos++;
while (pos[0] == ' ')
pos++;
irc_display_prefix (server->buffer, PREFIX_SERVER);
irc_display_prefix (server, server->buffer, PREFIX_SERVER);
gui_printf_color (server->buffer, COLOR_WIN_CHAT, "notice");
gui_printf_color (server->buffer, COLOR_WIN_CHAT_DARK, "(");
gui_printf_color (server->buffer, COLOR_WIN_CHAT_NICK, "%s", arguments);
@ -1226,7 +1226,7 @@ irc_cmd_send_notice (t_irc_server *server, char *arguments)
}
else
{
irc_display_prefix (server->buffer, PREFIX_ERROR);
irc_display_prefix (NULL, server->buffer, PREFIX_ERROR);
gui_printf_nolog (server->buffer,
_("%s wrong argument count for \"%s\" command\n"),
WEECHAT_ERROR, "notice");
@ -1253,7 +1253,7 @@ irc_cmd_send_op (t_irc_server *server, int argc, char **argv)
}
else
{
irc_display_prefix (server->buffer, PREFIX_ERROR);
irc_display_prefix (NULL, server->buffer, PREFIX_ERROR);
gui_printf_nolog (server->buffer,
_("%s \"%s\" command can only be executed in a channel window\n"),
WEECHAT_ERROR, "op");
@ -1301,7 +1301,7 @@ irc_cmd_send_part (t_irc_server *server, char *arguments)
{
if (BUFFER_IS_SERVER(gui_current_window->buffer))
{
irc_display_prefix (server->buffer, PREFIX_ERROR);
irc_display_prefix (NULL, server->buffer, PREFIX_ERROR);
gui_printf_nolog (server->buffer,
_("%s \"%s\" command can not be executed on a server window\n"),
WEECHAT_ERROR, "part");
@ -1315,7 +1315,7 @@ irc_cmd_send_part (t_irc_server *server, char *arguments)
{
if (BUFFER_IS_SERVER(gui_current_window->buffer))
{
irc_display_prefix (server->buffer, PREFIX_ERROR);
irc_display_prefix (NULL, server->buffer, PREFIX_ERROR);
gui_printf_nolog (server->buffer,
_("%s \"%s\" command can not be executed on a server window\n"),
WEECHAT_ERROR, "part");
@ -1411,7 +1411,7 @@ irc_cmd_send_query (t_irc_server *server, char *arguments)
ptr_channel = channel_new (server, CHAT_PRIVATE, arguments, 1);
if (!ptr_channel)
{
irc_display_prefix (server->buffer, PREFIX_ERROR);
irc_display_prefix (NULL, server->buffer, PREFIX_ERROR);
gui_printf_nolog (server->buffer,
_("%s cannot create new private window \"%s\"\n"),
WEECHAT_ERROR, arguments);
@ -1659,7 +1659,7 @@ irc_cmd_send_topic (t_irc_server *server, char *arguments)
{
if (BUFFER_IS_SERVER(gui_current_window->buffer))
{
irc_display_prefix (server->buffer, PREFIX_ERROR);
irc_display_prefix (NULL, server->buffer, PREFIX_ERROR);
gui_printf_nolog (server->buffer,
_("%s \"%s\" command can not be executed on a server window\n"),
WEECHAT_ERROR, "topic");
@ -1732,7 +1732,7 @@ irc_cmd_send_unban (t_irc_server *server, char *arguments)
{
if (!BUFFER_IS_CHANNEL(gui_current_window->buffer))
{
irc_display_prefix (server->buffer, PREFIX_ERROR);
irc_display_prefix (NULL, server->buffer, PREFIX_ERROR);
gui_printf_nolog (server->buffer,
_("%s \"%s\" command can only be executed in a channel window\n"),
WEECHAT_ERROR, "unban");
@ -1758,7 +1758,7 @@ irc_cmd_send_unban (t_irc_server *server, char *arguments)
}
else
{
irc_display_prefix (server->buffer, PREFIX_ERROR);
irc_display_prefix (NULL, server->buffer, PREFIX_ERROR);
gui_printf_nolog (server->buffer,
_("%s wrong argument count for \"%s\" command\n"),
WEECHAT_ERROR, "unban");
@ -1812,7 +1812,7 @@ irc_cmd_send_version (t_irc_server *server, char *arguments)
}
else
{
irc_display_prefix (server->buffer, PREFIX_INFO);
irc_display_prefix (NULL, server->buffer, PREFIX_INFO);
gui_printf (server->buffer, _("%s, compiled on %s %s\n"),
PACKAGE_STRING,
__DATE__, __TIME__);
@ -1846,7 +1846,7 @@ irc_cmd_send_voice (t_irc_server *server, int argc, char **argv)
}
else
{
irc_display_prefix (server->buffer, PREFIX_ERROR);
irc_display_prefix (NULL, server->buffer, PREFIX_ERROR);
gui_printf_nolog (server->buffer,
_("%s \"%s\" command can only be executed in a channel window\n"),
WEECHAT_ERROR, "voice");

View File

@ -462,7 +462,7 @@ server_sendf (t_irc_server *server, char *fmt, ...)
buffer);
if (server_send (server, buf2, strlen (buf2)) <= 0)
{
irc_display_prefix (server->buffer, PREFIX_ERROR);
irc_display_prefix (server, server->buffer, PREFIX_ERROR);
gui_printf (server->buffer, _("%s error sending data to IRC server\n"),
WEECHAT_ERROR);
}
@ -484,7 +484,7 @@ server_msgq_add_msg (t_irc_server *server, char *msg)
message = (t_irc_message *) malloc (sizeof (t_irc_message));
if (!message)
{
irc_display_prefix (server->buffer, PREFIX_ERROR);
irc_display_prefix (server, server->buffer, PREFIX_ERROR);
gui_printf (server->buffer,
_("%s not enough memory for received IRC message\n"),
WEECHAT_ERROR);
@ -497,7 +497,7 @@ server_msgq_add_msg (t_irc_server *server, char *msg)
strlen (msg) + 1);
if (!message->data)
{
irc_display_prefix (server->buffer, PREFIX_ERROR);
irc_display_prefix (server, server->buffer, PREFIX_ERROR);
gui_printf (server->buffer,
_("%s not enough memory for received IRC message\n"),
WEECHAT_ERROR);
@ -544,7 +544,7 @@ server_msgq_add_unterminated (t_irc_server *server, char *string)
strlen (string) + 1);
if (!server->unterminated_message)
{
irc_display_prefix (server->buffer, PREFIX_ERROR);
irc_display_prefix (server, server->buffer, PREFIX_ERROR);
gui_printf (server->buffer,
_("%s not enough memory for received IRC message\n"),
WEECHAT_ERROR);
@ -557,7 +557,7 @@ server_msgq_add_unterminated (t_irc_server *server, char *string)
server->unterminated_message = strdup (string);
if (!server->unterminated_message)
{
irc_display_prefix (server->buffer, PREFIX_ERROR);
irc_display_prefix (server, server->buffer, PREFIX_ERROR);
gui_printf (server->buffer,
_("%s not enough memory for received IRC message\n"),
WEECHAT_ERROR);
@ -668,17 +668,20 @@ server_msgq_flush ()
command, args))
{
case -1:
irc_display_prefix (recv_msgq->server->buffer, PREFIX_ERROR);
irc_display_prefix (recv_msgq->server,
recv_msgq->server->buffer, PREFIX_ERROR);
gui_printf (recv_msgq->server->buffer,
_("%s Command '%s' failed!\n"), WEECHAT_ERROR, command);
break;
case -2:
irc_display_prefix (recv_msgq->server->buffer, PREFIX_ERROR);
irc_display_prefix (recv_msgq->server,
recv_msgq->server->buffer, PREFIX_ERROR);
gui_printf (recv_msgq->server->buffer,
_("%s No command to execute!\n"), WEECHAT_ERROR);
break;
case -3:
irc_display_prefix (recv_msgq->server->buffer, PREFIX_ERROR);
irc_display_prefix (recv_msgq->server,
recv_msgq->server->buffer, PREFIX_ERROR);
gui_printf (recv_msgq->server->buffer,
_("%s Unknown command: cmd=%s, host=%s, args=%s\n"),
WEECHAT_WARNING, command, host, args);
@ -729,7 +732,7 @@ server_recv (t_irc_server *server)
}
else
{
irc_display_prefix (server->buffer, PREFIX_ERROR);
irc_display_prefix (server, server->buffer, PREFIX_ERROR);
gui_printf (server->buffer,
_("%s cannot read data from socket, disconnecting from server...\n"),
WEECHAT_ERROR);
@ -813,7 +816,7 @@ server_reconnect_schedule (t_irc_server *server)
if (server->autoreconnect)
{
server->reconnect_start = time (NULL);
irc_display_prefix (server->buffer, PREFIX_INFO);
irc_display_prefix (server, server->buffer, PREFIX_INFO);
gui_printf (server->buffer, _("%s: Reconnecting to server in %d seconds\n"),
PACKAGE_NAME, server->autoreconnect_delay);
}
@ -842,10 +845,11 @@ server_child_read (t_irc_server *server)
#ifdef HAVE_GNUTLS
if (server->ssl_connected)
{
gnutls_transport_set_ptr (server->gnutls_sess, (gnutls_transport_ptr) server->sock);
gnutls_transport_set_ptr (server->gnutls_sess,
(gnutls_transport_ptr) server->sock);
if (gnutls_handshake (server->gnutls_sess) < 0)
{
irc_display_prefix (server->buffer, PREFIX_ERROR);
irc_display_prefix (server, server->buffer, PREFIX_ERROR);
gui_printf (server->buffer,
_("%s gnutls handshake failed\n"),
WEECHAT_ERROR);
@ -861,7 +865,7 @@ server_child_read (t_irc_server *server)
break;
/* adress not found */
case '1':
irc_display_prefix (server->buffer, PREFIX_ERROR);
irc_display_prefix (server, server->buffer, PREFIX_ERROR);
if (cfg_proxy_use)
gui_printf (server->buffer,
_("%s proxy address \"%s\" not found\n"),
@ -875,7 +879,7 @@ server_child_read (t_irc_server *server)
break;
/* IP address not found */
case '2':
irc_display_prefix (server->buffer, PREFIX_ERROR);
irc_display_prefix (server, server->buffer, PREFIX_ERROR);
if (cfg_proxy_use)
gui_printf (server->buffer,
_("%s proxy IP address not found\n"), WEECHAT_ERROR);
@ -887,7 +891,7 @@ server_child_read (t_irc_server *server)
break;
/* connection refused */
case '3':
irc_display_prefix (server->buffer, PREFIX_ERROR);
irc_display_prefix (server, server->buffer, PREFIX_ERROR);
if (cfg_proxy_use)
gui_printf (server->buffer,
_("%s proxy connection refused\n"), WEECHAT_ERROR);
@ -899,9 +903,11 @@ server_child_read (t_irc_server *server)
break;
/* proxy fails to connect to server */
case '4':
irc_display_prefix (server->buffer, PREFIX_ERROR);
irc_display_prefix (server, server->buffer, PREFIX_ERROR);
gui_printf (server->buffer,
_("%s proxy fails to establish connection to server (check username/password if used)\n"), WEECHAT_ERROR);
_("%s proxy fails to establish connection to "
"server (check username/password if used)\n"),
WEECHAT_ERROR);
server_close_connection (server);
server_reconnect_schedule (server);
break;
@ -1376,14 +1382,14 @@ server_connect (t_irc_server *server)
#ifndef HAVE_GNUTLS
if (server->ssl)
{
irc_display_prefix (server->buffer, PREFIX_ERROR);
irc_display_prefix (server, server->buffer, PREFIX_ERROR);
gui_printf (server->buffer,
_("%s cannot connect with SSL since WeeChat was not built "
"with GNUtls support\n"), WEECHAT_ERROR);
return 0;
}
#endif
irc_display_prefix (server->buffer, PREFIX_INFO);
irc_display_prefix (server, server->buffer, PREFIX_INFO);
if (cfg_proxy_use)
{
gui_printf (server->buffer,
@ -1423,7 +1429,7 @@ server_connect (t_irc_server *server)
{
if (gnutls_init (&server->gnutls_sess, GNUTLS_CLIENT) != 0)
{
irc_display_prefix (server->buffer, PREFIX_ERROR);
irc_display_prefix (server, server->buffer, PREFIX_ERROR);
gui_printf (server->buffer,
_("%s gnutls init error\n"), WEECHAT_ERROR);
return 0;
@ -1438,7 +1444,7 @@ server_connect (t_irc_server *server)
/* create pipe for child process */
if (pipe (child_pipe) < 0)
{
irc_display_prefix (server->buffer, PREFIX_ERROR);
irc_display_prefix (server, server->buffer, PREFIX_ERROR);
gui_printf (server->buffer,
_("%s cannot create pipe\n"), WEECHAT_ERROR);
return 0;
@ -1453,7 +1459,7 @@ server_connect (t_irc_server *server)
server->sock = socket ((server->ipv6) ? AF_INET6 : AF_INET, SOCK_STREAM, 0);
if (server->sock == -1)
{
irc_display_prefix (server->buffer, PREFIX_ERROR);
irc_display_prefix (server, server->buffer, PREFIX_ERROR);
gui_printf (server->buffer,
_("%s cannot create socket\n"), WEECHAT_ERROR);
return 0;
@ -1464,7 +1470,7 @@ server_connect (t_irc_server *server)
if (setsockopt (server->sock, SOL_SOCKET, SO_REUSEADDR,
(void *) &set, sizeof (set)) == -1)
{
irc_display_prefix (server->buffer, PREFIX_ERROR);
irc_display_prefix (server, server->buffer, PREFIX_ERROR);
gui_printf (server->buffer,
_("%s cannot set socket option \"SO_REUSEADDR\"\n"),
WEECHAT_WARNING);
@ -1475,7 +1481,7 @@ server_connect (t_irc_server *server)
if (setsockopt (server->sock, SOL_SOCKET, SO_KEEPALIVE,
(void *) &set, sizeof (set)) == -1)
{
irc_display_prefix (server->buffer, PREFIX_ERROR);
irc_display_prefix (server, server->buffer, PREFIX_ERROR);
gui_printf (server->buffer,
_("%s cannot set socket option \"SO_KEEPALIVE\"\n"),
WEECHAT_WARNING);
@ -1507,7 +1513,7 @@ server_connect (t_irc_server *server)
void
server_reconnect (t_irc_server *server)
{
irc_display_prefix (server->buffer, PREFIX_INFO);
irc_display_prefix (server, server->buffer, PREFIX_INFO);
gui_printf (server->buffer, _("%s: Reconnecting to server...\n"),
PACKAGE_NAME);
server->reconnect_start = 0;
@ -1557,7 +1563,7 @@ server_disconnect (t_irc_server *server, int reconnect)
ptr_channel = ptr_channel->next_channel)
{
nick_free_all (ptr_channel);
irc_display_prefix (ptr_channel->buffer, PREFIX_INFO);
irc_display_prefix (NULL, ptr_channel->buffer, PREFIX_INFO);
gui_printf (ptr_channel->buffer, _("Disconnected from server!\n"));
}
}
@ -1566,7 +1572,7 @@ server_disconnect (t_irc_server *server, int reconnect)
if (server->buffer)
{
irc_display_prefix (server->buffer, PREFIX_INFO);
irc_display_prefix (server, server->buffer, PREFIX_INFO);
gui_printf (server->buffer, _("Disconnected from server!\n"));
}
@ -1638,6 +1644,31 @@ server_get_number_connected ()
return number;
}
/*
* server_get_number_buffer: returns position of a server and total number of
* buffers with a buffer
*/
void
server_get_number_buffer (t_irc_server *server,
int *server_pos, int *server_total)
{
t_irc_server *ptr_server;
*server_pos = 0;
*server_total = 0;
for (ptr_server = irc_servers; ptr_server;
ptr_server = ptr_server->next_server)
{
if (ptr_server->buffer)
{
(*server_total)++;
if (ptr_server == server)
*server_pos = *server_total;
}
}
}
/*
* server_name_already_exists: return 1 if server name already exists
* otherwise return 0

View File

@ -308,6 +308,7 @@ extern void server_disconnect (t_irc_server *, int);
extern void server_disconnect_all ();
extern t_irc_server *server_search (char *);
extern int server_get_number_connected ();
extern void server_get_number_buffer (t_irc_server *, int *, int *);
extern int server_name_already_exists (char *);
extern void server_remove_away ();
extern void server_check_away ();
@ -371,10 +372,11 @@ extern void dcc_end ();
/* IRC display (irc-diplay.c) */
extern void irc_display_prefix (/*@null@*/ t_gui_buffer *, char *);
extern void irc_display_nick (t_gui_buffer *, t_irc_nick *, char *, int, int, int, int);
extern void irc_display_mode (t_gui_buffer *, char *, char, char *, char *,
char *, char *);
extern void irc_display_prefix (t_irc_server *, t_gui_buffer *, char *);
extern void irc_display_nick (t_gui_buffer *, t_irc_nick *, char *, int,
int, int, int);
extern void irc_display_mode (t_irc_server *, t_gui_buffer *, char *, char,
char *, char *, char *, char *);
extern void irc_display_server (t_irc_server *ptr_server);
/* IRC protocol (irc-commands.c) */

View File

@ -210,7 +210,7 @@ plugin_config_read ()
pos = strchr (line, '=');
if (pos == NULL)
{
irc_display_prefix (NULL, PREFIX_ERROR);
irc_display_prefix (NULL, NULL, PREFIX_ERROR);
gui_printf (NULL,
_("%s %s, line %d: invalid syntax, missing \"=\"\n"),
WEECHAT_WARNING, filename, line_number);
@ -261,7 +261,7 @@ plugin_config_write ()
if ((file = fopen (filename, "wt")) == NULL)
{
irc_display_prefix (NULL, PREFIX_ERROR);
irc_display_prefix (NULL, NULL, PREFIX_ERROR);
gui_printf (NULL, _("%s cannot create file \"%s\"\n"),
WEECHAT_ERROR, filename);
free (filename);

View File

@ -169,7 +169,7 @@ weechat_plugin_printf (t_weechat_plugin *plugin,
va_start (argptr, message);
vsnprintf (buf, sizeof (buf) - 1, message, argptr);
va_end (argptr);
irc_display_prefix (ptr_buffer, PREFIX_PLUGIN);
irc_display_prefix (NULL, ptr_buffer, PREFIX_PLUGIN);
gui_printf (ptr_buffer, "%s\n", buf);
}
@ -189,7 +189,7 @@ weechat_plugin_printf_server (t_weechat_plugin *plugin, char *message, ...)
va_start (argptr, message);
vsnprintf (buf, sizeof (buf) - 1, message, argptr);
va_end (argptr);
irc_display_prefix (NULL, PREFIX_PLUGIN);
irc_display_prefix (NULL, NULL, PREFIX_PLUGIN);
gui_printf (NULL, "%s\n", buf);
}

View File

@ -226,7 +226,7 @@ plugin_msg_handler_add (t_weechat_plugin *plugin, char *irc_command,
}
else
{
irc_display_prefix (NULL, PREFIX_ERROR);
irc_display_prefix (NULL, NULL, PREFIX_ERROR);
gui_printf (NULL,
_("%s plugin %s: unable to add handler for IRC command \"%s\" (not enough memory)\n"),
WEECHAT_ERROR, plugin->name, irc_command);
@ -261,7 +261,7 @@ plugin_cmd_handler_add (t_weechat_plugin *plugin, char *command,
if (plugin_cmd_handler_search (command))
{
irc_display_prefix (NULL, PREFIX_ERROR);
irc_display_prefix (NULL, NULL, PREFIX_ERROR);
gui_printf (NULL,
_("%s plugin %s: unable to add handler for \"%s\" command "
"(already exists)\n"),
@ -298,7 +298,7 @@ plugin_cmd_handler_add (t_weechat_plugin *plugin, char *command,
}
else
{
irc_display_prefix (NULL, PREFIX_ERROR);
irc_display_prefix (NULL, NULL, PREFIX_ERROR);
gui_printf (NULL,
_("%s plugin %s: unable to add handler for \"%s\" command (not enough memory)\n"),
WEECHAT_ERROR, plugin->name, command);
@ -546,7 +546,7 @@ plugin_load (char *filename)
handle = dlopen (full_name, RTLD_GLOBAL | RTLD_NOW);
if (!handle)
{
irc_display_prefix (NULL, PREFIX_ERROR);
irc_display_prefix (NULL, NULL, PREFIX_ERROR);
gui_printf (NULL, _("%s unable to load plugin \"%s\": %s\n"),
WEECHAT_ERROR, full_name, dlerror());
free (full_name);
@ -557,7 +557,7 @@ plugin_load (char *filename)
if (!name)
{
dlclose (handle);
irc_display_prefix (NULL, PREFIX_ERROR);
irc_display_prefix (NULL, NULL, PREFIX_ERROR);
gui_printf (NULL, _("%s symbol \"plugin_name\" not found in plugin \"%s\", failed to load\n"),
WEECHAT_ERROR, full_name);
free (full_name);
@ -567,7 +567,7 @@ plugin_load (char *filename)
if (plugin_search (name))
{
dlclose (handle);
irc_display_prefix (NULL, PREFIX_ERROR);
irc_display_prefix (NULL, NULL, PREFIX_ERROR);
gui_printf (NULL,
_("%s unable to load plugin \"%s\": a plugin with "
"same name already exists\n"),
@ -580,7 +580,7 @@ plugin_load (char *filename)
if (!description)
{
dlclose (handle);
irc_display_prefix (NULL, PREFIX_ERROR);
irc_display_prefix (NULL, NULL, PREFIX_ERROR);
gui_printf (NULL, _("%s symbol \"plugin_description\" not found in plugin \"%s\", failed to load\n"),
WEECHAT_ERROR, full_name);
free (full_name);
@ -591,7 +591,7 @@ plugin_load (char *filename)
if (!version)
{
dlclose (handle);
irc_display_prefix (NULL, PREFIX_ERROR);
irc_display_prefix (NULL, NULL, PREFIX_ERROR);
gui_printf (NULL, _("%s symbol \"plugin_version\" not found in plugin \"%s\", failed to load\n"),
WEECHAT_ERROR, full_name);
free (full_name);
@ -602,7 +602,7 @@ plugin_load (char *filename)
if (!init_func)
{
dlclose (handle);
irc_display_prefix (NULL, PREFIX_ERROR);
irc_display_prefix (NULL, NULL, PREFIX_ERROR);
gui_printf (NULL, _("%s function \"weechat_plugin_init\" not found in plugin \"%s\", failed to load\n"),
WEECHAT_ERROR, full_name);
free (full_name);
@ -655,7 +655,7 @@ plugin_load (char *filename)
weechat_plugins = new_plugin;
last_weechat_plugin = new_plugin;
irc_display_prefix (NULL, PREFIX_PLUGIN);
irc_display_prefix (NULL, NULL, PREFIX_PLUGIN);
gui_printf (NULL,
_("Initializing plugin \"%s\" %s\n"),
new_plugin->name, new_plugin->version);
@ -663,7 +663,7 @@ plugin_load (char *filename)
/* init plugin */
if (((t_weechat_init_func *)init_func) (new_plugin) < 0)
{
irc_display_prefix (NULL, PREFIX_ERROR);
irc_display_prefix (NULL, NULL, PREFIX_ERROR);
gui_printf (NULL,
_("%s unable to initialize plugin \"%s\"\n"),
WEECHAT_ERROR, full_name);
@ -674,7 +674,7 @@ plugin_load (char *filename)
}
else
{
irc_display_prefix (NULL, PREFIX_ERROR);
irc_display_prefix (NULL, NULL, PREFIX_ERROR);
gui_printf (NULL,
_("%s unable to load plugin \"%s\" (not enough memory)\n"),
WEECHAT_ERROR, full_name);
@ -682,7 +682,7 @@ plugin_load (char *filename)
return NULL;
}
irc_display_prefix (NULL, PREFIX_PLUGIN);
irc_display_prefix (NULL, NULL, PREFIX_PLUGIN);
gui_printf (NULL,
_("Plugin \"%s\" (%s) loaded.\n"),
name, full_name);
@ -823,12 +823,12 @@ plugin_unload_name (char *name)
if (ptr_plugin)
{
plugin_unload (ptr_plugin);
irc_display_prefix (NULL, PREFIX_PLUGIN);
irc_display_prefix (NULL, NULL, PREFIX_PLUGIN);
gui_printf (NULL, _("Plugin \"%s\" unloaded.\n"), name);
}
else
{
irc_display_prefix (NULL, PREFIX_ERROR);
irc_display_prefix (NULL, NULL, PREFIX_ERROR);
gui_printf (NULL,
_("%s plugin \"%s\" not found\n"),
WEECHAT_ERROR, name);

View File

@ -62,7 +62,7 @@ typedef struct t_weechat_plugin t_weechat_plugin;
typedef int (t_plugin_handler_func) (t_weechat_plugin *, char *, char *, char *, char *, void *);
/* message handler, called when an IRC messages is received */
/* handlers */
typedef enum t_handler_type t_handler_type;