57 |
"server,channel: jump to buffer by server and/or channel name\n" |
"server,channel: jump to buffer by server and/or channel name\n" |
58 |
"number: jump to buffer by number"), |
"number: jump to buffer by number"), |
59 |
0, MAX_ARGS, weechat_cmd_buffer, NULL }, |
0, MAX_ARGS, weechat_cmd_buffer, NULL }, |
60 |
|
{ "charset", N_("change charset for server or channel"), |
61 |
|
N_("[(decode_iso | decode_utf | encode) charset]"), |
62 |
|
N_("decode_iso: charset used for decoding ISO\n" |
63 |
|
"decode_utf: charset used for decoding UTF\n" |
64 |
|
" encode: charset used for encoding messages"), |
65 |
|
0, 2, weechat_cmd_charset, NULL }, |
66 |
{ "clear", N_("clear window(s)"), |
{ "clear", N_("clear window(s)"), |
67 |
N_("[-all]"), |
N_("[-all]"), |
68 |
N_("-all: clear all windows"), |
N_("-all: clear all windows"), |
506 |
*/ |
*/ |
507 |
|
|
508 |
int |
int |
509 |
exec_weechat_command (t_irc_server *server, char *string) |
exec_weechat_command (t_gui_window *window, t_irc_server *server, char *string) |
510 |
{ |
{ |
511 |
int i, argc, return_code, length1, length2; |
int i, argc, return_code, length1, length2; |
512 |
char *command, *pos, *ptr_args, *ptr_args_color, **argv, *alias_command; |
char *command, *pos, *ptr_args, *ptr_args_color, **argv, *alias_command; |
595 |
{ |
{ |
596 |
if (weechat_commands[i].cmd_function_args) |
if (weechat_commands[i].cmd_function_args) |
597 |
return_code = (int) (weechat_commands[i].cmd_function_args) |
return_code = (int) (weechat_commands[i].cmd_function_args) |
598 |
(argc, argv); |
(window, argc, argv); |
599 |
else |
else |
600 |
return_code = (int) (weechat_commands[i].cmd_function_1arg) |
return_code = (int) (weechat_commands[i].cmd_function_1arg) |
601 |
(ptr_args); |
(window, ptr_args); |
602 |
if (return_code < 0) |
if (return_code < 0) |
603 |
{ |
{ |
604 |
irc_display_prefix (NULL, NULL, PREFIX_ERROR); |
irc_display_prefix (NULL, NULL, PREFIX_ERROR); |
699 |
alias_command[length1] = ' '; |
alias_command[length1] = ' '; |
700 |
strcpy (alias_command + length1 + 1, ptr_args); |
strcpy (alias_command + length1 + 1, ptr_args); |
701 |
} |
} |
702 |
(void) exec_weechat_command (server, alias_command); |
(void) exec_weechat_command (window, server, alias_command); |
703 |
if (alias_command) |
if (alias_command) |
704 |
free (alias_command); |
free (alias_command); |
705 |
} |
} |
706 |
else |
else |
707 |
(void) exec_weechat_command (server, ptr_alias->alias_command); |
(void) exec_weechat_command (window, server, |
708 |
|
ptr_alias->alias_command); |
709 |
|
|
710 |
free_exploded_string (argv); |
free_exploded_string (argv); |
711 |
free (command); |
free (command); |
733 |
*/ |
*/ |
734 |
|
|
735 |
void |
void |
736 |
user_command (t_irc_server *server, t_gui_buffer *buffer, char *command) |
user_command (t_gui_window *window, t_irc_server *server, char *command) |
737 |
{ |
{ |
738 |
t_irc_nick *ptr_nick; |
t_irc_nick *ptr_nick; |
739 |
int plugin_args_length; |
int plugin_args_length; |
745 |
if ((command[0] == '/') && (command[1] != '/')) |
if ((command[0] == '/') && (command[1] != '/')) |
746 |
{ |
{ |
747 |
/* WeeChat internal command (or IRC command) */ |
/* WeeChat internal command (or IRC command) */ |
748 |
(void) exec_weechat_command (server, command); |
(void) exec_weechat_command (window, server, command); |
749 |
} |
} |
750 |
else |
else |
751 |
{ |
{ |
752 |
if (!buffer) |
if (!window) |
753 |
buffer = gui_current_window->buffer; |
window = gui_current_window; |
754 |
|
|
755 |
if ((command[0] == '/') && (command[1] == '/')) |
if ((command[0] == '/') && (command[1] == '/')) |
756 |
command++; |
command++; |
757 |
|
|
758 |
if (server && (!BUFFER_IS_SERVER(buffer))) |
if (server && (!BUFFER_IS_SERVER(window->buffer))) |
759 |
{ |
{ |
760 |
command_with_colors = (cfg_irc_colors_send) ? |
command_with_colors = (cfg_irc_colors_send) ? |
761 |
(char *)gui_color_encode ((unsigned char *)command) : NULL; |
(char *)gui_color_encode ((unsigned char *)command) : NULL; |
762 |
|
|
763 |
if (CHANNEL(buffer)->dcc_chat) |
if (CHANNEL(window->buffer)->dcc_chat) |
764 |
dcc_chat_sendf ((t_irc_dcc *)(CHANNEL(buffer)->dcc_chat), |
dcc_chat_sendf ((t_irc_dcc *)(CHANNEL(window->buffer)->dcc_chat), |
765 |
"%s\r\n", |
"%s\r\n", |
766 |
(command_with_colors) ? command_with_colors : command); |
(command_with_colors) ? command_with_colors : command); |
767 |
else |
else |
768 |
server_sendf (server, "PRIVMSG %s :%s\r\n", |
server_sendf (server, "PRIVMSG %s :%s\r\n", |
769 |
CHANNEL(buffer)->name, |
CHANNEL(window->buffer)->name, |
770 |
(command_with_colors) ? |
(command_with_colors) ? |
771 |
command_with_colors : command); |
command_with_colors : command); |
772 |
|
|
773 |
command_with_colors2 = (command_with_colors) ? |
command_with_colors2 = (command_with_colors) ? |
774 |
(char *)gui_color_decode ((unsigned char *)command_with_colors, 1) : NULL; |
(char *)gui_color_decode ((unsigned char *)command_with_colors, 1) : NULL; |
775 |
|
|
776 |
if (CHANNEL(buffer)->type == CHANNEL_TYPE_PRIVATE) |
if (CHANNEL(window->buffer)->type == CHANNEL_TYPE_PRIVATE) |
777 |
{ |
{ |
778 |
gui_printf_type (CHANNEL(buffer)->buffer, |
gui_printf_type (window->buffer, |
779 |
MSG_TYPE_NICK, |
MSG_TYPE_NICK, |
780 |
"%s<%s%s%s> ", |
"%s<%s%s%s> ", |
781 |
GUI_COLOR(COLOR_WIN_CHAT_DARK), |
GUI_COLOR(COLOR_WIN_CHAT_DARK), |
782 |
GUI_COLOR(COLOR_WIN_NICK_SELF), |
GUI_COLOR(COLOR_WIN_NICK_SELF), |
783 |
server->nick, |
server->nick, |
784 |
GUI_COLOR(COLOR_WIN_CHAT_DARK)); |
GUI_COLOR(COLOR_WIN_CHAT_DARK)); |
785 |
gui_printf_type (CHANNEL(buffer)->buffer, |
gui_printf_type (window->buffer, |
786 |
MSG_TYPE_MSG, |
MSG_TYPE_MSG, |
787 |
"%s%s\n", |
"%s%s\n", |
788 |
GUI_COLOR(COLOR_WIN_CHAT), |
GUI_COLOR(COLOR_WIN_CHAT), |
791 |
} |
} |
792 |
else |
else |
793 |
{ |
{ |
794 |
ptr_nick = nick_search (CHANNEL(buffer), server->nick); |
ptr_nick = nick_search (CHANNEL(window->buffer), server->nick); |
795 |
if (ptr_nick) |
if (ptr_nick) |
796 |
{ |
{ |
797 |
irc_display_nick (CHANNEL(buffer)->buffer, ptr_nick, NULL, |
irc_display_nick (CHANNEL(window->buffer)->buffer, ptr_nick, NULL, |
798 |
MSG_TYPE_NICK, 1, 1, 0); |
MSG_TYPE_NICK, 1, 1, 0); |
799 |
gui_printf (CHANNEL(buffer)->buffer, |
gui_printf (CHANNEL(window->buffer)->buffer, |
800 |
"%s\n", |
"%s\n", |
801 |
(command_with_colors2) ? |
(command_with_colors2) ? |
802 |
command_with_colors2 : command); |
command_with_colors2 : command); |
860 |
*/ |
*/ |
861 |
|
|
862 |
int |
int |
863 |
weechat_cmd_alias (char *arguments) |
weechat_cmd_alias (t_gui_window *window, char *arguments) |
864 |
{ |
{ |
865 |
char *pos; |
char *pos; |
866 |
t_weechat_alias *ptr_alias; |
t_weechat_alias *ptr_alias; |
867 |
|
|
868 |
|
/* make gcc happy */ |
869 |
|
(void) window; |
870 |
|
|
871 |
if (arguments && arguments[0]) |
if (arguments && arguments[0]) |
872 |
{ |
{ |
873 |
/* Define new alias */ |
/* Define new alias */ |
992 |
*/ |
*/ |
993 |
|
|
994 |
int |
int |
995 |
weechat_cmd_buffer (int argc, char **argv) |
weechat_cmd_buffer (t_gui_window *window, int argc, char **argv) |
996 |
{ |
{ |
997 |
t_gui_buffer *ptr_buffer; |
t_gui_buffer *ptr_buffer; |
998 |
t_irc_server *ptr_server; |
t_irc_server *ptr_server; |
1038 |
if ((error) && (error[0] == '\0')) |
if ((error) && (error[0] == '\0')) |
1039 |
{ |
{ |
1040 |
if (argv[1][0] == '+') |
if (argv[1][0] == '+') |
1041 |
gui_buffer_move_to_number (gui_current_window, |
gui_buffer_move_to_number (window, |
1042 |
gui_current_window->buffer->number + ((int) number)); |
window->buffer->number + ((int) number)); |
1043 |
else if (argv[1][0] == '-') |
else if (argv[1][0] == '-') |
1044 |
gui_buffer_move_to_number (gui_current_window, |
gui_buffer_move_to_number (window, |
1045 |
gui_current_window->buffer->number - ((int) number)); |
window->buffer->number - ((int) number)); |
1046 |
else |
else |
1047 |
gui_buffer_move_to_number (gui_current_window, (int) number); |
gui_buffer_move_to_number (window, (int) number); |
1048 |
} |
} |
1049 |
else |
else |
1050 |
{ |
{ |
1059 |
{ |
{ |
1060 |
/* close buffer (server or channel/private) */ |
/* close buffer (server or channel/private) */ |
1061 |
|
|
1062 |
if ((!gui_current_window->buffer->next_buffer) |
if ((!window->buffer->next_buffer) |
1063 |
&& (gui_current_window->buffer == gui_buffers) |
&& (window->buffer == gui_buffers) |
1064 |
&& ((!gui_current_window->buffer->all_servers) |
&& ((!window->buffer->all_servers) |
1065 |
|| (!SERVER(gui_current_window->buffer)))) |
|| (!SERVER(window->buffer)))) |
1066 |
{ |
{ |
1067 |
irc_display_prefix (NULL, NULL, PREFIX_ERROR); |
irc_display_prefix (NULL, NULL, PREFIX_ERROR); |
1068 |
gui_printf (NULL, |
gui_printf (NULL, |
1070 |
WEECHAT_ERROR); |
WEECHAT_ERROR); |
1071 |
return -1; |
return -1; |
1072 |
} |
} |
1073 |
if (BUFFER_IS_SERVER(gui_current_window->buffer)) |
if (BUFFER_IS_SERVER(window->buffer)) |
1074 |
{ |
{ |
1075 |
if (SERVER(gui_current_window->buffer)->channels) |
if (SERVER(window->buffer)->channels) |
1076 |
{ |
{ |
1077 |
irc_display_prefix (NULL, NULL, PREFIX_ERROR); |
irc_display_prefix (NULL, NULL, PREFIX_ERROR); |
1078 |
gui_printf (NULL, |
gui_printf (NULL, |
1081 |
WEECHAT_ERROR); |
WEECHAT_ERROR); |
1082 |
return -1; |
return -1; |
1083 |
} |
} |
1084 |
server_disconnect (SERVER(gui_current_window->buffer), 0); |
server_disconnect (SERVER(window->buffer), 0); |
1085 |
ptr_server = SERVER(gui_current_window->buffer); |
ptr_server = SERVER(window->buffer); |
1086 |
if (!gui_current_window->buffer->all_servers) |
if (!window->buffer->all_servers) |
1087 |
{ |
{ |
1088 |
gui_buffer_free (gui_current_window->buffer, 1); |
gui_buffer_free (window->buffer, 1); |
1089 |
ptr_server->buffer = NULL; |
ptr_server->buffer = NULL; |
1090 |
} |
} |
1091 |
else |
else |
1092 |
{ |
{ |
1093 |
ptr_server->buffer = NULL; |
ptr_server->buffer = NULL; |
1094 |
gui_current_window->buffer->server = NULL; |
window->buffer->server = NULL; |
1095 |
gui_window_switch_server (gui_current_window); |
gui_window_switch_server (window); |
1096 |
} |
} |
1097 |
|
|
1098 |
} |
} |
1099 |
else |
else |
1100 |
{ |
{ |
1101 |
if (SERVER(gui_current_window->buffer)) |
if (SERVER(window->buffer)) |
1102 |
{ |
{ |
1103 |
if (SERVER(gui_current_window->buffer)->is_connected |
if (SERVER(window->buffer)->is_connected |
1104 |
&& CHANNEL(gui_current_window->buffer) |
&& CHANNEL(window->buffer) |
1105 |
&& CHANNEL(gui_current_window->buffer)->nicks) |
&& CHANNEL(window->buffer)->nicks) |
1106 |
irc_cmd_send_part (SERVER(gui_current_window->buffer), NULL); |
irc_cmd_send_part (SERVER(window->buffer), NULL); |
1107 |
else |
else |
1108 |
{ |
{ |
1109 |
ptr_channel = channel_search (SERVER(gui_current_window->buffer), |
ptr_channel = channel_search (SERVER(window->buffer), |
1110 |
CHANNEL(gui_current_window->buffer)->name); |
CHANNEL(window->buffer)->name); |
1111 |
if (ptr_channel) |
if (ptr_channel) |
1112 |
channel_free (SERVER(gui_current_window->buffer), |
channel_free (SERVER(window->buffer), |
1113 |
ptr_channel); |
ptr_channel); |
1114 |
gui_buffer_free (gui_current_window->buffer, 1); |
gui_buffer_free (window->buffer, 1); |
1115 |
} |
} |
1116 |
} |
} |
1117 |
else |
else |
1118 |
gui_buffer_free (gui_current_window->buffer, 1); |
gui_buffer_free (window->buffer, 1); |
1119 |
} |
} |
1120 |
gui_draw_buffer_status (gui_current_window->buffer, 1); |
gui_draw_buffer_status (window->buffer, 1); |
1121 |
} |
} |
1122 |
else if (ascii_strcasecmp (argv[0], "notify") == 0) |
else if (ascii_strcasecmp (argv[0], "notify") == 0) |
1123 |
{ |
{ |
1158 |
WEECHAT_ERROR, NOTIFY_LEVEL_MIN, NOTIFY_LEVEL_MAX); |
WEECHAT_ERROR, NOTIFY_LEVEL_MIN, NOTIFY_LEVEL_MAX); |
1159 |
return -1; |
return -1; |
1160 |
} |
} |
1161 |
if ((!BUFFER_IS_CHANNEL(gui_current_window->buffer)) |
if ((!BUFFER_IS_CHANNEL(window->buffer)) |
1162 |
&& (!BUFFER_IS_PRIVATE(gui_current_window->buffer))) |
&& (!BUFFER_IS_PRIVATE(window->buffer))) |
1163 |
{ |
{ |
1164 |
/* invalid buffer type (only ok on channel or private) */ |
/* invalid buffer type (only ok on channel or private) */ |
1165 |
irc_display_prefix (NULL, NULL, PREFIX_ERROR); |
irc_display_prefix (NULL, NULL, PREFIX_ERROR); |
1167 |
WEECHAT_ERROR); |
WEECHAT_ERROR); |
1168 |
return -1; |
return -1; |
1169 |
} |
} |
1170 |
gui_current_window->buffer->notify_level = number; |
window->buffer->notify_level = number; |
1171 |
channel_set_notify_level (SERVER(gui_current_window->buffer), |
channel_set_notify_level (SERVER(window->buffer), |
1172 |
CHANNEL(gui_current_window->buffer), |
CHANNEL(window->buffer), |
1173 |
number); |
number); |
1174 |
irc_display_prefix (NULL, NULL, PREFIX_INFO); |
irc_display_prefix (NULL, NULL, PREFIX_INFO); |
1175 |
gui_printf (NULL, _("New notify level for %s%s%s: %s%d %s"), |
gui_printf (NULL, _("New notify level for %s%s%s: %s%d %s"), |
1176 |
GUI_COLOR(COLOR_WIN_CHAT_CHANNEL), |
GUI_COLOR(COLOR_WIN_CHAT_CHANNEL), |
1177 |
CHANNEL(gui_current_window->buffer)->name, |
CHANNEL(window->buffer)->name, |
1178 |
GUI_COLOR(COLOR_WIN_CHAT), |
GUI_COLOR(COLOR_WIN_CHAT), |
1179 |
GUI_COLOR(COLOR_WIN_CHAT_CHANNEL), |
GUI_COLOR(COLOR_WIN_CHAT_CHANNEL), |
1180 |
number, |
number, |
1219 |
number = strtol (argv[0] + 1, &error, 10); |
number = strtol (argv[0] + 1, &error, 10); |
1220 |
if ((error) && (error[0] == '\0')) |
if ((error) && (error[0] == '\0')) |
1221 |
{ |
{ |
1222 |
target_buffer = gui_current_window->buffer->number - (int) number; |
target_buffer = window->buffer->number - (int) number; |
1223 |
if (target_buffer < 1) |
if (target_buffer < 1) |
1224 |
target_buffer = (last_gui_buffer) ? |
target_buffer = (last_gui_buffer) ? |
1225 |
last_gui_buffer->number + target_buffer : 1; |
last_gui_buffer->number + target_buffer : 1; |
1226 |
gui_buffer_switch_by_number (gui_current_window, |
gui_buffer_switch_by_number (window, |
1227 |
target_buffer); |
target_buffer); |
1228 |
} |
} |
1229 |
} |
} |
1234 |
number = strtol (argv[0] + 1, &error, 10); |
number = strtol (argv[0] + 1, &error, 10); |
1235 |
if ((error) && (error[0] == '\0')) |
if ((error) && (error[0] == '\0')) |
1236 |
{ |
{ |
1237 |
target_buffer = gui_current_window->buffer->number + (int) number; |
target_buffer = window->buffer->number + (int) number; |
1238 |
if (last_gui_buffer && target_buffer > last_gui_buffer->number) |
if (last_gui_buffer && target_buffer > last_gui_buffer->number) |
1239 |
target_buffer -= last_gui_buffer->number; |
target_buffer -= last_gui_buffer->number; |
1240 |
gui_buffer_switch_by_number (gui_current_window, |
gui_buffer_switch_by_number (window, |
1241 |
target_buffer); |
target_buffer); |
1242 |
} |
} |
1243 |
} |
} |
1247 |
error = NULL; |
error = NULL; |
1248 |
number = strtol (argv[0], &error, 10); |
number = strtol (argv[0], &error, 10); |
1249 |
if ((error) && (error[0] == '\0')) |
if ((error) && (error[0] == '\0')) |
1250 |
gui_buffer_switch_by_number (gui_current_window, (int) number); |
gui_buffer_switch_by_number (window, (int) number); |
1251 |
else |
else |
1252 |
{ |
{ |
1253 |
ptr_buffer = NULL; |
ptr_buffer = NULL; |
1262 |
} |
} |
1263 |
if (ptr_buffer) |
if (ptr_buffer) |
1264 |
{ |
{ |
1265 |
gui_switch_to_buffer (gui_current_window, ptr_buffer); |
gui_switch_to_buffer (window, ptr_buffer); |
1266 |
gui_redraw_buffer (ptr_buffer); |
gui_redraw_buffer (ptr_buffer); |
1267 |
} |
} |
1268 |
} |
} |
1274 |
} |
} |
1275 |
|
|
1276 |
/* |
/* |
1277 |
|
* weechat_cmd_charset_display: display charsets for current server or channel |
1278 |
|
*/ |
1279 |
|
|
1280 |
|
void |
1281 |
|
weechat_cmd_charset_display (t_gui_window *window) |
1282 |
|
{ |
1283 |
|
char *server_item = "server", *ptr_item; |
1284 |
|
char *value, *string, *herited; |
1285 |
|
int length; |
1286 |
|
|
1287 |
|
if (BUFFER_IS_SERVER(window->buffer) || |
1288 |
|
BUFFER_IS_CHANNEL(window->buffer) || |
1289 |
|
BUFFER_IS_PRIVATE(window->buffer)) |
1290 |
|
{ |
1291 |
|
if (BUFFER_IS_SERVER(window->buffer)) |
1292 |
|
{ |
1293 |
|
gui_printf_nolog (NULL, _("Charsets for server %s%s%s: "), |
1294 |
|
GUI_COLOR(COLOR_WIN_CHAT_SERVER), |
1295 |
|
SERVER(window->buffer)->name, |
1296 |
|
GUI_COLOR(COLOR_WIN_CHAT)); |
1297 |
|
ptr_item = server_item; |
1298 |
|
} |
1299 |
|
else if (BUFFER_IS_CHANNEL(window->buffer)) |
1300 |
|
{ |
1301 |
|
gui_printf_nolog (NULL, _("Charsets for channel %s%s%s: "), |
1302 |
|
GUI_COLOR(COLOR_WIN_CHAT_CHANNEL), |
1303 |
|
CHANNEL(window->buffer)->name, |
1304 |
|
GUI_COLOR(COLOR_WIN_CHAT)); |
1305 |
|
ptr_item = CHANNEL(window->buffer)->name; |
1306 |
|
} |
1307 |
|
else |
1308 |
|
{ |
1309 |
|
gui_printf_nolog (NULL, _("Charsets for private %s%s%s: "), |
1310 |
|
GUI_COLOR(COLOR_WIN_CHAT_CHANNEL), |
1311 |
|
CHANNEL(window->buffer)->name, |
1312 |
|
GUI_COLOR(COLOR_WIN_CHAT)); |
1313 |
|
ptr_item = CHANNEL(window->buffer)->name; |
1314 |
|
} |
1315 |
|
|
1316 |
|
/* decode ISO */ |
1317 |
|
herited = NULL; |
1318 |
|
config_option_list_get_value (&(SERVER(window->buffer)->charset_decode_iso), |
1319 |
|
ptr_item, &value, &length); |
1320 |
|
if (value && (length > 0)) |
1321 |
|
{ |
1322 |
|
string = strdup (value); |
1323 |
|
string[length] = '\0'; |
1324 |
|
} |
1325 |
|
else |
1326 |
|
{ |
1327 |
|
string = strdup (""); |
1328 |
|
herited = channel_get_charset_decode_iso (SERVER(window->buffer), |
1329 |
|
CHANNEL(window->buffer)); |
1330 |
|
} |
1331 |
|
gui_printf (NULL, "decode_iso: \"%s%s%s\"", |
1332 |
|
GUI_COLOR(COLOR_WIN_CHAT_HOST), |
1333 |
|
string, |
1334 |
|
GUI_COLOR(COLOR_WIN_CHAT)); |
1335 |
|
if (herited) |
1336 |
|
{ |
1337 |
|
gui_printf (NULL, _(" (inherited: \"%s%s%s\")"), |
1338 |
|
GUI_COLOR(COLOR_WIN_CHAT_HOST), |
1339 |
|
herited, |
1340 |
|
GUI_COLOR(COLOR_WIN_CHAT)); |
1341 |
|
free (herited); |
1342 |
|
} |
1343 |
|
gui_printf (NULL, ", "); |
1344 |
|
free (string); |
1345 |
|
|
1346 |
|
/* decode UTF */ |
1347 |
|
herited = NULL; |
1348 |
|
config_option_list_get_value (&(SERVER(window->buffer)->charset_decode_utf), |
1349 |
|
ptr_item, &value, &length); |
1350 |
|
if (value && (length > 0)) |
1351 |
|
{ |
1352 |
|
string = strdup (value); |
1353 |
|
string[length] = '\0'; |
1354 |
|
} |
1355 |
|
else |
1356 |
|
{ |
1357 |
|
string = strdup (""); |
1358 |
|
herited = channel_get_charset_decode_utf (SERVER(window->buffer), |
1359 |
|
CHANNEL(window->buffer)); |
1360 |
|
} |
1361 |
|
gui_printf (NULL, "decode_utf: \"%s%s%s\"", |
1362 |
|
GUI_COLOR(COLOR_WIN_CHAT_HOST), |
1363 |
|
string, |
1364 |
|
GUI_COLOR(COLOR_WIN_CHAT)); |
1365 |
|
if (herited) |
1366 |
|
{ |
1367 |
|
gui_printf (NULL, _(" (inherited: \"%s%s%s\")"), |
1368 |
|
GUI_COLOR(COLOR_WIN_CHAT_HOST), |
1369 |
|
herited, |
1370 |
|
GUI_COLOR(COLOR_WIN_CHAT)); |
1371 |
|
free (herited); |
1372 |
|
} |
1373 |
|
gui_printf (NULL, ", "); |
1374 |
|
free (string); |
1375 |
|
|
1376 |
|
/* encode */ |
1377 |
|
herited = NULL; |
1378 |
|
config_option_list_get_value (&(SERVER(window->buffer)->charset_encode), |
1379 |
|
ptr_item, &value, &length); |
1380 |
|
if (value && (length > 0)) |
1381 |
|
{ |
1382 |
|
string = strdup (value); |
1383 |
|
string[length] = '\0'; |
1384 |
|
} |
1385 |
|
else |
1386 |
|
{ |
1387 |
|
string = strdup (""); |
1388 |
|
herited = channel_get_charset_encode (SERVER(window->buffer), |
1389 |
|
CHANNEL(window->buffer)); |
1390 |
|
} |
1391 |
|
gui_printf (NULL, "encode: \"%s%s%s\"", |
1392 |
|
GUI_COLOR(COLOR_WIN_CHAT_HOST), |
1393 |
|
string, |
1394 |
|
GUI_COLOR(COLOR_WIN_CHAT)); |
1395 |
|
if (herited) |
1396 |
|
{ |
1397 |
|
gui_printf (NULL, _(" (inherited: \"%s%s%s\")"), |
1398 |
|
GUI_COLOR(COLOR_WIN_CHAT_HOST), |
1399 |
|
herited, |
1400 |
|
GUI_COLOR(COLOR_WIN_CHAT)); |
1401 |
|
free (herited); |
1402 |
|
} |
1403 |
|
gui_printf (NULL, "\n"); |
1404 |
|
free (string); |
1405 |
|
} |
1406 |
|
} |
1407 |
|
|
1408 |
|
/* |
1409 |
|
* weechat_cmd_charset_set: set a charset for server or channel |
1410 |
|
*/ |
1411 |
|
|
1412 |
|
void |
1413 |
|
weechat_cmd_charset_set (t_gui_window *window, char **string, char *charset) |
1414 |
|
{ |
1415 |
|
if (BUFFER_IS_SERVER(window->buffer)) |
1416 |
|
{ |
1417 |
|
if (charset) |
1418 |
|
config_option_list_set (string, "server", charset); |
1419 |
|
else |
1420 |
|
config_option_list_remove (string, "server"); |
1421 |
|
weechat_cmd_charset_display (window); |
1422 |
|
} |
1423 |
|
else if (BUFFER_IS_CHANNEL(window->buffer) || |
1424 |
|
BUFFER_IS_PRIVATE(window->buffer)) |
1425 |
|
{ |
1426 |
|
if (charset) |
1427 |
|
config_option_list_set (string, CHANNEL(window->buffer)->name, charset); |
1428 |
|
else |
1429 |
|
config_option_list_remove (string, CHANNEL(window->buffer)->name); |
1430 |
|
weechat_cmd_charset_display (window); |
1431 |
|
} |
1432 |
|
} |
1433 |
|
|
1434 |
|
/* |
1435 |
|
* weechat_cmd_charset: change charset for server or channel |
1436 |
|
*/ |
1437 |
|
|
1438 |
|
int |
1439 |
|
weechat_cmd_charset (t_gui_window *window, int argc, char **argv) |
1440 |
|
{ |
1441 |
|
if (argc == 0) |
1442 |
|
weechat_cmd_charset_display (window); |
1443 |
|
else |
1444 |
|
{ |
1445 |
|
if (ascii_strcasecmp (argv[0], "decode_iso") == 0) |
1446 |
|
weechat_cmd_charset_set (window, |
1447 |
|
&(SERVER(window->buffer)->charset_decode_iso), |
1448 |
|
(argc > 1) ? argv[1] : NULL); |
1449 |
|
else if (ascii_strcasecmp (argv[0], "decode_utf") == 0) |
1450 |
|
weechat_cmd_charset_set (window, |
1451 |
|
&(SERVER(window->buffer)->charset_decode_utf), |
1452 |
|
(argc > 1) ? argv[1] : NULL); |
1453 |
|
else if (ascii_strcasecmp (argv[0], "encode") == 0) |
1454 |
|
weechat_cmd_charset_set (window, |
1455 |
|
&(SERVER(window->buffer)->charset_encode), |
1456 |
|
(argc > 1) ? argv[1] : NULL); |
1457 |
|
else |
1458 |
|
{ |
1459 |
|
irc_display_prefix (NULL, NULL, PREFIX_ERROR); |
1460 |
|
gui_printf (NULL, |
1461 |
|
_("%s unknown option for \"%s\" command\n"), |
1462 |
|
WEECHAT_ERROR, "charset"); |
1463 |
|
return -1; |
1464 |
|
} |
1465 |
|
} |
1466 |
|
return 0; |
1467 |
|
} |
1468 |
|
|
1469 |
|
/* |
1470 |
* weechat_cmd_clear: display or create alias |
* weechat_cmd_clear: display or create alias |
1471 |
*/ |
*/ |
1472 |
|
|
1473 |
int |
int |
1474 |
weechat_cmd_clear (int argc, char **argv) |
weechat_cmd_clear (t_gui_window *window, int argc, char **argv) |
1475 |
{ |
{ |
1476 |
if (argc == 1) |
if (argc == 1) |
1477 |
{ |
{ |
1481 |
{ |
{ |
1482 |
irc_display_prefix (NULL, NULL, PREFIX_ERROR); |
irc_display_prefix (NULL, NULL, PREFIX_ERROR); |
1483 |
gui_printf (NULL, |
gui_printf (NULL, |
1484 |
_("unknown parameter \"%s\" for \"%s\" command\n"), |
_("%s unknown option for \"%s\" command\n"), |
1485 |
argv[0], "clear"); |
WEECHAT_ERROR, "clear"); |
1486 |
return -1; |
return -1; |
1487 |
} |
} |
1488 |
} |
} |
1489 |
else |
else |
1490 |
gui_buffer_clear (gui_current_window->buffer); |
gui_buffer_clear (window->buffer); |
1491 |
return 0; |
return 0; |
1492 |
} |
} |
1493 |
|
|
1496 |
*/ |
*/ |
1497 |
|
|
1498 |
int |
int |
1499 |
weechat_cmd_connect (int argc, char **argv) |
weechat_cmd_connect (t_gui_window *window, int argc, char **argv) |
1500 |
{ |
{ |
1501 |
t_irc_server *ptr_server; |
t_irc_server *ptr_server; |
1502 |
|
|
1503 |
if (argc == 1) |
if (argc == 1) |
1504 |
ptr_server = server_search (argv[0]); |
ptr_server = server_search (argv[0]); |
1505 |
else |
else |
1506 |
ptr_server = SERVER(gui_current_window->buffer); |
ptr_server = SERVER(window->buffer); |
1507 |
|
|
1508 |
if (ptr_server) |
if (ptr_server) |
1509 |
{ |
{ |
1525 |
} |
} |
1526 |
if (!ptr_server->buffer) |
if (!ptr_server->buffer) |
1527 |
{ |
{ |
1528 |
if (!gui_buffer_new (gui_current_window, ptr_server, NULL, 0, 1)) |
if (!gui_buffer_new (window, ptr_server, NULL, 0, 1)) |
1529 |
return -1; |
return -1; |
1530 |
} |
} |
1531 |
if (server_connect (ptr_server)) |
if (server_connect (ptr_server)) |
1587 |
*/ |
*/ |
1588 |
|
|
1589 |
int |
int |
1590 |
weechat_cmd_debug (int argc, char **argv) |
weechat_cmd_debug (t_gui_window *window, int argc, char **argv) |
1591 |
{ |
{ |
1592 |
|
/* make gcc happy */ |
1593 |
|
(void) window; |
1594 |
|
|
1595 |
if (argc != 1) |
if (argc != 1) |
1596 |
{ |
{ |
1597 |
irc_display_prefix (NULL, NULL, PREFIX_ERROR); |
irc_display_prefix (NULL, NULL, PREFIX_ERROR); |
1628 |
*/ |
*/ |
1629 |
|
|
1630 |
int |
int |
1631 |
weechat_cmd_disconnect (int argc, char **argv) |
weechat_cmd_disconnect (t_gui_window *window, int argc, char **argv) |
1632 |
{ |
{ |
1633 |
t_irc_server *ptr_server; |
t_irc_server *ptr_server; |
1634 |
|
|
1635 |
if (argc == 1) |
if (argc == 1) |
1636 |
ptr_server = server_search (argv[0]); |
ptr_server = server_search (argv[0]); |
1637 |
else |
else |
1638 |
ptr_server = SERVER(gui_current_window->buffer); |
ptr_server = SERVER(window->buffer); |
1639 |
|
|
1640 |
if (ptr_server) |
if (ptr_server) |
1641 |
{ |
{ |
1655 |
_("Auto-reconnection is cancelled\n")); |
_("Auto-reconnection is cancelled\n")); |
1656 |
} |
} |
1657 |
server_disconnect (ptr_server, 0); |
server_disconnect (ptr_server, 0); |
1658 |
gui_draw_buffer_status (gui_current_window->buffer, 1); |
gui_draw_buffer_status (window->buffer, 1); |
1659 |
} |
} |
1660 |
else |
else |
1661 |
{ |
{ |
1671 |
*/ |
*/ |
1672 |
|
|
1673 |
int |
int |
1674 |
weechat_cmd_help (int argc, char **argv) |
weechat_cmd_help (t_gui_window *window, int argc, char **argv) |
1675 |
{ |
{ |
1676 |
int i; |
int i; |
1677 |
#ifdef PLUGINS |
#ifdef PLUGINS |
1678 |
t_weechat_plugin *ptr_plugin; |
t_weechat_plugin *ptr_plugin; |
1679 |
t_plugin_handler *ptr_handler; |
t_plugin_handler *ptr_handler; |
1680 |
#endif |
#endif |
1681 |
|
|
1682 |
|
/* make gcc happy */ |
1683 |
|
(void) window; |
1684 |
|
|
1685 |
switch (argc) |
switch (argc) |
1686 |
{ |
{ |
1687 |
case 0: |
case 0: |
1838 |
*/ |
*/ |
1839 |
|
|
1840 |
int |
int |
1841 |
weechat_cmd_history (int argc, char **argv) { |
weechat_cmd_history (t_gui_window *window, int argc, char **argv) |
1842 |
|
{ |
1843 |
t_history *p; |
t_history *ptr_history; |
1844 |
int n; |
int n; |
1845 |
int n_total; |
int n_total; |
1846 |
int n_user = cfg_history_display_default; |
int n_user; |
1847 |
|
|
1848 |
|
n_user = cfg_history_display_default; |
1849 |
|
|
1850 |
if (argc == 1) |
if (argc == 1) |
1851 |
{ |
{ |
1852 |
if (ascii_strcasecmp (argv[0], "clear") == 0) |
if (ascii_strcasecmp (argv[0], "clear") == 0) |
1853 |
{ |
{ |
1854 |
history_buffer_free (gui_current_window->buffer); |
history_buffer_free (window->buffer); |
1855 |
return 0; |
return 0; |
1856 |
} |
} |
1857 |
else |
else |
1858 |
n_user = atoi (argv[0]); |
n_user = atoi (argv[0]); |
1859 |
} |
} |
1860 |
|
|
1861 |
if (gui_current_window->buffer->history != NULL) |
if (window->buffer->history != NULL) |
1862 |
{ |
{ |
1863 |
for(n_total = 1, p = gui_current_window->buffer->history; p->next_history != NULL; p = p->next_history, n_total++); |
n_total = 1; |
1864 |
for(n=0; p != NULL; p=p->prev_history, n++) |
for (ptr_history = window->buffer->history; |
1865 |
|
ptr_history->next_history; |
1866 |
|
ptr_history = ptr_history->next_history) |
1867 |
{ |
{ |
1868 |
if (n_user > 0 && (n_total-n_user) > n) |
n_total++; |
1869 |
|
} |
1870 |
|
for (n = 0; ptr_history; ptr_history = ptr_history->prev_history) |
1871 |
|
{ |
1872 |
|
if ((n_user > 0) && ((n_total - n_user) > n)) |
1873 |
continue; |
continue; |
1874 |
irc_display_prefix (NULL, gui_current_window->buffer, |
irc_display_prefix (NULL, window->buffer, PREFIX_INFO); |
1875 |
PREFIX_INFO); |
gui_printf_nolog (window->buffer, "%s\n", ptr_history->text); |
1876 |
gui_printf_nolog (gui_current_window->buffer, |
n++; |
|
"%s\n", p->text); |
|
1877 |
} |
} |
1878 |
} |
} |
1879 |
|
|
1880 |
return 0; |
return 0; |
1881 |
} |
} |
1882 |
|
|
1913 |
*/ |
*/ |
1914 |
|
|
1915 |
int |
int |
1916 |
weechat_cmd_ignore (int argc, char **argv) |
weechat_cmd_ignore (t_gui_window *window, int argc, char **argv) |
1917 |
{ |
{ |
1918 |
t_irc_ignore *ptr_ignore; |
t_irc_ignore *ptr_ignore; |
1919 |
int i; |
int i; |
1949 |
break; |
break; |
1950 |
case 1: |
case 1: |
1951 |
ptr_ignore = ignore_add (argv[0], "*", "*", |
ptr_ignore = ignore_add (argv[0], "*", "*", |
1952 |
(SERVER(gui_current_window->buffer)) ? |
(SERVER(window->buffer)) ? |
1953 |
SERVER(gui_current_window->buffer)->name : "*"); |
SERVER(window->buffer)->name : "*"); |
1954 |
break; |
break; |
1955 |
case 2: |
case 2: |
1956 |
ptr_ignore = ignore_add (argv[0], argv[1], "*", |
ptr_ignore = ignore_add (argv[0], argv[1], "*", |
1957 |
(SERVER(gui_current_window->buffer)) ? |
(SERVER(window->buffer)) ? |
1958 |
SERVER(gui_current_window->buffer)->name : "*"); |
SERVER(window->buffer)->name : "*"); |
1959 |
break; |
break; |
1960 |
case 3: |
case 3: |
1961 |
ptr_ignore = ignore_add (argv[0], argv[1], argv[2], |
ptr_ignore = ignore_add (argv[0], argv[1], argv[2], |
1962 |
(SERVER(gui_current_window->buffer)) ? |
(SERVER(window->buffer)) ? |
1963 |
SERVER(gui_current_window->buffer)->name : "*"); |
SERVER(window->buffer)->name : "*"); |
1964 |
break; |
break; |
1965 |
case 4: |
case 4: |
1966 |
ptr_ignore = ignore_add (argv[0], argv[1], argv[2], argv[3]); |
ptr_ignore = ignore_add (argv[0], argv[1], argv[2], argv[3]); |
2008 |
*/ |
*/ |
2009 |
|
|
2010 |
int |
int |
2011 |
weechat_cmd_key (char *arguments) |
weechat_cmd_key (t_gui_window *window, char *arguments) |
2012 |
{ |
{ |
2013 |
char *pos; |
char *pos; |
2014 |
int i; |
int i; |
2015 |
t_gui_key *ptr_key; |
t_gui_key *ptr_key; |
2016 |
|
|
2017 |
|
/* make gcc happy */ |
2018 |
|
(void) window; |
2019 |
|
|
2020 |
if (arguments) |
if (arguments) |
2021 |
{ |
{ |
2022 |
while (arguments[0] == ' ') |
while (arguments[0] == ' ') |
2123 |
*/ |
*/ |
2124 |
|
|
2125 |
int |
int |
2126 |
weechat_cmd_plugin (int argc, char **argv) |
weechat_cmd_plugin (t_gui_window *window, int argc, char **argv) |
2127 |
{ |
{ |
2128 |
#ifdef PLUGINS |
#ifdef PLUGINS |
2129 |
t_weechat_plugin *ptr_plugin; |
t_weechat_plugin *ptr_plugin; |
2130 |
t_plugin_handler *ptr_handler; |
t_plugin_handler *ptr_handler; |
2131 |
int handler_found; |
int handler_found; |
2132 |
|
|
2133 |
|
/* make gcc happy */ |
2134 |
|
(void) window; |
2135 |
|
|
2136 |
switch (argc) |
switch (argc) |
2137 |
{ |
{ |
2138 |
case 0: |
case 0: |
2254 |
*/ |
*/ |
2255 |
|
|
2256 |
int |
int |
2257 |
weechat_cmd_save (int argc, char **argv) |
weechat_cmd_save (t_gui_window *window, int argc, char **argv) |
2258 |
{ |
{ |
2259 |
|
/* make gcc happy */ |
2260 |
|
(void) window; |
2261 |
|
|
2262 |
return (config_write ((argc == 1) ? argv[0] : NULL)); |
return (config_write ((argc == 1) ? argv[0] : NULL)); |
2263 |
} |
} |
2264 |
|
|
2267 |
*/ |
*/ |
2268 |
|
|
2269 |
int |
int |
2270 |
weechat_cmd_server (int argc, char **argv) |
weechat_cmd_server (t_gui_window *window, int argc, char **argv) |
2271 |
{ |
{ |
2272 |
int i; |
int i; |
2273 |
t_irc_server server, *ptr_server, *server_found, *new_server; |
t_irc_server server, *ptr_server, *server_found, *new_server; |
2375 |
if (server_name) |
if (server_name) |
2376 |
free (server_name); |
free (server_name); |
2377 |
|
|
2378 |
gui_redraw_buffer (gui_current_window->buffer); |
gui_redraw_buffer (window->buffer); |
2379 |
|
|
2380 |
return 0; |
return 0; |
2381 |
} |
} |
2511 |
server.ssl, server.password, |
server.ssl, server.password, |
2512 |
server.nick1, server.nick2, server.nick3, |
server.nick1, server.nick2, server.nick3, |
2513 |
server.username, server.realname, |
server.username, server.realname, |
2514 |
server.command, 1, server.autojoin, 1, NULL); |
server.command, 1, server.autojoin, 1, NULL, |
2515 |
|
NULL, NULL, NULL); |
2516 |
if (new_server) |
if (new_server) |
2517 |
{ |
{ |
2518 |
irc_display_prefix (NULL, NULL, PREFIX_INFO); |
irc_display_prefix (NULL, NULL, PREFIX_INFO); |
2533 |
|
|
2534 |
if (new_server->autoconnect) |
if (new_server->autoconnect) |
2535 |
{ |
{ |
2536 |
(void) gui_buffer_new (gui_current_window, new_server, NULL, 0, 1); |
(void) gui_buffer_new (window, new_server, NULL, 0, 1); |
2537 |
server_connect (new_server); |
server_connect (new_server); |
2538 |
} |
} |
2539 |
|
|
2617 |
GUI_COLOR(COLOR_WIN_CHAT_DARK)); |
GUI_COLOR(COLOR_WIN_CHAT_DARK)); |
2618 |
free (value2); |
free (value2); |
2619 |
} |
} |
2620 |
|
else |
2621 |
|
gui_printf (NULL, "%s\"\"", |
2622 |
|
GUI_COLOR(COLOR_WIN_CHAT_DARK)); |
2623 |
gui_printf (NULL, "\n"); |
gui_printf (NULL, "\n"); |
2624 |
break; |
break; |
2625 |
} |
} |
2630 |
*/ |
*/ |
2631 |
|
|
2632 |
int |
int |
2633 |
weechat_cmd_set (char *arguments) |
weechat_cmd_set (t_gui_window *window, char *arguments) |
2634 |
{ |
{ |
2635 |
char *option, *value, *pos; |
char *option, *value, *pos; |
2636 |
int i, j, section_displayed; |
int i, j, section_displayed; |
2639 |
char option_name[256]; |
char option_name[256]; |
2640 |
void *ptr_option_value; |
void *ptr_option_value; |
2641 |
int last_section, last_option, number_found; |
int last_section, last_option, number_found; |
2642 |
|
|
2643 |
|
/* make gcc happy */ |
2644 |
|
(void) window; |
2645 |
|
|
2646 |
option = NULL; |
option = NULL; |
2647 |
value = NULL; |
value = NULL; |
2648 |
if (arguments && arguments[0]) |
if (arguments && arguments[0]) |
2949 |
*/ |
*/ |
2950 |
|
|
2951 |
int |
int |
2952 |
weechat_cmd_unalias (char *arguments) |
weechat_cmd_unalias (t_gui_window *window, char *arguments) |
2953 |
{ |
{ |
2954 |
t_weelist *ptr_weelist; |
t_weelist *ptr_weelist; |
2955 |
t_weechat_alias *ptr_alias; |
t_weechat_alias *ptr_alias; |
2956 |
|
|
2957 |
|
/* make gcc happy */ |
2958 |
|
(void) window; |
2959 |
|
|
2960 |
ptr_weelist = weelist_search (index_commands, arguments); |
ptr_weelist = weelist_search (index_commands, arguments); |
2961 |
if (!ptr_weelist) |
if (!ptr_weelist) |
2962 |
{ |
{ |
2981 |
*/ |
*/ |
2982 |
|
|
2983 |
int |
int |
2984 |
weechat_cmd_unignore (int argc, char **argv) |
weechat_cmd_unignore (t_gui_window *window, int argc, char **argv) |
2985 |
{ |
{ |
2986 |
char *error; |
char *error; |
2987 |
int number, ret; |
int number, ret; |
2991 |
{ |
{ |
2992 |
case 0: |
case 0: |
2993 |
/* List all ignore */ |
/* List all ignore */ |
2994 |
weechat_cmd_ignore (argc, argv); |
weechat_cmd_ignore (window, argc, argv); |
2995 |
return 0; |
return 0; |
2996 |
break; |
break; |
2997 |
case 1: |
case 1: |
3001 |
ret = ignore_search_free_by_number (number); |
ret = ignore_search_free_by_number (number); |
3002 |
else |
else |
3003 |
ret = ignore_search_free (argv[0], "*", "*", |
ret = ignore_search_free (argv[0], "*", "*", |
3004 |
(SERVER(gui_current_window->buffer)) ? |
(SERVER(window->buffer)) ? |
3005 |
SERVER(gui_current_window->buffer)->name : "*"); |
SERVER(window->buffer)->name : "*"); |
3006 |
break; |
break; |
3007 |
case 2: |
case 2: |
3008 |
ret = ignore_search_free (argv[0], argv[1], "*", |
ret = ignore_search_free (argv[0], argv[1], "*", |
3009 |
(SERVER(gui_current_window->buffer)) ? |
(SERVER(window->buffer)) ? |
3010 |
SERVER(gui_current_window->buffer)->name : "*"); |
SERVER(window->buffer)->name : "*"); |
3011 |
break; |
break; |
3012 |
case 3: |
case 3: |
3013 |
ret = ignore_search_free (argv[0], argv[1], argv[2], |
ret = ignore_search_free (argv[0], argv[1], argv[2], |
3014 |
(SERVER(gui_current_window->buffer)) ? |
(SERVER(window->buffer)) ? |
3015 |
SERVER(gui_current_window->buffer)->name : "*"); |
SERVER(window->buffer)->name : "*"); |
3016 |
break; |
break; |
3017 |
case 4: |
case 4: |
3018 |
ret = ignore_search_free (argv[0], argv[1], argv[2], argv[3]); |
ret = ignore_search_free (argv[0], argv[1], argv[2], argv[3]); |
3047 |
*/ |
*/ |
3048 |
|
|
3049 |
int |
int |
3050 |
weechat_cmd_upgrade (int argc, char **argv) |
weechat_cmd_upgrade (t_gui_window *window, int argc, char **argv) |
3051 |
{ |
{ |
3052 |
t_irc_server *ptr_server; |
t_irc_server *ptr_server; |
3053 |
int filename_length; |
int filename_length; |
3055 |
char *exec_args[5] = { NULL, "-a", "--session", NULL, NULL }; |
char *exec_args[5] = { NULL, "-a", "--session", NULL, NULL }; |
3056 |
|
|
3057 |
/* make gcc happy */ |
/* make gcc happy */ |
3058 |
|
(void) window; |
3059 |
(void) argc; |
(void) argc; |
3060 |
(void) argv; |
(void) argv; |
3061 |
|
|
3064 |
{ |
{ |
3065 |
if (ptr_server->child_pid != 0) |
if (ptr_server->child_pid != 0) |
3066 |
{ |
{ |
3067 |
irc_display_prefix (NULL, gui_current_window->buffer, PREFIX_ERROR); |
irc_display_prefix (NULL, NULL, PREFIX_ERROR); |
3068 |
gui_printf_nolog (NULL, |
gui_printf_nolog (NULL, |
3069 |
_("%s can't upgrade: connection to at least " |
_("%s can't upgrade: connection to at least " |
3070 |
"one server is pending"), |
"one server is pending"), |
3136 |
*/ |
*/ |
3137 |
|
|
3138 |
int |
int |
3139 |
weechat_cmd_uptime (int argc, char **argv) |
weechat_cmd_uptime (t_gui_window *window, int argc, char **argv) |
3140 |
{ |
{ |
3141 |
time_t running_time; |
time_t running_time; |
3142 |
int day, hour, min, sec; |
int day, hour, min, sec; |
3149 |
sec = ((running_time % (60 * 60 * 24)) % (60 * 60)) % 60; |
sec = ((running_time % (60 * 60 * 24)) % (60 * 60)) % 60; |
3150 |
|
|
3151 |
if ((argc == 1) && (strcmp (argv[0], "-o") == 0) |
if ((argc == 1) && (strcmp (argv[0], "-o") == 0) |
3152 |
&& ((BUFFER_IS_CHANNEL(gui_current_window->buffer)) |
&& ((BUFFER_IS_CHANNEL(window->buffer)) |
3153 |
|| (BUFFER_IS_PRIVATE(gui_current_window->buffer)))) |
|| (BUFFER_IS_PRIVATE(window->buffer)))) |
3154 |
{ |
{ |
3155 |
snprintf (string, sizeof (string), |
snprintf (string, sizeof (string), |
3156 |
_("WeeChat uptime: %d %s %02d:%02d:%02d, started on %s"), |
_("WeeChat uptime: %d %s %02d:%02d:%02d, started on %s"), |
3161 |
sec, |
sec, |
3162 |
ctime (&weechat_start_time)); |
ctime (&weechat_start_time)); |
3163 |
string[strlen (string) - 1] = '\0'; |
string[strlen (string) - 1] = '\0'; |
3164 |
user_command (SERVER(gui_current_window->buffer), |
user_command (window, SERVER(window->buffer), string); |
|
gui_current_window->buffer, |
|
|
string); |
|
3165 |
} |
} |
3166 |
else |
else |
3167 |
{ |
{ |
3168 |
irc_display_prefix (NULL, gui_current_window->buffer, |
irc_display_prefix (NULL, window->buffer, PREFIX_INFO); |
3169 |
PREFIX_INFO); |
gui_printf_nolog (window->buffer, |
|
gui_printf_nolog (gui_current_window->buffer, |
|
3170 |
_("WeeChat uptime: %s%d %s%s " |
_("WeeChat uptime: %s%d %s%s " |
3171 |
"%s%02d%s:%s%02d%s:%s%02d%s, " |
"%s%02d%s:%s%02d%s:%s%02d%s, " |
3172 |
"started on %s%s"), |
"started on %s%s"), |
3195 |
*/ |
*/ |
3196 |
|
|
3197 |
int |
int |
3198 |
weechat_cmd_window (int argc, char **argv) |
weechat_cmd_window (t_gui_window *window, int argc, char **argv) |
3199 |
{ |
{ |
3200 |
t_gui_window *ptr_win; |
t_gui_window *ptr_win; |
3201 |
int i; |
int i; |
3242 |
number = strtol (argv[1], &error, 10); |
number = strtol (argv[1], &error, 10); |
3243 |
if ((error) && (error[0] == '\0') |
if ((error) && (error[0] == '\0') |
3244 |
&& (number > 0) && (number < 100)) |
&& (number > 0) && (number < 100)) |
3245 |
gui_window_split_horiz (gui_current_window, number); |
gui_window_split_horiz (window, number); |
3246 |
} |
} |
3247 |
else |
else |
3248 |
gui_window_split_horiz (gui_current_window, 50); |
gui_window_split_horiz (window, 50); |
3249 |
} |
} |
3250 |
else if (ascii_strcasecmp (argv[0], "splitv") == 0) |
else if (ascii_strcasecmp (argv[0], "splitv") == 0) |
3251 |
{ |
{ |
3256 |
number = strtol (argv[1], &error, 10); |
number = strtol (argv[1], &error, 10); |
3257 |
if ((error) && (error[0] == '\0') |
if ((error) && (error[0] == '\0') |
3258 |
&& (number > 0) && (number < 100)) |
&& (number > 0) && (number < 100)) |
3259 |
gui_window_split_vertic (gui_current_window, number); |
gui_window_split_vertic (window, number); |
3260 |
} |
} |
3261 |
else |
else |
3262 |
gui_window_split_vertic (gui_current_window, 50); |
gui_window_split_vertic (window, 50); |
3263 |
} |
} |
3264 |
else if (ascii_strcasecmp (argv[0], "resize") == 0) |
else if (ascii_strcasecmp (argv[0], "resize") == 0) |
3265 |
{ |
{ |
3270 |
number = strtol (argv[1], &error, 10); |
number = strtol (argv[1], &error, 10); |
3271 |
if ((error) && (error[0] == '\0') |
if ((error) && (error[0] == '\0') |
3272 |
&& (number > 0) && (number < 100)) |
&& (number > 0) && (number < 100)) |
3273 |
gui_window_resize (gui_current_window, number); |
gui_window_resize (window, number); |
3274 |
} |
} |
3275 |
} |
} |
3276 |
else if (ascii_strcasecmp (argv[0], "merge") == 0) |
else if (ascii_strcasecmp (argv[0], "merge") == 0) |
3278 |
if (argc >= 2) |
if (argc >= 2) |
3279 |
{ |
{ |
3280 |
if (ascii_strcasecmp (argv[1], "all") == 0) |
if (ascii_strcasecmp (argv[1], "all") == 0) |
3281 |
gui_window_merge_all (gui_current_window); |
gui_window_merge_all (window); |
3282 |
else |
else |
3283 |
{ |
{ |
3284 |
irc_display_prefix (NULL, NULL, PREFIX_ERROR); |
irc_display_prefix (NULL, NULL, PREFIX_ERROR); |
3290 |
} |
} |
3291 |
else |
else |
3292 |
{ |
{ |
3293 |
if (!gui_window_merge (gui_current_window)) |
if (!gui_window_merge (window)) |
3294 |
{ |
{ |
3295 |
irc_display_prefix (NULL, NULL, PREFIX_ERROR); |
irc_display_prefix (NULL, NULL, PREFIX_ERROR); |
3296 |
gui_printf (NULL, |
gui_printf (NULL, |
3308 |
error = NULL; |
error = NULL; |
3309 |
number = strtol (argv[0] + 1, &error, 10); |
number = strtol (argv[0] + 1, &error, 10); |
3310 |
if ((error) && (error[0] == '\0')) |
if ((error) && (error[0] == '\0')) |
3311 |
gui_window_switch_by_buffer (gui_current_window, number); |
gui_window_switch_by_buffer (window, number); |
3312 |
} |
} |
3313 |
else if (ascii_strcasecmp (argv[0], "-1") == 0) |
else if (ascii_strcasecmp (argv[0], "-1") == 0) |
3314 |
gui_window_switch_previous (gui_current_window); |
gui_window_switch_previous (window); |
3315 |
else if (ascii_strcasecmp (argv[0], "+1") == 0) |
else if (ascii_strcasecmp (argv[0], "+1") == 0) |
3316 |
gui_window_switch_next (gui_current_window); |
gui_window_switch_next (window); |
3317 |
else if (ascii_strcasecmp (argv[0], "up") == 0) |
else if (ascii_strcasecmp (argv[0], "up") == 0) |
3318 |
gui_window_switch_up (gui_current_window); |
gui_window_switch_up (window); |
3319 |
else if (ascii_strcasecmp (argv[0], "down") == 0) |
else if (ascii_strcasecmp (argv[0], "down") == 0) |
3320 |
gui_window_switch_down (gui_current_window); |
gui_window_switch_down (window); |
3321 |
else if (ascii_strcasecmp (argv[0], "left") == 0) |
else if (ascii_strcasecmp (argv[0], "left") == 0) |
3322 |
gui_window_switch_left (gui_current_window); |
gui_window_switch_left (window); |
3323 |
else if (ascii_strcasecmp (argv[0], "right") == 0) |
else if (ascii_strcasecmp (argv[0], "right") == 0) |
3324 |
gui_window_switch_right (gui_current_window); |
gui_window_switch_right (window); |
3325 |
else |
else |
3326 |
{ |
{ |
3327 |
irc_display_prefix (NULL, NULL, PREFIX_ERROR); |
irc_display_prefix (NULL, NULL, PREFIX_ERROR); |