diff options
author | Sebastien Helleu <flashcode@flashtux.org> | 2005-07-09 15:30:51 +0000 |
---|---|---|
committer | Sebastien Helleu <flashcode@flashtux.org> | 2005-07-09 15:30:51 +0000 |
commit | 54d4fc12a69ca6398f8f5d41d73bba22cf6788aa (patch) | |
tree | 1ec405acd240e1b3b9ac69ba4ded5e35028bda05 | |
parent | 55125beee4aa5489f6976521f8ac899398fea836 (diff) | |
download | weechat-54d4fc12a69ca6398f8f5d41d73bba22cf6788aa.zip |
- new keyboard management: keys are setup in config file, new command /key was added and some new default keys were added
- added seconds in infobar time (optional with new config flag)
- fixed some curses refreshs
36 files changed, 6818 insertions, 4070 deletions
@@ -1,10 +1,14 @@ WeeChat - Wee Enhanced Environment for Chat =========================================== -ChangeLog - 2005-07-06 +ChangeLog - 2005-07-09 Versoin 0.1.4 (under dev!): + * new keyboard management: keys are setup in config file, new command + /key was added and some new default keys were added + * added seconds in infobar time (optional thanks to new setting) + * fixed some curses refreshs * channels auto-prefixed by "#" (if no prefix found) for /join command Version 0.1.3 (2005-07-02): @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: WeeChat 0.1.4-cvs\n" "Report-Msgid-Bugs-To: flashcode@flashtux.org\n" -"POT-Creation-Date: 2005-07-02 18:30+0200\n" -"PO-Revision-Date: 2005-07-02 20:21+0200\n" +"POT-Creation-Date: 2005-07-09 17:25+0200\n" +"PO-Revision-Date: 2005-07-09 14:35+0200\n" "Last-Translator: Roberto González Cardenete <robert.glez@gmail.com>\n" "Language-Team: weechat-dev <weechat-dev@nongnu.org>\n" "MIME-Version: 1.0\n" @@ -20,7 +20,7 @@ msgstr "" msgid "%s cannot allocate new nick\n" msgstr "%s no ha sido posible crear un nuevo nick\n" -#: src/irc/irc-server.c:180 src/common/weeconfig.c:1625 +#: src/irc/irc-server.c:180 src/common/weeconfig.c:1677 msgid "Unable to get user's name" msgstr "No ha sido posible obtener el nombre de usuario" @@ -1299,7 +1299,7 @@ msgstr "no es posible cambiar el modo para el resto de usuarios" msgid "whois (secure connection)" msgstr "" -#: src/irc/irc-display.c:156 src/common/command.c:842 +#: src/irc/irc-display.c:156 src/common/command.c:848 msgid "Server: " msgstr "Servidor: " @@ -1340,45 +1340,45 @@ msgstr "%s: utilización del nombre de máquina local \"%s\"\n" #: src/irc/irc-send.c:232 src/irc/irc-send.c:260 src/irc/irc-send.c:426 #: src/irc/irc-send.c:452 src/irc/irc-send.c:478 src/irc/irc-send.c:519 -#: src/irc/irc-send.c:555 src/irc/irc-send.c:619 src/irc/irc-send.c:676 -#: src/irc/irc-send.c:1018 src/irc/irc-send.c:1116 src/irc/irc-send.c:1595 -#: src/irc/irc-send.c:1702 +#: src/irc/irc-send.c:555 src/irc/irc-send.c:622 src/irc/irc-send.c:679 +#: src/irc/irc-send.c:1021 src/irc/irc-send.c:1119 src/irc/irc-send.c:1598 +#: src/irc/irc-send.c:1705 #, c-format msgid "%s \"%s\" command can only be executed in a channel window\n" msgstr "" "%s el comando \"%s\" sólo puede ser ejecutado en una ventana de canal\n" #: src/irc/irc-send.c:345 src/irc/irc-send.c:357 src/irc/irc-send.c:375 -#: src/irc/irc-send.c:996 src/irc/irc-send.c:1089 src/irc/irc-send.c:1621 -#: src/common/command.c:1167 src/common/command.c:1451 -#: src/common/command.c:1594 +#: src/irc/irc-send.c:999 src/irc/irc-send.c:1092 src/irc/irc-send.c:1624 +#: src/common/command.c:1189 src/common/command.c:1455 +#: src/common/command.c:1605 src/common/command.c:1748 #, c-format msgid "%s wrong argument count for \"%s\" command\n" msgstr "%s número de argumentos incorrecto para el comando \"%s\"\n" -#: src/irc/irc-send.c:398 src/irc/irc-send.c:604 src/irc/irc-send.c:661 +#: src/irc/irc-send.c:398 src/irc/irc-send.c:607 src/irc/irc-send.c:664 #, c-format msgid "%s wrong arguments for \"%s\" command\n" msgstr "%s argumentos incorrecto para el comando \"%s\"\n" -#: src/irc/irc-send.c:804 src/irc/irc-send.c:871 src/irc/irc-send.c:1164 -#: src/irc/irc-send.c:1178 src/irc/irc-send.c:1522 +#: src/irc/irc-send.c:807 src/irc/irc-send.c:874 src/irc/irc-send.c:1167 +#: src/irc/irc-send.c:1181 src/irc/irc-send.c:1525 #, c-format msgid "%s \"%s\" command can not be executed on a server window\n" msgstr "" "%s el comando \"%s\" no puede ser ejecutado en una ventana de servidor\n" -#: src/irc/irc-send.c:889 src/irc/irc-send.c:914 src/irc/irc-recv.c:322 +#: src/irc/irc-send.c:892 src/irc/irc-send.c:917 src/irc/irc-recv.c:322 #, c-format msgid "%s nick \"%s\" not found for \"%s\" command\n" msgstr "%s usuario \"%s\" no encontrado para el comando \"%s\"\n" -#: src/irc/irc-send.c:966 src/irc/irc-send.c:1274 src/irc/irc-recv.c:1505 +#: src/irc/irc-send.c:969 src/irc/irc-send.c:1277 src/irc/irc-recv.c:1505 #, c-format msgid "%s cannot create new private window \"%s\"\n" msgstr "%s no es posible crear una nueva ventana privada \"%s\"\n" -#: src/irc/irc-send.c:1674 +#: src/irc/irc-send.c:1677 #, c-format msgid "%s, compiled on %s %s\n" msgstr "%s, compilado en %s %s\n" @@ -2089,66 +2089,65 @@ msgstr "" "%s no ha sido posible añadir el manejador para el mensaje \"%s\" (memoria " "insuficiente)\n" -#: src/gui/curses/gui-input.c:788 +#: src/gui/curses/gui-input.c:298 #, c-format msgid "%s lag is high, disconnecting from server...\n" msgstr "%s el lag (retraso) es alto, desconectando del servidor...\n" -#: src/gui/curses/gui-display.c:686 +#: src/gui/curses/gui-display.c:684 msgid "bytes" msgstr "bytes" -#: src/gui/curses/gui-display.c:686 +#: src/gui/curses/gui-display.c:684 msgid "Kb" msgstr "KB" -#: src/gui/curses/gui-display.c:686 +#: src/gui/curses/gui-display.c:684 msgid "Mb" msgstr "MB" -#: src/gui/curses/gui-display.c:686 +#: src/gui/curses/gui-display.c:684 msgid "Gb" msgstr "GB" -#: src/gui/curses/gui-display.c:1122 +#: src/gui/curses/gui-display.c:1116 msgid "(away)" msgstr "(ausente)" -#: src/gui/curses/gui-display.c:1235 -#, c-format -msgid "%d:[not connected] " -msgstr "%d:[no conectado] " +#: src/gui/curses/gui-display.c:1233 +msgid "[not connected]" +msgstr "[no conectado]" -#: src/gui/curses/gui-display.c:1252 +#: src/gui/curses/gui-display.c:1249 msgid "Act: " msgstr "Act: " -#: src/gui/curses/gui-display.c:1301 +#: src/gui/curses/gui-display.c:1298 #, c-format msgid "Lag: %.1f" msgstr "Lag: %.1f" -#: src/gui/curses/gui-display.c:1322 +#: src/gui/curses/gui-display.c:1319 msgid "-MORE-" msgstr "-MÁS-" -#: src/gui/curses/gui-display.c:1509 +#: src/gui/curses/gui-display.c:1559 msgid " [A] Accept" msgstr " [A] Aceptar" -#: src/gui/curses/gui-display.c:1510 src/gui/curses/gui-display.c:1514 +#: src/gui/curses/gui-display.c:1560 src/gui/curses/gui-display.c:1564 msgid " [C] Cancel" msgstr " [C] Cancelar" -#: src/gui/curses/gui-display.c:1519 +#: src/gui/curses/gui-display.c:1569 msgid " [R] Remove" msgstr " [R] Eliminar" -#: src/gui/curses/gui-display.c:1523 +#: src/gui/curses/gui-display.c:1573 msgid " [P] Purge old DCC" msgstr " [P] Purgar los viejos DCC" -#: src/gui/curses/gui-display.c:1524 +#: src/gui/curses/gui-display.c:1574 msgid " [Q] Close DCC view" msgstr " [Q] Cerrar la vista DCC" @@ -2156,15 +2155,15 @@ msgstr " [Q] Cerrar la vista DCC" msgid "server" msgstr "servidor" -#: src/gui/gui-common.c:330 +#: src/gui/gui-common.c:333 msgid "Not enough memory for infobar message\n" msgstr "No hay suficiente memoria para el mensaje de la barra de información\n" -#: src/gui/gui-common.c:505 +#: src/gui/gui-common.c:508 msgid "Not enough memory for new line\n" msgstr "No hay suficiente memoria para una nueva línea\n" -#: src/gui/gui-common.c:548 +#: src/gui/gui-common.c:551 msgid "Not enough memory for new message\n" msgstr "No hay suficiente memoria para el mensaje de la barra de información\n" @@ -2275,14 +2274,32 @@ msgid "command: name of a WeeChat or IRC command" msgstr "comando: nombre de un comando de Weechat ó de IRC" #: src/common/command.c:75 +msgid "bind/unbind keys" +msgstr "" + +#: src/common/command.c:76 +msgid "[key function/command] [unbind key] [functions] [reset -yes]" +msgstr "" + +#: src/common/command.c:77 +msgid "" +"key: bind this key to an internal function or a command (beginning by \"/" +"\")\n" +"unbind: unbind a key (if \"all\", default bindings are restored)\n" +"functions: list internal functions for key bindings\n" +"reset: restore bindings to the default values and delete ALL personal " +"binding (use carefully!)" +msgstr "" + +#: src/common/command.c:82 msgid "list/load/unload Perl scripts" msgstr "lista/carga/descarga de los Perl scripts" -#: src/common/command.c:76 src/common/command.c:81 +#: src/common/command.c:83 src/common/command.c:88 msgid "[load filename] | [autoload] | [reload] | [unload]" msgstr "[load fichero] | [autoload] | [reload] | [unload]" -#: src/common/command.c:77 +#: src/common/command.c:84 msgid "" "filename: Perl script (file) to load\n" "Without argument, /perl command lists all loaded Perl scripts." @@ -2290,11 +2307,11 @@ msgstr "" "fichero: Perl script (archivo) a cargar\n" "Sin argumentos, el comando /perl lista todos los Perl scripts cargados." -#: src/common/command.c:80 +#: src/common/command.c:87 msgid "list/load/unload Python scripts" msgstr "lista/carga/descarga de los Python scripts" -#: src/common/command.c:82 +#: src/common/command.c:89 msgid "" "filename: Python script (file) to load\n" "Without argument, /python command lists all loaded Python scripts." @@ -2302,11 +2319,11 @@ msgstr "" "fichero: Python script (archivo) a cargar\n" "Sin argumentos, el comando /python lista todos los Python scripts cargados." -#: src/common/command.c:85 +#: src/common/command.c:92 msgid "list, add or remove servers" msgstr "lista, añade o elimina servidores" -#: src/common/command.c:86 +#: src/common/command.c:93 msgid "" "[servername] | [servername hostname port [-auto | -noauto] [-ipv6] [-ssl] [-" "pwd password] [-nicks nick1 [nick2 [nick3]]] [-username username] [-realname " @@ -2318,7 +2335,7 @@ msgstr "" "username nombre de usuario] [-realname nombre_real] [-command comando] [-" "autojoin canal[,canal]] ] | [del nombre_de_servidor]" -#: src/common/command.c:91 +#: src/common/command.c:98 #, fuzzy msgid "" "servername: server name, for internal & display use\n" @@ -2344,27 +2361,27 @@ msgstr "" "nombre_de_usuario: nombre de usuario\n" "nombre_real: nombre real del usuario" -#: src/common/command.c:103 +#: src/common/command.c:110 msgid "save config to disk" msgstr "guardar configuración a disco" -#: src/common/command.c:104 +#: src/common/command.c:111 msgid "[file]" msgstr "[archivo]" -#: src/common/command.c:104 +#: src/common/command.c:111 msgid "file: filename for writing config" msgstr "archivo: fichero en el que guardar la configuración" -#: src/common/command.c:106 +#: src/common/command.c:113 msgid "set config parameters" msgstr "modificar parámetros de configuración" -#: src/common/command.c:107 +#: src/common/command.c:114 msgid "[option[=value]]" msgstr "[opción[=valor]]" -#: src/common/command.c:107 +#: src/common/command.c:114 msgid "" "option: name of an option\n" "value: value for option" @@ -2372,27 +2389,27 @@ msgstr "" "opción: nombre de una opción\n" "valor: valor para la opción" -#: src/common/command.c:109 +#: src/common/command.c:116 msgid "remove an alias" msgstr "eliminar un alias" -#: src/common/command.c:110 +#: src/common/command.c:117 msgid "alias_name" msgstr "alias" -#: src/common/command.c:110 +#: src/common/command.c:117 msgid "alias_name: name of alias to remove" msgstr "alias: nombre del alias a suprimir" -#: src/common/command.c:112 +#: src/common/command.c:119 msgid "manage windows" msgstr "gestión de ventanas" -#: src/common/command.c:113 +#: src/common/command.c:120 msgid "[list | splith | splitv | [merge [down | up | left | right | all]]]" msgstr "[list | splith | splitv | [merge [down | up | left | right | all]]]" -#: src/common/command.c:115 +#: src/common/command.c:121 msgid "" "list: list opened windows (no parameter implies this list)\n" "splith: split current window horizontally\n" @@ -2405,29 +2422,29 @@ msgstr "" "splitv: dividir la ventana actual verticalmente\n" "merge: fusionar una ventana con otra" -#: src/common/command.c:261 +#: src/common/command.c:267 #, c-format msgid "%s alias or command \"%s\" already exists!\n" msgstr "%s ¡el alias o el comando \"%s\" ya existe!\n" -#: src/common/command.c:271 +#: src/common/command.c:277 #, c-format msgid "%s alias cannot run another alias!\n" msgstr "%s ¡el alias no puede ejecutar otro alias!\n" -#: src/common/command.c:278 +#: src/common/command.c:284 #, c-format msgid "%s target command \"%s\" does not exist!\n" msgstr "%s ¡el comando objetivo \"%s\" no existe!\n" -#: src/common/command.c:486 +#: src/common/command.c:492 #, c-format msgid "%s wrong argument count for %s command \"%s\" (expected: %d arg%s)\n" msgstr "" "%s número de argumentos incorrecto para el comando %s \"%s\" (esperado: %d " "parámetro%s)\n" -#: src/common/command.c:498 +#: src/common/command.c:504 #, c-format msgid "" "%s wrong argument count for %s command \"%s\" (expected: between %d and %d " @@ -2436,19 +2453,19 @@ msgstr "" "%s número de argumentos incorrecto para el comando %s \"%s\" (esperado: " "entre %d y %d parámetro%s)\n" -#: src/common/command.c:520 src/common/command.c:590 +#: src/common/command.c:526 src/common/command.c:596 #, c-format msgid "%s command \"%s\" failed\n" msgstr "%s el comando \"%s\" ha fallado\n" -#: src/common/command.c:548 +#: src/common/command.c:554 #, c-format msgid "%s wrong argument count for IRC command \"%s\" (expected: %d arg%s)\n" msgstr "" "%s número de argumentos incorrecto para el comando IRC \"%s\" (esperado: %d " "parámetro%s)\n" -#: src/common/command.c:560 +#: src/common/command.c:566 #, c-format msgid "" "%s wrong argument count for IRC command \"%s\" (expected: between %d and %d " @@ -2457,189 +2474,221 @@ msgstr "" "%s número de argumentos incorrecto para el comando IRC \"%s\" (esperado: " "entre %d y %d parámetro%s)\n" -#: src/common/command.c:575 +#: src/common/command.c:581 #, c-format msgid "%s command \"%s\" needs a server connection!\n" msgstr "%s ¡el comando \"%s\" requiere una conexión a servidor!\n" -#: src/common/command.c:639 +#: src/common/command.c:645 #, c-format msgid "%s unknown command \"%s\" (type /help for help)\n" msgstr "%s comando \"%s\" desconocido (escriba /help para la ayuda)\n" -#: src/common/command.c:720 +#: src/common/command.c:726 #, c-format msgid "%s cannot find nick for sending message\n" msgstr "%s no ha sido posible encontrar el usuario al que enviar el mensaje\n" -#: src/common/command.c:742 +#: src/common/command.c:748 #, c-format msgid "%s unable to call handler for message (not enough memory)\n" msgstr "" -#: src/common/command.c:750 +#: src/common/command.c:756 msgid "This window is not a channel!\n" msgstr "¡Esta ventana no es un canal!\n" -#: src/common/command.c:778 src/common/command.c:802 src/common/command.c:906 +#: src/common/command.c:784 src/common/command.c:808 src/common/command.c:913 #, c-format msgid "%s missing arguments for \"%s\" command\n" msgstr "%s faltan argumentos para el comando \"%s\"\n" -#: src/common/command.c:787 +#: src/common/command.c:793 #, c-format msgid "Alias \"%s\" => \"%s\" created\n" msgstr "Alias \"%s\" => \"%s\" creado\n" -#: src/common/command.c:793 +#: src/common/command.c:799 #, c-format msgid "Failed to create alias \"%s\" => \"%s\" (not enough memory)\n" msgstr "" "No ha sido posible crear el alias \"%s\" => \"%s\" (no hay suficiente " "memoria)\n" -#: src/common/command.c:813 +#: src/common/command.c:819 msgid "List of aliases:\n" msgstr "Lista de alias:\n" -#: src/common/command.c:825 +#: src/common/command.c:831 msgid "No alias defined.\n" msgstr "Ningún alias definido.\n" -#: src/common/command.c:848 +#: src/common/command.c:854 msgid "Channel: " msgstr "Canal: " -#: src/common/command.c:851 src/common/command.c:861 +#: src/common/command.c:857 src/common/command.c:867 msgid " (server: " msgstr " (servidor: " -#: src/common/command.c:858 +#: src/common/command.c:864 msgid "Private with: " msgstr "Privado con: " -#: src/common/command.c:886 +#: src/common/command.c:893 msgid "Opened buffers:\n" msgstr "Búfers abiertos:\n" -#: src/common/command.c:929 src/common/command.c:1069 +#: src/common/command.c:936 #, c-format msgid "%s incorrect buffer number\n" msgstr "%s número de búfer incorrecto\n" -#: src/common/command.c:943 +#: src/common/command.c:950 #, c-format msgid "%s can not close the single buffer\n" msgstr "%s no es posible cerrar el único búfer\n" -#: src/common/command.c:953 +#: src/common/command.c:960 #, c-format msgid "%s can not close server buffer while channels are opened\n" msgstr "" "%s no se puede cerrar el búfer de servidor mientras haya canales abiertos\n" -#: src/common/command.c:992 +#: src/common/command.c:999 msgid "Notify levels: " msgstr "Niveles de notificación: " -#: src/common/command.c:1020 src/common/command.c:1042 +#: src/common/command.c:1027 src/common/command.c:1049 #, c-format msgid "%s incorrect notify level (must be between %d and %d)\n" msgstr "%s nivel de notificación incorrecto (debe estar entre %d y %d)\n" -#: src/common/command.c:1029 +#: src/common/command.c:1036 #, c-format msgid "%s incorrect buffer for notify (must be channel or private)\n" msgstr "" -#: src/common/command.c:1060 -#, c-format -msgid "%s buffer \"%s\" not found for \"%s\" command\n" -msgstr "%s búfer \"%s\" no encontrado para el comando \"%s\"\n" - -#: src/common/command.c:1094 +#: src/common/command.c:1116 #, c-format msgid "unknown parameter \"%s\" for \"%s\" command\n" msgstr "parámetro desconocido \"%s\" para el comando \"%s\"\n" -#: src/common/command.c:1124 +#: src/common/command.c:1146 #, c-format msgid "%s already connected to server \"%s\"!\n" msgstr "%s ya conectado al servidor \"%s\"!\n" -#: src/common/command.c:1132 +#: src/common/command.c:1154 #, c-format msgid "%s currently connecting to server \"%s\"!\n" msgstr "%s actualmente conectando al servidor \"%s\"!\n" -#: src/common/command.c:1150 src/common/command.c:1225 +#: src/common/command.c:1172 src/common/command.c:1247 #, c-format msgid "%s server not found\n" msgstr "%s servidor no encontrado\n" -#: src/common/command.c:1180 src/common/command.c:1444 -#: src/common/command.c:1587 src/common/command.c:2283 -#: src/common/command.c:2295 +#: src/common/command.c:1202 src/common/command.c:1598 +#: src/common/command.c:1741 src/common/command.c:2438 +#: src/common/command.c:2454 #, c-format msgid "%s unknown option for \"%s\" command\n" msgstr "%s opción desconocida para el comando \"%s\"\n" -#: src/common/command.c:1209 +#: src/common/command.c:1231 #, c-format msgid "%s not connected to server \"%s\"!\n" msgstr "%s ¡no conectado al servidor \"%s\"!\n" -#: src/common/command.c:1217 +#: src/common/command.c:1239 msgid "Auto-reconnection is cancelled\n" msgstr "La reconexión automática está anulada\n" -#: src/common/command.c:1243 src/common/weechat.c:273 +#: src/common/command.c:1265 src/common/weechat.c:273 #, c-format msgid "%s internal commands:\n" msgstr "Comandos internos %s :\n" -#: src/common/command.c:1252 src/common/weechat.c:293 +#: src/common/command.c:1274 src/common/weechat.c:293 #, c-format msgid "IRC commands:\n" msgstr "Comandos IRC :\n" -#: src/common/command.c:1319 +#: src/common/command.c:1341 #, c-format msgid "No help available, \"%s\" is an unknown command\n" msgstr "No hay ayuda disponible, el comando \"%s\" es desconocido\n" -#: src/common/command.c:1343 src/common/command.c:1486 +#: src/common/command.c:1359 +msgid "New key binding:\n" +msgstr "" + +#: src/common/command.c:1392 +msgid "Key bindings:\n" +msgstr "" + +#: src/common/command.c:1404 +#, c-format +msgid "Key \"%s\" unbinded\n" +msgstr "" + +#: src/common/command.c:1409 +#, c-format +msgid "%s unable to unbind key \"%s\"\n" +msgstr "" + +#: src/common/command.c:1417 src/common/weechat.c:324 +#, c-format +msgid "Internal key functions:\n" +msgstr "" + +#: src/common/command.c:1435 +msgid "Default key bindings restored\n" +msgstr "" + +#: src/common/command.c:1441 +#, c-format +msgid "%s \"-yes\" argument is required for keys reset (securuty reason)\n" +msgstr "" + +#: src/common/command.c:1470 +#, c-format +msgid "%s unable to bind key \"%s\"\n" +msgstr "" + +#: src/common/command.c:1497 src/common/command.c:1640 #, c-format msgid "Registered %s scripts:\n" msgstr "%s scripts registrados:\n" -#: src/common/command.c:1360 src/common/command.c:1383 -#: src/common/command.c:1406 src/common/command.c:1503 -#: src/common/command.c:1526 src/common/command.c:1549 +#: src/common/command.c:1514 src/common/command.c:1537 +#: src/common/command.c:1560 src/common/command.c:1657 +#: src/common/command.c:1680 src/common/command.c:1703 msgid " (none)\n" msgstr " (ninguno)\n" -#: src/common/command.c:1365 src/common/command.c:1508 +#: src/common/command.c:1519 src/common/command.c:1662 #, c-format msgid "%s message handlers:\n" msgstr "Funciones %s para mensajes:\n" -#: src/common/command.c:1374 src/common/command.c:1517 +#: src/common/command.c:1528 src/common/command.c:1671 #, c-format msgid " IRC(%s) => %s(%s)\n" msgstr " IRC(%s) => %s(%s)\n" -#: src/common/command.c:1388 src/common/command.c:1531 +#: src/common/command.c:1542 src/common/command.c:1685 #, c-format msgid "%s command handlers:\n" msgstr "Comandos %s :\n" -#: src/common/command.c:1397 src/common/command.c:1540 +#: src/common/command.c:1551 src/common/command.c:1694 #, c-format msgid " Command /%s => %s(%s)\n" msgstr " Comando /%s => %s(%s)\n" -#: src/common/command.c:1457 +#: src/common/command.c:1611 msgid "" "WeeChat was build without Perl support.\n" "Please rebuild WeeChat with \"--enable-perl\" option for ./configure script\n" @@ -2648,7 +2697,7 @@ msgstr "" "Por favor, recompile WeeChat con la opción \"--enable-perl\" para el " "script ./configure\n" -#: src/common/command.c:1600 +#: src/common/command.c:1754 msgid "" "WeeChat was build without Python support.\n" "Please rebuild WeeChat with \"--enable-python\" option for ./configure " @@ -2658,32 +2707,32 @@ msgstr "" "Por favor, recompile WeeChat con la opción \"--enable-python\" para el " "script ./configure\n" -#: src/common/command.c:1648 +#: src/common/command.c:1802 msgid "No server.\n" msgstr "Ningún servidor.\n" -#: src/common/command.c:1659 +#: src/common/command.c:1813 #, c-format msgid "Server '%s' not found.\n" msgstr "Servidor '%s' no encontrado.\n" -#: src/common/command.c:1671 +#: src/common/command.c:1825 #, c-format msgid "%s missing servername for \"%s\" command\n" msgstr "%s falta el nombre de servidor para el comando \"%s\"\n" -#: src/common/command.c:1679 +#: src/common/command.c:1833 #, c-format msgid "%s too much arguments for \"%s\" command, ignoring arguments\n" msgstr "" "%s demasiados argumentos para el comando \"%s\", ignorando parámetros\n" -#: src/common/command.c:1698 +#: src/common/command.c:1852 #, c-format msgid "%s server \"%s\" not found for \"%s\" command\n" msgstr "%s servidor \"%s\" no encontrado para el comando \"%s\"\n" -#: src/common/command.c:1706 +#: src/common/command.c:1860 #, c-format msgid "" "%s you can not delete server \"%s\" because you are connected to. Try /" @@ -2692,108 +2741,108 @@ msgstr "" "%s usted no puede eliminar el servidor \"%s\" ya que está usted conectado a " "él. Pruebe /disconnect %s antes.\n" -#: src/common/command.c:1722 src/common/command.c:1868 +#: src/common/command.c:1876 src/common/command.c:2022 msgid "Server" msgstr "Servidor" -#: src/common/command.c:1725 +#: src/common/command.c:1879 msgid "has been deleted\n" msgstr "ha sido eliminado\n" -#: src/common/command.c:1740 +#: src/common/command.c:1894 #, c-format msgid "%s missing parameters for \"%s\" command\n" msgstr "%s faltan parámetros para el comando \"%s\"\n" -#: src/common/command.c:1750 +#: src/common/command.c:1904 #, c-format msgid "%s server \"%s\" already exists, can't create it!\n" msgstr "%s el servidor \"%s\" ya existe, ¡no se puede crear!\n" -#: src/common/command.c:1779 src/common/command.c:1807 -#: src/common/command.c:1820 src/common/command.c:1846 +#: src/common/command.c:1933 src/common/command.c:1961 +#: src/common/command.c:1974 src/common/command.c:2000 #, c-format msgid "%s missing password for \"%s\" parameter\n" msgstr "%s falta contraseña para el comando \"%s\"\n" -#: src/common/command.c:1792 +#: src/common/command.c:1946 #, c-format msgid "%s missing nick(s) for \"%s\" parameter\n" msgstr "%s falta(n) usuario(s) para el parámetro \"%s\"\n" -#: src/common/command.c:1833 +#: src/common/command.c:1987 #, c-format msgid "%s missing command for \"%s\" parameter\n" msgstr "%s falta comando para el parámetro \"%s\"\n" -#: src/common/command.c:1871 +#: src/common/command.c:2025 msgid "created\n" msgstr "creado\n" -#: src/common/command.c:1877 +#: src/common/command.c:2031 #, c-format msgid "%s unable to create server\n" msgstr "%s no es posible crear el servidor\n" -#: src/common/command.c:1932 +#: src/common/command.c:2086 msgid "(unknown)" msgstr "(desconocido)" -#: src/common/command.c:1955 +#: src/common/command.c:2109 msgid "(password hidden) " msgstr "(contraseña oculta) " -#: src/common/command.c:2019 +#: src/common/command.c:2173 #, c-format msgid "%s server \"%s\" not found\n" msgstr "%s servidor \"%s\" no encontrado\n" -#: src/common/command.c:2050 src/common/command.c:2096 +#: src/common/command.c:2204 src/common/command.c:2250 #, c-format msgid "%s config option \"%s\" not found\n" msgstr "%s opción de configuración \"%s\" no encontrada\n" -#: src/common/command.c:2055 src/common/command.c:2088 +#: src/common/command.c:2209 src/common/command.c:2242 #, c-format msgid "%s incorrect value for option \"%s\"\n" msgstr "%s valor incorrecto para la opción \"%s\"\n" -#: src/common/command.c:2071 +#: src/common/command.c:2225 #, c-format msgid "%s option \"%s\" can not be changed while WeeChat is running\n" msgstr "" "%s la opción \"%s\" no puede ser modificada mientras WeeChat esté en " "ejecución\n" -#: src/common/command.c:2169 +#: src/common/command.c:2324 #, c-format msgid "No config option found with \"%s\"\n" msgstr "Ninguna opción de configuración encontrada con \"%s\"\n" -#: src/common/command.c:2172 +#: src/common/command.c:2327 msgid "No config option found\n" msgstr "Ninguna opción de configuración encontrada\n" -#: src/common/command.c:2178 +#: src/common/command.c:2333 #, c-format msgid "config option(s) found with \"%s\"\n" msgstr "opción/opciones de configuración encontrada(s) con \"%s\"\n" -#: src/common/command.c:2181 +#: src/common/command.c:2336 msgid "config option(s) found\n" msgstr "opción/opciones de configuración encontrada(s)\n" -#: src/common/command.c:2201 +#: src/common/command.c:2356 #, c-format msgid "%s alias or command \"%s\" not found\n" msgstr "%s alias o comando \"%s\" no encontrado\n" -#: src/common/command.c:2211 +#: src/common/command.c:2366 #, c-format msgid "Alias \"%s\" removed\n" msgstr "Alias \"%s\" eliminado\n" -#: src/common/command.c:2231 +#: src/common/command.c:2386 msgid "Opened windows:\n" msgstr "Ventanas abiertas:\n" @@ -2938,57 +2987,62 @@ msgstr "" "donde 'j' es el nombre del alias, y 'join' el comando asociado.\n" "\n" -#: src/common/weechat.c:371 +#: src/common/weechat.c:344 +#, c-format +msgid "%s default keys:\n" +msgstr "" + +#: src/common/weechat.c:424 #, c-format msgid "%s invalid syntax for IRC server ('%s'), ignored\n" msgstr "%s sintaxis inválida para el servidor IRC ('%s'), ignorado\n" -#: src/common/weechat.c:384 +#: src/common/weechat.c:437 #, c-format msgid "%s unable to create server ('%s'), ignored\n" msgstr "%s no es posible crear el servidor ('%s'), ignorado\n" -#: src/common/weechat.c:393 +#: src/common/weechat.c:446 #, c-format msgid "%s unknown parameter '%s', ignored\n" msgstr "%s parámetro desconocido '%s', ignorado\n" -#: src/common/weechat.c:413 +#: src/common/weechat.c:466 #, c-format msgid "%s cannot create directory \"%s\"\n" msgstr "%s no es posible crear el directorio \"%s\"\n" -#: src/common/weechat.c:439 +#: src/common/weechat.c:492 #, c-format msgid "%s unable to get HOME directory\n" msgstr "%s no ha sido posible leer el directorio HOME\n" -#: src/common/weechat.c:448 +#: src/common/weechat.c:501 #, c-format msgid "%s not enough memory for home directory\n" msgstr "%s no hay suficiente memoria para el directorio home\n" -#: src/common/weechat.c:458 +#: src/common/weechat.c:511 #, c-format msgid "%s unable to create ~/.weechat directory\n" msgstr "%s no es posible crear el directorio ~/.weechat\n" -#: src/common/weechat.c:510 +#: src/common/weechat.c:563 #, c-format msgid "%s unable to create ~/.weechat/logs directory\n" msgstr "%s no es posible crear el directorio ~/.weechat/logs\n" -#: src/common/weechat.c:553 +#: src/common/weechat.c:606 #, c-format msgid "%s unable to create/append to log file (~/.weechat/%s)" msgstr "%s no es posible crear/añadir en el fichero de log (~/.weechat/%s)" -#: src/common/weechat.c:576 +#: src/common/weechat.c:629 #, c-format msgid "%sWelcome to " msgstr "%sBienvenido a " -#: src/common/weechat.c:589 src/common/weechat.c:598 +#: src/common/weechat.c:642 src/common/weechat.c:651 msgid "compiled on" msgstr "compilado en" @@ -3000,33 +3054,33 @@ msgstr "Error WeeChat:" msgid "WeeChat Warning:" msgstr "Advertencia WeeChat:" -#: src/common/weeconfig.c:88 src/common/weeconfig.c:89 +#: src/common/weeconfig.c:90 src/common/weeconfig.c:91 msgid "set title for window (terminal for Curses GUI) with name & version" msgstr "" "define el título de la ventana (el terminal para la interfaz Curses) con el " "nombre y la versión" -#: src/common/weeconfig.c:92 src/common/weeconfig.c:93 +#: src/common/weeconfig.c:94 src/common/weeconfig.c:95 msgid "display WeeChat logo at startup" msgstr "mostrar el logotipo de WeeChat en el arranque" -#: src/common/weeconfig.c:96 src/common/weeconfig.c:97 +#: src/common/weeconfig.c:98 src/common/weeconfig.c:99 msgid "display WeeChat version at startup" msgstr "mostrar la versión de Weechat en el arranque" -#: src/common/weeconfig.c:100 +#: src/common/weeconfig.c:102 msgid "WeeChat slogan" msgstr "eslógan de WeeChat" -#: src/common/weeconfig.c:101 +#: src/common/weeconfig.c:103 msgid "WeeChat slogan (if empty, slogan is not used)" msgstr "eslógan de WeeChat (si está vacío, el eslógan no será utilizado)" -#: src/common/weeconfig.c:104 +#: src/common/weeconfig.c:106 msgid "charset for decoding messages from server" msgstr "juego de caracteres para decodificar los mensajes del servidor" -#: src/common/weeconfig.c:105 +#: src/common/weeconfig.c:107 msgid "" "charset for decoding messages from server, examples: UTF-8, ISO-8859-1 (if " "empty, messages are not converted)" @@ -3034,11 +3088,11 @@ msgstr "" "juego de caracteres para decodificar los mensajes del servidor, ejemplos: " "UTF-8, ISO-8859-1 (si no se especifica, los mensajes no son convertidos)" -#: src/common/weeconfig.c:108 +#: src/common/weeconfig.c:110 msgid "charset for encoding messages sent to server" msgstr "juego de caracteres para codificar los mensajes enviados al servidor" -#: src/common/weeconfig.c:109 +#: src/common/weeconfig.c:111 msgid "" "charset for encoding messages sent to server, examples: UFT-8, ISO-8859-1 " "(if empty, local charset is used)" @@ -3047,11 +3101,11 @@ msgstr "" "ejemplos: UFT-8, ISO-8859-1 (si no se especifica, se utiliza el juego de " "caracteres local)" -#: src/common/weeconfig.c:112 +#: src/common/weeconfig.c:114 msgid "internal WeeChat charset (should be ISO)" msgstr "juego de caracteres interno de WeeChat (debería ser ISO)" -#: src/common/weeconfig.c:113 +#: src/common/weeconfig.c:115 msgid "" "internal WeeChat charset, should be ISO-xxxx even if locale is UTF-8 (if " "empty, local charset is used)" @@ -3060,45 +3114,45 @@ msgstr "" "locale sea UTF-8 (si no se especifica, se utiliza el juego de caracteres " "local)" -#: src/common/weeconfig.c:116 src/common/weeconfig.c:117 +#: src/common/weeconfig.c:118 src/common/weeconfig.c:119 msgid "timestamp for buffers" msgstr "fecha y hora para las búfers" -#: src/common/weeconfig.c:120 src/common/weeconfig.c:121 +#: src/common/weeconfig.c:122 src/common/weeconfig.c:123 msgid "display nick names with different colors" msgstr "mostrar nombres de usuario con colores diferentes" -#: src/common/weeconfig.c:124 src/common/weeconfig.c:125 +#: src/common/weeconfig.c:126 src/common/weeconfig.c:127 msgid "display actions with different colors" msgstr "mostrar acciones con colores diferentes" -#: src/common/weeconfig.c:128 src/common/weeconfig.c:129 +#: src/common/weeconfig.c:130 src/common/weeconfig.c:131 msgid "remove colors from incoming messages" msgstr "quitar colores en los mensajes entrantes" -#: src/common/weeconfig.c:132 +#: src/common/weeconfig.c:134 msgid "display nicklist window" msgstr "mostrar ventana de usuarios" -#: src/common/weeconfig.c:133 +#: src/common/weeconfig.c:135 msgid "display nicklist window (for channel windows)" msgstr "mostrar ventana de usuarios (para las ventanas de canal)" -#: src/common/weeconfig.c:136 +#: src/common/weeconfig.c:138 msgid "nicklist position" msgstr "posición de la ventana de usuarios" -#: src/common/weeconfig.c:137 +#: src/common/weeconfig.c:139 msgid "nicklist position (top, left, right (default), bottom)" msgstr "" "posición de la ventana de usuarios (arriba (top), izquierda (left), derecha " "(right, por defecto), abajo (bottom))" -#: src/common/weeconfig.c:140 +#: src/common/weeconfig.c:142 msgid "min size for nicklist" msgstr "tamaño mínimo para la ventana de usuarios" -#: src/common/weeconfig.c:141 +#: src/common/weeconfig.c:143 msgid "" "min size for nicklist (width or height, depending on look_nicklist_position " "(0 = no min size))" @@ -3106,11 +3160,11 @@ msgstr "" "tamaño mínimo para la ventana de usuarios (ancho o alto, dependiendo de " "look_nicklist_position (0 = sin tamaño mínimo))" -#: src/common/weeconfig.c:145 +#: src/common/weeconfig.c:147 msgid "max size for nicklist" msgstr "tamaño máximo para la ventana de usuarios" -#: src/common/weeconfig.c:146 +#: src/common/weeconfig.c:148 msgid "" "max size for nicklist (width or height, depending on look_nicklist_position " "(0 = no max size; if min == max and > 0, then size is fixed))" @@ -3119,37 +3173,41 @@ msgstr "" "look_nicklist_position (0 = sin tamaño máximo, si min == max y > 0, entonces " "se fija el tamaño))" -#: src/common/weeconfig.c:150 src/common/weeconfig.c:151 +#: src/common/weeconfig.c:152 src/common/weeconfig.c:153 msgid "text to display instead of nick when not connected" msgstr "texto a mostrar en lugar del nick cuando no se está conectado" -#: src/common/weeconfig.c:154 src/common/weeconfig.c:155 +#: src/common/weeconfig.c:156 src/common/weeconfig.c:157 msgid "display nick mode ((half)op/voice) before each nick" msgstr "mostrar modo del usuario ((half)op/voice) antes de cada usuario" -#: src/common/weeconfig.c:158 src/common/weeconfig.c:159 +#: src/common/weeconfig.c:160 src/common/weeconfig.c:161 msgid "display space if nick mode is not (half)op/voice" msgstr "mostrar un espacio si el modo de usuario no es (half)op/voice" -#: src/common/weeconfig.c:162 src/common/weeconfig.c:163 +#: src/common/weeconfig.c:164 src/common/weeconfig.c:165 msgid "the string inserted after nick completion" msgstr "la cadena mostrada tras la finalización de los nombres de usuario" -#: src/common/weeconfig.c:166 src/common/weeconfig.c:167 +#: src/common/weeconfig.c:168 src/common/weeconfig.c:169 msgid "enable info bar" msgstr "activa la barra de información" -#: src/common/weeconfig.c:170 src/common/weeconfig.c:171 +#: src/common/weeconfig.c:172 src/common/weeconfig.c:173 msgid "timestamp for time in infobar" msgstr "fecha y hora para las conversaciones guardadas" -#: src/common/weeconfig.c:174 +#: src/common/weeconfig.c:176 src/common/weeconfig.c:177 +msgid "display seconds in infobar time" +msgstr "" + +#: src/common/weeconfig.c:180 msgid "delay (in seconds) for highlight messages in infobar" msgstr "" "retraso (en segundos) para la notificación de mensajes en la barra de " "información" -#: src/common/weeconfig.c:175 +#: src/common/weeconfig.c:181 msgid "" "delay (in seconds) for highlight messages in infobar (0 = disable highlight " "notifications in infobar)" @@ -3157,260 +3215,264 @@ msgstr "" "retraso (en segundos) para la notificación de mensajes en la barra de " "información (0 = desactivar las notificaciones en la barra de información)" -#: src/common/weeconfig.c:233 src/common/weeconfig.c:234 +#: src/common/weeconfig.c:240 src/common/weeconfig.c:241 msgid "color for title bar" msgstr "color para la barra de título" -#: src/common/weeconfig.c:237 src/common/weeconfig.c:238 +#: src/common/weeconfig.c:244 src/common/weeconfig.c:245 msgid "background for title bar" msgstr "color de fondo para la barra de título" -#: src/common/weeconfig.c:243 src/common/weeconfig.c:244 +#: src/common/weeconfig.c:250 src/common/weeconfig.c:251 msgid "color for chat text" msgstr "color para el texto de conversación" -#: src/common/weeconfig.c:247 +#: src/common/weeconfig.c:254 msgid "color for time" msgstr "color para la hora" -#: src/common/weeconfig.c:248 +#: src/common/weeconfig.c:255 msgid "color for time in chat window" msgstr "color para la hora en la ventana de conversación" -#: src/common/weeconfig.c:251 +#: src/common/weeconfig.c:258 msgid "color for time separator" msgstr "color para el separador de la hora" -#: src/common/weeconfig.c:252 +#: src/common/weeconfig.c:259 msgid "color for time separator (chat window)" msgstr "color para el separador de la hora (ventana de conversación)" -#: src/common/weeconfig.c:255 src/common/weeconfig.c:256 +#: src/common/weeconfig.c:262 src/common/weeconfig.c:263 msgid "color for 1st and 3rd char of prefix" msgstr "color para el primer o tercer carácter de prefijo" -#: src/common/weeconfig.c:259 src/common/weeconfig.c:260 +#: src/common/weeconfig.c:266 src/common/weeconfig.c:267 msgid "color for middle char of prefix" msgstr "color para el carácter de en medio del prefijo" -#: src/common/weeconfig.c:263 +#: src/common/weeconfig.c:270 msgid "color for nicks in actions" msgstr "color para los nombres de usuario en las acciones" -#: src/common/weeconfig.c:264 +#: src/common/weeconfig.c:271 msgid "color for nicks in actions (chat window)" msgstr "" "color para los nombres de usuario en las acciones (ventana de conversación)" -#: src/common/weeconfig.c:267 +#: src/common/weeconfig.c:274 msgid "color for hostnames" msgstr "color para los nombres de máquina" -#: src/common/weeconfig.c:268 +#: src/common/weeconfig.c:275 msgid "color for hostnames (chat window)" msgstr "color para los nombres de máquina (ventana de conversación)" -#: src/common/weeconfig.c:271 +#: src/common/weeconfig.c:278 msgid "color for channel names in actions" msgstr "color para los nombres de canal en las acciones" -#: src/common/weeconfig.c:272 +#: src/common/weeconfig.c:279 msgid "color for channel names in actions (chat window)" msgstr "" "color para los nombres de canal en las acciones (ventana de conversación)" -#: src/common/weeconfig.c:275 +#: src/common/weeconfig.c:282 msgid "color for dark separators" msgstr "color para los separadores oscuros" -#: src/common/weeconfig.c:276 +#: src/common/weeconfig.c:283 msgid "color for dark separators (chat window)" msgstr "color para los separadores oscuros (ventana de conversación)" -#: src/common/weeconfig.c:279 +#: src/common/weeconfig.c:286 msgid "color for highlighted nick" msgstr "color para el alias subrayado" -#: src/common/weeconfig.c:280 +#: src/common/weeconfig.c:287 msgid "color for highlighted nick (chat window)" msgstr "color para el alias subrayado (ventana de conversación)" -#: src/common/weeconfig.c:283 +#: src/common/weeconfig.c:290 msgid "background for chat" msgstr "color de fondo para la conversación" -#: src/common/weeconfig.c:284 +#: src/common/weeconfig.c:291 msgid "background for chat window" msgstr "color de fondo para la ventana de conversación" -#: src/common/weeconfig.c:289 src/common/weeconfig.c:290 +#: src/common/weeconfig.c:296 src/common/weeconfig.c:297 msgid "color for status bar" msgstr "color para la barra de estado" -#: src/common/weeconfig.c:293 src/common/weeconfig.c:294 +#: src/common/weeconfig.c:300 src/common/weeconfig.c:301 msgid "color for status bar delimiters" msgstr "color para los delimitadores de la barra de estado" -#: src/common/weeconfig.c:297 +#: src/common/weeconfig.c:304 msgid "color for window with new messages" msgstr "color para una ventana con mensajes nuevos" -#: src/common/weeconfig.c:298 +#: src/common/weeconfig.c:305 msgid "color for window with new messages (status bar)" msgstr "color para una ventana con mensajes nuevos (barra de estado)" -#: src/common/weeconfig.c:301 +#: src/common/weeconfig.c:308 msgid "color for window with highlight" msgstr "color para una ventana con resaltado" -#: src/common/weeconfig.c:302 +#: src/common/weeconfig.c:309 msgid "color for window with highlight (status bar)" msgstr "color para una ventana con resaltado (barra de estado)" -#: src/common/weeconfig.c:305 +#: src/common/weeconfig.c:312 msgid "color for window with new data (not messages)" msgstr "color para una ventana con nuevos datos (no mensajes)" -#: src/common/weeconfig.c:306 +#: src/common/weeconfig.c:313 msgid "color for window with new data (not messages) (status bar)" msgstr "" "color para una ventana con nuevos datos (no mensajes) (barra de estado)" -#: src/common/weeconfig.c:309 +#: src/common/weeconfig.c:316 msgid "color for \"-MORE-\" text" msgstr "color para el texto \"-MÁS-\"" -#: src/common/weeconfig.c:310 +#: src/common/weeconfig.c:317 msgid "color for window with new data (status bar)" msgstr "color para una ventana con nuevos datos (barra de estado)" -#: src/common/weeconfig.c:313 src/common/weeconfig.c:314 +#: src/common/weeconfig.c:320 src/common/weeconfig.c:321 msgid "background for status window" msgstr "color de fondo para la ventana de estado" -#: src/common/weeconfig.c:319 src/common/weeconfig.c:320 +#: src/common/weeconfig.c:326 src/common/weeconfig.c:327 msgid "color for info bar text" msgstr "color para el texto de la barra de información" -#: src/common/weeconfig.c:323 src/common/weeconfig.c:324 +#: src/common/weeconfig.c:330 src/common/weeconfig.c:331 +msgid "color for infobar delimiters" +msgstr "color para los delimitadores de la barra de información" + +#: src/common/weeconfig.c:334 src/common/weeconfig.c:335 msgid "color for info bar highlight notification" msgstr "color para la notificación en la barra de información" -#: src/common/weeconfig.c:327 src/common/weeconfig.c:328 +#: src/common/weeconfig.c:338 src/common/weeconfig.c:339 msgid "background for info bar window" msgstr "color de fondo para la ventana de la barra de información" -#: src/common/weeconfig.c:333 src/common/weeconfig.c:334 +#: src/common/weeconfig.c:344 src/common/weeconfig.c:345 msgid "color for input text" msgstr "color para el texto de entrada" -#: src/common/weeconfig.c:337 src/common/weeconfig.c:338 +#: src/common/weeconfig.c:348 src/common/weeconfig.c:349 msgid "color for input text (channel name)" msgstr "color para el texto de entrada (nombre de canal)" -#: src/common/weeconfig.c:341 src/common/weeconfig.c:342 +#: src/common/weeconfig.c:352 src/common/weeconfig.c:353 msgid "color for input text (nick name)" msgstr "color para el texto de entrada (alias)" -#: src/common/weeconfig.c:345 src/common/weeconfig.c:346 +#: src/common/weeconfig.c:356 src/common/weeconfig.c:357 msgid "background for input window" msgstr "color de fondo para la ventana de entrada" -#: src/common/weeconfig.c:351 src/common/weeconfig.c:352 +#: src/common/weeconfig.c:362 src/common/weeconfig.c:363 msgid "color for nicknames" msgstr "color para los nombres de usuario" -#: src/common/weeconfig.c:355 src/common/weeconfig.c:356 +#: src/common/weeconfig.c:366 src/common/weeconfig.c:367 msgid "color for away nicknames" msgstr "color para los usuarios ausentes" -#: src/common/weeconfig.c:359 +#: src/common/weeconfig.c:370 msgid "color for chan owner symbol" msgstr "color para el símbolo de propietario de canal" -#: src/common/weeconfig.c:360 +#: src/common/weeconfig.c:371 msgid "color for chan owner symbol (specific to unrealircd)" msgstr "" "color para el símbolo de propietario de canal (especificado en unrealircd)" -#: src/common/weeconfig.c:363 +#: src/common/weeconfig.c:374 msgid "color for chan admin symbol" msgstr "color para el símbolo de administrador de canal" -#: src/common/weeconfig.c:364 +#: src/common/weeconfig.c:375 msgid "color for chan admin symbol (specific to unrealircd)" msgstr "" "color para el símbolo de administrador de canal (especificado en unrealircd)" -#: src/common/weeconfig.c:367 src/common/weeconfig.c:368 +#: src/common/weeconfig.c:378 src/common/weeconfig.c:379 msgid "color for operator symbol" msgstr "color para el símbolo de operador" -#: src/common/weeconfig.c:371 src/common/weeconfig.c:372 +#: src/common/weeconfig.c:382 src/common/weeconfig.c:383 msgid "color for half-operator symbol" msgstr "color para el símbolo de semi-operador" -#: src/common/weeconfig.c:375 src/common/weeconfig.c:376 +#: src/common/weeconfig.c:386 src/common/weeconfig.c:387 msgid "color for voice symbol" msgstr "color para el símbolo de voz" -#: src/common/weeconfig.c:379 src/common/weeconfig.c:380 +#: src/common/weeconfig.c:390 src/common/weeconfig.c:391 msgid "color for '+' when scrolling nicks" msgstr "" -#: src/common/weeconfig.c:383 src/common/weeconfig.c:384 +#: src/common/weeconfig.c:394 src/common/weeconfig.c:395 msgid "color for nick separator" msgstr "color para el separador de alias" -#: src/common/weeconfig.c:387 src/common/weeconfig.c:388 +#: src/common/weeconfig.c:398 src/common/weeconfig.c:399 msgid "color for local nick" msgstr "color para el alias local" -#: src/common/weeconfig.c:391 src/common/weeconfig.c:392 +#: src/common/weeconfig.c:402 src/common/weeconfig.c:403 msgid "color for other nick in private window" msgstr "color para el otro alias en la ventana privada" -#: src/common/weeconfig.c:395 src/common/weeconfig.c:396 +#: src/common/weeconfig.c:406 src/common/weeconfig.c:407 msgid "background for nicknames" msgstr "color de fondo para los nombres de usuario" -#: src/common/weeconfig.c:401 +#: src/common/weeconfig.c:412 msgid "color for selected DCC" msgstr "color para el DCC seleccionado" -#: src/common/weeconfig.c:402 +#: src/common/weeconfig.c:413 msgid "color for selected DCC (chat window)" msgstr "color para el DCC seleccionado (ventana de conversación)" -#: src/common/weeconfig.c:405 src/common/weeconfig.c:406 +#: src/common/weeconfig.c:416 src/common/weeconfig.c:417 msgid "color for \"waiting\" dcc status" msgstr "color para el estado dcc \"esperando\"" -#: src/common/weeconfig.c:409 src/common/weeconfig.c:410 +#: src/common/weeconfig.c:420 src/common/weeconfig.c:421 msgid "color for \"connecting\" dcc status" msgstr "color para el estado dcc \"conectando\"" -#: src/common/weeconfig.c:413 src/common/weeconfig.c:414 +#: src/common/weeconfig.c:424 src/common/weeconfig.c:425 msgid "color for \"active\" dcc status" msgstr "color para el estado dcc \"activo\"" -#: src/common/weeconfig.c:417 src/common/weeconfig.c:418 +#: src/common/weeconfig.c:428 src/common/weeconfig.c:429 msgid "color for \"done\" dcc status" msgstr "color para el estado dcc \"terminado\"" -#: src/common/weeconfig.c:421 src/common/weeconfig.c:422 +#: src/common/weeconfig.c:432 src/common/weeconfig.c:433 msgid "color for \"failed\" dcc status" msgstr "color para el estado dcc \"fallo\"" -#: src/common/weeconfig.c:425 src/common/weeconfig.c:426 +#: src/common/weeconfig.c:436 src/common/weeconfig.c:437 msgid "color for \"aborted\" dcc status" msgstr "color para el estado dcc \"abortado\"" -#: src/common/weeconfig.c:439 +#: src/common/weeconfig.c:450 msgid "max lines in history (per window)" msgstr "número máximo de líneas en el histórico (por ventana)" -#: src/common/weeconfig.c:440 +#: src/common/weeconfig.c:451 msgid "" "maximum number of lines in history for one server/channel/private window (0 " "= unlimited)" @@ -3418,341 +3480,341 @@ msgstr "" "número máximo de líneas en el histórico para un servidor/canal/privado (0 = " "ilimitado)" -#: src/common/weeconfig.c:444 +#: src/common/weeconfig.c:455 msgid "max user commands in history" msgstr "número máximo de comandos de usuario en el histórico" -#: src/common/weeconfig.c:445 +#: src/common/weeconfig.c:456 msgid "maximum number of user commands in history (0 = unlimited)" msgstr "número máximo de comandos de usuario en el histórico (0 = ilimitado)" -#: src/common/weeconfig.c:462 src/common/weeconfig.c:463 +#: src/common/weeconfig.c:473 src/common/weeconfig.c:474 msgid "automatically log server messages" msgstr "registrar automáticamente los mensajes de servidor" -#: src/common/weeconfig.c:466 src/common/weeconfig.c:467 +#: src/common/weeconfig.c:477 src/common/weeconfig.c:478 msgid "automatically log channel chats" msgstr "registrar automáticamente las conversaciones de canal" -#: src/common/weeconfig.c:470 src/common/weeconfig.c:471 +#: src/common/weeconfig.c:481 src/common/weeconfig.c:482 msgid "automatically log private chats" msgstr "registrar automáticamente las conversaciones privadas" -#: src/common/weeconfig.c:474 src/common/weeconfig.c:475 +#: src/common/weeconfig.c:485 src/common/weeconfig.c:486 msgid "log messages from plugins (scripts)" msgstr "registrar mensajes de plugins (scripts)" -#: src/common/weeconfig.c:478 +#: src/common/weeconfig.c:489 msgid "path for log files" msgstr "ruta para los archivos de registro (logs)" -#: src/common/weeconfig.c:479 +#: src/common/weeconfig.c:490 msgid "path for WeeChat log files" msgstr "ruta para los archivos de registro (logs) de WeeChat" -#: src/common/weeconfig.c:482 +#: src/common/weeconfig.c:493 msgid "timestamp for log" msgstr "fecha y hora para las conversaciones registradas" -#: src/common/weeconfig.c:483 +#: src/common/weeconfig.c:494 msgid "timestamp for log (see man strftime for date/time specifiers)" msgstr "" "fecha y hora para los registros (ver man strftime para el formato de fecha/" "hora)" -#: src/common/weeconfig.c:486 src/common/weeconfig.c:487 +#: src/common/weeconfig.c:497 src/common/weeconfig.c:498 msgid "hide password displayed by nickserv" msgstr "ocultar contraseña mostrada por nickserv" -#: src/common/weeconfig.c:506 +#: src/common/weeconfig.c:517 msgid "display message to all channels when away" msgstr "mostrar mensaje en todos los canales cuando se está ausente" -#: src/common/weeconfig.c:507 +#: src/common/weeconfig.c:518 msgid "display message to all channels when (un)marking as away" msgstr "" "mostrar mensaje en todos los canales cuando se vuelva del estado ausente" -#: src/common/weeconfig.c:510 src/common/weeconfig.c:511 +#: src/common/weeconfig.c:521 src/common/weeconfig.c:522 msgid "default message when away" msgstr "mensaje por defecto para el estado ausente" -#: src/common/weeconfig.c:514 src/common/weeconfig.c:515 +#: src/common/weeconfig.c:525 src/common/weeconfig.c:526 msgid "default part message (leaving channel)" msgstr "mensaje por defecto de salida (saliendo de un canal)" -#: src/common/weeconfig.c:518 +#: src/common/weeconfig.c:529 msgid "default quit message" msgstr "mensaje de fin por defecto" -#: src/common/weeconfig.c:519 +#: src/common/weeconfig.c:530 msgid "" "default quit message ('%v' will be replaced by WeeChat version in string)" msgstr "" "mensaje de fin por defecto ('%v' será reemplazado por la versión de WeeChat " "en la cadena)" -#: src/common/weeconfig.c:522 +#: src/common/weeconfig.c:533 msgid "interval between two checks for away" msgstr "intervalo entre dos comprobaciones de ausencia" -#: src/common/weeconfig.c:523 +#: src/common/weeconfig.c:534 msgid "interval between two checks for away (in minutes, 0 = never check)" msgstr "" "intervalo entre dos comprobaciones de ausencia (en minutos, 0 = no comprobar)" -#: src/common/weeconfig.c:526 +#: src/common/weeconfig.c:537 msgid "interval between two checks for lag" msgstr "intervalo entre dos medidas de lag (retraso)" -#: src/common/weeconfig.c:527 +#: src/common/weeconfig.c:538 msgid "interval between two checks for lag (in seconds)" msgstr "intervalo entre dos medidas de lag (en segundos)" -#: src/common/weeconfig.c:530 +#: src/common/weeconfig.c:541 msgid "minimum lag to show" msgstr "lag (retraso) mínimo a mostrar" -#: src/common/weeconfig.c:531 +#: src/common/weeconfig.c:542 msgid "minimum lag to show (in seconds)" msgstr "lag mínimo a mostrar (en segundos)" -#: src/common/weeconfig.c:534 +#: src/common/weeconfig.c:545 msgid "disconnect after important lag" msgstr "desconexión tras un lag importante" -#: src/common/weeconfig.c:535 +#: src/common/weeconfig.c:546 msgid "disconnect after important lag (in minutes, 0 = never disconnect)" msgstr "" "desconexión tras un lag importante (en minutos, 0 = no desconectar nunca)" -#: src/common/weeconfig.c:538 src/common/weeconfig.c:539 +#: src/common/weeconfig.c:549 src/common/weeconfig.c:550 msgid "create a FIFO pipe for remote control" msgstr "crea una tubería FIFO para control remoto" -#: src/common/weeconfig.c:558 +#: src/common/weeconfig.c:569 msgid "automatically accept dcc files" msgstr "aceptar automáticamente los ficheros dcc" -#: src/common/weeconfig.c:559 +#: src/common/weeconfig.c:570 msgid "automatically accept incoming dcc files" msgstr "aceptar automáticamente los ficheros dcc entrantes" -#: src/common/weeconfig.c:562 +#: src/common/weeconfig.c:573 msgid "automatically accept dcc chats" msgstr "aceptar automáticamente las peticiones de conversación dcc" -#: src/common/weeconfig.c:563 +#: src/common/weeconfig.c:574 msgid "automatically accept dcc chats (use carefully!)" msgstr "" "aceptar automáticamente las peticiones de conversación dcc (¡utilizar con " "precaución!)" -#: src/common/weeconfig.c:566 +#: src/common/weeconfig.c:577 msgid "timeout for dcc request" msgstr "tiempo de espera (timeout) para la petición dcc" -#: src/common/weeconfig.c:567 +#: src/common/weeconfig.c:578 msgid "timeout for dcc request (in seconds)" msgstr "tiempo de espera para la petición dcc (en segundos)" -#: src/common/weeconfig.c:570 +#: src/common/weeconfig.c:581 msgid "block size for dcc packets" msgstr "tamaño de bloque para los paquetes dcc" -#: src/common/weeconfig.c:571 +#: src/common/weeconfig.c:582 msgid "block size for dcc packets in bytes (default: 65536)" msgstr "tamaño de bloque para los paquetes dcc en bytes (por defecto: 65536)" -#: src/common/weeconfig.c:574 +#: src/common/weeconfig.c:585 msgid "path for incoming files with dcc" msgstr "ruta para los ficheros recibidos con dcc" -#: src/common/weeconfig.c:575 +#: src/common/weeconfig.c:586 msgid "path for writing incoming files with dcc (default: user home)" msgstr "" "ruta para los ficheros recibidos con dcc (por defecto: directorio home del " "usuario)" -#: src/common/weeconfig.c:578 +#: src/common/weeconfig.c:589 msgid "default path for sending files with dcc" msgstr "ruta por defecto para enviar ficheros con dcc" -#: src/common/weeconfig.c:579 +#: src/common/weeconfig.c:590 msgid "" "path for reading files when sending thru dcc (when no path is specified)" msgstr "" "ruta para la lectura de ficheros cuando se envían a través de dcc (cuando no " "se especifica una ruta)" -#: src/common/weeconfig.c:582 src/common/weeconfig.c:583 +#: src/common/weeconfig.c:593 src/common/weeconfig.c:594 msgid "convert spaces to underscores when sending files" msgstr "convertir los espacios a subrayados cuando se envían los ficheros" -#: src/common/weeconfig.c:586 +#: src/common/weeconfig.c:597 msgid "automatically rename dcc files if already exists" msgstr "renombrar automáticamente los ficheros dcc si ya existen" -#: src/common/weeconfig.c:587 +#: src/common/weeconfig.c:598 msgid "rename incoming files if already exists (add '.1', '.2', ...)" msgstr "" "renombrar los ficheros recibidos si ya existen (añadir '.1', '.2', ...)" -#: src/common/weeconfig.c:590 +#: src/common/weeconfig.c:601 msgid "automatically resume aborted transfers" msgstr "continuar automáticamente las transferencias canceladas" -#: src/common/weeconfig.c:591 +#: src/common/weeconfig.c:602 msgid "" "automatically resume dcc transfer if connection with remote host is loosed" msgstr "" "continuar automáticamente la transferencia dcc si se ha perdido la conexión " "con la máquina remota" -#: src/common/weeconfig.c:610 +#: src/common/weeconfig.c:621 msgid "use proxy" msgstr "utilizar un proxy" -#: src/common/weeconfig.c:611 +#: src/common/weeconfig.c:622 msgid "use a proxy server to connect to irc server" msgstr "utilizar un proxy para conectarse al servidor irc" -#: src/common/weeconfig.c:614 +#: src/common/weeconfig.c:625 msgid "proxy type" msgstr "" -#: src/common/weeconfig.c:615 +#: src/common/weeconfig.c:626 msgid "proxy type (http (default), socks4, socks5)" msgstr "" -#: src/common/weeconfig.c:618 +#: src/common/weeconfig.c:629 msgid "use ipv6 proxy" msgstr "" -#: src/common/weeconfig.c:619 +#: src/common/weeconfig.c:630 msgid "connect to proxy in ipv6" msgstr "" -#: src/common/weeconfig.c:622 +#: src/common/weeconfig.c:633 msgid "proxy address" msgstr "dirección del proxy" -#: src/common/weeconfig.c:623 +#: src/common/weeconfig.c:634 msgid "proxy server address (IP or hostname)" msgstr "dirección del servidor proxy (IP o nombre de máquina)" -#: src/common/weeconfig.c:626 +#: src/common/weeconfig.c:637 msgid "port for proxy" msgstr "puerto para el proxy" -#: src/common/weeconfig.c:627 +#: src/common/weeconfig.c:638 msgid "port for connecting to proxy server" msgstr "puerto para conectarse al servidor proxy" -#: src/common/weeconfig.c:630 +#: src/common/weeconfig.c:641 msgid "proxy username" msgstr "" -#: src/common/weeconfig.c:631 +#: src/common/weeconfig.c:642 msgid "username for proxy server" msgstr "" -#: src/common/weeconfig.c:634 +#: src/common/weeconfig.c:645 msgid "proxy password" msgstr "contraseña para el proxy" -#: src/common/weeconfig.c:635 +#: src/common/weeconfig.c:646 msgid "password for proxy server" msgstr "contraseña para el servidor proxy" -#: src/common/weeconfig.c:646 +#: src/common/weeconfig.c:657 msgid "server name" msgstr "nombre de servidor" -#: src/common/weeconfig.c:647 +#: src/common/weeconfig.c:658 msgid "name associated to IRC server (for display only)" msgstr "nombre asociado al servidor IRC (para mostrar solamente)" -#: src/common/weeconfig.c:650 +#: src/common/weeconfig.c:661 msgid "automatically connect to server" msgstr "conexión automática al servidor" -#: src/common/weeconfig.c:651 +#: src/common/weeconfig.c:662 msgid "automatically connect to server when WeeChat is starting" msgstr "conexión automática al servidor cuando WeeChat esté arrancando" -#: src/common/weeconfig.c:654 +#: src/common/weeconfig.c:665 msgid "automatically reconnect to server" msgstr "reconexión automática al servidor" -#: src/common/weeconfig.c:655 +#: src/common/weeconfig.c:666 msgid "automatically reconnect to server when disconnected" msgstr "reconexión automática al servidor tras una desconexión" -#: src/common/weeconfig.c:658 +#: src/common/weeconfig.c:669 msgid "delay before trying again to reconnect" msgstr "esperar antes de intentar de nuevo una reconexión" -#: src/common/weeconfig.c:659 +#: src/common/weeconfig.c:670 msgid "delay (in seconds) before trying again to reconnect to server" msgstr "" "espera (en segundos) antes de intentar de nuevo una reconexión al servidor" -#: src/common/weeconfig.c:662 +#: src/common/weeconfig.c:673 msgid "server address or hostname" msgstr "dirección o nombre de máquina del servidor" -#: src/common/weeconfig.c:663 +#: src/common/weeconfig.c:674 msgid "IP address or hostname of IRC server" msgstr "dirección IP o nombre de máquina del servidor IRC" -#: src/common/weeconfig.c:666 +#: src/common/weeconfig.c:677 msgid "port for IRC server" msgstr "puerto para el servidor IRC" -#: src/common/weeconfig.c:667 +#: src/common/weeconfig.c:678 msgid "port for connecting to server" msgstr "puerto para conectarse al servidor" -#: src/common/weeconfig.c:670 src/common/weeconfig.c:671 +#: src/common/weeconfig.c:681 src/common/weeconfig.c:682 msgid "use IPv6 protocol for server communication" msgstr "" -#: src/common/weeconfig.c:674 src/common/weeconfig.c:675 +#: src/common/weeconfig.c:685 src/common/weeconfig.c:686 msgid "use SSL for server communication" msgstr "" -#: src/common/weeconfig.c:678 +#: src/common/weeconfig.c:689 msgid "server password" msgstr "contraseña para el servidor" -#: src/common/weeconfig.c:679 +#: src/common/weeconfig.c:690 msgid "password for IRC server" msgstr "contraseña para el servidor IRC" -#: src/common/weeconfig.c:682 +#: src/common/weeconfig.c:693 msgid "nickname for server" msgstr "nombre de usuario para el servidor" -#: src/common/weeconfig.c:683 +#: src/common/weeconfig.c:694 msgid "nickname to use on IRC server" msgstr "nombre de usuario a utilizar en el servidor IRC" -#: src/common/weeconfig.c:686 +#: src/common/weeconfig.c:697 msgid "alternate nickname for server" msgstr "nombre de usuario alternativo para el servidor" -#: src/common/weeconfig.c:687 +#: src/common/weeconfig.c:698 msgid "alternate nickname to use on IRC server (if nickname is already used)" msgstr "" "nombre de usuario alternativo para el servidor IRC (si el nombre de usuario " "ya está en uso)" -#: src/common/weeconfig.c:690 +#: src/common/weeconfig.c:701 msgid "2nd alternate nickname for server" msgstr "segundo nombre de usuario alternativo para el servidor" -#: src/common/weeconfig.c:691 +#: src/common/weeconfig.c:702 msgid "" "2nd alternate nickname to use on IRC server (if alternate nickname is " "already used)" @@ -3760,31 +3822,31 @@ msgstr "" "segundo nombre de usuario alternativo a utilizar en el servidor IRC (si el " "nombre de usuario alternativo ya está en uso)" -#: src/common/weeconfig.c:694 +#: src/common/weeconfig.c:705 msgid "user name for server" msgstr "nombre de usuario para el servidor" -#: src/common/weeconfig.c:695 +#: src/common/weeconfig.c:706 msgid "user name to use on IRC server" msgstr "nombre de usuario para el servidor IRC" -#: src/common/weeconfig.c:698 +#: src/common/weeconfig.c:709 msgid "real name for server" msgstr "nombre real para el servidor" -#: src/common/weeconfig.c:699 +#: src/common/weeconfig.c:710 msgid "real name to use on IRC server" msgstr "nombre real para el servidor IRC" -#: src/common/weeconfig.c:702 src/common/weeconfig.c:703 +#: src/common/weeconfig.c:713 src/common/weeconfig.c:714 msgid "first command to run when connected to server" msgstr "primer comando a ejecutar cuando se conecte a un servidor" -#: src/common/weeconfig.c:706 +#: src/common/weeconfig.c:717 msgid "delay (in seconds) after command was executed" msgstr "espera (en segundos) después de que el comando sea ejecutado" -#: src/common/weeconfig.c:707 +#: src/common/weeconfig.c:718 msgid "" "delay (in seconds) after command was executed (example: give some time for " "authentication)" @@ -3792,86 +3854,86 @@ msgstr "" "espera (en segundos) después de que el comando sea ejecutado (ejemplo: dar " "algo de tiempo para la autenticación)" -#: src/common/weeconfig.c:710 +#: src/common/weeconfig.c:721 msgid "list of channels to join when connected to server" msgstr "lista de canales a unirse cuando se conecte a un servidor" -#: src/common/weeconfig.c:711 +#: src/common/weeconfig.c:722 msgid "comma separated list of channels to join when connected to server" msgstr "" "lista de canales (separados por comas) a unirse cuando se conecte a un " "servidor" -#: src/common/weeconfig.c:714 src/common/weeconfig.c:715 +#: src/common/weeconfig.c:725 src/common/weeconfig.c:726 msgid "automatically rejoin channels when kicked" msgstr "unirse de nuevo automáticamente a los canales cuando sea expulsado" -#: src/common/weeconfig.c:718 +#: src/common/weeconfig.c:729 msgid "notify levels for channels of this server" msgstr "" -#: src/common/weeconfig.c:719 +#: src/common/weeconfig.c:730 msgid "" "comma separated list of notify levels for channels of this server (format: " "#channel:1,..)" msgstr "" -#: src/common/weeconfig.c:1177 +#: src/common/weeconfig.c:1190 #, c-format msgid "%s %s, line %d: new server, but previous was incomplete\n" msgstr "%s %s, línea %d: nuevo servidor, pero el anterior estaba incompleto\n" -#: src/common/weeconfig.c:1186 +#: src/common/weeconfig.c:1199 #, c-format msgid "%s %s, line %d: server '%s' already exists\n" msgstr "%s %s, línea %d: el servidor '%s' ya existe\n" -#: src/common/weeconfig.c:1201 +#: src/common/weeconfig.c:1214 #, c-format msgid "%s %s, line %d: unable to create server\n" msgstr "%s %s, línea %d: no es posible crear el servidor\n" -#: src/common/weeconfig.c:1240 +#: src/common/weeconfig.c:1254 #, c-format msgid "%s unable to assign default int with string (\"%s\")\n" msgstr "%s no es posible asignar el valor entero con la cadena (\"%s\")\n" -#: src/common/weeconfig.c:1251 +#: src/common/weeconfig.c:1265 #, c-format msgid "%s unable to assign default color (\"%s\")\n" msgstr "%s no es posible asignar el color por defecto (\"%s\")\n" -#: src/common/weeconfig.c:1290 +#: src/common/weeconfig.c:1304 #, c-format msgid "%s config file \"%s\" not found.\n" msgstr "%s fichero de configuración \"%s\" no encontrado.\n" -#: src/common/weeconfig.c:1322 +#: src/common/weeconfig.c:1336 #, c-format msgid "%s %s, line %d: invalid syntax, missing \"]\"\n" msgstr "%s %s, línea %d: sintaxis inválida, falta \"]\"\n" -#: src/common/weeconfig.c:1339 +#: src/common/weeconfig.c:1353 #, c-format msgid "%s %s, line %d: unknown section identifier (\"%s\")\n" msgstr "%s %s, línea %d: identificador de sección desconocido (\"%s\")\n" -#: src/common/weeconfig.c:1357 +#: src/common/weeconfig.c:1371 #, c-format msgid "%s %s, line %d: invalid section for option, line is ignored\n" msgstr "%s %s, línea %d: sección inválida para la opción, línea ignorada\n" -#: src/common/weeconfig.c:1365 +#: src/common/weeconfig.c:1379 #, c-format msgid "%s %s, line %d: invalid syntax, missing \"=\"\n" msgstr "%s %s, línea %d: sintaxis inválida, falta \"=\"\n" -#: src/common/weeconfig.c:1399 +#: src/common/weeconfig.c:1427 #, c-format msgid "%s %s, line %d: invalid option \"%s\"\n" msgstr "%s %s, línea %d: opción \"%s\" inválida\n" -#: src/common/weeconfig.c:1410 +#: src/common/weeconfig.c:1438 #, c-format msgid "" "%s %s, line %d: invalid value foroption '%s'\n" @@ -3880,7 +3942,7 @@ msgstr "" "%s %s, línea %d: valor inválido para la opción '%s'\n" "Esperado: valor booleano: 'off' u 'on'\n" -#: src/common/weeconfig.c:1419 +#: src/common/weeconfig.c:1447 #, c-format msgid "" "%s %s, line %d: invalid value for option '%s'\n" @@ -3889,7 +3951,7 @@ msgstr "" "%s %s, línea %d: valor inválido para la opción %s'\n" "Esperado: entero comprendido entre %d y %d\n" -#: src/common/weeconfig.c:1430 +#: src/common/weeconfig.c:1458 #, c-format msgid "" "%s %s, line %d: invalid value for option '%s'\n" @@ -3898,26 +3960,26 @@ msgstr "" "%s %s, línea %d: valor inválido para la opción '%s'\n" "Esperado: una de estas cadenas: " -#: src/common/weeconfig.c:1446 +#: src/common/weeconfig.c:1474 #, c-format msgid "%s %s, line %d: invalid color name for option '%s'\n" msgstr "%s %s, línea %d: nombre de color inválido para la opción '%s'\n" -#: src/common/weeconfig.c:1506 src/common/weeconfig.c:1677 +#: src/common/weeconfig.c:1536 src/common/weeconfig.c:1731 #, c-format msgid "%s cannot create file \"%s\"\n" msgstr "%s no es posible crear el fichero \"%s\"\n" -#: src/common/weeconfig.c:1512 +#: src/common/weeconfig.c:1542 #, c-format msgid "%s: creating default config file...\n" msgstr "%s: creando fichero de configuración por defecto...\n" -#: src/common/weeconfig.c:1513 +#: src/common/weeconfig.c:1543 msgid "Creating default config file\n" msgstr "Creando fichero de configuración por defecto\n" -#: src/common/weeconfig.c:1516 src/common/weeconfig.c:1686 +#: src/common/weeconfig.c:1546 src/common/weeconfig.c:1740 #, c-format msgid "" "#\n" @@ -3926,6 +3988,9 @@ msgstr "" "#\n" "# %s: fichero de configuración, creado por %s v%s el %s#\n" -#: src/common/weeconfig.c:1683 +#: src/common/weeconfig.c:1737 msgid "Saving config to disk\n" msgstr "Guardar configuración a disco\n" + +#~ msgid "%d:[not connected] " +#~ msgstr "%d:[no conectado] " @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: WeeChat 0.1.4-cvs\n" "Report-Msgid-Bugs-To: flashcode@flashtux.org\n" -"POT-Creation-Date: 2005-07-02 18:30+0200\n" -"PO-Revision-Date: 2005-07-02 20:21+0200\n" +"POT-Creation-Date: 2005-07-09 17:25+0200\n" +"PO-Revision-Date: 2005-07-09 14:34+0200\n" "Last-Translator: FlashCode <flashcode@flashtux.org>\n" "Language-Team: weechat-dev <weechat-dev@nongnu.org>\n" "MIME-Version: 1.0\n" @@ -20,7 +20,7 @@ msgstr "" msgid "%s cannot allocate new nick\n" msgstr "%s impossible d'allouer un nouveau pseudo\n" -#: src/irc/irc-server.c:180 src/common/weeconfig.c:1625 +#: src/irc/irc-server.c:180 src/common/weeconfig.c:1677 msgid "Unable to get user's name" msgstr "Impossible de déterminer le nom d'utilisateur" @@ -1304,7 +1304,7 @@ msgstr "impossible de changer le mode pour les autres utilisateurs" msgid "whois (secure connection)" msgstr "qui est (connexion sécurisée)" -#: src/irc/irc-display.c:156 src/common/command.c:842 +#: src/irc/irc-display.c:156 src/common/command.c:848 msgid "Server: " msgstr "Serveur: " @@ -1345,9 +1345,9 @@ msgstr "%s: utilisation du nom de machine local \"%s\"\n" #: src/irc/irc-send.c:232 src/irc/irc-send.c:260 src/irc/irc-send.c:426 #: src/irc/irc-send.c:452 src/irc/irc-send.c:478 src/irc/irc-send.c:519 -#: src/irc/irc-send.c:555 src/irc/irc-send.c:619 src/irc/irc-send.c:676 -#: src/irc/irc-send.c:1018 src/irc/irc-send.c:1116 src/irc/irc-send.c:1595 -#: src/irc/irc-send.c:1702 +#: src/irc/irc-send.c:555 src/irc/irc-send.c:622 src/irc/irc-send.c:679 +#: src/irc/irc-send.c:1021 src/irc/irc-send.c:1119 src/irc/irc-send.c:1598 +#: src/irc/irc-send.c:1705 #, c-format msgid "%s \"%s\" command can only be executed in a channel window\n" msgstr "" @@ -1355,36 +1355,36 @@ msgstr "" "canal\n" #: src/irc/irc-send.c:345 src/irc/irc-send.c:357 src/irc/irc-send.c:375 -#: src/irc/irc-send.c:996 src/irc/irc-send.c:1089 src/irc/irc-send.c:1621 -#: src/common/command.c:1167 src/common/command.c:1451 -#: src/common/command.c:1594 +#: src/irc/irc-send.c:999 src/irc/irc-send.c:1092 src/irc/irc-send.c:1624 +#: src/common/command.c:1189 src/common/command.c:1455 +#: src/common/command.c:1605 src/common/command.c:1748 #, c-format msgid "%s wrong argument count for \"%s\" command\n" msgstr "%s nombre de paramètres erroné pour la commande \"%s\"\n" -#: src/irc/irc-send.c:398 src/irc/irc-send.c:604 src/irc/irc-send.c:661 +#: src/irc/irc-send.c:398 src/irc/irc-send.c:607 src/irc/irc-send.c:664 #, c-format msgid "%s wrong arguments for \"%s\" command\n" msgstr "%s paramètres invalides pour la commande \"%s\"\n" -#: src/irc/irc-send.c:804 src/irc/irc-send.c:871 src/irc/irc-send.c:1164 -#: src/irc/irc-send.c:1178 src/irc/irc-send.c:1522 +#: src/irc/irc-send.c:807 src/irc/irc-send.c:874 src/irc/irc-send.c:1167 +#: src/irc/irc-send.c:1181 src/irc/irc-send.c:1525 #, c-format msgid "%s \"%s\" command can not be executed on a server window\n" msgstr "" "%s la commande \"%s\" ne peut pas être exécutée dans une fenêtre serveur\n" -#: src/irc/irc-send.c:889 src/irc/irc-send.c:914 src/irc/irc-recv.c:322 +#: src/irc/irc-send.c:892 src/irc/irc-send.c:917 src/irc/irc-recv.c:322 #, c-format msgid "%s nick \"%s\" not found for \"%s\" command\n" msgstr "%s pseudo \"%s\" non trouvé pour la commande \"%s\"\n" -#: src/irc/irc-send.c:966 src/irc/irc-send.c:1274 src/irc/irc-recv.c:1505 +#: src/irc/irc-send.c:969 src/irc/irc-send.c:1277 src/irc/irc-recv.c:1505 #, c-format msgid "%s cannot create new private window \"%s\"\n" msgstr "%s impossible de créer la fenêtre privée \"%s\"\n" -#: src/irc/irc-send.c:1674 +#: src/irc/irc-send.c:1677 #, c-format msgid "%s, compiled on %s %s\n" msgstr "%s, compilé le %s %s\n" @@ -2094,66 +2094,65 @@ msgstr "" "%s impossible d'ajouter la fonction pour le message \"%s\" (mémoire " "insuffisante)\n" -#: src/gui/curses/gui-input.c:788 +#: src/gui/curses/gui-input.c:298 #, c-format msgid "%s lag is high, disconnecting from server...\n" msgstr "%s le lag est élevé, déconnexion du serveur...\n" -#: src/gui/curses/gui-display.c:686 +#: src/gui/curses/gui-display.c:684 msgid "bytes" msgstr "octets" -#: src/gui/curses/gui-display.c:686 +#: src/gui/curses/gui-display.c:684 msgid "Kb" msgstr "Ko" -#: src/gui/curses/gui-display.c:686 +#: src/gui/curses/gui-display.c:684 msgid "Mb" msgstr "Mo" -#: src/gui/curses/gui-display.c:686 +#: src/gui/curses/gui-display.c:684 msgid "Gb" msgstr "Go" -#: src/gui/curses/gui-display.c:1122 +#: src/gui/curses/gui-display.c:1116 msgid "(away)" msgstr "(absent)" -#: src/gui/curses/gui-display.c:1235 -#, c-format -msgid "%d:[not connected] " -msgstr "%d:[non connecté] " +#: src/gui/curses/gui-display.c:1233 +msgid "[not connected]" +msgstr "[non connecté]" -#: src/gui/curses/gui-display.c:1252 +#: src/gui/curses/gui-display.c:1249 msgid "Act: " msgstr "Act: " -#: src/gui/curses/gui-display.c:1301 +#: src/gui/curses/gui-display.c:1298 #, c-format msgid "Lag: %.1f" msgstr "Lag: %.1f" -#: src/gui/curses/gui-display.c:1322 +#: src/gui/curses/gui-display.c:1319 msgid "-MORE-" msgstr "-PLUS-" -#: src/gui/curses/gui-display.c:1509 +#: src/gui/curses/gui-display.c:1559 msgid " [A] Accept" msgstr " [A] Accepter" -#: src/gui/curses/gui-display.c:1510 src/gui/curses/gui-display.c:1514 +#: src/gui/curses/gui-display.c:1560 src/gui/curses/gui-display.c:1564 msgid " [C] Cancel" msgstr " [C] Annuler" -#: src/gui/curses/gui-display.c:1519 +#: src/gui/curses/gui-display.c:1569 msgid " [R] Remove" msgstr " [R] Retirer" -#: src/gui/curses/gui-display.c:1523 +#: src/gui/curses/gui-display.c:1573 msgid " [P] Purge old DCC" msgstr " [P] Purger anciens DCC" -#: src/gui/curses/gui-display.c:1524 +#: src/gui/curses/gui-display.c:1574 msgid " [Q] Close DCC view" msgstr " [Q] Fermer la vue DCC" @@ -2161,15 +2160,15 @@ msgstr " [Q] Fermer la vue DCC" msgid "server" msgstr "serveur" -#: src/gui/gui-common.c:330 +#: src/gui/gui-common.c:333 msgid "Not enough memory for infobar message\n" msgstr "Pas assez de mémoire pour un message de la barre d'infos\n" -#: src/gui/gui-common.c:505 +#: src/gui/gui-common.c:508 msgid "Not enough memory for new line\n" msgstr "Pas assez de mémoire pour une nouvelle ligne !\n" -#: src/gui/gui-common.c:548 +#: src/gui/gui-common.c:551 msgid "Not enough memory for new message\n" msgstr "Pas assez de mémoire pour un message de la barre d'infos\n" @@ -2280,14 +2279,40 @@ msgid "command: name of a WeeChat or IRC command" msgstr "commande: nom d'une commande WeeChat ou IRC" #: src/common/command.c:75 +msgid "bind/unbind keys" +msgstr "associer/libérer des touches" + +#: src/common/command.c:76 +msgid "[key function/command] [unbind key] [functions] [reset -yes]" +msgstr "[touche fonction/commande] [unbind touche] [functions] [reset -yes]" + +#: src/common/command.c:77 +msgid "" +"key: bind this key to an internal function or a command (beginning by \"/" +"\")\n" +"unbind: unbind a key (if \"all\", default bindings are restored)\n" +"functions: list internal functions for key bindings\n" +"reset: restore bindings to the default values and delete ALL personal " +"binding (use carefully!)" +msgstr "" +"touche: associer cette touche à une fonction interne ou une commande " +"(commençant par \"/\")\n" +"unbind: supprimer l'association à une touche (si \"all\", toutes les " +"associations de touches par défaut sont restaurées)\n" +"functions: lister la liste des fonctions internes pour les associations de " +"touches\n" +"reset: restaur les touches aux valeurs par défaut et supprime TOUTES les " +"touches personnelles (utiliser avec précaution !)" + +#: src/common/command.c:82 msgid "list/load/unload Perl scripts" msgstr "liste/charge/décharge des scripts Perl" -#: src/common/command.c:76 src/common/command.c:81 +#: src/common/command.c:83 src/common/command.c:88 msgid "[load filename] | [autoload] | [reload] | [unload]" msgstr "[load fichier] | [autoload] | [reload] | [unload]" -#: src/common/command.c:77 +#: src/common/command.c:84 msgid "" "filename: Perl script (file) to load\n" "Without argument, /perl command lists all loaded Perl scripts." @@ -2295,11 +2320,11 @@ msgstr "" "fichier: script Perl (fichier) à charger\n" "Sans paramètre, la commande /perl liste tous les scripts Perl chargés." -#: src/common/command.c:80 +#: src/common/command.c:87 msgid "list/load/unload Python scripts" msgstr "liste/charge/décharge des scripts Python" -#: src/common/command.c:82 +#: src/common/command.c:89 msgid "" "filename: Python script (file) to load\n" "Without argument, /python command lists all loaded Python scripts." @@ -2307,11 +2332,11 @@ msgstr "" "fichier: script Python (fichier) à charger\n" "Sans paramètre, la commande /python liste tous les scripts Python chargés." -#: src/common/command.c:85 +#: src/common/command.c:92 msgid "list, add or remove servers" msgstr "liste, ajoute ou retire des serveurs" -#: src/common/command.c:86 +#: src/common/command.c:93 msgid "" "[servername] | [servername hostname port [-auto | -noauto] [-ipv6] [-ssl] [-" "pwd password] [-nicks nick1 [nick2 [nick3]]] [-username username] [-realname " @@ -2323,7 +2348,7 @@ msgstr "" "nom_utilisateur] [-realname nom_réel] [-command commande] [-autojoin canal[," "canal]] ] | [del nom_serveur]" -#: src/common/command.c:91 +#: src/common/command.c:98 msgid "" "servername: server name, for internal & display use\n" "hostname: name or IP address of server\n" @@ -2349,27 +2374,27 @@ msgstr "" "nom_utilisateur: nom d'utilisateur\n" "nom_réel: nom réel de l'utilisateur" -#: src/common/command.c:103 +#: src/common/command.c:110 msgid "save config to disk" msgstr "sauvegarder la configuration sur disque" -#: src/common/command.c:104 +#: src/common/command.c:111 msgid "[file]" msgstr "[fichier]" -#: src/common/command.c:104 +#: src/common/command.c:111 msgid "file: filename for writing config" msgstr "fichier: fichier pour sauvegarder la configuration" -#: src/common/command.c:106 +#: src/common/command.c:113 msgid "set config parameters" msgstr "modifier des paramètres de configuration" -#: src/common/command.c:107 +#: src/common/command.c:114 msgid "[option[=value]]" msgstr "[option[=valeur]]" -#: src/common/command.c:107 +#: src/common/command.c:114 msgid "" "option: name of an option\n" "value: value for option" @@ -2377,27 +2402,27 @@ msgstr "" "option: nom d'une option\n" "valeur: valeur pour l'option" -#: src/common/command.c:109 +#: src/common/command.c:116 msgid "remove an alias" msgstr "supprimer un alias" -#: src/common/command.c:110 +#: src/common/command.c:117 msgid "alias_name" msgstr "nom_alias" -#: src/common/command.c:110 +#: src/common/command.c:117 msgid "alias_name: name of alias to remove" msgstr "nom_alias: nom de l'alias à supprimer" -#: src/common/command.c:112 +#: src/common/command.c:119 msgid "manage windows" msgstr "gestion des fenêtres" -#: src/common/command.c:113 +#: src/common/command.c:120 msgid "[list | splith | splitv | [merge [down | up | left | right | all]]]" msgstr "[list | splith | splitv | [merge [down | up | left | right | all]]]" -#: src/common/command.c:115 +#: src/common/command.c:121 msgid "" "list: list opened windows (no parameter implies this list)\n" "splith: split current window horizontally\n" @@ -2409,29 +2434,29 @@ msgstr "" "splitv: éclate la fenêtre en deux verticalement\n" "merge: fusionne la fenêtre avec une autre" -#: src/common/command.c:261 +#: src/common/command.c:267 #, c-format msgid "%s alias or command \"%s\" already exists!\n" msgstr "%s l'alias ou la commande \"%s\" existe déjà !\n" -#: src/common/command.c:271 +#: src/common/command.c:277 #, c-format msgid "%s alias cannot run another alias!\n" msgstr "%s l'alias ne peux pas lancer un autre alias !\n" -#: src/common/command.c:278 +#: src/common/command.c:284 #, c-format msgid "%s target command \"%s\" does not exist!\n" msgstr "%s la commande cible \"%s\" n'existe pas !\n" -#: src/common/command.c:486 +#: src/common/command.c:492 #, c-format msgid "%s wrong argument count for %s command \"%s\" (expected: %d arg%s)\n" msgstr "" "%s nombre de paramètres incorrect pour la commande %s \"%s\" (attendu: %d " "paramètre%s)\n" -#: src/common/command.c:498 +#: src/common/command.c:504 #, c-format msgid "" "%s wrong argument count for %s command \"%s\" (expected: between %d and %d " @@ -2440,19 +2465,19 @@ msgstr "" "%s nombre de paramètres incorrect pour la commande %s \"%s\" (attendu: entre " "%d et %d paramètre%s)\n" -#: src/common/command.c:520 src/common/command.c:590 +#: src/common/command.c:526 src/common/command.c:596 #, c-format msgid "%s command \"%s\" failed\n" msgstr "%s la commande \"%s\" a échoué\n" -#: src/common/command.c:548 +#: src/common/command.c:554 #, c-format msgid "%s wrong argument count for IRC command \"%s\" (expected: %d arg%s)\n" msgstr "" "%s nombre de paramètres incorrect pour la commande IRC \"%s\" (attendu: %d " "paramètre%s)\n" -#: src/common/command.c:560 +#: src/common/command.c:566 #, c-format msgid "" "%s wrong argument count for IRC command \"%s\" (expected: between %d and %d " @@ -2461,190 +2486,224 @@ msgstr "" "%s nombre de paramètres incorrect pour la commande IRC \"%s\" (attendu: " "entre %d et %d paramètre%s)\n" -#: src/common/command.c:575 +#: src/common/command.c:581 #, c-format msgid "%s command \"%s\" needs a server connection!\n" msgstr "%s la commande \"%s\" nécessite une connexion au serveur !\n" -#: src/common/command.c:639 +#: src/common/command.c:645 #, c-format msgid "%s unknown command \"%s\" (type /help for help)\n" msgstr "%s commande \"%s\" inconnue (tapez /help pour l'aide)\n" -#: src/common/command.c:720 +#: src/common/command.c:726 #, c-format msgid "%s cannot find nick for sending message\n" msgstr "%s impossible de trouver le pseudo pour envoyer le message\n" -#: src/common/command.c:742 +#: src/common/command.c:748 #, c-format msgid "%s unable to call handler for message (not enough memory)\n" msgstr "" "%s impossible d'appeler la fonction pour le message (mémoire insuffisante)\n" -#: src/common/command.c:750 +#: src/common/command.c:756 msgid "This window is not a channel!\n" msgstr "Cette fenêtre n'est pas un canal !\n" -#: src/common/command.c:778 src/common/command.c:802 src/common/command.c:906 +#: src/common/command.c:784 src/common/command.c:808 src/common/command.c:913 #, c-format msgid "%s missing arguments for \"%s\" command\n" msgstr "%s paramètres manquants pour la commande \"%s\"\n" -#: src/common/command.c:787 +#: src/common/command.c:793 #, c-format msgid "Alias \"%s\" => \"%s\" created\n" msgstr "Alias \"%s\" => \"%s\" créé\n" -#: src/common/command.c:793 +#: src/common/command.c:799 #, c-format msgid "Failed to create alias \"%s\" => \"%s\" (not enough memory)\n" msgstr "Impossible de créer l'alias \"%s\" => \"%s\" (pas assez de mémoire)\n" -#: src/common/command.c:813 +#: src/common/command.c:819 msgid "List of aliases:\n" msgstr "Liste des alias:\n" -#: src/common/command.c:825 +#: src/common/command.c:831 msgid "No alias defined.\n" msgstr "Aucun alias défini.\n" -#: src/common/command.c:848 +#: src/common/command.c:854 msgid "Channel: " msgstr "Canal: " -#: src/common/command.c:851 src/common/command.c:861 +#: src/common/command.c:857 src/common/command.c:867 msgid " (server: " msgstr " (serveur: " -#: src/common/command.c:858 +#: src/common/command.c:864 msgid "Private with: " msgstr "Privé avec: " -#: src/common/command.c:886 +#: src/common/command.c:893 msgid "Opened buffers:\n" msgstr "Tampons ouverts:\n" -#: src/common/command.c:929 src/common/command.c:1069 +#: src/common/command.c:936 #, c-format msgid "%s incorrect buffer number\n" msgstr "%s numéro de buffer incorrect\n" -#: src/common/command.c:943 +#: src/common/command.c:950 #, c-format msgid "%s can not close the single buffer\n" msgstr "%s impossible de fermer le tampon unique\n" -#: src/common/command.c:953 +#: src/common/command.c:960 #, c-format msgid "%s can not close server buffer while channels are opened\n" msgstr "" "%s impossible de fermer le tampon du serveur tant que des canaux sont " "ouverts\n" -#: src/common/command.c:992 +#: src/common/command.c:999 msgid "Notify levels: " msgstr "Niveaux de notification: " -#: src/common/command.c:1020 src/common/command.c:1042 +#: src/common/command.c:1027 src/common/command.c:1049 #, c-format msgid "%s incorrect notify level (must be between %d and %d)\n" msgstr "%s niveau de notification incorrect (doit être entre %d et %d)\n" -#: src/common/command.c:1029 +#: src/common/command.c:1036 #, c-format msgid "%s incorrect buffer for notify (must be channel or private)\n" msgstr "" "%s tampon incorrect pour la notification (doit être un canal ou un privé)\n" -#: src/common/command.c:1060 -#, c-format -msgid "%s buffer \"%s\" not found for \"%s\" command\n" -msgstr "%s buffer \"%s\" non trouvé pour la commande \"%s\"\n" - -#: src/common/command.c:1094 +#: src/common/command.c:1116 #, c-format msgid "unknown parameter \"%s\" for \"%s\" command\n" msgstr "paramètre inconnu \"%s\" pour la commande \"%s\"\n" -#: src/common/command.c:1124 +#: src/common/command.c:1146 #, c-format msgid "%s already connected to server \"%s\"!\n" msgstr "%s déjà connecté au serveur \"%s\" !\n" -#: src/common/command.c:1132 +#: src/common/command.c:1154 #, c-format msgid "%s currently connecting to server \"%s\"!\n" msgstr "%s une connexion vers le serveur \"%s\" est en cours !\n" -#: src/common/command.c:1150 src/common/command.c:1225 +#: src/common/command.c:1172 src/common/command.c:1247 #, c-format msgid "%s server not found\n" msgstr "%s serveur non trouvé\n" -#: src/common/command.c:1180 src/common/command.c:1444 -#: src/common/command.c:1587 src/common/command.c:2283 -#: src/common/command.c:2295 +#: src/common/command.c:1202 src/common/command.c:1598 +#: src/common/command.c:1741 src/common/command.c:2438 +#: src/common/command.c:2454 #, c-format msgid "%s unknown option for \"%s\" command\n" msgstr "%s option inconnue pour la commande \"%s\"\n" -#: src/common/command.c:1209 +#: src/common/command.c:1231 #, c-format msgid "%s not connected to server \"%s\"!\n" msgstr "%s non connecté au serveur \"%s\" !\n" -#: src/common/command.c:1217 +#: src/common/command.c:1239 msgid "Auto-reconnection is cancelled\n" msgstr "La reconnexion automatique est annulée\n" -#: src/common/command.c:1243 src/common/weechat.c:273 +#: src/common/command.c:1265 src/common/weechat.c:273 #, c-format msgid "%s internal commands:\n" msgstr "Commandes internes %s :\n" -#: src/common/command.c:1252 src/common/weechat.c:293 +#: src/common/command.c:1274 src/common/weechat.c:293 #, c-format msgid "IRC commands:\n" msgstr "Commandes IRC :\n" -#: src/common/command.c:1319 +#: src/common/command.c:1341 #, c-format msgid "No help available, \"%s\" is an unknown command\n" msgstr "Pas d'aide disponible, la commande \"%s\" est inconnue\n" -#: src/common/command.c:1343 src/common/command.c:1486 +#: src/common/command.c:1359 +msgid "New key binding:\n" +msgstr "Nouvelle touche:\n" + +#: src/common/command.c:1392 +msgid "Key bindings:\n" +msgstr "Associations de touches:\n" + +#: src/common/command.c:1404 +#, c-format +msgid "Key \"%s\" unbinded\n" +msgstr "Touche \"%s\" supprimée\n" + +#: src/common/command.c:1409 +#, c-format +msgid "%s unable to unbind key \"%s\"\n" +msgstr "%s impossible de supprimer la touche \"%s\"\n" + +#: src/common/command.c:1417 src/common/weechat.c:324 +#, c-format +msgid "Internal key functions:\n" +msgstr "Fonctions internes pour les touches:\n" + +#: src/common/command.c:1435 +msgid "Default key bindings restored\n" +msgstr "Touches par défaut restaurées\n" + +#: src/common/command.c:1441 +#, c-format +msgid "%s \"-yes\" argument is required for keys reset (securuty reason)\n" +msgstr "" +"%s le paramètre \"-yes\" est requis pour la réinitialisation des touches " +"(raison de sécurité)\n" + +#: src/common/command.c:1470 +#, c-format +msgid "%s unable to bind key \"%s\"\n" +msgstr "%s impossible de créer la touche \"%s\"\n" + +#: src/common/command.c:1497 src/common/command.c:1640 #, c-format msgid "Registered %s scripts:\n" msgstr "Scripts %s enregistrés :\n" -#: src/common/command.c:1360 src/common/command.c:1383 -#: src/common/command.c:1406 src/common/command.c:1503 -#: src/common/command.c:1526 src/common/command.c:1549 +#: src/common/command.c:1514 src/common/command.c:1537 +#: src/common/command.c:1560 src/common/command.c:1657 +#: src/common/command.c:1680 src/common/command.c:1703 msgid " (none)\n" msgstr " (aucun)\n" -#: src/common/command.c:1365 src/common/command.c:1508 +#: src/common/command.c:1519 src/common/command.c:1662 #, c-format msgid "%s message handlers:\n" msgstr "Fonctions %s pour messages :\n" -#: src/common/command.c:1374 src/common/command.c:1517 +#: src/common/command.c:1528 src/common/command.c:1671 #, c-format msgid " IRC(%s) => %s(%s)\n" msgstr " IRC(%s) => %s(%s)\n" -#: src/common/command.c:1388 src/common/command.c:1531 +#: src/common/command.c:1542 src/common/command.c:1685 #, c-format msgid "%s command handlers:\n" msgstr "Commandes %s :\n" -#: src/common/command.c:1397 src/common/command.c:1540 +#: src/common/command.c:1551 src/common/command.c:1694 #, c-format msgid " Command /%s => %s(%s)\n" msgstr " Commande /%s => %s(%s)\n" -#: src/common/command.c:1457 +#: src/common/command.c:1611 msgid "" "WeeChat was build without Perl support.\n" "Please rebuild WeeChat with \"--enable-perl\" option for ./configure script\n" @@ -2653,7 +2712,7 @@ msgstr "" "Merci de reconstruire WeeChat avec l'option \"--enable-perl\" pour le " "script ./configure\n" -#: src/common/command.c:1600 +#: src/common/command.c:1754 msgid "" "WeeChat was build without Python support.\n" "Please rebuild WeeChat with \"--enable-python\" option for ./configure " @@ -2663,31 +2722,31 @@ msgstr "" "Merci de reconstruire WeeChat avec l'option \"--enable-python\" pour le " "script ./configure\n" -#: src/common/command.c:1648 +#: src/common/command.c:1802 msgid "No server.\n" msgstr "Pas de serveur.\n" -#: src/common/command.c:1659 +#: src/common/command.c:1813 #, c-format msgid "Server '%s' not found.\n" msgstr "Serveur '%s' non trouvé.\n" -#: src/common/command.c:1671 +#: src/common/command.c:1825 #, c-format msgid "%s missing servername for \"%s\" command\n" msgstr "%s il manque le nom du serveur pour la commande \"%s\"\n" -#: src/common/command.c:1679 +#: src/common/command.c:1833 #, c-format msgid "%s too much arguments for \"%s\" command, ignoring arguments\n" msgstr "%s trop de paramètres pour la commande \"%s\", paramètres ignorés\n" -#: src/common/command.c:1698 +#: src/common/command.c:1852 #, c-format msgid "%s server \"%s\" not found for \"%s\" command\n" msgstr "%s le serveur \"%s\" n'existe pas pour la commande \"%s\"\n" -#: src/common/command.c:1706 +#: src/common/command.c:1860 #, c-format msgid "" "%s you can not delete server \"%s\" because you are connected to. Try /" @@ -2696,106 +2755,106 @@ msgstr "" "%s vous ne pouvez pas supprimer le server \"%s\" car vous êtes connecté " "dessus. Essayez /disconnect %s avant.\n" -#: src/common/command.c:1722 src/common/command.c:1868 +#: src/common/command.c:1876 src/common/command.c:2022 msgid "Server" msgstr "Serveur" -#: src/common/command.c:1725 +#: src/common/command.c:1879 msgid "has been deleted\n" msgstr "a été supprimé\n" -#: src/common/command.c:1740 +#: src/common/command.c:1894 #, c-format msgid "%s missing parameters for \"%s\" command\n" msgstr "%s paramètres manquants pour la commande \"%s\"\n" -#: src/common/command.c:1750 +#: src/common/command.c:1904 #, c-format msgid "%s server \"%s\" already exists, can't create it!\n" msgstr "%s le serveur \"%s\" existe déjà, impossible de le créer !\n" -#: src/common/command.c:1779 src/common/command.c:1807 -#: src/common/command.c:1820 src/common/command.c:1846 +#: src/common/command.c:1933 src/common/command.c:1961 +#: src/common/command.c:1974 src/common/command.c:2000 #, c-format msgid "%s missing password for \"%s\" parameter\n" msgstr "%s mot de passe manquant pour le paramètre \"%s\"\n" -#: src/common/command.c:1792 +#: src/common/command.c:1946 #, c-format msgid "%s missing nick(s) for \"%s\" parameter\n" msgstr "%s pseudo(s) manquant(s) pour le paramètre \"%s\"\n" -#: src/common/command.c:1833 +#: src/common/command.c:1987 #, c-format msgid "%s missing command for \"%s\" parameter\n" msgstr "%s commande manquante pour le paramètre \"%s\"\n" -#: src/common/command.c:1871 +#: src/common/command.c:2025 msgid "created\n" msgstr "créé\n" -#: src/common/command.c:1877 +#: src/common/command.c:2031 #, c-format msgid "%s unable to create server\n" msgstr "%s impossible de créer le serveur\n" -#: src/common/command.c:1932 +#: src/common/command.c:2086 msgid "(unknown)" msgstr "(inconnu)" -#: src/common/command.c:1955 +#: src/common/command.c:2109 msgid "(password hidden) " msgstr "(mot de passe caché) " -#: src/common/command.c:2019 +#: src/common/command.c:2173 #, c-format msgid "%s server \"%s\" not found\n" msgstr "%s serveur \"%s\" non trouvé\n" -#: src/common/command.c:2050 src/common/command.c:2096 +#: src/common/command.c:2204 src/common/command.c:2250 #, c-format msgid "%s config option \"%s\" not found\n" msgstr "%s option de configuration \"%s\" non trouvée\n" -#: src/common/command.c:2055 src/common/command.c:2088 +#: src/common/command.c:2209 src/common/command.c:2242 #, c-format msgid "%s incorrect value for option \"%s\"\n" msgstr "%s valeur incorrecte pour l'option \"%s\"\n" -#: src/common/command.c:2071 +#: src/common/command.c:2225 #, c-format msgid "%s option \"%s\" can not be changed while WeeChat is running\n" msgstr "%s l'option \"%s\" ne peut pas être changée lorsque WeeChat tourne\n" -#: src/common/command.c:2169 +#: src/common/command.c:2324 #, c-format msgid "No config option found with \"%s\"\n" msgstr "Aucune option de configuration trouvée avec \"%s\"\n" -#: src/common/command.c:2172 +#: src/common/command.c:2327 msgid "No config option found\n" msgstr "Aucune option de configuration trouvée\n" -#: src/common/command.c:2178 +#: src/common/command.c:2333 #, c-format msgid "config option(s) found with \"%s\"\n" msgstr "option(s) de configuration trouvée(s) avec \"%s\"\n" -#: src/common/command.c:2181 +#: src/common/command.c:2336 msgid "config option(s) found\n" msgstr "option(s) de configuration trouvée(s)\n" -#: src/common/command.c:2201 +#: src/common/command.c:2356 #, c-format msgid "%s alias or command \"%s\" not found\n" msgstr "%s alias ou commande \"%s\" non trouvé\n" -#: src/common/command.c:2211 +#: src/common/command.c:2366 #, c-format msgid "Alias \"%s\" removed\n" msgstr "Alias \"%s\" supprimé\n" -#: src/common/command.c:2231 +#: src/common/command.c:2386 msgid "Opened windows:\n" msgstr "Fenêtres ouvertes:\n" @@ -2938,57 +2997,62 @@ msgstr "" "où 'j' est le nom de l'alias, et 'join' la commande associée.\n" "\n" -#: src/common/weechat.c:371 +#: src/common/weechat.c:344 +#, c-format +msgid "%s default keys:\n" +msgstr "Touches par défaut %s:\n" + +#: src/common/weechat.c:424 #, c-format msgid "%s invalid syntax for IRC server ('%s'), ignored\n" msgstr "%s syntaxe invalide pour le serveur IRC ('%s'), ignoré\n" -#: src/common/weechat.c:384 +#: src/common/weechat.c:437 #, c-format msgid "%s unable to create server ('%s'), ignored\n" msgstr "%s impossible de créer le serveur ('%s'), ignoré\n" -#: src/common/weechat.c:393 +#: src/common/weechat.c:446 #, c-format msgid "%s unknown parameter '%s', ignored\n" msgstr "%s paramètre inconnu '%s', ignoré\n" -#: src/common/weechat.c:413 +#: src/common/weechat.c:466 #, c-format msgid "%s cannot create directory \"%s\"\n" msgstr "%s impossible de créer le répertoire \"%s\"\n" -#: src/common/weechat.c:439 +#: src/common/weechat.c:492 #, c-format msgid "%s unable to get HOME directory\n" msgstr "%s impossible de lire le répertoire personnel\n" -#: src/common/weechat.c:448 +#: src/common/weechat.c:501 #, c-format msgid "%s not enough memory for home directory\n" msgstr "%s pas assez de mémoire pour le répertoire personnel\n" -#: src/common/weechat.c:458 +#: src/common/weechat.c:511 #, c-format msgid "%s unable to create ~/.weechat directory\n" msgstr "%s impossible de créer le répertoire ~/.weechat\n" -#: src/common/weechat.c:510 +#: src/common/weechat.c:563 #, c-format msgid "%s unable to create ~/.weechat/logs directory\n" msgstr "%s impossible de créer le répertoire ~/.weechat/logs\n" -#: src/common/weechat.c:553 +#: src/common/weechat.c:606 #, c-format msgid "%s unable to create/append to log file (~/.weechat/%s)" msgstr "%s impossible de créer/ajouter dans le fichier de log (~/.weechat/%s)" -#: src/common/weechat.c:576 +#: src/common/weechat.c:629 #, c-format msgid "%sWelcome to " msgstr "%sBienvenue dans " -#: src/common/weechat.c:589 src/common/weechat.c:598 +#: src/common/weechat.c:642 src/common/weechat.c:651 msgid "compiled on" msgstr "compilé le" @@ -3000,33 +3064,33 @@ msgstr "Erreur WeeChat:" msgid "WeeChat Warning:" msgstr "Avertissement WeeChat:" -#: src/common/weeconfig.c:88 src/common/weeconfig.c:89 +#: src/common/weeconfig.c:90 src/common/weeconfig.c:91 msgid "set title for window (terminal for Curses GUI) with name & version" msgstr "" "définit le titre de la fenêtre (terminal pour l'interface Curses) avec le " "nom et la version" -#: src/common/weeconfig.c:92 src/common/weeconfig.c:93 +#: src/common/weeconfig.c:94 src/common/weeconfig.c:95 msgid "display WeeChat logo at startup" msgstr "afficher le logo WeeChat au démarrage" -#: src/common/weeconfig.c:96 src/common/weeconfig.c:97 +#: src/common/weeconfig.c:98 src/common/weeconfig.c:99 msgid "display WeeChat version at startup" msgstr "afficher la version de WeeChat au démarrage" -#: src/common/weeconfig.c:100 +#: src/common/weeconfig.c:102 msgid "WeeChat slogan" msgstr "slogan WeeChat" -#: src/common/weeconfig.c:101 +#: src/common/weeconfig.c:103 msgid "WeeChat slogan (if empty, slogan is not used)" msgstr "slogan WeeChat (si vide, le slogan ne sera pas utilisé)" -#: src/common/weeconfig.c:104 +#: src/common/weeconfig.c:106 msgid "charset for decoding messages from server" msgstr "jeu de caractères pour décoder les messages du serveur" -#: src/common/weeconfig.c:105 +#: src/common/weeconfig.c:107 msgid "" "charset for decoding messages from server, examples: UTF-8, ISO-8859-1 (if " "empty, messages are not converted)" @@ -3034,11 +3098,11 @@ msgstr "" "jeu de caractères pour décoder les messages du serveur, exemples: UTF-8, ISO-" "8859-1 (si non renseigné, les messages ne sont pas convertis)" -#: src/common/weeconfig.c:108 +#: src/common/weeconfig.c:110 msgid "charset for encoding messages sent to server" msgstr "jeu de caractères pour encoder les messages envoyés au serveur" -#: src/common/weeconfig.c:109 +#: src/common/weeconfig.c:111 msgid "" "charset for encoding messages sent to server, examples: UFT-8, ISO-8859-1 " "(if empty, local charset is used)" @@ -3046,11 +3110,11 @@ msgstr "" "jeu de caractères pour encoder les messages envoyés au serveur, exemples: " "UFT-8, ISO-8859-1 (si non renseigné, le jeu de caractères local est utilisé)" -#: src/common/weeconfig.c:112 +#: src/common/weeconfig.c:114 msgid "internal WeeChat charset (should be ISO)" msgstr "jeu de caractères interne à WeeChat (devrait être ISO)" -#: src/common/weeconfig.c:113 +#: src/common/weeconfig.c:115 msgid "" "internal WeeChat charset, should be ISO-xxxx even if locale is UTF-8 (if " "empty, local charset is used)" @@ -3058,45 +3122,45 @@ msgstr "" "jeu de caractères interne à WeeChat, devrait être ISO-xxxx même si la locale " "est UTF-8 (si non renseigné, le jeu de caractères local est utilisé)" -#: src/common/weeconfig.c:116 src/common/weeconfig.c:117 +#: src/common/weeconfig.c:118 src/common/weeconfig.c:119 msgid "timestamp for buffers" msgstr "horodatage pour les tampons" -#: src/common/weeconfig.c:120 src/common/weeconfig.c:121 +#: src/common/weeconfig.c:122 src/common/weeconfig.c:123 msgid "display nick names with different colors" msgstr "afficher les utilisateurs avec différentes couleurs" -#: src/common/weeconfig.c:124 src/common/weeconfig.c:125 +#: src/common/weeconfig.c:126 src/common/weeconfig.c:127 msgid "display actions with different colors" msgstr "afficher les actions avec différentes couleurs" -#: src/common/weeconfig.c:128 src/common/weeconfig.c:129 +#: src/common/weeconfig.c:130 src/common/weeconfig.c:131 msgid "remove colors from incoming messages" msgstr "supprimer les couleurs dans les messages entrants" -#: src/common/weeconfig.c:132 +#: src/common/weeconfig.c:134 msgid "display nicklist window" msgstr "afficher la fenêtre des utilisateurs" -#: src/common/weeconfig.c:133 +#: src/common/weeconfig.c:135 msgid "display nicklist window (for channel windows)" msgstr "afficher la fenêtre des utilisateurs (pour les fenêtres de canaux)" -#: src/common/weeconfig.c:136 +#: src/common/weeconfig.c:138 msgid "nicklist position" msgstr "position de la fenêtre d'utilisateurs" -#: src/common/weeconfig.c:137 +#: src/common/weeconfig.c:139 msgid "nicklist position (top, left, right (default), bottom)" msgstr "" "position de la fenêtre d'utilisateurs (haut (top), gauche (left), droite " "(right, par défaut), bas (bottom))" -#: src/common/weeconfig.c:140 +#: src/common/weeconfig.c:142 msgid "min size for nicklist" msgstr "taille minimum pour la fenêtre d'utilisateurs" -#: src/common/weeconfig.c:141 +#: src/common/weeconfig.c:143 msgid "" "min size for nicklist (width or height, depending on look_nicklist_position " "(0 = no min size))" @@ -3104,11 +3168,11 @@ msgstr "" "taille minimum pour la fenêtre d'utilisateurs (largeur ou hauteur, selon " "look_nicklist_position (0 = pas de taille minimum))" -#: src/common/weeconfig.c:145 +#: src/common/weeconfig.c:147 msgid "max size for nicklist" msgstr "taille maximum pour la fenêtre d'utilisateurs" -#: src/common/weeconfig.c:146 +#: src/common/weeconfig.c:148 msgid "" "max size for nicklist (width or height, depending on look_nicklist_position " "(0 = no max size; if min == max and > 0, then size is fixed))" @@ -3117,39 +3181,43 @@ msgstr "" "look_nicklist_position (0 = pas de taille maximum; si min == max et > 0, " "alors la taille est fixe))" -#: src/common/weeconfig.c:150 src/common/weeconfig.c:151 +#: src/common/weeconfig.c:152 src/common/weeconfig.c:153 msgid "text to display instead of nick when not connected" msgstr "" "texte à afficher en lieu et place du nom d'utilisateur lorsque la connexion " "n'est pas active" -#: src/common/weeconfig.c:154 src/common/weeconfig.c:155 +#: src/common/weeconfig.c:156 src/common/weeconfig.c:157 msgid "display nick mode ((half)op/voice) before each nick" msgstr "" "afficher le mode de l'utilisateur ((half)op/voice) devant chaque utilisateur" -#: src/common/weeconfig.c:158 src/common/weeconfig.c:159 +#: src/common/weeconfig.c:160 src/common/weeconfig.c:161 msgid "display space if nick mode is not (half)op/voice" msgstr "afficher un espace si le mode utilisateur n'est pas (half)op/voice" -#: src/common/weeconfig.c:162 src/common/weeconfig.c:163 +#: src/common/weeconfig.c:164 src/common/weeconfig.c:165 msgid "the string inserted after nick completion" msgstr "la chaîne affichée après la complétion des utilisateurs" -#: src/common/weeconfig.c:166 src/common/weeconfig.c:167 +#: src/common/weeconfig.c:168 src/common/weeconfig.c:169 msgid "enable info bar" msgstr "active la barre d'infos" -#: src/common/weeconfig.c:170 src/common/weeconfig.c:171 +#: src/common/weeconfig.c:172 src/common/weeconfig.c:173 msgid "timestamp for time in infobar" msgstr "horodatage pour les conversations sauvegardées" -#: src/common/weeconfig.c:174 +#: src/common/weeconfig.c:176 src/common/weeconfig.c:177 +msgid "display seconds in infobar time" +msgstr "afficher les secondes pour l'heure dans la barre d'infos" + +#: src/common/weeconfig.c:180 msgid "delay (in seconds) for highlight messages in infobar" msgstr "" "délai (en seconds) pour la notification des messages dans la barre d'infos" -#: src/common/weeconfig.c:175 +#: src/common/weeconfig.c:181 msgid "" "delay (in seconds) for highlight messages in infobar (0 = disable highlight " "notifications in infobar)" @@ -3157,260 +3225,264 @@ msgstr "" "délai (en secondes) pour la notification des messages dans la barre d'infos " "(0 = désactiver les notifications dans la barre d'infos)" -#: src/common/weeconfig.c:233 src/common/weeconfig.c:234 +#: src/common/weeconfig.c:240 src/common/weeconfig.c:241 msgid "color for title bar" msgstr "couleur pour la barre de titre" -#: src/common/weeconfig.c:237 src/common/weeconfig.c:238 +#: src/common/weeconfig.c:244 src/common/weeconfig.c:245 msgid "background for title bar" msgstr "couleur de fond pour la barre de titre" -#: src/common/weeconfig.c:243 src/common/weeconfig.c:244 +#: src/common/weeconfig.c:250 src/common/weeconfig.c:251 msgid "color for chat text" msgstr "couleur pour le texte de discussion" -#: src/common/weeconfig.c:247 +#: src/common/weeconfig.c:254 msgid "color for time" msgstr "couleur pour l'heure" -#: src/common/weeconfig.c:248 +#: src/common/weeconfig.c:255 msgid "color for time in chat window" msgstr "couleur pour l'heure dans la fenêtre de discussion" -#: src/common/weeconfig.c:251 +#: src/common/weeconfig.c:258 msgid "color for time separator" msgstr "couleur pour le séparateur de l'heure" -#: src/common/weeconfig.c:252 +#: src/common/weeconfig.c:259 msgid "color for time separator (chat window)" msgstr "couleur pour la séparation de l'heure (fenêtre de discussion)" -#: src/common/weeconfig.c:255 src/common/weeconfig.c:256 +#: src/common/weeconfig.c:262 src/common/weeconfig.c:263 msgid "color for 1st and 3rd char of prefix" msgstr "couleur pour le 1er et le 3ème caractère du préfixe" -#: src/common/weeconfig.c:259 src/common/weeconfig.c:260 +#: src/common/weeconfig.c:266 src/common/weeconfig.c:267 msgid "color for middle char of prefix" msgstr "couleur pour le caractère du milieu du préfixe" -#: src/common/weeconfig.c:263 +#: src/common/weeconfig.c:270 msgid "color for nicks in actions" msgstr "couleur pour les noms d'utilisateur dans les actions" -#: src/common/weeconfig.c:264 +#: src/common/weeconfig.c:271 msgid "color for nicks in actions (chat window)" msgstr "" "couleur pour les noms d'utilisateurs dans les actions (fenêtre de discussion)" -#: src/common/weeconfig.c:267 +#: src/common/weeconfig.c:274 msgid "color for hostnames" msgstr "couleur pour les noms de machines" -#: src/common/weeconfig.c:268 +#: src/common/weeconfig.c:275 msgid "color for hostnames (chat window)" msgstr "couleur pour les noms de machines (fenêtre de discussion)" -#: src/common/weeconfig.c:271 +#: src/common/weeconfig.c:278 msgid "color for channel names in actions" msgstr "couleur pour les canaux dans les actions" -#: src/common/weeconfig.c:272 +#: src/common/weeconfig.c:279 msgid "color for channel names in actions (chat window)" msgstr "couleur pour les canaux dans les actions (fenêtre de discussion)" -#: src/common/weeconfig.c:275 +#: src/common/weeconfig.c:282 msgid "color for dark separators" msgstr "couleur pour les séparateurs sombres" -#: src/common/weeconfig.c:276 +#: src/common/weeconfig.c:283 msgid "color for dark separators (chat window)" msgstr "couleur pour les séparateurs sombres (fenêtre de discussion)" -#: src/common/weeconfig.c:279 +#: src/common/weeconfig.c:286 msgid "color for highlighted nick" msgstr "couleur pour le pseudo surligné" -#: src/common/weeconfig.c:280 +#: src/common/weeconfig.c:287 msgid "color for highlighted nick (chat window)" msgstr "couleur pour le pseudo surligné (fenêtre de discussion)" -#: src/common/weeconfig.c:283 +#: src/common/weeconfig.c:290 msgid "background for chat" msgstr "couleur de fond pour la discussion" -#: src/common/weeconfig.c:284 +#: src/common/weeconfig.c:291 msgid "background for chat window" msgstr "couleur de fond pour la fenêtre de discussion" -#: src/common/weeconfig.c:289 src/common/weeconfig.c:290 +#: src/common/weeconfig.c:296 src/common/weeconfig.c:297 msgid "color for status bar" msgstr "couleur pour la barre de statut" -#: src/common/weeconfig.c:293 src/common/weeconfig.c:294 +#: src/common/weeconfig.c:300 src/common/weeconfig.c:301 msgid "color for status bar delimiters" msgstr "couleur pour les délimiteurs de la barre de statut" -#: src/common/weeconfig.c:297 +#: src/common/weeconfig.c:304 msgid "color for window with new messages" msgstr "couleur pour une fenêtre avec de nouvelles infos" -#: src/common/weeconfig.c:298 +#: src/common/weeconfig.c:305 msgid "color for window with new messages (status bar)" msgstr "couleur pour une fenêtre avec de nouvelles infos (barre de statut)" -#: src/common/weeconfig.c:301 +#: src/common/weeconfig.c:308 msgid "color for window with highlight" msgstr "couleur pour une fenêtre avec un highlight" -#: src/common/weeconfig.c:302 +#: src/common/weeconfig.c:309 msgid "color for window with highlight (status bar)" msgstr "couleur pour une fenêtre avec un highlight (barre de statut)" -#: src/common/weeconfig.c:305 +#: src/common/weeconfig.c:312 msgid "color for window with new data (not messages)" msgstr "couleur pour une fenêtre avec des nouvelles données (pas des infos)" -#: src/common/weeconfig.c:306 +#: src/common/weeconfig.c:313 msgid "color for window with new data (not messages) (status bar)" msgstr "" "couleur pour une fenêtre avec des nouvelles données (pas des infos) (barre " "de statut)" -#: src/common/weeconfig.c:309 +#: src/common/weeconfig.c:316 msgid "color for \"-MORE-\" text" msgstr "couleur pour le texte \"-PLUS-\"" -#: src/common/weeconfig.c:310 +#: src/common/weeconfig.c:317 msgid "color for window with new data (status bar)" msgstr "couleur pour une fenêtre avec des nouvelles données (barre de statut)" -#: src/common/weeconfig.c:313 src/common/weeconfig.c:314 +#: src/common/weeconfig.c:320 src/common/weeconfig.c:321 msgid "background for status window" msgstr "couleur de fond pour la fenêtre de statut" -#: src/common/weeconfig.c:319 src/common/weeconfig.c:320 +#: src/common/weeconfig.c:326 src/common/weeconfig.c:327 msgid "color for info bar text" msgstr "couleur pour la barre d'infos" -#: src/common/weeconfig.c:323 src/common/weeconfig.c:324 +#: src/common/weeconfig.c:330 src/common/weeconfig.c:331 +msgid "color for infobar delimiters" +msgstr "couleur pour les délimiteurs de la barre d'infos" + +#: src/common/weeconfig.c:334 src/common/weeconfig.c:335 msgid "color for info bar highlight notification" msgstr "couleur pour la notification dans la barre d'infos" -#: src/common/weeconfig.c:327 src/common/weeconfig.c:328 +#: src/common/weeconfig.c:338 src/common/weeconfig.c:339 msgid "background for info bar window" msgstr "couleur de fond pour la fenêtre de barre d'infos" -#: src/common/weeconfig.c:333 src/common/weeconfig.c:334 +#: src/common/weeconfig.c:344 src/common/weeconfig.c:345 msgid "color for input text" msgstr "couleur pour le texte saisi" -#: src/common/weeconfig.c:337 src/common/weeconfig.c:338 +#: src/common/weeconfig.c:348 src/common/weeconfig.c:349 msgid "color for input text (channel name)" msgstr "couleur pour le texte saisi (nom du canal)" -#: src/common/weeconfig.c:341 src/common/weeconfig.c:342 +#: src/common/weeconfig.c:352 src/common/weeconfig.c:353 msgid "color for input text (nick name)" msgstr "couleur pour le texte saisi (pseudo)" -#: src/common/weeconfig.c:345 src/common/weeconfig.c:346 +#: src/common/weeconfig.c:356 src/common/weeconfig.c:357 msgid "background for input window" msgstr "couleur de fond pour la fenêtre de saisie" -#: src/common/weeconfig.c:351 src/common/weeconfig.c:352 +#: src/common/weeconfig.c:362 src/common/weeconfig.c:363 msgid "color for nicknames" msgstr "couleur pour les pseudos" -#: src/common/weeconfig.c:355 src/common/weeconfig.c:356 +#: src/common/weeconfig.c:366 src/common/weeconfig.c:367 msgid "color for away nicknames" msgstr "couleur pour les pseudos absents" -#: src/common/weeconfig.c:359 +#: src/common/weeconfig.c:370 msgid "color for chan owner symbol" msgstr "couleur pour le symbole du propriétaire du canal" -#: src/common/weeconfig.c:360 +#: src/common/weeconfig.c:371 msgid "color for chan owner symbol (specific to unrealircd)" msgstr "" "couleur pour le symbole du propriétaire du canal (spécifique à unrealircd)" -#: src/common/weeconfig.c:363 +#: src/common/weeconfig.c:374 msgid "color for chan admin symbol" msgstr "couleur pour le symbole administrateur du canal" -#: src/common/weeconfig.c:364 +#: src/common/weeconfig.c:375 msgid "color for chan admin symbol (specific to unrealircd)" msgstr "" "couleur pour le symbole administrateur du canal (spécifique à unrealircd)" -#: src/common/weeconfig.c:367 src/common/weeconfig.c:368 +#: src/common/weeconfig.c:378 src/common/weeconfig.c:379 msgid "color for operator symbol" msgstr "couleur pour le symbole opérateur" -#: src/common/weeconfig.c:371 src/common/weeconfig.c:372 +#: src/common/weeconfig.c:382 src/common/weeconfig.c:383 msgid "color for half-operator symbol" msgstr "couleur pour le symbole demi-opérateur" -#: src/common/weeconfig.c:375 src/common/weeconfig.c:376 +#: src/common/weeconfig.c:386 src/common/weeconfig.c:387 msgid "color for voice symbol" msgstr "couleur pour le symbole voix" -#: src/common/weeconfig.c:379 src/common/weeconfig.c:380 +#: src/common/weeconfig.c:390 src/common/weeconfig.c:391 msgid "color for '+' when scrolling nicks" msgstr "couleur pour les '+' lors du scroll sur les pseudos" -#: src/common/weeconfig.c:383 src/common/weeconfig.c:384 +#: src/common/weeconfig.c:394 src/common/weeconfig.c:395 msgid "color for nick separator" msgstr "couleur pour le séparateur de pseudo" -#: src/common/weeconfig.c:387 src/common/weeconfig.c:388 +#: src/common/weeconfig.c:398 src/common/weeconfig.c:399 msgid "color for local nick" msgstr "couleur pour le pseudo local" -#: src/common/weeconfig.c:391 src/common/weeconfig.c:392 +#: src/common/weeconfig.c:402 src/common/weeconfig.c:403 msgid "color for other nick in private window" msgstr "couleur pour l'autre pseudo dans la fenêtre privée" -#: src/common/weeconfig.c:395 src/common/weeconfig.c:396 +#: src/common/weeconfig.c:406 src/common/weeconfig.c:407 msgid "background for nicknames" msgstr "couleur de fond pour les pseudos" -#: src/common/weeconfig.c:401 +#: src/common/weeconfig.c:412 msgid "color for selected DCC" msgstr "couleur pour le DCC sélectionné" -#: src/common/weeconfig.c:402 +#: src/common/weeconfig.c:413 msgid "color for selected DCC (chat window)" msgstr "couleur pour le DCC sélectionné (fenêtre de discussion)" -#: src/common/weeconfig.c:405 src/common/weeconfig.c:406 +#: src/common/weeconfig.c:416 src/common/weeconfig.c:417 msgid "color for \"waiting\" dcc status" msgstr "couleur pour le statut dcc \"attente\"" -#: src/common/weeconfig.c:409 src/common/weeconfig.c:410 +#: src/common/weeconfig.c:420 src/common/weeconfig.c:421 msgid "color for \"connecting\" dcc status" msgstr "couleur pour le statut dcc \"connexion\"" -#: src/common/weeconfig.c:413 src/common/weeconfig.c:414 +#: src/common/weeconfig.c:424 src/common/weeconfig.c:425 msgid "color for \"active\" dcc status" msgstr "couleur pour le statut dcc \"actif\"" -#: src/common/weeconfig.c:417 src/common/weeconfig.c:418 +#: src/common/weeconfig.c:428 src/common/weeconfig.c:429 msgid "color for \"done\" dcc status" msgstr "couleur pour le statut dcc \"terminé\"" -#: src/common/weeconfig.c:421 src/common/weeconfig.c:422 +#: src/common/weeconfig.c:432 src/common/weeconfig.c:433 msgid "color for \"failed\" dcc status" msgstr "couleur pour le statut dcc \"échoué\"" -#: src/common/weeconfig.c:425 src/common/weeconfig.c:426 +#: src/common/weeconfig.c:436 src/common/weeconfig.c:437 msgid "color for \"aborted\" dcc status" msgstr "couleur pour le statut dcc \"interrompu\"" -#: src/common/weeconfig.c:439 +#: src/common/weeconfig.c:450 msgid "max lines in history (per window)" msgstr "nombre maxi de lignes dans l'historique (par fenêtre)" -#: src/common/weeconfig.c:440 +#: src/common/weeconfig.c:451 msgid "" "maximum number of lines in history for one server/channel/private window (0 " "= unlimited)" @@ -3418,339 +3490,339 @@ msgstr "" "nombre maximum de lignes dans l'historique pour un serveur/fenêtre/fenêtre " "privée (0 = sans limite)" -#: src/common/weeconfig.c:444 +#: src/common/weeconfig.c:455 msgid "max user commands in history" msgstr "nombre maxi de commandes utilisateur dans l'historique" -#: src/common/weeconfig.c:445 +#: src/common/weeconfig.c:456 msgid "maximum number of user commands in history (0 = unlimited)" msgstr "" "nombre maximum de commandes utilisateur dans l'historique (0 = sans limite)" -#: src/common/weeconfig.c:462 src/common/weeconfig.c:463 +#: src/common/weeconfig.c:473 src/common/weeconfig.c:474 msgid "automatically log server messages" msgstr "enregistrer automatiquement les messages du serveur" -#: src/common/weeconfig.c:466 src/common/weeconfig.c:467 +#: src/common/weeconfig.c:477 src/common/weeconfig.c:478 msgid "automatically log channel chats" msgstr "enregistrer automatiquement les conversations des canaux" -#: src/common/weeconfig.c:470 src/common/weeconfig.c:471 +#: src/common/weeconfig.c:481 src/common/weeconfig.c:482 msgid "automatically log private chats" msgstr "enregistrer automatiquement les conversations privées" -#: src/common/weeconfig.c:474 src/common/weeconfig.c:475 +#: src/common/weeconfig.c:485 src/common/weeconfig.c:486 msgid "log messages from plugins (scripts)" msgstr "enregistrer les messages des plugins (scripts)" -#: src/common/weeconfig.c:478 +#: src/common/weeconfig.c:489 msgid "path for log files" msgstr "chemin pour les conversations sauvegardées" -#: src/common/weeconfig.c:479 +#: src/common/weeconfig.c:490 msgid "path for WeeChat log files" msgstr "chemin pour les conversations sauvegardées par WeeChat" -#: src/common/weeconfig.c:482 +#: src/common/weeconfig.c:493 msgid "timestamp for log" msgstr "horodatage pour les conversations sauvegardées" -#: src/common/weeconfig.c:483 +#: src/common/weeconfig.c:494 msgid "timestamp for log (see man strftime for date/time specifiers)" msgstr "" "horodatage pour les conversations sauvegardées (voir man strftime pour le " "format de date/heure)" -#: src/common/weeconfig.c:486 src/common/weeconfig.c:487 +#: src/common/weeconfig.c:497 src/common/weeconfig.c:498 msgid "hide password displayed by nickserv" msgstr "masquer le mot de passe affiché par nickserv" -#: src/common/weeconfig.c:506 +#: src/common/weeconfig.c:517 msgid "display message to all channels when away" msgstr "affiche un message sur tous les canaux pour l'absence" -#: src/common/weeconfig.c:507 +#: src/common/weeconfig.c:518 msgid "display message to all channels when (un)marking as away" msgstr "affiche un message sur tous les canaux pour l'absence/le retour" -#: src/common/weeconfig.c:510 src/common/weeconfig.c:511 +#: src/common/weeconfig.c:521 src/common/weeconfig.c:522 msgid "default message when away" msgstr "message par défaut pour l'absence" -#: src/common/weeconfig.c:514 src/common/weeconfig.c:515 +#: src/common/weeconfig.c:525 src/common/weeconfig.c:526 msgid "default part message (leaving channel)" msgstr "message par défaut pour le part (quitte un canal)" -#: src/common/weeconfig.c:518 +#: src/common/weeconfig.c:529 msgid "default quit message" msgstr "message de fin par défaut" -#: src/common/weeconfig.c:519 +#: src/common/weeconfig.c:530 msgid "" "default quit message ('%v' will be replaced by WeeChat version in string)" msgstr "" "message de fin par défaut ('%v' sera remplacé par la version de WeeChat dans " "la chaîne)" -#: src/common/weeconfig.c:522 +#: src/common/weeconfig.c:533 msgid "interval between two checks for away" msgstr "intervalle entre deux vérifications des absences" -#: src/common/weeconfig.c:523 +#: src/common/weeconfig.c:534 msgid "interval between two checks for away (in minutes, 0 = never check)" msgstr "" "intervalle entre deux vérifications des absences (en minutes, 0 = ne jemais " "vérifier)" -#: src/common/weeconfig.c:526 +#: src/common/weeconfig.c:537 msgid "interval between two checks for lag" msgstr "intervalle entre deux mesures de lag" -#: src/common/weeconfig.c:527 +#: src/common/weeconfig.c:538 msgid "interval between two checks for lag (in seconds)" msgstr "intervalle entre deux mesures de lag (en secondes)" -#: src/common/weeconfig.c:530 +#: src/common/weeconfig.c:541 msgid "minimum lag to show" msgstr "lag minimum à afficher" -#: src/common/weeconfig.c:531 +#: src/common/weeconfig.c:542 msgid "minimum lag to show (in seconds)" msgstr "lag minimum à afficher (en secondes)" -#: src/common/weeconfig.c:534 +#: src/common/weeconfig.c:545 msgid "disconnect after important lag" msgstr "déconnexion après un lag important" -#: src/common/weeconfig.c:535 +#: src/common/weeconfig.c:546 msgid "disconnect after important lag (in minutes, 0 = never disconnect)" msgstr "" "déconnexion après un lag important (en minutes, 0 = ne jamais se déconnecter)" -#: src/common/weeconfig.c:538 src/common/weeconfig.c:539 +#: src/common/weeconfig.c:549 src/common/weeconfig.c:550 msgid "create a FIFO pipe for remote control" msgstr "créer un tube FIFO pour le contrôle à distance" -#: src/common/weeconfig.c:558 +#: src/common/weeconfig.c:569 msgid "automatically accept dcc files" msgstr "accepte automatiquement les fichiers dcc" -#: src/common/weeconfig.c:559 +#: src/common/weeconfig.c:570 msgid "automatically accept incoming dcc files" msgstr "accepte automatiquement les fichiers dcc entrants" -#: src/common/weeconfig.c:562 +#: src/common/weeconfig.c:573 msgid "automatically accept dcc chats" msgstr "accepte automatiquement les demandes de discussion dcc" -#: src/common/weeconfig.c:563 +#: src/common/weeconfig.c:574 msgid "automatically accept dcc chats (use carefully!)" msgstr "" "accepte automatiquement les demandes de discussion dcc (à utiliser avec " "précaution !)" -#: src/common/weeconfig.c:566 +#: src/common/weeconfig.c:577 msgid "timeout for dcc request" msgstr "délai d'attente pour les requêtes dcc" -#: src/common/weeconfig.c:567 +#: src/common/weeconfig.c:578 msgid "timeout for dcc request (in seconds)" msgstr "délai d'attente pour les requêtes dcc (en secondes)" -#: src/common/weeconfig.c:570 +#: src/common/weeconfig.c:581 msgid "block size for dcc packets" msgstr "taille de bloc pour les paquets dcc" -#: src/common/weeconfig.c:571 +#: src/common/weeconfig.c:582 msgid "block size for dcc packets in bytes (default: 65536)" msgstr "taille de bloc pour les paquets dcc en octets (défaut: 65536)" -#: src/common/weeconfig.c:574 +#: src/common/weeconfig.c:585 msgid "path for incoming files with dcc" msgstr "chemin les fichiers reçus par dcc" -#: src/common/weeconfig.c:575 +#: src/common/weeconfig.c:586 msgid "path for writing incoming files with dcc (default: user home)" msgstr "" "chemin pour écrire les fichiers reçus par dcc (par défaut: répertoire de " "l'utilisateur)" -#: src/common/weeconfig.c:578 +#: src/common/weeconfig.c:589 msgid "default path for sending files with dcc" msgstr "chemin par défaut pour envoyer les fichiers par dcc" -#: src/common/weeconfig.c:579 +#: src/common/weeconfig.c:590 msgid "" "path for reading files when sending thru dcc (when no path is specified)" msgstr "" "chemin pour lire les fichiers lorsqu'ils sont envoyés par dcc (quand aucun " "chemin n'est spécifié)" -#: src/common/weeconfig.c:582 src/common/weeconfig.c:583 +#: src/common/weeconfig.c:593 src/common/weeconfig.c:594 msgid "convert spaces to underscores when sending files" msgstr "convertir les espaces en underscores lors d'envoi de fichiers" -#: src/common/weeconfig.c:586 +#: src/common/weeconfig.c:597 msgid "automatically rename dcc files if already exists" msgstr "renomme automatiquement les fichiers dcc s'ils existent déjà" -#: src/common/weeconfig.c:587 +#: src/common/weeconfig.c:598 msgid "rename incoming files if already exists (add '.1', '.2', ...)" msgstr "" "renommer les fichiers reçus s'ils existent déjà (ajoute '.1', '.2', ...)" -#: src/common/weeconfig.c:590 +#: src/common/weeconfig.c:601 msgid "automatically resume aborted transfers" msgstr "continuer automatiquement les transferts non terminés" -#: src/common/weeconfig.c:591 +#: src/common/weeconfig.c:602 msgid "" "automatically resume dcc transfer if connection with remote host is loosed" msgstr "" "continuer automatiquement les transferts dcc si la connexion avec la machine " "distante a été perdue" -#: src/common/weeconfig.c:610 +#: src/common/weeconfig.c:621 msgid "use proxy" msgstr "utiliser un proxy" -#: src/common/weeconfig.c:611 +#: src/common/weeconfig.c:622 msgid "use a proxy server to connect to irc server" msgstr "utiliser un proxy pour se connecter au serveur irc" -#: src/common/weeconfig.c:614 +#: src/common/weeconfig.c:625 msgid "proxy type" msgstr "type de proxy" -#: src/common/weeconfig.c:615 +#: src/common/weeconfig.c:626 msgid "proxy type (http (default), socks4, socks5)" msgstr "type de proxy (http (défaut), socks4, socks5)" -#: src/common/weeconfig.c:618 +#: src/common/weeconfig.c:629 msgid "use ipv6 proxy" msgstr "utiliser un proxy ipv6" -#: src/common/weeconfig.c:619 +#: src/common/weeconfig.c:630 msgid "connect to proxy in ipv6" msgstr "se connecter au proxy en ipv6" -#: src/common/weeconfig.c:622 +#: src/common/weeconfig.c:633 msgid "proxy address" msgstr "adresse du proxy" -#: src/common/weeconfig.c:623 +#: src/common/weeconfig.c:634 msgid "proxy server address (IP or hostname)" msgstr "adresse du serveur proxy (IP ou nom)" -#: src/common/weeconfig.c:626 +#: src/common/weeconfig.c:637 msgid "port for proxy" msgstr "port pour le proxy" -#: src/common/weeconfig.c:627 +#: src/common/weeconfig.c:638 msgid "port for connecting to proxy server" msgstr "port pour se connecter au serveur proxy" -#: src/common/weeconfig.c:630 +#: src/common/weeconfig.c:641 msgid "proxy username" msgstr "nom d'utilisateur proxy" -#: src/common/weeconfig.c:631 +#: src/common/weeconfig.c:642 msgid "username for proxy server" msgstr "nom d'utilisateur pour le serveur proxy" -#: src/common/weeconfig.c:634 +#: src/common/weeconfig.c:645 msgid "proxy password" msgstr "mot de passe pour le proxy" -#: src/common/weeconfig.c:635 +#: src/common/weeconfig.c:646 msgid "password for proxy server" msgstr "mot de passe pour le serveur proxy" -#: src/common/weeconfig.c:646 +#: src/common/weeconfig.c:657 msgid "server name" msgstr "nom du serveur" -#: src/common/weeconfig.c:647 +#: src/common/weeconfig.c:658 msgid "name associated to IRC server (for display only)" msgstr "nom associé au serveur IRC (pour affichage seulement)" -#: src/common/weeconfig.c:650 +#: src/common/weeconfig.c:661 msgid "automatically connect to server" msgstr "connexion automatique au serveur" -#: src/common/weeconfig.c:651 +#: src/common/weeconfig.c:662 msgid "automatically connect to server when WeeChat is starting" msgstr "connexion automatique au serveur quand WeeChat démarre" -#: src/common/weeconfig.c:654 +#: src/common/weeconfig.c:665 msgid "automatically reconnect to server" msgstr "reconnexion automatique au serveur" -#: src/common/weeconfig.c:655 +#: src/common/weeconfig.c:666 msgid "automatically reconnect to server when disconnected" msgstr "reconnexion automatique au serveur après une déconnexion" -#: src/common/weeconfig.c:658 +#: src/common/weeconfig.c:669 msgid "delay before trying again to reconnect" msgstr "délai avant de tenter une reconnexion" -#: src/common/weeconfig.c:659 +#: src/common/weeconfig.c:670 msgid "delay (in seconds) before trying again to reconnect to server" msgstr "délai (en secondes) avant de tenter une reconnexion au serveur" -#: src/common/weeconfig.c:662 +#: src/common/weeconfig.c:673 msgid "server address or hostname" msgstr "adresse ou nom du serveur" -#: src/common/weeconfig.c:663 +#: src/common/weeconfig.c:674 msgid "IP address or hostname of IRC server" msgstr "adresse IP ou nom du serveur IRC" -#: src/common/weeconfig.c:666 +#: src/common/weeconfig.c:677 msgid "port for IRC server" msgstr "port pour le serveur IRC" -#: src/common/weeconfig.c:667 +#: src/common/weeconfig.c:678 msgid "port for connecting to server" msgstr "port pour se connecter au serveur" -#: src/common/weeconfig.c:670 src/common/weeconfig.c:671 +#: src/common/weeconfig.c:681 src/common/weeconfig.c:682 msgid "use IPv6 protocol for server communication" msgstr "utiliser le protocole IPv6 pour la communication avec le serveur" -#: src/common/weeconfig.c:674 src/common/weeconfig.c:675 +#: src/common/weeconfig.c:685 src/common/weeconfig.c:686 msgid "use SSL for server communication" msgstr "utiliser SSL pour la communication avec le serveur" -#: src/common/weeconfig.c:678 +#: src/common/weeconfig.c:689 msgid "server password" msgstr "mot de passe pour le serveur" -#: src/common/weeconfig.c:679 +#: src/common/weeconfig.c:690 msgid "password for IRC server" msgstr "mot de passe pour le serveur IRC" -#: src/common/weeconfig.c:682 +#: src/common/weeconfig.c:693 msgid "nickname for server" msgstr "pseudo pour le serveur" -#: src/common/weeconfig.c:683 +#: src/common/weeconfig.c:694 msgid "nickname to use on IRC server" msgstr "pseudo à utiliser sur le serveur IRC" -#: src/common/weeconfig.c:686 +#: src/common/weeconfig.c:697 msgid "alternate nickname for server" msgstr "pseudo alternatif pour le serveur" -#: src/common/weeconfig.c:687 +#: src/common/weeconfig.c:698 msgid "alternate nickname to use on IRC server (if nickname is already used)" msgstr "pseudo alternatif pour le serveur IRC (si le pseudo est déjà utilisé)" -#: src/common/weeconfig.c:690 +#: src/common/weeconfig.c:701 msgid "2nd alternate nickname for server" msgstr "2nd pseudo alternatif pour le serveur" -#: src/common/weeconfig.c:691 +#: src/common/weeconfig.c:702 msgid "" "2nd alternate nickname to use on IRC server (if alternate nickname is " "already used)" @@ -3758,31 +3830,31 @@ msgstr "" "2nd pseudo alternatif pour le serveur IRC (si le pseudo alternatif est déjà " "utilisé)" -#: src/common/weeconfig.c:694 +#: src/common/weeconfig.c:705 msgid "user name for server" msgstr "nom d'utilisateur pour le serveur" -#: src/common/weeconfig.c:695 +#: src/common/weeconfig.c:706 msgid "user name to use on IRC server" msgstr "nom d'utilisateur pour le serveur IRC" -#: src/common/weeconfig.c:698 +#: src/common/weeconfig.c:709 msgid "real name for server" msgstr "nom réel pour le serveur" -#: src/common/weeconfig.c:699 +#: src/common/weeconfig.c:710 msgid "real name to use on IRC server" msgstr "nom réel pour le serveur IRC" -#: src/common/weeconfig.c:702 src/common/weeconfig.c:703 +#: src/common/weeconfig.c:713 src/common/weeconfig.c:714 msgid "first command to run when connected to server" msgstr "commande à exécuter en premier lorsque connecté au serveur" -#: src/common/weeconfig.c:706 +#: src/common/weeconfig.c:717 msgid "delay (in seconds) after command was executed" msgstr "délai (en secondes) après exécution de la commande" -#: src/common/weeconfig.c:707 +#: src/common/weeconfig.c:718 msgid "" "delay (in seconds) after command was executed (example: give some time for " "authentication)" @@ -3790,25 +3862,25 @@ msgstr "" "délai (en secondes) après exécution de la commande (exemple: donner du temps " "pour l'authentification)" -#: src/common/weeconfig.c:710 +#: src/common/weeconfig.c:721 msgid "list of channels to join when connected to server" msgstr "liste des canaux à rejoindre lorsque connecté au serveur" -#: src/common/weeconfig.c:711 +#: src/common/weeconfig.c:722 msgid "comma separated list of channels to join when connected to server" msgstr "" "liste des canaux (séparés par des virgules) à rejoindre lorsque connecté au " "serveur" -#: src/common/weeconfig.c:714 src/common/weeconfig.c:715 +#: src/common/weeconfig.c:725 src/common/weeconfig.c:726 msgid "automatically rejoin channels when kicked" msgstr "rejoindre automatiquement les canaux quand mis dehors" -#: src/common/weeconfig.c:718 +#: src/common/weeconfig.c:729 msgid "notify levels for channels of this server" msgstr "niveaux de notification pour les canaux de ce serveur" -#: src/common/weeconfig.c:719 +#: src/common/weeconfig.c:730 msgid "" "comma separated list of notify levels for channels of this server (format: " "#channel:1,..)" @@ -3816,64 +3888,64 @@ msgstr "" "liste des niveaux de notifications (séparés par des virgules) pour les " "canaux de ce serveur (format: #canal:1,..)" -#: src/common/weeconfig.c:1177 +#: src/common/weeconfig.c:1190 #, c-format msgid "%s %s, line %d: new server, but previous was incomplete\n" msgstr "%s %s, ligne %d: nouveau serveur, mais le précédent était incomplet\n" -#: src/common/weeconfig.c:1186 +#: src/common/weeconfig.c:1199 #, c-format msgid "%s %s, line %d: server '%s' already exists\n" msgstr "%s %s, ligne %d: le serveur '%s' existe déjà\n" -#: src/common/weeconfig.c:1201 +#: src/common/weeconfig.c:1214 #, c-format msgid "%s %s, line %d: unable to create server\n" msgstr "%s %s, ligne %d: impossible de créer le serveur\n" -#: src/common/weeconfig.c:1240 +#: src/common/weeconfig.c:1254 #, c-format msgid "%s unable to assign default int with string (\"%s\")\n" msgstr "" "%s impossible d'assigner la valeur entière par défaut avec la chaîne (\"%s" "\")\n" -#: src/common/weeconfig.c:1251 +#: src/common/weeconfig.c:1265 #, c-format msgid "%s unable to assign default color (\"%s\")\n" msgstr "%s impossible d'assigner la couleur par défaut (\"%s\")\n" -#: src/common/weeconfig.c:1290 +#: src/common/weeconfig.c:1304 #, c-format msgid "%s config file \"%s\" not found.\n" msgstr "%s fichier de configuration \"%s\" non trouvé.\n" -#: src/common/weeconfig.c:1322 +#: src/common/weeconfig.c:1336 #, c-format msgid "%s %s, line %d: invalid syntax, missing \"]\"\n" msgstr "%s %s, ligne %d: syntaxe invalide, il manque \"]\"\n" -#: src/common/weeconfig.c:1339 +#: src/common/weeconfig.c:1353 #, c-format msgid "%s %s, line %d: unknown section identifier (\"%s\")\n" msgstr "%s %s, ligne %d: section inconnue (\"%s\")\n" -#: src/common/weeconfig.c:1357 +#: src/common/weeconfig.c:1371 #, c-format msgid "%s %s, line %d: invalid section for option, line is ignored\n" msgstr "%s %s, ligne %d: section invalide pour l'option, ligne ignorée\n" -#: src/common/weeconfig.c:1365 +#: src/common/weeconfig.c:1379 #, c-format msgid "%s %s, line %d: invalid syntax, missing \"=\"\n" msgstr "%s %s, ligne %d: syntaxe invalide, il manque \"=\"\n" -#: src/common/weeconfig.c:1399 +#: src/common/weeconfig.c:1427 #, c-format msgid "%s %s, line %d: invalid option \"%s\"\n" msgstr "%s %s, ligne %d: option \"%s\" invalide\n" -#: src/common/weeconfig.c:1410 +#: src/common/weeconfig.c:1438 #, c-format msgid "" "%s %s, line %d: invalid value foroption '%s'\n" @@ -3882,7 +3954,7 @@ msgstr "" "%s %s, ligne %d: valeur invalide pour l'option '%s'\n" "Attendu: valeur booléenne: 'off' ou 'on'\n" -#: src/common/weeconfig.c:1419 +#: src/common/weeconfig.c:1447 #, c-format msgid "" "%s %s, line %d: invalid value for option '%s'\n" @@ -3891,7 +3963,7 @@ msgstr "" "%s %s, ligne %d: valeur invalide pour l'option '%s'\n" "Attendu: entier compris entre %d et %d\n" -#: src/common/weeconfig.c:1430 +#: src/common/weeconfig.c:1458 #, c-format msgid "" "%s %s, line %d: invalid value for option '%s'\n" @@ -3900,26 +3972,26 @@ msgstr "" "%s %s, ligne %d: valeur invalide pour l'option '%s'\n" "Attendu: une de ces chaînes: " -#: src/common/weeconfig.c:1446 +#: src/common/weeconfig.c:1474 #, c-format msgid "%s %s, line %d: invalid color name for option '%s'\n" msgstr "%s %s, ligne %d: nom de couleur invalide pour l'option '%s'\n" -#: src/common/weeconfig.c:1506 src/common/weeconfig.c:1677 +#: src/common/weeconfig.c:1536 src/common/weeconfig.c:1731 #, c-format msgid "%s cannot create file \"%s\"\n" msgstr "%s impossible de créer le fichier \"%s\"\n" -#: src/common/weeconfig.c:1512 +#: src/common/weeconfig.c:1542 #, c-format msgid "%s: creating default config file...\n" msgstr "%s: création du fichier de configuration par défaut...\n" -#: src/common/weeconfig.c:1513 +#: src/common/weeconfig.c:1543 msgid "Creating default config file\n" msgstr "Création du fichier de configuration par défaut\n" -#: src/common/weeconfig.c:1516 src/common/weeconfig.c:1686 +#: src/common/weeconfig.c:1546 src/common/weeconfig.c:1740 #, c-format msgid "" "#\n" @@ -3928,6 +4000,15 @@ msgstr "" "#\n" "# %s: fichier de configuration, créé par %s v%s le %s#\n" -#: src/common/weeconfig.c:1683 +#: src/common/weeconfig.c:1737 msgid "Saving config to disk\n" msgstr "Sauvegarde de la configuration sur disque\n" + +#~ msgid "%d:[not connected] " +#~ msgstr "%d:[non connecté] " + +#~ msgid "(F) %s\n" +#~ msgstr "(F) %s\n" + +#~ msgid "(C) %s\n" +#~ msgstr "(C) %s\n" diff --git a/po/weechat.pot b/po/weechat.pot index 670b11f24..e6d8e8350 100644 --- a/po/weechat.pot +++ b/po/weechat.pot @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: flashcode@flashtux.org\n" -"POT-Creation-Date: 2005-07-02 18:30+0200\n" +"POT-Creation-Date: 2005-07-09 17:25+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Language-Team: LANGUAGE <LL@li.org>\n" @@ -20,7 +20,7 @@ msgstr "" msgid "%s cannot allocate new nick\n" msgstr "" -#: src/irc/irc-server.c:180 src/common/weeconfig.c:1625 +#: src/irc/irc-server.c:180 src/common/weeconfig.c:1677 msgid "Unable to get user's name" msgstr "" @@ -1194,7 +1194,7 @@ msgstr "" msgid "whois (secure connection)" msgstr "" -#: src/irc/irc-display.c:156 src/common/command.c:842 +#: src/irc/irc-display.c:156 src/common/command.c:848 msgid "Server: " msgstr "" @@ -1235,43 +1235,43 @@ msgstr "" #: src/irc/irc-send.c:232 src/irc/irc-send.c:260 src/irc/irc-send.c:426 #: src/irc/irc-send.c:452 src/irc/irc-send.c:478 src/irc/irc-send.c:519 -#: src/irc/irc-send.c:555 src/irc/irc-send.c:619 src/irc/irc-send.c:676 -#: src/irc/irc-send.c:1018 src/irc/irc-send.c:1116 src/irc/irc-send.c:1595 -#: src/irc/irc-send.c:1702 +#: src/irc/irc-send.c:555 src/irc/irc-send.c:622 src/irc/irc-send.c:679 +#: src/irc/irc-send.c:1021 src/irc/irc-send.c:1119 src/irc/irc-send.c:1598 +#: src/irc/irc-send.c:1705 #, c-format msgid "%s \"%s\" command can only be executed in a channel window\n" msgstr "" #: src/irc/irc-send.c:345 src/irc/irc-send.c:357 src/irc/irc-send.c:375 -#: src/irc/irc-send.c:996 src/irc/irc-send.c:1089 src/irc/irc-send.c:1621 -#: src/common/command.c:1167 src/common/command.c:1451 -#: src/common/command.c:1594 +#: src/irc/irc-send.c:999 src/irc/irc-send.c:1092 src/irc/irc-send.c:1624 +#: src/common/command.c:1189 src/common/command.c:1455 +#: src/common/command.c:1605 src/common/command.c:1748 #, c-format msgid "%s wrong argument count for \"%s\" command\n" msgstr "" -#: src/irc/irc-send.c:398 src/irc/irc-send.c:604 src/irc/irc-send.c:661 +#: src/irc/irc-send.c:398 src/irc/irc-send.c:607 src/irc/irc-send.c:664 #, c-format msgid "%s wrong arguments for \"%s\" command\n" msgstr "" -#: src/irc/irc-send.c:804 src/irc/irc-send.c:871 src/irc/irc-send.c:1164 -#: src/irc/irc-send.c:1178 src/irc/irc-send.c:1522 +#: src/irc/irc-send.c:807 src/irc/irc-send.c:874 src/irc/irc-send.c:1167 +#: src/irc/irc-send.c:1181 src/irc/irc-send.c:1525 #, c-format msgid "%s \"%s\" command can not be executed on a server window\n" msgstr "" -#: src/irc/irc-send.c:889 src/irc/irc-send.c:914 src/irc/irc-recv.c:322 +#: src/irc/irc-send.c:892 src/irc/irc-send.c:917 src/irc/irc-recv.c:322 #, c-format msgid "%s nick \"%s\" not found for \"%s\" command\n" msgstr "" -#: src/irc/irc-send.c:966 src/irc/irc-send.c:1274 src/irc/irc-recv.c:1505 +#: src/irc/irc-send.c:969 src/irc/irc-send.c:1277 src/irc/irc-recv.c:1505 #, c-format msgid "%s cannot create new private window \"%s\"\n" msgstr "" -#: src/irc/irc-send.c:1674 +#: src/irc/irc-send.c:1677 #, c-format msgid "%s, compiled on %s %s\n" msgstr "" @@ -1961,66 +1961,65 @@ msgstr "" msgid "%s unable to add handler for \"%s\" message (not enough memory)\n" msgstr "" -#: src/gui/curses/gui-input.c:788 +#: src/gui/curses/gui-input.c:298 #, c-format msgid "%s lag is high, disconnecting from server...\n" msgstr "" -#: src/gui/curses/gui-display.c:686 +#: src/gui/curses/gui-display.c:684 msgid "bytes" msgstr "" -#: src/gui/curses/gui-display.c:686 +#: src/gui/curses/gui-display.c:684 msgid "Kb" msgstr "" -#: src/gui/curses/gui-display.c:686 +#: src/gui/curses/gui-display.c:684 msgid "Mb" msgstr "" -#: src/gui/curses/gui-display.c:686 +#: src/gui/curses/gui-display.c:684 msgid "Gb" msgstr "" -#: src/gui/curses/gui-display.c:1122 +#: src/gui/curses/gui-display.c:1116 msgid "(away)" msgstr "" -#: src/gui/curses/gui-display.c:1235 -#, c-format -msgid "%d:[not connected] " +#: src/gui/curses/gui-display.c:1233 +msgid "[not connected]" msgstr "" -#: src/gui/curses/gui-display.c:1252 +#: src/gui/curses/gui-display.c:1249 msgid "Act: " msgstr "" -#: src/gui/curses/gui-display.c:1301 +#: src/gui/curses/gui-display.c:1298 #, c-format msgid "Lag: %.1f" msgstr "" -#: src/gui/curses/gui-display.c:1322 +#: src/gui/curses/gui-display.c:1319 msgid "-MORE-" msgstr "" -#: src/gui/curses/gui-display.c:1509 +#: src/gui/curses/gui-display.c:1559 msgid " [A] Accept" msgstr "" -#: src/gui/curses/gui-display.c:1510 src/gui/curses/gui-display.c:1514 +#: src/gui/curses/gui-display.c:1560 src/gui/curses/gui-display.c:1564 msgid " [C] Cancel" msgstr "" -#: src/gui/curses/gui-display.c:1519 +#: src/gui/curses/gui-display.c:1569 msgid " [R] Remove" msgstr "" -#: src/gui/curses/gui-display.c:1523 +#: src/gui/curses/gui-display.c:1573 msgid " [P] Purge old DCC" msgstr "" -#: src/gui/curses/gui-display.c:1524 +#: src/gui/curses/gui-display.c:1574 msgid " [Q] Close DCC view" msgstr "" @@ -2028,15 +2027,15 @@ msgstr "" msgid "server" msgstr "" -#: src/gui/gui-common.c:330 +#: src/gui/gui-common.c:333 msgid "Not enough memory for infobar message\n" msgstr "" -#: src/gui/gui-common.c:505 +#: src/gui/gui-common.c:508 msgid "Not enough memory for new line\n" msgstr "" -#: src/gui/gui-common.c:548 +#: src/gui/gui-common.c:551 msgid "Not enough memory for new message\n" msgstr "" @@ -2133,34 +2132,52 @@ msgid "command: name of a WeeChat or IRC command" msgstr "" #: src/common/command.c:75 +msgid "bind/unbind keys" +msgstr "" + +#: src/common/command.c:76 +msgid "[key function/command] [unbind key] [functions] [reset -yes]" +msgstr "" + +#: src/common/command.c:77 +msgid "" +"key: bind this key to an internal function or a command (beginning by \"/" +"\")\n" +"unbind: unbind a key (if \"all\", default bindings are restored)\n" +"functions: list internal functions for key bindings\n" +"reset: restore bindings to the default values and delete ALL personal " +"binding (use carefully!)" +msgstr "" + +#: src/common/command.c:82 msgid "list/load/unload Perl scripts" msgstr "" -#: src/common/command.c:76 src/common/command.c:81 +#: src/common/command.c:83 src/common/command.c:88 msgid "[load filename] | [autoload] | [reload] | [unload]" msgstr "" -#: src/common/command.c:77 +#: src/common/command.c:84 msgid "" "filename: Perl script (file) to load\n" "Without argument, /perl command lists all loaded Perl scripts." msgstr "" -#: src/common/command.c:80 +#: src/common/command.c:87 msgid "list/load/unload Python scripts" msgstr "" -#: src/common/command.c:82 +#: src/common/command.c:89 msgid "" "filename: Python script (file) to load\n" "Without argument, /python command lists all loaded Python scripts." msgstr "" -#: src/common/command.c:85 +#: src/common/command.c:92 msgid "list, add or remove servers" msgstr "" -#: src/common/command.c:86 +#: src/common/command.c:93 msgid "" "[servername] | [servername hostname port [-auto | -noauto] [-ipv6] [-ssl] [-" "pwd password] [-nicks nick1 [nick2 [nick3]]] [-username username] [-realname " @@ -2168,7 +2185,7 @@ msgid "" "servername]" msgstr "" -#: src/common/command.c:91 +#: src/common/command.c:98 msgid "" "servername: server name, for internal & display use\n" "hostname: name or IP address of server\n" @@ -2183,53 +2200,53 @@ msgid "" "realname: real name of user" msgstr "" -#: src/common/command.c:103 +#: src/common/command.c:110 msgid "save config to disk" msgstr "" -#: src/common/command.c:104 +#: src/common/command.c:111 msgid "[file]" msgstr "" -#: src/common/command.c:104 +#: src/common/command.c:111 msgid "file: filename for writing config" msgstr "" -#: src/common/command.c:106 +#: src/common/command.c:113 msgid "set config parameters" msgstr "" -#: src/common/command.c:107 +#: src/common/command.c:114 msgid "[option[=value]]" msgstr "" -#: src/common/command.c:107 +#: src/common/command.c:114 msgid "" "option: name of an option\n" "value: value for option" msgstr "" -#: src/common/command.c:109 +#: src/common/command.c:116 msgid "remove an alias" msgstr "" -#: src/common/command.c:110 +#: src/common/command.c:117 msgid "alias_name" msgstr "" -#: src/common/command.c:110 +#: src/common/command.c:117 msgid "alias_name: name of alias to remove" msgstr "" -#: src/common/command.c:112 +#: src/common/command.c:119 msgid "manage windows" msgstr "" -#: src/common/command.c:113 +#: src/common/command.c:120 msgid "[list | splith | splitv | [merge [down | up | left | right | all]]]" msgstr "" -#: src/common/command.c:115 +#: src/common/command.c:121 msgid "" "list: list opened windows (no parameter implies this list)\n" "splith: split current window horizontally\n" @@ -2237,373 +2254,405 @@ msgid "" "merge: merge window with another" msgstr "" -#: src/common/command.c:261 +#: src/common/command.c:267 #, c-format msgid "%s alias or command \"%s\" already exists!\n" msgstr "" -#: src/common/command.c:271 +#: src/common/command.c:277 #, c-format msgid "%s alias cannot run another alias!\n" msgstr "" -#: src/common/command.c:278 +#: src/common/command.c:284 #, c-format msgid "%s target command \"%s\" does not exist!\n" msgstr "" -#: src/common/command.c:486 +#: src/common/command.c:492 #, c-format msgid "%s wrong argument count for %s command \"%s\" (expected: %d arg%s)\n" msgstr "" -#: src/common/command.c:498 +#: src/common/command.c:504 #, c-format msgid "" "%s wrong argument count for %s command \"%s\" (expected: between %d and %d " "arg%s)\n" msgstr "" -#: src/common/command.c:520 src/common/command.c:590 +#: src/common/command.c:526 src/common/command.c:596 #, c-format msgid "%s command \"%s\" failed\n" msgstr "" -#: src/common/command.c:548 +#: src/common/command.c:554 #, c-format msgid "%s wrong argument count for IRC command \"%s\" (expected: %d arg%s)\n" msgstr "" -#: src/common/command.c:560 +#: src/common/command.c:566 #, c-format msgid "" "%s wrong argument count for IRC command \"%s\" (expected: between %d and %d " "arg%s)\n" msgstr "" -#: src/common/command.c:575 +#: src/common/command.c:581 #, c-format msgid "%s command \"%s\" needs a server connection!\n" msgstr "" -#: src/common/command.c:639 +#: src/common/command.c:645 #, c-format msgid "%s unknown command \"%s\" (type /help for help)\n" msgstr "" -#: src/common/command.c:720 +#: src/common/command.c:726 #, c-format msgid "%s cannot find nick for sending message\n" msgstr "" -#: src/common/command.c:742 +#: src/common/command.c:748 #, c-format msgid "%s unable to call handler for message (not enough memory)\n" msgstr "" -#: src/common/command.c:750 +#: src/common/command.c:756 msgid "This window is not a channel!\n" msgstr "" -#: src/common/command.c:778 src/common/command.c:802 src/common/command.c:906 +#: src/common/command.c:784 src/common/command.c:808 src/common/command.c:913 #, c-format msgid "%s missing arguments for \"%s\" command\n" msgstr "" -#: src/common/command.c:787 +#: src/common/command.c:793 #, c-format msgid "Alias \"%s\" => \"%s\" created\n" msgstr "" -#: src/common/command.c:793 +#: src/common/command.c:799 #, c-format msgid "Failed to create alias \"%s\" => \"%s\" (not enough memory)\n" msgstr "" -#: src/common/command.c:813 +#: src/common/command.c:819 msgid "List of aliases:\n" msgstr "" -#: src/common/command.c:825 +#: src/common/command.c:831 msgid "No alias defined.\n" msgstr "" -#: src/common/command.c:848 +#: src/common/command.c:854 msgid "Channel: " msgstr "" -#: src/common/command.c:851 src/common/command.c:861 +#: src/common/command.c:857 src/common/command.c:867 msgid " (server: " msgstr "" -#: src/common/command.c:858 +#: src/common/command.c:864 msgid "Private with: " msgstr "" -#: src/common/command.c:886 +#: src/common/command.c:893 msgid "Opened buffers:\n" msgstr "" -#: src/common/command.c:929 src/common/command.c:1069 +#: src/common/command.c:936 #, c-format msgid "%s incorrect buffer number\n" msgstr "" -#: src/common/command.c:943 +#: src/common/command.c:950 #, c-format msgid "%s can not close the single buffer\n" msgstr "" -#: src/common/command.c:953 +#: src/common/command.c:960 #, c-format msgid "%s can not close server buffer while channels are opened\n" msgstr "" -#: src/common/command.c:992 +#: src/common/command.c:999 msgid "Notify levels: " msgstr "" -#: src/common/command.c:1020 src/common/command.c:1042 +#: src/common/command.c:1027 src/common/command.c:1049 #, c-format msgid "%s incorrect notify level (must be between %d and %d)\n" msgstr "" -#: src/common/command.c:1029 +#: src/common/command.c:1036 #, c-format msgid "%s incorrect buffer for notify (must be channel or private)\n" msgstr "" -#: src/common/command.c:1060 -#, c-format -msgid "%s buffer \"%s\" not found for \"%s\" command\n" -msgstr "" - -#: src/common/command.c:1094 +#: src/common/command.c:1116 #, c-format msgid "unknown parameter \"%s\" for \"%s\" command\n" msgstr "" -#: src/common/command.c:1124 +#: src/common/command.c:1146 #, c-format msgid "%s already connected to server \"%s\"!\n" msgstr "" -#: src/common/command.c:1132 +#: src/common/command.c:1154 #, c-format msgid "%s currently connecting to server \"%s\"!\n" msgstr "" -#: src/common/command.c:1150 src/common/command.c:1225 +#: src/common/command.c:1172 src/common/command.c:1247 #, c-format msgid "%s server not found\n" msgstr "" -#: src/common/command.c:1180 src/common/command.c:1444 -#: src/common/command.c:1587 src/common/command.c:2283 -#: src/common/command.c:2295 +#: src/common/command.c:1202 src/common/command.c:1598 +#: src/common/command.c:1741 src/common/command.c:2438 +#: src/common/command.c:2454 #, c-format msgid "%s unknown option for \"%s\" command\n" msgstr "" -#: src/common/command.c:1209 +#: src/common/command.c:1231 #, c-format msgid "%s not connected to server \"%s\"!\n" msgstr "" -#: src/common/command.c:1217 +#: src/common/command.c:1239 msgid "Auto-reconnection is cancelled\n" msgstr "" -#: src/common/command.c:1243 src/common/weechat.c:273 +#: src/common/command.c:1265 src/common/weechat.c:273 #, c-format msgid "%s internal commands:\n" msgstr "" -#: src/common/command.c:1252 src/common/weechat.c:293 +#: src/common/command.c:1274 src/common/weechat.c:293 #, c-format msgid "IRC commands:\n" msgstr "" -#: src/common/command.c:1319 +#: src/common/command.c:1341 #, c-format msgid "No help available, \"%s\" is an unknown command\n" msgstr "" -#: src/common/command.c:1343 src/common/command.c:1486 +#: src/common/command.c:1359 +msgid "New key binding:\n" +msgstr "" + +#: src/common/command.c:1392 +msgid "Key bindings:\n" +msgstr "" + +#: src/common/command.c:1404 +#, c-format +msgid "Key \"%s\" unbinded\n" +msgstr "" + +#: src/common/command.c:1409 +#, c-format +msgid "%s unable to unbind key \"%s\"\n" +msgstr "" + +#: src/common/command.c:1417 src/common/weechat.c:324 +#, c-format +msgid "Internal key functions:\n" +msgstr "" + +#: src/common/command.c:1435 +msgid "Default key bindings restored\n" +msgstr "" + +#: src/common/command.c:1441 +#, c-format +msgid "%s \"-yes\" argument is required for keys reset (securuty reason)\n" +msgstr "" + +#: src/common/command.c:1470 +#, c-format +msgid "%s unable to bind key \"%s\"\n" +msgstr "" + +#: src/common/command.c:1497 src/common/command.c:1640 #, c-format msgid "Registered %s scripts:\n" msgstr "" -#: src/common/command.c:1360 src/common/command.c:1383 -#: src/common/command.c:1406 src/common/command.c:1503 -#: src/common/command.c:1526 src/common/command.c:1549 +#: src/common/command.c:1514 src/common/command.c:1537 +#: src/common/command.c:1560 src/common/command.c:1657 +#: src/common/command.c:1680 src/common/command.c:1703 msgid " (none)\n" msgstr "" -#: src/common/command.c:1365 src/common/command.c:1508 +#: src/common/command.c:1519 src/common/command.c:1662 #, c-format msgid "%s message handlers:\n" msgstr "" -#: src/common/command.c:1374 src/common/command.c:1517 +#: src/common/command.c:1528 src/common/command.c:1671 #, c-format msgid " IRC(%s) => %s(%s)\n" msgstr "" -#: src/common/command.c:1388 src/common/command.c:1531 +#: src/common/command.c:1542 src/common/command.c:1685 #, c-format msgid "%s command handlers:\n" msgstr "" -#: src/common/command.c:1397 src/common/command.c:1540 +#: src/common/command.c:1551 src/common/command.c:1694 #, c-format msgid " Command /%s => %s(%s)\n" msgstr "" -#: src/common/command.c:1457 +#: src/common/command.c:1611 msgid "" "WeeChat was build without Perl support.\n" "Please rebuild WeeChat with \"--enable-perl\" option for ./configure script\n" msgstr "" -#: src/common/command.c:1600 +#: src/common/command.c:1754 msgid "" "WeeChat was build without Python support.\n" "Please rebuild WeeChat with \"--enable-python\" option for ./configure " "script\n" msgstr "" -#: src/common/command.c:1648 +#: src/common/command.c:1802 msgid "No server.\n" msgstr "" -#: src/common/command.c:1659 +#: src/common/command.c:1813 #, c-format msgid "Server '%s' not found.\n" msgstr "" -#: src/common/command.c:1671 +#: src/common/command.c:1825 #, c-format msgid "%s missing servername for \"%s\" command\n" msgstr "" -#: src/common/command.c:1679 +#: src/common/command.c:1833 #, c-format msgid "%s too much arguments for \"%s\" command, ignoring arguments\n" msgstr "" -#: src/common/command.c:1698 +#: src/common/command.c:1852 #, c-format msgid "%s server \"%s\" not found for \"%s\" command\n" msgstr "" -#: src/common/command.c:1706 +#: src/common/command.c:1860 #, c-format msgid "" "%s you can not delete server \"%s\" because you are connected to. Try /" "disconnect %s before.\n" msgstr "" -#: src/common/command.c:1722 src/common/command.c:1868 +#: src/common/command.c:1876 src/common/command.c:2022 msgid "Server" msgstr "" -#: src/common/command.c:1725 +#: src/common/command.c:1879 msgid "has been deleted\n" msgstr "" -#: src/common/command.c:1740 +#: src/common/command.c:1894 #, c-format msgid "%s missing parameters for \"%s\" command\n" msgstr "" -#: src/common/command.c:1750 +#: src/common/command.c:1904 #, c-format msgid "%s server \"%s\" already exists, can't create it!\n" msgstr "" -#: src/common/command.c:1779 src/common/command.c:1807 -#: src/common/command.c:1820 src/common/command.c:1846 +#: src/common/command.c:1933 src/common/command.c:1961 +#: src/common/command.c:1974 src/common/command.c:2000 #, c-format msgid "%s missing password for \"%s\" parameter\n" msgstr "" -#: src/common/command.c:1792 +#: src/common/command.c:1946 #, c-format msgid "%s missing nick(s) for \"%s\" parameter\n" msgstr "" -#: src/common/command.c:1833 +#: src/common/command.c:1987 #, c-format msgid "%s missing command for \"%s\" parameter\n" msgstr "" -#: src/common/command.c:1871 +#: src/common/command.c:2025 msgid "created\n" msgstr "" -#: src/common/command.c:1877 +#: src/common/command.c:2031 #, c-format msgid "%s unable to create server\n" msgstr "" -#: src/common/command.c:1932 +#: src/common/command.c:2086 msgid "(unknown)" msgstr "" -#: src/common/command.c:1955 +#: src/common/command.c:2109 msgid "(password hidden) " msgstr "" -#: src/common/command.c:2019 +#: src/common/command.c:2173 #, c-format msgid "%s server \"%s\" not found\n" msgstr "" -#: src/common/command.c:2050 src/common/command.c:2096 +#: src/common/command.c:2204 src/common/command.c:2250 #, c-format msgid "%s config option \"%s\" not found\n" msgstr "" -#: src/common/command.c:2055 src/common/command.c:2088 +#: src/common/command.c:2209 src/common/command.c:2242 #, c-format msgid "%s incorrect value for option \"%s\"\n" msgstr "" -#: src/common/command.c:2071 +#: src/common/command.c:2225 #, c-format msgid "%s option \"%s\" can not be changed while WeeChat is running\n" msgstr "" -#: src/common/command.c:2169 +#: src/common/command.c:2324 #, c-format msgid "No config option found with \"%s\"\n" msgstr "" -#: src/common/command.c:2172 +#: src/common/command.c:2327 msgid "No config option found\n" msgstr "" -#: src/common/command.c:2178 +#: src/common/command.c:2333 #, c-format msgid "config option(s) found with \"%s\"\n" msgstr "" -#: src/common/command.c:2181 +#: src/common/command.c:2336 msgid "config option(s) found\n" msgstr "" -#: src/common/command.c:2201 +#: src/common/command.c:2356 #, c-format msgid "%s alias or command \"%s\" not found\n" msgstr "" -#: src/common/command.c:2211 +#: src/common/command.c:2366 #, c-format msgid "Alias \"%s\" removed\n" msgstr "" -#: src/common/command.c:2231 +#: src/common/command.c:2386 msgid "Opened windows:\n" msgstr "" @@ -2738,57 +2787,62 @@ msgid "" "\n" msgstr "" -#: src/common/weechat.c:371 +#: src/common/weechat.c:344 +#, c-format +msgid "%s default keys:\n" +msgstr "" + +#: src/common/weechat.c:424 #, c-format msgid "%s invalid syntax for IRC server ('%s'), ignored\n" msgstr "" -#: src/common/weechat.c:384 +#: src/common/weechat.c:437 #, c-format msgid "%s unable to create server ('%s'), ignored\n" msgstr "" -#: src/common/weechat.c:393 +#: src/common/weechat.c:446 #, c-format msgid "%s unknown parameter '%s', ignored\n" msgstr "" -#: src/common/weechat.c:413 +#: src/common/weechat.c:466 #, c-format msgid "%s cannot create directory \"%s\"\n" msgstr "" -#: src/common/weechat.c:439 +#: src/common/weechat.c:492 #, c-format msgid "%s unable to get HOME directory\n" msgstr "" -#: src/common/weechat.c:448 +#: src/common/weechat.c:501 #, c-format msgid "%s not enough memory for home directory\n" msgstr "" -#: src/common/weechat.c:458 +#: src/common/weechat.c:511 #, c-format msgid "%s unable to create ~/.weechat directory\n" msgstr "" -#: src/common/weechat.c:510 +#: src/common/weechat.c:563 #, c-format msgid "%s unable to create ~/.weechat/logs directory\n" msgstr "" -#: src/common/weechat.c:553 +#: src/common/weechat.c:606 #, c-format msgid "%s unable to create/append to log file (~/.weechat/%s)" msgstr "" -#: src/common/weechat.c:576 +#: src/common/weechat.c:629 #, c-format msgid "%sWelcome to " msgstr "" -#: src/common/weechat.c:589 src/common/weechat.c:598 +#: src/common/weechat.c:642 src/common/weechat.c:651 msgid "compiled on" msgstr "" @@ -2800,871 +2854,879 @@ msgstr "" msgid "WeeChat Warning:" msgstr "" -#: src/common/weeconfig.c:88 src/common/weeconfig.c:89 +#: src/common/weeconfig.c:90 src/common/weeconfig.c:91 msgid "set title for window (terminal for Curses GUI) with name & version" msgstr "" -#: src/common/weeconfig.c:92 src/common/weeconfig.c:93 +#: src/common/weeconfig.c:94 src/common/weeconfig.c:95 msgid "display WeeChat logo at startup" msgstr "" -#: src/common/weeconfig.c:96 src/common/weeconfig.c:97 +#: src/common/weeconfig.c:98 src/common/weeconfig.c:99 msgid "display WeeChat version at startup" msgstr "" -#: src/common/weeconfig.c:100 +#: src/common/weeconfig.c:102 msgid "WeeChat slogan" msgstr "" -#: src/common/weeconfig.c:101 +#: src/common/weeconfig.c:103 msgid "WeeChat slogan (if empty, slogan is not used)" msgstr "" -#: src/common/weeconfig.c:104 +#: src/common/weeconfig.c:106 msgid "charset for decoding messages from server" msgstr "" -#: src/common/weeconfig.c:105 +#: src/common/weeconfig.c:107 msgid "" "charset for decoding messages from server, examples: UTF-8, ISO-8859-1 (if " "empty, messages are not converted)" msgstr "" -#: src/common/weeconfig.c:108 +#: src/common/weeconfig.c:110 msgid "charset for encoding messages sent to server" msgstr "" -#: src/common/weeconfig.c:109 +#: src/common/weeconfig.c:111 msgid "" "charset for encoding messages sent to server, examples: UFT-8, ISO-8859-1 " "(if empty, local charset is used)" msgstr "" -#: src/common/weeconfig.c:112 +#: src/common/weeconfig.c:114 msgid "internal WeeChat charset (should be ISO)" msgstr "" -#: src/common/weeconfig.c:113 +#: src/common/weeconfig.c:115 msgid "" "internal WeeChat charset, should be ISO-xxxx even if locale is UTF-8 (if " "empty, local charset is used)" msgstr "" -#: src/common/weeconfig.c:116 src/common/weeconfig.c:117 +#: src/common/weeconfig.c:118 src/common/weeconfig.c:119 msgid "timestamp for buffers" msgstr "" -#: src/common/weeconfig.c:120 src/common/weeconfig.c:121 +#: src/common/weeconfig.c:122 src/common/weeconfig.c:123 msgid "display nick names with different colors" msgstr "" -#: src/common/weeconfig.c:124 src/common/weeconfig.c:125 +#: src/common/weeconfig.c:126 src/common/weeconfig.c:127 msgid "display actions with different colors" msgstr "" -#: src/common/weeconfig.c:128 src/common/weeconfig.c:129 +#: src/common/weeconfig.c:130 src/common/weeconfig.c:131 msgid "remove colors from incoming messages" msgstr "" -#: src/common/weeconfig.c:132 +#: src/common/weeconfig.c:134 msgid "display nicklist window" msgstr "" -#: src/common/weeconfig.c:133 +#: src/common/weeconfig.c:135 msgid "display nicklist window (for channel windows)" msgstr "" -#: src/common/weeconfig.c:136 +#: src/common/weeconfig.c:138 msgid "nicklist position" msgstr "" -#: src/common/weeconfig.c:137 +#: src/common/weeconfig.c:139 msgid "nicklist position (top, left, right (default), bottom)" msgstr "" -#: src/common/weeconfig.c:140 +#: src/common/weeconfig.c:142 msgid "min size for nicklist" msgstr "" -#: src/common/weeconfig.c:141 +#: src/common/weeconfig.c:143 msgid "" "min size for nicklist (width or height, depending on look_nicklist_position " "(0 = no min size))" msgstr "" -#: src/common/weeconfig.c:145 +#: src/common/weeconfig.c:147 msgid "max size for nicklist" msgstr "" -#: src/common/weeconfig.c:146 +#: src/common/weeconfig.c:148 msgid "" "max size for nicklist (width or height, depending on look_nicklist_position " "(0 = no max size; if min == max and > 0, then size is fixed))" msgstr "" -#: src/common/weeconfig.c:150 src/common/weeconfig.c:151 +#: src/common/weeconfig.c:152 src/common/weeconfig.c:153 msgid "text to display instead of nick when not connected" msgstr "" -#: src/common/weeconfig.c:154 src/common/weeconfig.c:155 +#: src/common/weeconfig.c:156 src/common/weeconfig.c:157 msgid "display nick mode ((half)op/voice) before each nick" msgstr "" -#: src/common/weeconfig.c:158 src/common/weeconfig.c:159 +#: src/common/weeconfig.c:160 src/common/weeconfig.c:161 msgid "display space if nick mode is not (half)op/voice" msgstr "" -#: src/common/weeconfig.c:162 src/common/weeconfig.c:163 +#: src/common/weeconfig.c:164 src/common/weeconfig.c:165 msgid "the string inserted after nick completion" msgstr "" -#: src/common/weeconfig.c:166 src/common/weeconfig.c:167 +#: src/common/weeconfig.c:168 src/common/weeconfig.c:169 msgid "enable info bar" msgstr "" -#: src/common/weeconfig.c:170 src/common/weeconfig.c:171 +#: src/common/weeconfig.c:172 src/common/weeconfig.c:173 msgid "timestamp for time in infobar" msgstr "" -#: src/common/weeconfig.c:174 +#: src/common/weeconfig.c:176 src/common/weeconfig.c:177 +msgid "display seconds in infobar time" +msgstr "" + +#: src/common/weeconfig.c:180 msgid "delay (in seconds) for highlight messages in infobar" msgstr "" -#: src/common/weeconfig.c:175 +#: src/common/weeconfig.c:181 msgid "" "delay (in seconds) for highlight messages in infobar (0 = disable highlight " "notifications in infobar)" msgstr "" -#: src/common/weeconfig.c:233 src/common/weeconfig.c:234 +#: src/common/weeconfig.c:240 src/common/weeconfig.c:241 msgid "color for title bar" msgstr "" -#: src/common/weeconfig.c:237 src/common/weeconfig.c:238 +#: src/common/weeconfig.c:244 src/common/weeconfig.c:245 msgid "background for title bar" msgstr "" -#: src/common/weeconfig.c:243 src/common/weeconfig.c:244 +#: src/common/weeconfig.c:250 src/common/weeconfig.c:251 msgid "color for chat text" msgstr "" -#: src/common/weeconfig.c:247 +#: src/common/weeconfig.c:254 msgid "color for time" msgstr "" -#: src/common/weeconfig.c:248 +#: src/common/weeconfig.c:255 msgid "color for time in chat window" msgstr "" -#: src/common/weeconfig.c:251 +#: src/common/weeconfig.c:258 msgid "color for time separator" msgstr "" -#: src/common/weeconfig.c:252 +#: src/common/weeconfig.c:259 msgid "color for time separator (chat window)" msgstr "" -#: src/common/weeconfig.c:255 src/common/weeconfig.c:256 +#: src/common/weeconfig.c:262 src/common/weeconfig.c:263 msgid "color for 1st and 3rd char of prefix" msgstr "" -#: src/common/weeconfig.c:259 src/common/weeconfig.c:260 +#: src/common/weeconfig.c:266 src/common/weeconfig.c:267 msgid "color for middle char of prefix" msgstr "" -#: src/common/weeconfig.c:263 +#: src/common/weeconfig.c:270 msgid "color for nicks in actions" msgstr "" -#: src/common/weeconfig.c:264 +#: src/common/weeconfig.c:271 msgid "color for nicks in actions (chat window)" msgstr "" -#: src/common/weeconfig.c:267 +#: src/common/weeconfig.c:274 msgid "color for hostnames" msgstr "" -#: src/common/weeconfig.c:268 +#: src/common/weeconfig.c:275 msgid "color for hostnames (chat window)" msgstr "" -#: src/common/weeconfig.c:271 +#: src/common/weeconfig.c:278 msgid "color for channel names in actions" msgstr "" -#: src/common/weeconfig.c:272 +#: src/common/weeconfig.c:279 msgid "color for channel names in actions (chat window)" msgstr "" -#: src/common/weeconfig.c:275 +#: src/common/weeconfig.c:282 msgid "color for dark separators" msgstr "" -#: src/common/weeconfig.c:276 +#: src/common/weeconfig.c:283 msgid "color for dark separators (chat window)" msgstr "" -#: src/common/weeconfig.c:279 +#: src/common/weeconfig.c:286 msgid "color for highlighted nick" msgstr "" -#: src/common/weeconfig.c:280 +#: src/common/weeconfig.c:287 msgid "color for highlighted nick (chat window)" msgstr "" -#: src/common/weeconfig.c:283 +#: src/common/weeconfig.c:290 msgid "background for chat" msgstr "" -#: src/common/weeconfig.c:284 +#: src/common/weeconfig.c:291 msgid "background for chat window" msgstr "" -#: src/common/weeconfig.c:289 src/common/weeconfig.c:290 +#: src/common/weeconfig.c:296 src/common/weeconfig.c:297 msgid "color for status bar" msgstr "" -#: src/common/weeconfig.c:293 src/common/weeconfig.c:294 +#: src/common/weeconfig.c:300 src/common/weeconfig.c:301 msgid "color for status bar delimiters" msgstr "" -#: src/common/weeconfig.c:297 +#: src/common/weeconfig.c:304 msgid "color for window with new messages" msgstr "" -#: src/common/weeconfig.c:298 +#: src/common/weeconfig.c:305 msgid "color for window with new messages (status bar)" msgstr "" -#: src/common/weeconfig.c:301 +#: src/common/weeconfig.c:308 msgid "color for window with highlight" msgstr "" -#: src/common/weeconfig.c:302 +#: src/common/weeconfig.c:309 msgid "color for window with highlight (status bar)" msgstr "" -#: src/common/weeconfig.c:305 +#: src/common/weeconfig.c:312 msgid "color for window with new data (not messages)" msgstr "" -#: src/common/weeconfig.c:306 +#: src/common/weeconfig.c:313 msgid "color for window with new data (not messages) (status bar)" msgstr "" -#: src/common/weeconfig.c:309 +#: src/common/weeconfig.c:316 msgid "color for \"-MORE-\" text" msgstr "" -#: src/common/weeconfig.c:310 +#: src/common/weeconfig.c:317 msgid "color for window with new data (status bar)" msgstr "" -#: src/common/weeconfig.c:313 src/common/weeconfig.c:314 +#: src/common/weeconfig.c:320 src/common/weeconfig.c:321 msgid "background for status window" msgstr "" -#: src/common/weeconfig.c:319 src/common/weeconfig.c:320 +#: src/common/weeconfig.c:326 src/common/weeconfig.c:327 msgid "color for info bar text" msgstr "" -#: src/common/weeconfig.c:323 src/common/weeconfig.c:324 +#: src/common/weeconfig.c:330 src/common/weeconfig.c:331 +msgid "color for infobar delimiters" +msgstr "" + +#: src/common/weeconfig.c:334 src/common/weeconfig.c:335 msgid "color for info bar highlight notification" msgstr "" -#: src/common/weeconfig.c:327 src/common/weeconfig.c:328 +#: src/common/weeconfig.c:338 src/common/weeconfig.c:339 msgid "background for info bar window" msgstr "" -#: src/common/weeconfig.c:333 src/common/weeconfig.c:334 +#: src/common/weeconfig.c:344 src/common/weeconfig.c:345 msgid "color for input text" msgstr "" -#: src/common/weeconfig.c:337 src/common/weeconfig.c:338 +#: src/common/weeconfig.c:348 src/common/weeconfig.c:349 msgid "color for input text (channel name)" msgstr "" -#: src/common/weeconfig.c:341 src/common/weeconfig.c:342 +#: src/common/weeconfig.c:352 src/common/weeconfig.c:353 msgid "color for input text (nick name)" msgstr "" -#: src/common/weeconfig.c:345 src/common/weeconfig.c:346 +#: src/common/weeconfig.c:356 src/common/weeconfig.c:357 msgid "background for input window" msgstr "" -#: src/common/weeconfig.c:351 src/common/weeconfig.c:352 +#: src/common/weeconfig.c:362 src/common/weeconfig.c:363 msgid "color for nicknames" msgstr "" -#: src/common/weeconfig.c:355 src/common/weeconfig.c:356 +#: src/common/weeconfig.c:366 src/common/weeconfig.c:367 msgid "color for away nicknames" msgstr "" -#: src/common/weeconfig.c:359 +#: src/common/weeconfig.c:370 msgid "color for chan owner symbol" msgstr "" -#: src/common/weeconfig.c:360 +#: src/common/weeconfig.c:371 msgid "color for chan owner symbol (specific to unrealircd)" msgstr "" -#: src/common/weeconfig.c:363 +#: src/common/weeconfig.c:374 msgid "color for chan admin symbol" msgstr "" -#: src/common/weeconfig.c:364 +#: src/common/weeconfig.c:375 msgid "color for chan admin symbol (specific to unrealircd)" msgstr "" -#: src/common/weeconfig.c:367 src/common/weeconfig.c:368 +#: src/common/weeconfig.c:378 src/common/weeconfig.c:379 msgid "color for operator symbol" msgstr "" -#: src/common/weeconfig.c:371 src/common/weeconfig.c:372 +#: src/common/weeconfig.c:382 src/common/weeconfig.c:383 msgid "color for half-operator symbol" msgstr "" -#: src/common/weeconfig.c:375 src/common/weeconfig.c:376 +#: src/common/weeconfig.c:386 src/common/weeconfig.c:387 msgid "color for voice symbol" msgstr "" -#: src/common/weeconfig.c:379 src/common/weeconfig.c:380 +#: src/common/weeconfig.c:390 src/common/weeconfig.c:391 msgid "color for '+' when scrolling nicks" msgstr "" -#: src/common/weeconfig.c:383 src/common/weeconfig.c:384 +#: src/common/weeconfig.c:394 src/common/weeconfig.c:395 msgid "color for nick separator" msgstr "" -#: src/common/weeconfig.c:387 src/common/weeconfig.c:388 +#: src/common/weeconfig.c:398 src/common/weeconfig.c:399 msgid "color for local nick" msgstr "" -#: src/common/weeconfig.c:391 src/common/weeconfig.c:392 +#: src/common/weeconfig.c:402 src/common/weeconfig.c:403 msgid "color for other nick in private window" msgstr "" -#: src/common/weeconfig.c:395 src/common/weeconfig.c:396 +#: src/common/weeconfig.c:406 src/common/weeconfig.c:407 msgid "background for nicknames" msgstr "" -#: src/common/weeconfig.c:401 +#: src/common/weeconfig.c:412 msgid "color for selected DCC" msgstr "" -#: src/common/weeconfig.c:402 +#: src/common/weeconfig.c:413 msgid "color for selected DCC (chat window)" msgstr "" -#: src/common/weeconfig.c:405 src/common/weeconfig.c:406 +#: src/common/weeconfig.c:416 src/common/weeconfig.c:417 msgid "color for \"waiting\" dcc status" msgstr "" -#: src/common/weeconfig.c:409 src/common/weeconfig.c:410 +#: src/common/weeconfig.c:420 src/common/weeconfig.c:421 msgid "color for \"connecting\" dcc status" msgstr "" -#: src/common/weeconfig.c:413 src/common/weeconfig.c:414 +#: src/common/weeconfig.c:424 src/common/weeconfig.c:425 msgid "color for \"active\" dcc status" msgstr "" -#: src/common/weeconfig.c:417 src/common/weeconfig.c:418 +#: src/common/weeconfig.c:428 src/common/weeconfig.c:429 msgid "color for \"done\" dcc status" msgstr "" -#: src/common/weeconfig.c:421 src/common/weeconfig.c:422 +#: src/common/weeconfig.c:432 src/common/weeconfig.c:433 msgid "color for \"failed\" dcc status" msgstr "" -#: src/common/weeconfig.c:425 src/common/weeconfig.c:426 +#: src/common/weeconfig.c:436 src/common/weeconfig.c:437 msgid "color for \"aborted\" dcc status" msgstr "" -#: src/common/weeconfig.c:439 +#: src/common/weeconfig.c:450 msgid "max lines in history (per window)" msgstr "" -#: src/common/weeconfig.c:440 +#: src/common/weeconfig.c:451 msgid "" "maximum number of lines in history for one server/channel/private window (0 " "= unlimited)" msgstr "" -#: src/common/weeconfig.c:444 +#: src/common/weeconfig.c:455 msgid "max user commands in history" msgstr "" -#: src/common/weeconfig.c:445 +#: src/common/weeconfig.c:456 msgid "maximum number of user commands in history (0 = unlimited)" msgstr "" -#: src/common/weeconfig.c:462 src/common/weeconfig.c:463 +#: src/common/weeconfig.c:473 src/common/weeconfig.c:474 msgid "automatically log server messages" msgstr "" -#: src/common/weeconfig.c:466 src/common/weeconfig.c:467 +#: src/common/weeconfig.c:477 src/common/weeconfig.c:478 msgid "automatically log channel chats" msgstr "" -#: src/common/weeconfig.c:470 src/common/weeconfig.c:471 +#: src/common/weeconfig.c:481 src/common/weeconfig.c:482 msgid "automatically log private chats" msgstr "" -#: src/common/weeconfig.c:474 src/common/weeconfig.c:475 +#: src/common/weeconfig.c:485 src/common/weeconfig.c:486 msgid "log messages from plugins (scripts)" msgstr "" -#: src/common/weeconfig.c:478 +#: src/common/weeconfig.c:489 msgid "path for log files" msgstr "" -#: src/common/weeconfig.c:479 +#: src/common/weeconfig.c:490 msgid "path for WeeChat log files" msgstr "" -#: src/common/weeconfig.c:482 +#: src/common/weeconfig.c:493 msgid "timestamp for log" msgstr "" -#: src/common/weeconfig.c:483 +#: src/common/weeconfig.c:494 msgid "timestamp for log (see man strftime for date/time specifiers)" msgstr "" -#: src/common/weeconfig.c:486 src/common/weeconfig.c:487 +#: src/common/weeconfig.c:497 src/common/weeconfig.c:498 msgid "hide password displayed by nickserv" msgstr "" -#: src/common/weeconfig.c:506 +#: src/common/weeconfig.c:517 msgid "display message to all channels when away" msgstr "" -#: src/common/weeconfig.c:507 +#: src/common/weeconfig.c:518 msgid "display message to all channels when (un)marking as away" msgstr "" -#: src/common/weeconfig.c:510 src/common/weeconfig.c:511 +#: src/common/weeconfig.c:521 src/common/weeconfig.c:522 msgid "default message when away" msgstr "" -#: src/common/weeconfig.c:514 src/common/weeconfig.c:515 +#: src/common/weeconfig.c:525 src/common/weeconfig.c:526 msgid "default part message (leaving channel)" msgstr "" -#: src/common/weeconfig.c:518 +#: src/common/weeconfig.c:529 msgid "default quit message" msgstr "" -#: src/common/weeconfig.c:519 +#: src/common/weeconfig.c:530 msgid "" "default quit message ('%v' will be replaced by WeeChat version in string)" msgstr "" -#: src/common/weeconfig.c:522 +#: src/common/weeconfig.c:533 msgid "interval between two checks for away" msgstr "" -#: src/common/weeconfig.c:523 +#: src/common/weeconfig.c:534 msgid "interval between two checks for away (in minutes, 0 = never check)" msgstr "" -#: src/common/weeconfig.c:526 +#: src/common/weeconfig.c:537 msgid "interval between two checks for lag" msgstr "" -#: src/common/weeconfig.c:527 +#: src/common/weeconfig.c:538 msgid "interval between two checks for lag (in seconds)" msgstr "" -#: src/common/weeconfig.c:530 +#: src/common/weeconfig.c:541 msgid "minimum lag to show" msgstr "" -#: src/common/weeconfig.c:531 +#: src/common/weeconfig.c:542 msgid "minimum lag to show (in seconds)" msgstr "" -#: src/common/weeconfig.c:534 +#: src/common/weeconfig.c:545 msgid "disconnect after important lag" msgstr "" -#: src/common/weeconfig.c:535 +#: src/common/weeconfig.c:546 msgid "disconnect after important lag (in minutes, 0 = never disconnect)" msgstr "" -#: src/common/weeconfig.c:538 src/common/weeconfig.c:539 +#: src/common/weeconfig.c:549 src/common/weeconfig.c:550 msgid "create a FIFO pipe for remote control" msgstr "" -#: src/common/weeconfig.c:558 +#: src/common/weeconfig.c:569 msgid "automatically accept dcc files" msgstr "" -#: src/common/weeconfig.c:559 +#: src/common/weeconfig.c:570 msgid "automatically accept incoming dcc files" msgstr "" -#: src/common/weeconfig.c:562 +#: src/common/weeconfig.c:573 msgid "automatically accept dcc chats" msgstr "" -#: src/common/weeconfig.c:563 +#: src/common/weeconfig.c:574 msgid "automatically accept dcc chats (use carefully!)" msgstr "" -#: src/common/weeconfig.c:566 +#: src/common/weeconfig.c:577 msgid "timeout for dcc request" msgstr "" -#: src/common/weeconfig.c:567 +#: src/common/weeconfig.c:578 msgid "timeout for dcc request (in seconds)" msgstr "" -#: src/common/weeconfig.c:570 +#: src/common/weeconfig.c:581 msgid "block size for dcc packets" msgstr "" -#: src/common/weeconfig.c:571 +#: src/common/weeconfig.c:582 msgid "block size for dcc packets in bytes (default: 65536)" msgstr "" -#: src/common/weeconfig.c:574 +#: src/common/weeconfig.c:585 msgid "path for incoming files with dcc" msgstr "" -#: src/common/weeconfig.c:575 +#: src/common/weeconfig.c:586 msgid "path for writing incoming files with dcc (default: user home)" msgstr "" -#: src/common/weeconfig.c:578 +#: src/common/weeconfig.c:589 msgid "default path for sending files with dcc" msgstr "" -#: src/common/weeconfig.c:579 +#: src/common/weeconfig.c:590 msgid "" "path for reading files when sending thru dcc (when no path is specified)" msgstr "" -#: src/common/weeconfig.c:582 src/common/weeconfig.c:583 +#: src/common/weeconfig.c:593 src/common/weeconfig.c:594 msgid "convert spaces to underscores when sending files" msgstr "" -#: src/common/weeconfig.c:586 +#: src/common/weeconfig.c:597 msgid "automatically rename dcc files if already exists" msgstr "" -#: src/common/weeconfig.c:587 +#: src/common/weeconfig.c:598 msgid "rename incoming files if already exists (add '.1', '.2', ...)" msgstr "" -#: src/common/weeconfig.c:590 +#: src/common/weeconfig.c:601 msgid "automatically resume aborted transfers" msgstr "" -#: src/common/weeconfig.c:591 +#: src/common/weeconfig.c:602 msgid "" "automatically resume dcc transfer if connection with remote host is loosed" msgstr "" -#: src/common/weeconfig.c:610 +#: src/common/weeconfig.c:621 msgid "use proxy" msgstr "" -#: src/common/weeconfig.c:611 +#: src/common/weeconfig.c:622 msgid "use a proxy server to connect to irc server" msgstr "" -#: src/common/weeconfig.c:614 +#: src/common/weeconfig.c:625 msgid "proxy type" msgstr "" -#: src/common/weeconfig.c:615 +#: src/common/weeconfig.c:626 msgid "proxy type (http (default), socks4, socks5)" msgstr "" -#: src/common/weeconfig.c:618 +#: src/common/weeconfig.c:629 msgid "use ipv6 proxy" msgstr "" -#: src/common/weeconfig.c:619 +#: src/common/weeconfig.c:630 msgid "connect to proxy in ipv6" msgstr "" -#: src/common/weeconfig.c:622 +#: src/common/weeconfig.c:633 msgid "proxy address" msgstr "" -#: src/common/weeconfig.c:623 +#: src/common/weeconfig.c:634 msgid "proxy server address (IP or hostname)" msgstr "" -#: src/common/weeconfig.c:626 +#: src/common/weeconfig.c:637 msgid "port for proxy" msgstr "" -#: src/common/weeconfig.c:627 +#: src/common/weeconfig.c:638 msgid "port for connecting to proxy server" msgstr "" -#: src/common/weeconfig.c:630 +#: src/common/weeconfig.c:641 msgid "proxy username" msgstr "" -#: src/common/weeconfig.c:631 +#: src/common/weeconfig.c:642 msgid "username for proxy server" msgstr "" -#: src/common/weeconfig.c:634 +#: src/common/weeconfig.c:645 msgid "proxy password" msgstr "" -#: src/common/weeconfig.c:635 +#: src/common/weeconfig.c:646 msgid "password for proxy server" msgstr "" -#: src/common/weeconfig.c:646 +#: src/common/weeconfig.c:657 msgid "server name" msgstr "" -#: src/common/weeconfig.c:647 +#: src/common/weeconfig.c:658 msgid "name associated to IRC server (for display only)" msgstr "" -#: src/common/weeconfig.c:650 +#: src/common/weeconfig.c:661 msgid "automatically connect to server" msgstr "" -#: src/common/weeconfig.c:651 +#: src/common/weeconfig.c:662 msgid "automatically connect to server when WeeChat is starting" msgstr "" -#: src/common/weeconfig.c:654 +#: src/common/weeconfig.c:665 msgid "automatically reconnect to server" msgstr "" -#: src/common/weeconfig.c:655 +#: src/common/weeconfig.c:666 msgid "automatically reconnect to server when disconnected" msgstr "" -#: src/common/weeconfig.c:658 +#: src/common/weeconfig.c:669 msgid "delay before trying again to reconnect" msgstr "" -#: src/common/weeconfig.c:659 +#: src/common/weeconfig.c:670 msgid "delay (in seconds) before trying again to reconnect to server" msgstr "" -#: src/common/weeconfig.c:662 +#: src/common/weeconfig.c:673 msgid "server address or hostname" msgstr "" -#: src/common/weeconfig.c:663 +#: src/common/weeconfig.c:674 msgid "IP address or hostname of IRC server" msgstr "" -#: src/common/weeconfig.c:666 +#: src/common/weeconfig.c:677 msgid "port for IRC server" msgstr "" -#: src/common/weeconfig.c:667 +#: src/common/weeconfig.c:678 msgid "port for connecting to server" msgstr "" -#: src/common/weeconfig.c:670 src/common/weeconfig.c:671 +#: src/common/weeconfig.c:681 src/common/weeconfig.c:682 msgid "use IPv6 protocol for server communication" msgstr "" -#: src/common/weeconfig.c:674 src/common/weeconfig.c:675 +#: src/common/weeconfig.c:685 src/common/weeconfig.c:686 msgid "use SSL for server communication" msgstr "" -#: src/common/weeconfig.c:678 +#: src/common/weeconfig.c:689 msgid "server password" msgstr "" -#: src/common/weeconfig.c:679 +#: src/common/weeconfig.c:690 msgid "password for IRC server" msgstr "" -#: src/common/weeconfig.c:682 +#: src/common/weeconfig.c:693 msgid "nickname for server" msgstr "" -#: src/common/weeconfig.c:683 +#: src/common/weeconfig.c:694 msgid "nickname to use on IRC server" msgstr "" -#: src/common/weeconfig.c:686 +#: src/common/weeconfig.c:697 msgid "alternate nickname for server" msgstr "" -#: src/common/weeconfig.c:687 +#: src/common/weeconfig.c:698 msgid "alternate nickname to use on IRC server (if nickname is already used)" msgstr "" -#: src/common/weeconfig.c:690 +#: src/common/weeconfig.c:701 msgid "2nd alternate nickname for server" msgstr "" -#: src/common/weeconfig.c:691 +#: src/common/weeconfig.c:702 msgid "" "2nd alternate nickname to use on IRC server (if alternate nickname is " "already used)" msgstr "" -#: src/common/weeconfig.c:694 +#: src/common/weeconfig.c:705 msgid "user name for server" msgstr "" -#: src/common/weeconfig.c:695 +#: src/common/weeconfig.c:706 msgid "user name to use on IRC server" msgstr "" -#: src/common/weeconfig.c:698 +#: src/common/weeconfig.c:709 msgid "real name for server" msgstr "" -#: src/common/weeconfig.c:699 +#: src/common/weeconfig.c:710 msgid "real name to use on IRC server" msgstr "" -#: src/common/weeconfig.c:702 src/common/weeconfig.c:703 +#: src/common/weeconfig.c:713 src/common/weeconfig.c:714 msgid "first command to run when connected to server" msgstr "" -#: src/common/weeconfig.c:706 +#: src/common/weeconfig.c:717 msgid "delay (in seconds) after command was executed" msgstr "" -#: src/common/weeconfig.c:707 +#: src/common/weeconfig.c:718 msgid "" "delay (in seconds) after command was executed (example: give some time for " "authentication)" msgstr "" -#: src/common/weeconfig.c:710 +#: src/common/weeconfig.c:721 msgid "list of channels to join when connected to server" msgstr "" -#: src/common/weeconfig.c:711 +#: src/common/weeconfig.c:722 msgid "comma separated list of channels to join when connected to server" msgstr "" -#: src/common/weeconfig.c:714 src/common/weeconfig.c:715 +#: src/common/weeconfig.c:725 src/common/weeconfig.c:726 msgid "automatically rejoin channels when kicked" msgstr "" -#: src/common/weeconfig.c:718 +#: src/common/weeconfig.c:729 msgid "notify levels for channels of this server" msgstr "" -#: src/common/weeconfig.c:719 +#: src/common/weeconfig.c:730 msgid "" "comma separated list of notify levels for channels of this server (format: " "#channel:1,..)" msgstr "" -#: src/common/weeconfig.c:1177 +#: src/common/weeconfig.c:1190 #, c-format msgid "%s %s, line %d: new server, but previous was incomplete\n" msgstr "" -#: src/common/weeconfig.c:1186 +#: src/common/weeconfig.c:1199 #, c-format msgid "%s %s, line %d: server '%s' already exists\n" msgstr "" -#: src/common/weeconfig.c:1201 +#: src/common/weeconfig.c:1214 #, c-format msgid "%s %s, line %d: unable to create server\n" msgstr "" -#: src/common/weeconfig.c:1240 +#: src/common/weeconfig.c:1254 #, c-format msgid "%s unable to assign default int with string (\"%s\")\n" msgstr "" -#: src/common/weeconfig.c:1251 +#: src/common/weeconfig.c:1265 #, c-format msgid "%s unable to assign default color (\"%s\")\n" msgstr "" -#: src/common/weeconfig.c:1290 +#: src/common/weeconfig.c:1304 #, c-format msgid "%s config file \"%s\" not found.\n" msgstr "" -#: src/common/weeconfig.c:1322 +#: src/common/weeconfig.c:1336 #, c-format msgid "%s %s, line %d: invalid syntax, missing \"]\"\n" msgstr "" -#: src/common/weeconfig.c:1339 +#: src/common/weeconfig.c:1353 #, c-format msgid "%s %s, line %d: unknown section identifier (\"%s\")\n" msgstr "" -#: src/common/weeconfig.c:1357 +#: src/common/weeconfig.c:1371 #, c-format msgid "%s %s, line %d: invalid section for option, line is ignored\n" msgstr "" -#: src/common/weeconfig.c:1365 +#: src/common/weeconfig.c:1379 #, c-format msgid "%s %s, line %d: invalid syntax, missing \"=\"\n" msgstr "" -#: src/common/weeconfig.c:1399 +#: src/common/weeconfig.c:1427 #, c-format msgid "%s %s, line %d: invalid option \"%s\"\n" msgstr "" -#: src/common/weeconfig.c:1410 +#: src/common/weeconfig.c:1438 #, c-format msgid "" "%s %s, line %d: invalid value foroption '%s'\n" "Expected: boolean value: 'off' or 'on'\n" msgstr "" -#: src/common/weeconfig.c:1419 +#: src/common/weeconfig.c:1447 #, c-format msgid "" "%s %s, line %d: invalid value for option '%s'\n" "Expected: integer between %d and %d\n" msgstr "" -#: src/common/weeconfig.c:1430 +#: src/common/weeconfig.c:1458 #, c-format msgid "" "%s %s, line %d: invalid value for option '%s'\n" "Expected: one of these strings: " msgstr "" -#: src/common/weeconfig.c:1446 +#: src/common/weeconfig.c:1474 #, c-format msgid "%s %s, line %d: invalid color name for option '%s'\n" msgstr "" -#: src/common/weeconfig.c:1506 src/common/weeconfig.c:1677 +#: src/common/weeconfig.c:1536 src/common/weeconfig.c:1731 #, c-format msgid "%s cannot create file \"%s\"\n" msgstr "" -#: src/common/weeconfig.c:1512 +#: src/common/weeconfig.c:1542 #, c-format msgid "%s: creating default config file...\n" msgstr "" -#: src/common/weeconfig.c:1513 +#: src/common/weeconfig.c:1543 msgid "Creating default config file\n" msgstr "" -#: src/common/weeconfig.c:1516 src/common/weeconfig.c:1686 +#: src/common/weeconfig.c:1546 src/common/weeconfig.c:1740 #, c-format msgid "" "#\n" "# %s configuration file, created by %s v%s on %s#\n" msgstr "" -#: src/common/weeconfig.c:1683 +#: src/common/weeconfig.c:1737 msgid "Saving config to disk\n" msgstr "" diff --git a/src/common/command.c b/src/common/command.c index a8b97a134..977568fee 100644 --- a/src/common/command.c +++ b/src/common/command.c @@ -47,11 +47,11 @@ t_weechat_command weechat_commands[] = { "buffer", N_("manage buffers"), N_("[action | number]"), N_("action: action to do:\n" - " move: move buffer in the list (may be relative, for example -1)\n" - " close: close buffer (for channel: same as /part without part message)\n" - " list: list opened buffers (no parameter implies this list)\n" - " notify: set notify level for buffer (0=never, 1=highlight, 2=1+msg, 3=2+join/part)\n" - "number: jump to buffer by number"), + " move: move buffer in the list (may be relative, for example -1)\n" + " close: close buffer (for channel: same as /part without part message)\n" + " list: list opened buffers (no parameter implies this list)\n" + " notify: set notify level for buffer (0=never, 1=highlight, 2=1+msg, 3=2+join/part)\n" + "number: jump to buffer by number"), 0, MAX_ARGS, weechat_cmd_buffer, NULL }, { "clear", N_("clear window(s)"), N_("[-all]"), @@ -72,33 +72,40 @@ t_weechat_command weechat_commands[] = { "help", N_("display help about commands"), N_("[command]"), N_("command: name of a WeeChat or IRC command"), 0, 1, weechat_cmd_help, NULL }, + { "key", N_("bind/unbind keys"), + N_("[key function/command] [unbind key] [functions] [reset -yes]"), + N_("key: bind this key to an internal function or a command (beginning by \"/\")\n" + "unbind: unbind a key (if \"all\", default bindings are restored)\n" + "functions: list internal functions for key bindings\n" + "reset: restore bindings to the default values and delete ALL personal binding (use carefully!)"), + 0, MAX_ARGS, NULL, weechat_cmd_key }, { "perl", N_("list/load/unload Perl scripts"), N_("[load filename] | [autoload] | [reload] | [unload]"), N_("filename: Perl script (file) to load\n" - "Without argument, /perl command lists all loaded Perl scripts."), + "Without argument, /perl command lists all loaded Perl scripts."), 0, 2, weechat_cmd_perl, NULL }, { "python", N_("list/load/unload Python scripts"), N_("[load filename] | [autoload] | [reload] | [unload]"), N_("filename: Python script (file) to load\n" - "Without argument, /python command lists all loaded Python scripts."), + "Without argument, /python command lists all loaded Python scripts."), 0, 2, weechat_cmd_python, NULL }, { "server", N_("list, add or remove servers"), N_("[servername] | " - "[servername hostname port [-auto | -noauto] [-ipv6] [-ssl] [-pwd password] [-nicks nick1 " - "[nick2 [nick3]]] [-username username] [-realname realname] " - "[-command command] [-autojoin channel[,channel]] ] | " - "[del servername]"), + "[servername hostname port [-auto | -noauto] [-ipv6] [-ssl] [-pwd password] [-nicks nick1 " + "[nick2 [nick3]]] [-username username] [-realname realname] " + "[-command command] [-autojoin channel[,channel]] ] | " + "[del servername]"), N_("servername: server name, for internal & display use\n" - "hostname: name or IP address of server\n" - "port: port for server (integer)\n" - "ipv6: use IPv6 protocol\n" - "ssl: use SSL protocol\n" - "password: password for server\n" - "nick1: first nick for server\n" - "nick2: alternate nick for server\n" - "nick3: second alternate nick for server\n" - "username: user name\n" - "realname: real name of user"), + "hostname: name or IP address of server\n" + "port: port for server (integer)\n" + "ipv6: use IPv6 protocol\n" + "ssl: use SSL protocol\n" + "password: password for server\n" + "nick1: first nick for server\n" + "nick2: alternate nick for server\n" + "nick3: second alternate nick for server\n" + "username: user name\n" + "realname: real name of user"), 0, MAX_ARGS, weechat_cmd_server, NULL }, { "save", N_("save config to disk"), N_("[file]"), N_("file: filename for writing config"), @@ -111,11 +118,10 @@ t_weechat_command weechat_commands[] = 1, 1, NULL, weechat_cmd_unalias }, { "window", N_("manage windows"), N_("[list | splith | splitv | [merge [down | up | left | right | all]]]"), - N_( - "list: list opened windows (no parameter implies this list)\n" - "splith: split current window horizontally\n" - "splitv: split current window vertically\n" - "merge: merge window with another"), + N_("list: list opened windows (no parameter implies this list)\n" + "splith: split current window horizontally\n" + "splitv: split current window vertically\n" + "merge: merge window with another"), 0, 2, weechat_cmd_window, NULL }, { NULL, NULL, NULL, NULL, 0, 0, NULL, NULL } }; @@ -877,6 +883,7 @@ weechat_cmd_buffer (int argc, char **argv) t_irc_channel *ptr_channel; long number; char *error; + int target_buffer; if ((argc == 0) || ((argc == 1) && (strcasecmp (argv[0], "list") == 0))) { @@ -1049,26 +1056,41 @@ weechat_cmd_buffer (int argc, char **argv) { /* jump to buffer by number */ - error = NULL; - number = strtol (argv[0], &error, 10); - if ((error) && (error[0] == '\0')) + if (argv[0][0] == '-') { - if (!gui_switch_to_buffer_by_number (gui_current_window, (int) number)) + /* relative jump '-' */ + error = NULL; + number = strtol (argv[0] + 1, &error, 10); + if ((error) && (error[0] == '\0')) { - irc_display_prefix (NULL, PREFIX_ERROR); - gui_printf (NULL, - _("%s buffer \"%s\" not found for \"%s\" command\n"), - WEECHAT_ERROR, argv[0], "buffer"); - return -1; + target_buffer = gui_current_window->buffer->number - (int) number; + if (target_buffer < 1) + target_buffer = (last_gui_buffer) ? last_gui_buffer->number + target_buffer : 1; + gui_switch_to_buffer_by_number (gui_current_window, + target_buffer); + } + } + else if (argv[0][0] == '+') + { + /* relative jump '+' */ + error = NULL; + number = strtol (argv[0] + 1, &error, 10); + if ((error) && (error[0] == '\0')) + { + target_buffer = gui_current_window->buffer->number + (int) number; + if (last_gui_buffer && target_buffer > last_gui_buffer->number) + target_buffer -= last_gui_buffer->number; + gui_switch_to_buffer_by_number (gui_current_window, + target_buffer); } } else { - /* invalid number */ - irc_display_prefix (NULL, PREFIX_ERROR); - gui_printf (NULL, _("%s incorrect buffer number\n"), - WEECHAT_ERROR); - return -1; + /* absolute jump by number */ + error = NULL; + number = strtol (argv[0], &error, 10); + if ((error) && (error[0] == '\0')) + gui_switch_to_buffer_by_number (gui_current_window, (int) number); } } @@ -1323,6 +1345,138 @@ weechat_cmd_help (int argc, char **argv) } /* + * weechat_cmd_key_display: display a key binding + */ + +void +weechat_cmd_key_display (t_gui_key *key, int new_key) +{ + char *expanded_name; + + expanded_name = gui_key_get_expanded_name (key->key); + if (new_key) + { + gui_printf (NULL, _("New key binding:\n")); + gui_printf (NULL, " %s", (expanded_name) ? expanded_name : key->key); + } + else + gui_printf (NULL, " %20s", (expanded_name) ? expanded_name : key->key); + gui_printf_color (NULL, COLOR_WIN_CHAT_DARK, " => "); + gui_printf (NULL, "%s\n", + (key->function) ? + gui_key_function_search_by_ptr (key->function) : key->command); + if (expanded_name) + free (expanded_name); +} + +/* + * weechat_cmd_key: bind/unbind keys + */ + +int +weechat_cmd_key (char *arguments) +{ + char *pos; + int i; + t_gui_key *ptr_key; + + if (arguments) + { + while (arguments[0] == ' ') + arguments++; + } + + if (!arguments || (arguments[0] == '\0')) + { + gui_printf (NULL, "\n"); + gui_printf (NULL, _("Key bindings:\n")); + for (ptr_key = gui_keys; ptr_key; ptr_key = ptr_key->next_key) + { + weechat_cmd_key_display (ptr_key, 0); + } + } + else if (strncasecmp (arguments, "unbind ", 7) == 0) + { + arguments += 7; + while (arguments[0] == ' ') + arguments++; + if (gui_key_unbind (arguments)) + gui_printf (NULL, _("Key \"%s\" unbinded\n"), arguments); + else + { + irc_display_prefix (NULL, PREFIX_ERROR); + gui_printf (NULL, + _("%s unable to unbind key \"%s\"\n"), + WEECHAT_ERROR, arguments); + return -1; + } + } + else if (strcasecmp (arguments, "functions") == 0) + { + gui_printf (NULL, "\n"); + gui_printf (NULL, _("Internal key functions:\n")); + i = 0; + while (gui_key_functions[i].function_name) + { + gui_printf (NULL, " %s\n", + gui_key_functions[i].function_name); + i++; + } + } + else if (strncasecmp (arguments, "reset", 5) == 0) + { + arguments += 5; + while (arguments[0] == ' ') + arguments++; + if (strcmp (arguments, "-yes") == 0) + { + gui_key_free_all (); + gui_key_init (); + gui_printf (NULL, _("Default key bindings restored\n")); + } + else + { + irc_display_prefix (NULL, PREFIX_ERROR); + gui_printf (NULL, + _("%s \"-yes\" argument is required for keys reset (securuty reason)\n"), + WEECHAT_ERROR); + return -1; + } + } + else + { + while (arguments[0] == ' ') + arguments++; + pos = strchr (arguments, ' '); + if (!pos) + { + irc_display_prefix (NULL, PREFIX_ERROR); + gui_printf (NULL, + _("%s wrong argument count for \"%s\" command\n"), + WEECHAT_ERROR, "key"); + return -1; + } + pos[0] = '\0'; + pos++; + while (pos[0] == ' ') + pos++; + ptr_key = gui_key_bind (arguments, pos); + if (ptr_key) + weechat_cmd_key_display (ptr_key, 1); + else + { + irc_display_prefix (NULL, PREFIX_ERROR); + gui_printf (NULL, + _("%s unable to bind key \"%s\"\n"), + WEECHAT_ERROR, arguments); + return -1; + } + } + + return 0; +} + +/* * weechat_cmd_perl: list/load/unload Perl scripts */ @@ -1892,11 +2046,11 @@ weechat_cmd_server (int argc, char **argv) } /* - * weechat_set_cmd_display_option: display config option + * weechat_cmd_set_display_option: display config option */ void -weechat_set_cmd_display_option (t_config_option *option, char *prefix, void *value) +weechat_cmd_set_display_option (t_config_option *option, char *prefix, void *value) { char *color_name, *pos_nickserv, *pos_pwd, *value2; @@ -2039,7 +2193,7 @@ weechat_cmd_set (char *arguments) { ptr_option_value = config_get_server_option_ptr (ptr_server, weechat_options[CONFIG_SECTION_SERVER][i].option_name); - weechat_set_cmd_display_option (&weechat_options[CONFIG_SECTION_SERVER][i], + weechat_cmd_set_display_option (&weechat_options[CONFIG_SECTION_SERVER][i], ptr_server->name, ptr_option_value); } @@ -2080,7 +2234,7 @@ weechat_cmd_set (char *arguments) gui_printf_color (NULL, COLOR_WIN_CHAT_CHANNEL, "%s", config_get_section (ptr_option)); gui_printf_color (NULL, COLOR_WIN_CHAT_DARK, "]\n"); - weechat_set_cmd_display_option (ptr_option, NULL, NULL); + weechat_cmd_set_display_option (ptr_option, NULL, NULL); } else { @@ -2104,7 +2258,8 @@ weechat_cmd_set (char *arguments) for (i = 0; i < CONFIG_NUMBER_SECTIONS; i++) { section_displayed = 0; - if ((i != CONFIG_SECTION_ALIAS) && (i != CONFIG_SECTION_SERVER)) + if ((i != CONFIG_SECTION_KEYS) && (i != CONFIG_SECTION_ALIAS) + && (i != CONFIG_SECTION_SERVER)) { for (j = 0; weechat_options[i][j].option_name; j++) { @@ -2122,7 +2277,7 @@ weechat_cmd_set (char *arguments) gui_printf_color (NULL, COLOR_WIN_CHAT_DARK, "]\n"); section_displayed = 1; } - weechat_set_cmd_display_option (&weechat_options[i][j], NULL, NULL); + weechat_cmd_set_display_option (&weechat_options[i][j], NULL, NULL); number_found++; } } @@ -2155,7 +2310,7 @@ weechat_cmd_set (char *arguments) weechat_options[CONFIG_SECTION_SERVER][i].option_name); if (ptr_option_value) { - weechat_set_cmd_display_option (&weechat_options[CONFIG_SECTION_SERVER][i], + weechat_cmd_set_display_option (&weechat_options[CONFIG_SECTION_SERVER][i], ptr_server->name, ptr_option_value); number_found++; @@ -2288,6 +2443,10 @@ weechat_cmd_window (int argc, char **argv) else gui_window_merge_auto (gui_current_window); } + else if (strcasecmp (argv[0], "-1") == 0) + gui_switch_to_previous_window (); + else if (strcasecmp (argv[0], "+1") == 0) + gui_switch_to_next_window (); else { irc_display_prefix (NULL, PREFIX_ERROR); diff --git a/src/common/command.h b/src/common/command.h index aac5701fb..f839f4ab2 100644 --- a/src/common/command.h +++ b/src/common/command.h @@ -69,6 +69,7 @@ extern int weechat_cmd_connect (int, char **); extern int weechat_cmd_debug (int, char **); extern int weechat_cmd_disconnect (int, char **); extern int weechat_cmd_help (int, char **); +extern int weechat_cmd_key (char *); extern int weechat_cmd_perl (int, char **); extern int weechat_cmd_python (int, char **); extern int weechat_cmd_save (int, char **); diff --git a/src/common/completion.c b/src/common/completion.c index 477f42ffc..ef3838b51 100644 --- a/src/common/completion.c +++ b/src/common/completion.c @@ -201,6 +201,23 @@ completion_build_list (t_completion *completion, void *channel) } return; } + if ((strcasecmp (completion->base_command, "key") == 0) + && (completion->base_command_arg == 1)) + { + weelist_add (&completion->completion_list, + &completion->last_completion, + "bind"); + weelist_add (&completion->completion_list, + &completion->last_completion, + "unbind"); + weelist_add (&completion->completion_list, + &completion->last_completion, + "functions"); + weelist_add (&completion->completion_list, + &completion->last_completion, + "reset"); + return; + } if (((strcasecmp (completion->base_command, "perl") == 0) || (strcasecmp (completion->base_command, "python") == 0)) && (completion->base_command_arg == 1)) @@ -225,7 +242,8 @@ completion_build_list (t_completion *completion, void *channel) { for (i = 0; i < CONFIG_NUMBER_SECTIONS; i++) { - if ((i != CONFIG_SECTION_ALIAS) && (i != CONFIG_SECTION_SERVER)) + if ((i != CONFIG_SECTION_KEYS) && (i != CONFIG_SECTION_ALIAS) + && (i != CONFIG_SECTION_SERVER)) { for (j = 0; weechat_options[i][j].option_name; j++) { diff --git a/src/common/weechat.c b/src/common/weechat.c index 1a8db3385..0eb311d25 100644 --- a/src/common/weechat.c +++ b/src/common/weechat.c @@ -314,6 +314,47 @@ void wee_display_commands (int weechat_cmd, int irc_cmd) } /* + * wee_display_key_functions: display WeeChat key functions + */ + +void wee_display_key_functions () +{ + int i; + + printf (_("Internal key functions:\n")); + printf ("\n"); + i = 0; + while (gui_key_functions[i].function_name) + { + printf (" %s\n", + gui_key_functions[i].function_name); + i++; + } +} + +/* + * wee_display_keys: display WeeChat default keys + */ + +void wee_display_keys () +{ + t_gui_key *ptr_key; + char *expanded_name; + + printf (_("%s default keys:\n"), PACKAGE_NAME); + printf ("\n"); + for (ptr_key = gui_keys; ptr_key; ptr_key = ptr_key->next_key) + { + expanded_name = gui_key_get_expanded_name (ptr_key->key); + printf (" %20s => %s\n", + (expanded_name) ? expanded_name : ptr_key->key, + (ptr_key->function) ? gui_key_function_search_by_ptr (ptr_key->function) : ptr_key->command); + if (expanded_name) + free (expanded_name); + } +} + +/* * wee_parse_args: parse command line args */ @@ -333,6 +374,12 @@ wee_parse_args (int argc, char *argv[]) wee_display_config_options (); wee_shutdown (EXIT_SUCCESS); } + else if ((strcmp (argv[i], "-f") == 0) + || (strcmp (argv[i], "--key-functions") == 0)) + { + wee_display_key_functions (); + wee_shutdown (EXIT_SUCCESS); + } else if ((strcmp (argv[i], "-h") == 0) || (strcmp (argv[i], "--help") == 0)) { @@ -340,12 +387,18 @@ wee_parse_args (int argc, char *argv[]) printf ("%s", WEE_USAGE2); wee_shutdown (EXIT_SUCCESS); } - if ((strcmp (argv[i], "-i") == 0) + else if ((strcmp (argv[i], "-i") == 0) || (strcmp (argv[i], "--irc-commands") == 0)) { wee_display_commands (0, 1); wee_shutdown (EXIT_SUCCESS); } + else if ((strcmp (argv[i], "-k") == 0) + || (strcmp (argv[i], "--keys") == 0)) + { + wee_display_keys (); + wee_shutdown (EXIT_SUCCESS); + } else if ((strcmp (argv[i], "-l") == 0) || (strcmp (argv[i], "--license") == 0)) { @@ -358,7 +411,7 @@ wee_parse_args (int argc, char *argv[]) printf (PACKAGE_VERSION "\n"); wee_shutdown (EXIT_SUCCESS); } - if ((strcmp (argv[i], "-w") == 0) + else if ((strcmp (argv[i], "-w") == 0) || (strcmp (argv[i], "--weechat-commands") == 0)) { wee_display_commands (1, 0); @@ -771,6 +824,7 @@ main (int argc, char *argv[]) signal (SIGSEGV, my_sigsegv); /* crash dump when SIGSEGV is received */ gui_pre_init (&argc, &argv); /* pre-initiliaze interface */ wee_init_vars (); /* initialize some variables */ + gui_key_init (); /* init keyboard (default key bindings) */ wee_parse_args (argc, argv); /* parse command line args */ wee_create_home_dirs (); /* create WeeChat directories */ wee_init_log (); /* init log file */ diff --git a/src/common/weechat.h b/src/common/weechat.h index ead962144..569ba7728 100644 --- a/src/common/weechat.h +++ b/src/common/weechat.h @@ -90,8 +90,10 @@ #define WEE_USAGE2 \ " -c, --config display config file options\n" \ - " -h, --help this help screen\n" \ + " -f, --key-functions display WeeChat internal functions for keys\n" \ + " -h, --help this help\n" \ " -i, --irc-commands display IRC commands\n" \ + " -k, --keys display WeeChat default keys\n" \ " -l, --license display WeeChat license\n" \ " -v, --version display WeeChat version\n" \ " -w, --weechat-commands display WeeChat commands\n\n" diff --git a/src/common/weeconfig.c b/src/common/weeconfig.c index d35afe62a..dbbe51c8f 100644 --- a/src/common/weeconfig.c +++ b/src/common/weeconfig.c @@ -53,6 +53,7 @@ t_config_section config_sections[CONFIG_NUMBER_SECTIONS] = { CONFIG_SECTION_IRC, "irc" }, { CONFIG_SECTION_DCC, "dcc" }, { CONFIG_SECTION_PROXY, "proxy" }, + { CONFIG_SECTION_KEYS, "keys" }, { CONFIG_SECTION_ALIAS, "alias" }, { CONFIG_SECTION_SERVER, "server" } }; @@ -82,6 +83,7 @@ char *cfg_look_no_nickname; char *cfg_look_completor; int cfg_look_infobar; char *cfg_look_infobar_timestamp; +int cfg_look_infobar_seconds; int cfg_look_infobar_delay_highlight; t_config_option weechat_options_look[] = @@ -170,7 +172,11 @@ t_config_option weechat_options_look[] = { "look_infobar_timestamp", N_("timestamp for time in infobar"), N_("timestamp for time in infobar"), OPTION_TYPE_STRING, 0, 0, 0, - "%B, %A %d %Y - %H:%M", NULL, NULL, &cfg_look_infobar_timestamp, config_change_buffer_content }, + "%B, %A %d %Y", NULL, NULL, &cfg_look_infobar_timestamp, config_change_buffer_content }, + { "look_infobar_seconds", N_("display seconds in infobar time"), + N_("display seconds in infobar time"), + OPTION_TYPE_BOOLEAN, BOOL_FALSE, BOOL_TRUE, BOOL_TRUE, + NULL, NULL, &cfg_look_infobar_seconds, NULL, config_change_buffer_content }, { "look_infobar_delay_highlight", N_("delay (in seconds) for highlight messages in infobar"), N_("delay (in seconds) for highlight messages in infobar " "(0 = disable highlight notifications in infobar)"), @@ -202,6 +208,7 @@ int cfg_col_status_data_other; int cfg_col_status_more; int cfg_col_status_bg; int cfg_col_infobar; +int cfg_col_infobar_delimiters; int cfg_col_infobar_highlight; int cfg_col_infobar_bg; int cfg_col_input; @@ -320,6 +327,10 @@ t_config_option weechat_options_colors[] = N_("color for info bar text"), OPTION_TYPE_COLOR, 0, 0, 0, "black", NULL, &cfg_col_infobar, NULL, &config_change_color }, + { "col_infobar_delimiters", N_("color for infobar delimiters"), + N_("color for infobar delimiters"), + OPTION_TYPE_COLOR, 0, 0, 0, + "blue", NULL, &cfg_col_infobar_delimiters, NULL, &config_change_color }, { "col_infobar_highlight", N_("color for info bar highlight notification"), N_("color for info bar highlight notification"), OPTION_TYPE_COLOR, 0, 0, 0, @@ -727,7 +738,7 @@ t_config_option weechat_options_server[] = t_config_option *weechat_options[CONFIG_NUMBER_SECTIONS] = { weechat_options_look, weechat_options_colors, weechat_options_history, weechat_options_log, weechat_options_irc, weechat_options_dcc, - weechat_options_proxy, NULL, weechat_options_server + weechat_options_proxy, NULL, NULL, weechat_options_server }; @@ -763,7 +774,8 @@ config_get_section (t_config_option *ptr_option) for (i = 0; i < CONFIG_NUMBER_SECTIONS; i++) { - if ((i != CONFIG_SECTION_ALIAS) && (i != CONFIG_SECTION_SERVER)) + if ((i != CONFIG_SECTION_KEYS) && (i != CONFIG_SECTION_ALIAS) + && (i != CONFIG_SECTION_SERVER)) { for (j = 0; weechat_options[i][j].option_name; j++) { @@ -1057,7 +1069,8 @@ config_option_search (char *option_name) for (i = 0; i < CONFIG_NUMBER_SECTIONS; i++) { - if ((i != CONFIG_SECTION_ALIAS) && (i != CONFIG_SECTION_SERVER)) + if ((i != CONFIG_SECTION_KEYS) && (i != CONFIG_SECTION_ALIAS) + && (i != CONFIG_SECTION_SERVER)) { for (j = 0; weechat_options[i][j].option_name; j++) { @@ -1220,7 +1233,8 @@ config_default_values () for (i = 0; i < CONFIG_NUMBER_SECTIONS; i++) { - if ((i != CONFIG_SECTION_ALIAS) && (i != CONFIG_SECTION_SERVER)) + if ((i != CONFIG_SECTION_KEYS) && (i != CONFIG_SECTION_ALIAS) + && (i != CONFIG_SECTION_SERVER)) { for (j = 0; weechat_options[i][j].option_name; j++) { @@ -1375,8 +1389,22 @@ config_read () if (pos2 != NULL) pos2[0] = '\0'; - if (section == CONFIG_SECTION_ALIAS) + if (section == CONFIG_SECTION_KEYS) { + if (pos[0]) + { + /* bind key (overwrite any binding with same key) */ + gui_key_bind (line, pos); + } + else + { + /* unbin key if no value given */ + gui_key_unbind (line); + } + } + else if (section == CONFIG_SECTION_ALIAS) + { + /* create new alias */ if (alias_new (line, pos)) weelist_add (&index_commands, &last_index_command, line); } @@ -1493,6 +1521,8 @@ config_create_default () time_t current_time; struct passwd *my_passwd; char *realname, *pos; + t_gui_key *ptr_key; + char *expanded_name, *function_name; filename_length = strlen (weechat_home) + 64; filename = @@ -1520,7 +1550,8 @@ config_create_default () for (i = 0; i < CONFIG_NUMBER_SECTIONS; i++) { - if ((i != CONFIG_SECTION_ALIAS) && (i != CONFIG_SECTION_SERVER)) + if ((i != CONFIG_SECTION_KEYS) && (i != CONFIG_SECTION_ALIAS) + && (i != CONFIG_SECTION_SERVER)) { fprintf (file, "\n[%s]\n", config_sections[i].section_name); for (j = 0; weechat_options[i][j].option_name; j++) @@ -1550,6 +1581,27 @@ config_create_default () } } + /* default key bindings */ + fprintf (file, "\n[keys]\n"); + for (ptr_key = gui_keys; ptr_key; ptr_key = ptr_key->next_key) + { + expanded_name = gui_key_get_expanded_name (ptr_key->key); + if (ptr_key->function) + { + function_name = gui_key_function_search_by_ptr (ptr_key->function); + if (function_name) + fprintf (file, "%s=%s\n", + (expanded_name) ? expanded_name : ptr_key->key, + function_name); + } + else + fprintf (file, "%s=%s\n", + (expanded_name) ? expanded_name : ptr_key->key, + ptr_key->command); + if (expanded_name) + free (expanded_name); + } + /* default aliases */ /* TODO: remove comments when missing commands will be ok */ fprintf (file, "\n[alias]\n"); @@ -1560,20 +1612,20 @@ config_create_default () fprintf (file, "C=clear\n"); fprintf (file, "CL=clear\n"); fprintf (file, "CLOSE=buffer close\n"); - fprintf (file, "# CHAT=dcc chat\n"); + fprintf (file, "CHAT=dcc chat\n"); fprintf (file, "# GET=dcc get\n"); fprintf (file, "# IG=ignore\n"); fprintf (file, "J=join\n"); fprintf (file, "K=kick\n"); - fprintf (file, "# KB=kickban\n"); + fprintf (file, "KB=kickban\n"); fprintf (file, "# KN=knockout\n"); fprintf (file, "LEAVE=part\n"); fprintf (file, "M=msg\n"); - fprintf (file, "# MUB=unban *\n"); + fprintf (file, "MUB=unban *\n"); fprintf (file, "N=names\n"); fprintf (file, "Q=query\n"); fprintf (file, "T=topic\n"); - fprintf (file, "# UB=unban\n"); + fprintf (file, "UB=unban\n"); fprintf (file, "# UNIG=unignore\n"); fprintf (file, "W=who\n"); fprintf (file, "WC=part\n"); @@ -1658,6 +1710,8 @@ config_write (char *config_name) time_t current_time; t_irc_server *ptr_server; t_weechat_alias *ptr_alias; + t_gui_key *ptr_key; + char *expanded_name, *function_name; if (config_name) filename = strdup (config_name); @@ -1690,7 +1744,8 @@ config_write (char *config_name) for (i = 0; i < CONFIG_NUMBER_SECTIONS; i++) { - if ((i != CONFIG_SECTION_ALIAS) && (i != CONFIG_SECTION_SERVER)) + if ((i != CONFIG_SECTION_KEYS) && (i != CONFIG_SECTION_ALIAS) + && (i != CONFIG_SECTION_SERVER)) { fprintf (file, "\n[%s]\n", config_sections[i].section_name); for (j = 0; weechat_options[i][j].option_name; j++) @@ -1737,6 +1792,27 @@ config_write (char *config_name) } } + /* keys section */ + fprintf (file, "\n[keys]\n"); + for (ptr_key = gui_keys; ptr_key; ptr_key = ptr_key->next_key) + { + expanded_name = gui_key_get_expanded_name (ptr_key->key); + if (ptr_key->function) + { + function_name = gui_key_function_search_by_ptr (ptr_key->function); + if (function_name) + fprintf (file, "%s=%s\n", + (expanded_name) ? expanded_name : ptr_key->key, + function_name); + } + else + fprintf (file, "%s=%s\n", + (expanded_name) ? expanded_name : ptr_key->key, + ptr_key->command); + if (expanded_name) + free (expanded_name); + } + /* alias section */ fprintf (file, "\n[alias]\n"); for (ptr_alias = weechat_alias; ptr_alias; diff --git a/src/common/weeconfig.h b/src/common/weeconfig.h index 9d25aea60..5a8c98684 100644 --- a/src/common/weeconfig.h +++ b/src/common/weeconfig.h @@ -33,9 +33,10 @@ #define CONFIG_SECTION_IRC 4 #define CONFIG_SECTION_DCC 5 #define CONFIG_SECTION_PROXY 6 -#define CONFIG_SECTION_ALIAS 7 -#define CONFIG_SECTION_SERVER 8 -#define CONFIG_NUMBER_SECTIONS 9 +#define CONFIG_SECTION_KEYS 7 +#define CONFIG_SECTION_ALIAS 8 +#define CONFIG_SECTION_SERVER 9 +#define CONFIG_NUMBER_SECTIONS 10 #define OPTION_TYPE_BOOLEAN 1 /* values: on/off */ #define OPTION_TYPE_INT 2 /* values: from min to max */ @@ -97,6 +98,7 @@ extern char *cfg_look_no_nickname; extern char *cfg_look_completor; extern int cfg_look_infobar; extern char *cfg_look_infobar_timestamp; +extern int cfg_look_infobar_seconds; extern int cfg_look_infobar_delay_highlight; extern int cfg_col_title; @@ -120,6 +122,7 @@ extern int cfg_col_status_data_other; extern int cfg_col_status_more; extern int cfg_col_status_bg; extern int cfg_col_infobar; +extern int cfg_col_infobar_delimiters; extern int cfg_col_infobar_highlight; extern int cfg_col_infobar_bg; extern int cfg_col_input; diff --git a/src/gui/Makefile.am b/src/gui/Makefile.am index 383493cc4..76367847a 100644 --- a/src/gui/Makefile.am +++ b/src/gui/Makefile.am @@ -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-keyboard.c \ gui.h if GUI_NCURSES diff --git a/src/gui/curses/Makefile.am b/src/gui/curses/Makefile.am index 01eaaa35d..4bef0cdc9 100644 --- a/src/gui/curses/Makefile.am +++ b/src/gui/curses/Makefile.am @@ -19,7 +19,7 @@ INCLUDES = -DLOCALEDIR=\"$(datadir)/locale\" bin_PROGRAMS = weechat-curses -weechat_curses_LDADD = ../lib_weechat_gui_common.a \ +weechat_curses_LDADD = ../gui-common.o ../gui-keyboard.o \ ../../common/lib_weechat_main.a \ ../../irc/lib_weechat_irc.a \ $(NCURSES_LIBS) \ @@ -27,4 +27,4 @@ weechat_curses_LDADD = ../lib_weechat_gui_common.a \ $(GNUTLS_LIBS) weechat_curses_SOURCES = gui-display.c \ - gui-input.c + gui-input.c diff --git a/src/gui/curses/gui-display.c b/src/gui/curses/gui-display.c index a9873c601..6bfef6c0c 100644 --- a/src/gui/curses/gui-display.c +++ b/src/gui/curses/gui-display.c @@ -318,7 +318,7 @@ gui_draw_window_separator (t_gui_window *window) window->win_x - 1); gui_window_set_color (window->win_separator, COLOR_WIN_TITLE); wborder (window->win_separator, ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' '); - wrefresh (window->win_separator); + wnoutrefresh (window->win_separator); refresh (); } } @@ -341,15 +341,9 @@ gui_draw_buffer_title (t_gui_buffer *buffer, int erase) if (ptr_win->buffer == buffer) { if (erase) - gui_curses_window_clear (ptr_win->win_title); + gui_curses_window_clear (ptr_win->win_title); - if (has_colors ()) - { - gui_window_set_color (ptr_win->win_title, COLOR_WIN_TITLE); - wborder (ptr_win->win_title, ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' '); - wrefresh (ptr_win->win_title); - refresh (); - } + gui_window_set_color (ptr_win->win_title, COLOR_WIN_TITLE); snprintf (format, 32, "%%-%ds", ptr_win->win_width); if (CHANNEL(buffer)) { @@ -362,6 +356,8 @@ gui_draw_buffer_title (t_gui_buffer *buffer, int erase) mvwprintw (ptr_win->win_title, 0, 0, format, buf); free (buf); } + else + mvwprintw (ptr_win->win_title, 0, 0, format, " "); } else { @@ -372,8 +368,10 @@ gui_draw_buffer_title (t_gui_buffer *buffer, int erase) PACKAGE_STRING " " WEECHAT_COPYRIGHT_DATE " - " WEECHAT_WEBSITE); } + else + mvwprintw (ptr_win->win_title, 0, 0, format, " "); } - wrefresh (ptr_win->win_title); + wnoutrefresh (ptr_win->win_title); refresh (); } } @@ -860,7 +858,7 @@ gui_draw_buffer_chat (t_gui_buffer *buffer, int erase) ptr_win->win_chat_cursor_y = ptr_win->win_chat_height - 1; } } - wrefresh (ptr_win->win_chat); + wnoutrefresh (ptr_win->win_chat); refresh (); } } @@ -1058,7 +1056,7 @@ gui_draw_buffer_nick (t_gui_buffer *buffer, int erase) } } } - wrefresh (ptr_win->win_nick); + wnoutrefresh (ptr_win->win_nick); refresh (); } } @@ -1087,12 +1085,8 @@ gui_draw_buffer_status (t_gui_buffer *buffer, int erase) if (erase) gui_curses_window_clear (ptr_win->win_status); - if (has_colors ()) - { - gui_window_set_color (ptr_win->win_status, COLOR_WIN_STATUS); - wborder (ptr_win->win_status, ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' '); - wrefresh (ptr_win->win_status); - } + gui_window_set_color (ptr_win->win_status, COLOR_WIN_STATUS); + wborder (ptr_win->win_status, ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' '); wmove (ptr_win->win_status, 0, 0); /* display number of buffers */ @@ -1224,17 +1218,20 @@ gui_draw_buffer_status (t_gui_buffer *buffer, int erase) if (!SERVER(ptr_win->buffer)) { gui_window_set_color (ptr_win->win_status, COLOR_WIN_STATUS); + wprintw (ptr_win->win_status, "%d", + ptr_win->buffer->number); + 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); if (ptr_win->buffer->dcc) - wprintw (ptr_win->win_status, "%d:<DCC> ", - ptr_win->buffer->number); + wprintw (ptr_win->win_status, "<DCC> "); else { string = weechat_convert_encoding (cfg_look_charset_decode, (cfg_look_charset_internal && cfg_look_charset_internal[0]) ? cfg_look_charset_internal : local_charset, - _("%d:[not connected] ")); - wprintw (ptr_win->win_status, string, - ptr_win->buffer->number); + _("[not connected]")); + wprintw (ptr_win->win_status, "%s " , string); free (string); } } @@ -1344,12 +1341,49 @@ gui_draw_buffer_status (t_gui_buffer *buffer, int erase) } free (string); - wrefresh (ptr_win->win_status); + wnoutrefresh (ptr_win->win_status); refresh (); } } /* + * gui_draw_buffer_infobar_time: draw time in infobar window + */ + +void +gui_draw_buffer_infobar_time (t_gui_buffer *buffer) +{ + t_gui_window *ptr_win; + time_t time_seconds; + struct tm *local_time; + + /* make gcc happy */ + (void) buffer; + + if (!gui_ok) + return; + + for (ptr_win = gui_windows; ptr_win; ptr_win = ptr_win->next_window) + { + time_seconds = time (NULL); + local_time = localtime (&time_seconds); + if (local_time) + { + gui_window_set_color (ptr_win->win_infobar, COLOR_WIN_INFOBAR); + mvwprintw (ptr_win->win_infobar, + 0, 1, + "%02d:%02d", + local_time->tm_hour, local_time->tm_min); + if (cfg_look_infobar_seconds) + wprintw (ptr_win->win_infobar, + ":%02d", + local_time->tm_sec); + } + wnoutrefresh (ptr_win->win_infobar); + } +} + +/* * gui_draw_buffer_infobar: draw infobar window for a buffer */ @@ -1376,7 +1410,7 @@ gui_draw_buffer_infobar (t_gui_buffer *buffer, int erase) { gui_window_set_color (ptr_win->win_infobar, COLOR_WIN_INFOBAR); wborder (ptr_win->win_infobar, ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' '); - wrefresh (ptr_win->win_infobar); + wnoutrefresh (ptr_win->win_infobar); } wmove (ptr_win->win_infobar, 0, 0); @@ -1385,16 +1419,31 @@ gui_draw_buffer_infobar (t_gui_buffer *buffer, int erase) if (local_time) { strftime (text_time, 1024, cfg_look_infobar_timestamp, local_time); + gui_window_set_color (ptr_win->win_infobar, COLOR_WIN_INFOBAR_DELIMITERS); + wprintw (ptr_win->win_infobar, "["); + gui_window_set_color (ptr_win->win_infobar, COLOR_WIN_INFOBAR); + wprintw (ptr_win->win_infobar, + "%02d:%02d", + local_time->tm_hour, local_time->tm_min); + if (cfg_look_infobar_seconds) + wprintw (ptr_win->win_infobar, + ":%02d", + local_time->tm_sec); + gui_window_set_color (ptr_win->win_infobar, COLOR_WIN_INFOBAR_DELIMITERS); + wprintw (ptr_win->win_infobar, "]"); gui_window_set_color (ptr_win->win_infobar, COLOR_WIN_INFOBAR); - wprintw (ptr_win->win_infobar, "%s", text_time); + wprintw (ptr_win->win_infobar, + " %s", text_time); } if (gui_infobar) { + gui_window_set_color (ptr_win->win_infobar, COLOR_WIN_INFOBAR_DELIMITERS); + wprintw (ptr_win->win_infobar, " | "); gui_window_set_color (ptr_win->win_infobar, gui_infobar->color); - wprintw (ptr_win->win_infobar, " | %s", gui_infobar->text); + wprintw (ptr_win->win_infobar, "%s", gui_infobar->text); } - wrefresh (ptr_win->win_infobar); + wnoutrefresh (ptr_win->win_infobar); refresh (); } } @@ -1445,7 +1494,7 @@ gui_draw_buffer_input (t_gui_buffer *buffer, int erase) { gui_window_set_color (ptr_win->win_input, COLOR_WIN_INPUT); wborder (ptr_win->win_input, ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' '); - wrefresh (ptr_win->win_input); + wnoutrefresh (ptr_win->win_input); } if (buffer->input_buffer_size == 0) @@ -1488,11 +1537,12 @@ gui_draw_buffer_input (t_gui_buffer *buffer, int erase) SERVER(buffer)->nick, ""); wclrtoeol (ptr_win->win_input); + ptr_win->win_input_x = strlen (CHANNEL(buffer)->name) + + 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, - ptr_win->win_x + strlen (CHANNEL(buffer)->name) + - strlen (SERVER(buffer)->nick) + 3 + - (buffer->input_buffer_pos - buffer->input_buffer_1st_display)); + ptr_win->win_x + ptr_win->win_input_x); } else { @@ -1523,6 +1573,7 @@ gui_draw_buffer_input (t_gui_buffer *buffer, int erase) wprintw (ptr_win->win_input, _(" [P] Purge old DCC")); wprintw (ptr_win->win_input, _(" [Q] Close DCC view")); wclrtoeol (ptr_win->win_input); + ptr_win->win_input_x = 0; if (ptr_win == gui_current_window) move (ptr_win->win_y + ptr_win->win_height - 1, ptr_win->win_x); @@ -1543,14 +1594,15 @@ gui_draw_buffer_input (t_gui_buffer *buffer, int erase) ptr_nickname, ""); wclrtoeol (ptr_win->win_input); + ptr_win->win_input_x = 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, - ptr_win->win_x + strlen (ptr_nickname) + 2 + - (buffer->input_buffer_pos - buffer->input_buffer_1st_display)); + ptr_win->win_x + ptr_win->win_input_x); } } - wrefresh (ptr_win->win_input); + wnoutrefresh (ptr_win->win_input); refresh (); } } @@ -1728,215 +1780,143 @@ gui_switch_to_dcc_buffer () } /* - * gui_switch_to_previous_buffer: switch to previous buffer - */ - -void -gui_switch_to_previous_buffer (t_gui_window *window) -{ - if (!gui_ok) - return; - - /* if only one buffer then return */ - if (gui_buffers == last_gui_buffer) - return; - - if (window->buffer->prev_buffer) - gui_switch_to_buffer (window, window->buffer->prev_buffer); - else - gui_switch_to_buffer (window, last_gui_buffer); - - gui_redraw_buffer (window->buffer); -} - -/* - * gui_switch_to_next_buffer: switch to next buffer - */ - -void -gui_switch_to_next_buffer (t_gui_window *window) -{ - if (!gui_ok) - return; - - /* if only one buffer then return */ - if (gui_buffers == last_gui_buffer) - return; - - if (window->buffer->next_buffer) - gui_switch_to_buffer (window, window->buffer->next_buffer); - else - gui_switch_to_buffer (window, gui_buffers); - - gui_redraw_buffer (window->buffer); -} - -/* - * gui_switch_to_previous_window: switch to previous window - */ - -void -gui_switch_to_previous_window (t_gui_window *window) -{ - if (!gui_ok) - return; - - /* if only one window then return */ - if (gui_windows == last_gui_window) - return; - - gui_current_window = (window->prev_window) ? window->prev_window : last_gui_window; - gui_switch_to_buffer (gui_current_window, gui_current_window->buffer); - gui_redraw_buffer (gui_current_window->buffer); -} - -/* - * gui_switch_to_next_window: switch to next window + * gui_input_page_up: display previous page on buffer */ void -gui_switch_to_next_window (t_gui_window *window) +gui_input_page_up () { if (!gui_ok) return; - /* if only one window then return */ - if (gui_windows == last_gui_window) - return; - - gui_current_window = (window->next_window) ? window->next_window : gui_windows; - gui_switch_to_buffer (gui_current_window, gui_current_window->buffer); - gui_redraw_buffer (gui_current_window->buffer); -} - -/* - * gui_move_page_up: display previous page on buffer - */ - -void -gui_move_page_up (t_gui_window *window) -{ - if (!gui_ok) - return; - - if (!window->first_line_displayed) + if (!gui_current_window->first_line_displayed) { - window->sub_lines += window->win_chat_height - 1; - gui_draw_buffer_chat (window->buffer, 0); - gui_draw_buffer_status (window->buffer, 0); + gui_current_window->sub_lines += + gui_current_window->win_chat_height - 1; + gui_draw_buffer_chat (gui_current_window->buffer, 0); + gui_draw_buffer_status (gui_current_window->buffer, 0); } } /* - * gui_move_page_down: display next page on buffer + * gui_input_page_down: display next page on buffer */ void -gui_move_page_down (t_gui_window *window) +gui_input_page_down () { if (!gui_ok) return; - if (window->sub_lines > 0) + if (gui_current_window->sub_lines > 0) { - window->sub_lines -= window->win_chat_height - 1; - if (window->sub_lines < 0) - window->sub_lines = 0; - gui_draw_buffer_chat (window->buffer, 0); - gui_draw_buffer_status (window->buffer, 0); + gui_current_window->sub_lines -= + gui_current_window->win_chat_height - 1; + if (gui_current_window->sub_lines < 0) + gui_current_window->sub_lines = 0; + gui_draw_buffer_chat (gui_current_window->buffer, 0); + gui_draw_buffer_status (gui_current_window->buffer, 0); } } /* - * gui_nick_move_beginning: go to beginning of nicklist + * gui_input_nick_beginning: go to beginning of nicklist */ void -gui_nick_move_beginning (t_gui_window *window) +gui_input_nick_beginning () { if (!gui_ok) return; - if (gui_buffer_has_nicklist (window->buffer)) + if (gui_buffer_has_nicklist (gui_current_window->buffer)) { - if (window->win_nick_start > 0) + if (gui_current_window->win_nick_start > 0) { - window->win_nick_start = 0; - gui_draw_buffer_nick (window->buffer, 1); + gui_current_window->win_nick_start = 0; + gui_draw_buffer_nick (gui_current_window->buffer, 1); } } } /* - * gui_nick_move_end: go to the end of nicklist + * gui_input_nick_end: go to the end of nicklist */ void -gui_nick_move_end (t_gui_window *window) +gui_input_nick_end () { int new_start; if (!gui_ok) return; - if (gui_buffer_has_nicklist (window->buffer)) + if (gui_buffer_has_nicklist (gui_current_window->buffer)) { - new_start = CHANNEL(window->buffer)->nicks_count - window->win_nick_height; + new_start = + CHANNEL(gui_current_window->buffer)->nicks_count - + gui_current_window->win_nick_height; if (new_start < 0) new_start = 0; else if (new_start >= 1) new_start++; - if (new_start != window->win_nick_start) + if (new_start != gui_current_window->win_nick_start) { - window->win_nick_start = new_start; - gui_draw_buffer_nick (window->buffer, 1); + gui_current_window->win_nick_start = new_start; + gui_draw_buffer_nick (gui_current_window->buffer, 1); } } } /* - * gui_nick_move_page_up: scroll one page up in nicklist + * gui_input_nick_page_up: scroll one page up in nicklist */ void -gui_nick_move_page_up (t_gui_window *window) +gui_input_nick_page_up () { if (!gui_ok) return; - if (gui_buffer_has_nicklist (window->buffer)) + if (gui_buffer_has_nicklist (gui_current_window->buffer)) { - if (window->win_nick_start > 0) + if (gui_current_window->win_nick_start > 0) { - window->win_nick_start -= (window->win_nick_height - 1); - if (window->win_nick_start <= 1) - window->win_nick_start = 0; - gui_draw_buffer_nick (window->buffer, 1); + gui_current_window->win_nick_start -= + (gui_current_window->win_nick_height - 1); + if (gui_current_window->win_nick_start <= 1) + gui_current_window->win_nick_start = 0; + gui_draw_buffer_nick (gui_current_window->buffer, 1); } } } /* - * gui_nick_move_page_down: scroll one page down in nicklist + * gui_input_nick_page_down: scroll one page down in nicklist */ void -gui_nick_move_page_down (t_gui_window *window) +gui_input_nick_page_down () { if (!gui_ok) return; - if (gui_buffer_has_nicklist (window->buffer)) + if (gui_buffer_has_nicklist (gui_current_window->buffer)) { - if ((CHANNEL(window->buffer)->nicks_count > window->win_nick_height) - && (window->win_nick_start + window->win_nick_height - 1 < CHANNEL(window->buffer)->nicks_count)) + if ((CHANNEL(gui_current_window->buffer)->nicks_count > + gui_current_window->win_nick_height) + && (gui_current_window->win_nick_start + + gui_current_window->win_nick_height - 1 + < CHANNEL(gui_current_window->buffer)->nicks_count)) { - if (window->win_nick_start == 0) - window->win_nick_start += (window->win_nick_height - 1); + if (gui_current_window->win_nick_start == 0) + gui_current_window->win_nick_start += + (gui_current_window->win_nick_height - 1); else - window->win_nick_start += (window->win_nick_height - 2); - gui_draw_buffer_nick (window->buffer, 1); + gui_current_window->win_nick_start += + (gui_current_window->win_nick_height - 2); + gui_draw_buffer_nick (gui_current_window->buffer, 1); } } } @@ -2306,6 +2286,8 @@ gui_init_colors () cfg_col_status_more, cfg_col_status_bg); init_pair (COLOR_WIN_INFOBAR, cfg_col_infobar, cfg_col_infobar_bg); + init_pair (COLOR_WIN_INFOBAR_DELIMITERS, + cfg_col_infobar_delimiters, cfg_col_infobar_bg); init_pair (COLOR_WIN_INFOBAR_HIGHLIGHT, cfg_col_infobar_highlight, cfg_col_infobar_bg); init_pair (COLOR_WIN_INPUT, @@ -2378,6 +2360,7 @@ gui_init_colors () color_attr[COLOR_WIN_STATUS_DATA_OTHER - 1] = (cfg_col_status_data_other >= 0) ? cfg_col_status_data_other & A_BOLD : 0; color_attr[COLOR_WIN_STATUS_MORE - 1] = (cfg_col_status_more >= 0) ? cfg_col_status_more & A_BOLD : 0; color_attr[COLOR_WIN_INFOBAR - 1] = (cfg_col_infobar >= 0) ? cfg_col_infobar & A_BOLD : 0; + color_attr[COLOR_WIN_INFOBAR_DELIMITERS - 1] = (cfg_col_infobar_delimiters >= 0) ? cfg_col_infobar_delimiters & A_BOLD : 0; color_attr[COLOR_WIN_INFOBAR_HIGHLIGHT - 1] = (cfg_col_infobar_highlight >= 0) ? cfg_col_infobar_highlight & A_BOLD : 0; color_attr[COLOR_WIN_INPUT - 1] = (cfg_col_input >= 0) ? cfg_col_input & A_BOLD : 0; color_attr[COLOR_WIN_INPUT_CHANNEL - 1] = (cfg_col_input_channel >= 0) ? cfg_col_input_channel & A_BOLD : 0; @@ -2427,15 +2410,16 @@ gui_init () initscr (); curs_set (1); - keypad (stdscr, TRUE); noecho (); nodelay (stdscr, TRUE); gui_init_colors (); - + gui_infobar = NULL; gui_ok = ((COLS > 5) && (LINES > 5)); + + refresh (); /* create new window/buffer */ if (gui_window_new (0, 0, COLS, LINES)) diff --git a/src/gui/curses/gui-input.c b/src/gui/curses/gui-input.c index 89793d4ee..85eda8858 100644 --- a/src/gui/curses/gui-input.c +++ b/src/gui/curses/gui-input.c @@ -41,649 +41,151 @@ #include "../../common/fifo.h" #include "../../irc/irc.h" -#define KEY_ESCAPE 27 /* - * gui_read_keyb: read keyboard line + * gui_input_default_key_bindings: create default key bindings */ void -gui_read_keyb () +gui_input_default_key_bindings () { - int key, i; - t_gui_buffer *ptr_buffer; - t_irc_server *ptr_server; - t_irc_dcc *ptr_dcc, *ptr_dcc_next; - char new_char[3], *decoded_string; - t_irc_dcc *dcc_selected; + int i; + char key_str[32], command[32]; + + /* keys binded with internal functions */ + gui_key_bind ( /* RC */ "ctrl-M", "return"); + gui_key_bind ( /* RC */ "ctrl-J", "return"); + gui_key_bind ( /* tab */ "ctrl-I", "tab"); + gui_key_bind ( /* basckp */ "ctrl-H", "backspace"); + gui_key_bind ( /* basckp */ "ctrl-?", "backspace"); + gui_key_bind ( /* del */ "meta2-3~", "delete"); + gui_key_bind ( /* ^K */ "ctrl-K", "delete_end_line"); + gui_key_bind ( /* ^U */ "ctrl-U", "delete_beginning_line"); + gui_key_bind ( /* ^W */ "ctrl-W", "delete_previous_word"); + gui_key_bind ( /* home */ "meta2-1~", "home"); + gui_key_bind ( /* home */ "meta2-H", "home"); + gui_key_bind ( /* home */ "meta2-7~", "home"); + gui_key_bind ( /* ^A */ "ctrl-A", "home"); + gui_key_bind ( /* end */ "meta2-4~", "end"); + gui_key_bind ( /* end */ "meta2-F", "end"); + gui_key_bind ( /* end */ "meta2-8~", "end"); + gui_key_bind ( /* ^E */ "ctrl-E", "end"); + gui_key_bind ( /* left */ "meta2-D", "left"); + gui_key_bind ( /* right */ "meta2-C", "right"); + gui_key_bind ( /* up */ "meta2-A", "up"); + gui_key_bind ( /* down */ "meta2-B", "down"); + gui_key_bind ( /* pgup */ "meta2-5~", "page_up"); + gui_key_bind ( /* pgdn */ "meta2-6~", "page_down"); + gui_key_bind ( /* F10 */ "meta2-21~", "infobar_clear"); + gui_key_bind ( /* F11 */ "meta2-23~", "nick_page_up"); + gui_key_bind ( /* F12 */ "meta2-24~", "nick_page_down"); + gui_key_bind ( /* m-F11 */ "meta-meta2-1~", "nick_beginning"); + gui_key_bind ( /* m-F12 */ "meta-meta2-4~", "nick_end"); + gui_key_bind ( /* ^L */ "ctrl-L", "refresh"); + gui_key_bind ( /* m-a */ "meta-a", "jump_smart"); + gui_key_bind ( /* m-b */ "meta-b", "previous_word"); + gui_key_bind ( /* ^left */ "meta-Od", "previous_word"); + gui_key_bind ( /* m-d */ "meta-d", "delete_next_word"); + gui_key_bind ( /* m-f */ "meta-f", "next_word"); + gui_key_bind ( /* ^right */ "meta-Oc", "next_word"); + gui_key_bind ( /* m-h */ "meta-h", "hotlist_clear"); + gui_key_bind ( /* m-j,m-d */ "meta-jmeta-d", "jump_dcc"); + gui_key_bind ( /* m-r */ "meta-r", "delete_line"); + gui_key_bind ( /* m-s */ "meta-s", "jump_server"); + gui_key_bind ( /* m-x */ "meta-x", "jump_next_server"); + + /* keys binded with commands */ + gui_key_bind ( /* m-left */ "meta-meta2-D", "/buffer -1"); + gui_key_bind ( /* F5 */ "meta2-15~", "/buffer -1"); + gui_key_bind ( /* m-right */ "meta-meta2-C", "/buffer +1"); + gui_key_bind ( /* F6 */ "meta2-17~", "/buffer +1"); + gui_key_bind ( /* F7 */ "meta2-18~", "/window -1"); + gui_key_bind ( /* F8 */ "meta2-19~", "/window +1"); + gui_key_bind ( /* m-0 */ "meta-0", "/buffer 10"); + gui_key_bind ( /* m-1 */ "meta-1", "/buffer 1"); + gui_key_bind ( /* m-2 */ "meta-2", "/buffer 2"); + gui_key_bind ( /* m-3 */ "meta-3", "/buffer 3"); + gui_key_bind ( /* m-4 */ "meta-4", "/buffer 4"); + gui_key_bind ( /* m-5 */ "meta-5", "/buffer 5"); + gui_key_bind ( /* m-6 */ "meta-6", "/buffer 6"); + gui_key_bind ( /* m-7 */ "meta-7", "/buffer 7"); + gui_key_bind ( /* m-8 */ "meta-8", "/buffer 8"); + gui_key_bind ( /* m-9 */ "meta-9", "/buffer 9"); + + /* bind meta-j + {01..99} to switch to buffers # > 10 */ + for (i = 1; i < 100; i++) + { + sprintf (key_str, "meta-j%02d", i); + sprintf (command, "/buffer %d", i); + gui_key_bind (key_str, command); + } +} + +/* + * gui_input_read: read keyboard chars + */ - key = getch (); - if (key != ERR) +void +gui_input_read () +{ + int key, i; + char key_str[32]; + + i = 0; + /* do not loop too much here (for example when big paste was made), + to read also socket & co */ + while (i < 8) { - switch (key) + key = getch (); + + if (key == ERR) + break; + + if (key == KEY_RESIZE) { - /* resize event */ - case KEY_RESIZE: - gui_curses_resize_handler (); - break; - /* inactive function keys */ - case KEY_F(1): - case KEY_F(2): - case KEY_F(3): - case KEY_F(4): - case KEY_F(9): - break; - /* previous buffer in window */ - case KEY_F(5): - gui_switch_to_previous_buffer (gui_current_window); - break; - /* next buffer in window */ - case KEY_F(6): - gui_switch_to_next_buffer (gui_current_window); - break; - /* previous window */ - case KEY_F(7): - gui_switch_to_previous_window (gui_current_window); - break; - /* next window */ - case KEY_F(8): - gui_switch_to_next_window (gui_current_window); - break; - /* remove last infobar message */ - case KEY_F(10): - gui_infobar_remove (); - gui_draw_buffer_infobar (gui_current_window->buffer, 1); - break; - case KEY_F(11): - gui_nick_move_page_up (gui_current_window); - break; - case KEY_F(12): - gui_nick_move_page_down (gui_current_window); - break; - /* cursor up */ - case KEY_UP: - if (gui_current_window->buffer->dcc) - { - if (dcc_list) - { - if (gui_current_window->dcc_selected - && ((t_irc_dcc *)(gui_current_window->dcc_selected))->prev_dcc) - { - if (gui_current_window->dcc_selected == - gui_current_window->dcc_first) - gui_current_window->dcc_first = - ((t_irc_dcc *)(gui_current_window->dcc_first))->prev_dcc; - gui_current_window->dcc_selected = - ((t_irc_dcc *)(gui_current_window->dcc_selected))->prev_dcc; - gui_draw_buffer_chat (gui_current_window->buffer, 1); - gui_draw_buffer_input (gui_current_window->buffer, 1); - } - } - } - else - { - if (gui_current_window->buffer->ptr_history) - { - gui_current_window->buffer->ptr_history = - gui_current_window->buffer->ptr_history->next_history; - if (!gui_current_window->buffer->ptr_history) - gui_current_window->buffer->ptr_history = - gui_current_window->buffer->history; - } - else - gui_current_window->buffer->ptr_history = - gui_current_window->buffer->history; - if (gui_current_window->buffer->ptr_history) - { - gui_current_window->buffer->input_buffer_size = - strlen (gui_current_window->buffer->ptr_history->text); - gui_optimize_input_buffer_size (gui_current_window->buffer); - gui_current_window->buffer->input_buffer_pos = - gui_current_window->buffer->input_buffer_size; - strcpy (gui_current_window->buffer->input_buffer, - gui_current_window->buffer->ptr_history->text); - gui_draw_buffer_input (gui_current_window->buffer, 0); - } - } - break; - /* cursor down */ - case KEY_DOWN: - if (gui_current_window->buffer->dcc) - { - if (dcc_list) - { - if (!gui_current_window->dcc_selected - || ((t_irc_dcc *)(gui_current_window->dcc_selected))->next_dcc) - { - if (gui_current_window->dcc_last_displayed - && (gui_current_window->dcc_selected == - gui_current_window->dcc_last_displayed)) - { - if (gui_current_window->dcc_first) - gui_current_window->dcc_first = - ((t_irc_dcc *)(gui_current_window->dcc_first))->next_dcc; - else - gui_current_window->dcc_first = - dcc_list->next_dcc; - } - if (gui_current_window->dcc_selected) - gui_current_window->dcc_selected = - ((t_irc_dcc *)(gui_current_window->dcc_selected))->next_dcc; - else - gui_current_window->dcc_selected = - dcc_list->next_dcc; - gui_draw_buffer_chat (gui_current_window->buffer, 1); - gui_draw_buffer_input (gui_current_window->buffer, 1); - } - } - } - else - { - if (gui_current_window->buffer->ptr_history) - { - gui_current_window->buffer->ptr_history = - gui_current_window->buffer->ptr_history->prev_history; - if (gui_current_window->buffer->ptr_history) - gui_current_window->buffer->input_buffer_size = - strlen (gui_current_window->buffer->ptr_history->text); - else - gui_current_window->buffer->input_buffer_size = 0; - gui_optimize_input_buffer_size (gui_current_window->buffer); - gui_current_window->buffer->input_buffer_pos = - gui_current_window->buffer->input_buffer_size; - if (gui_current_window->buffer->ptr_history) - strcpy (gui_current_window->buffer->input_buffer, - gui_current_window->buffer->ptr_history->text); - gui_draw_buffer_input (gui_current_window->buffer, 0); - } - } - break; - /* cursor left */ - case KEY_LEFT: - if (!gui_current_window->buffer->dcc) - { - if (gui_current_window->buffer->input_buffer_pos > 0) - { - gui_current_window->buffer->input_buffer_pos--; - gui_draw_buffer_input (gui_current_window->buffer, 0); - } - } - break; - /* cursor right */ - case KEY_RIGHT: - if (!gui_current_window->buffer->dcc) - { - if (gui_current_window->buffer->input_buffer_pos < - gui_current_window->buffer->input_buffer_size) - { - gui_current_window->buffer->input_buffer_pos++; - gui_draw_buffer_input (gui_current_window->buffer, 0); - } - } - break; - /* home key or Control + A */ - case KEY_HOME: - case 0x01: - if (!gui_current_window->buffer->dcc) - { - if (gui_current_window->buffer->input_buffer_pos > 0) - { - gui_current_window->buffer->input_buffer_pos = 0; - gui_draw_buffer_input (gui_current_window->buffer, 0); - } - } - break; - /* end key or Control + E */ - case KEY_END: - case 0x05: - if (!gui_current_window->buffer->dcc) - { - if (gui_current_window->buffer->input_buffer_pos < - gui_current_window->buffer->input_buffer_size) - { - gui_current_window->buffer->input_buffer_pos = - gui_current_window->buffer->input_buffer_size; - gui_draw_buffer_input (gui_current_window->buffer, 0); - } - } - break; - /* page up */ - case KEY_PPAGE: - if (!gui_current_window->buffer->dcc) - gui_move_page_up (gui_current_window); - break; - /* page down */ - case KEY_NPAGE: - if (!gui_current_window->buffer->dcc) - gui_move_page_down (gui_current_window); - break; - /* erase before cursor and move cursor to the left */ - case 127: - case KEY_BACKSPACE: - if (!gui_current_window->buffer->dcc) - { - if (gui_current_window->buffer->input_buffer_pos > 0) - { - i = gui_current_window->buffer->input_buffer_pos-1; - while (gui_current_window->buffer->input_buffer[i]) - { - gui_current_window->buffer->input_buffer[i] = - gui_current_window->buffer->input_buffer[i+1]; - i++; - } - gui_current_window->buffer->input_buffer_size--; - gui_current_window->buffer->input_buffer_pos--; - gui_current_window->buffer->input_buffer[gui_current_window->buffer->input_buffer_size] = '\0'; - gui_draw_buffer_input (gui_current_window->buffer, 0); - gui_optimize_input_buffer_size (gui_current_window->buffer); - gui_current_window->buffer->completion.position = -1; - } - } - break; - /* Control + Backspace or Control + W */ - case 0x08: - case 0x17: - if (!gui_current_window->buffer->dcc) - gui_delete_previous_word (gui_current_window->buffer); - break; - /* Control + L */ - case 0x0C: - gui_curses_resize_handler (); - break; - /* erase char under cursor */ - case KEY_DC: - if (!gui_current_window->buffer->dcc) - { - if (gui_current_window->buffer->input_buffer_pos < - gui_current_window->buffer->input_buffer_size) - { - i = gui_current_window->buffer->input_buffer_pos; - while (gui_current_window->buffer->input_buffer[i]) - { - gui_current_window->buffer->input_buffer[i] = - gui_current_window->buffer->input_buffer[i+1]; - i++; - } - gui_current_window->buffer->input_buffer_size--; - gui_current_window->buffer->input_buffer[gui_current_window->buffer->input_buffer_size] = '\0'; - gui_draw_buffer_input (gui_current_window->buffer, 0); - gui_optimize_input_buffer_size (gui_current_window->buffer); - gui_current_window->buffer->completion.position = -1; - } - } - break; - /* Tab : completion */ - case '\t': - if (!gui_current_window->buffer->dcc) - { - completion_search (&(gui_current_window->buffer->completion), - CHANNEL(gui_current_window->buffer), - gui_current_window->buffer->input_buffer, - gui_current_window->buffer->input_buffer_size, - gui_current_window->buffer->input_buffer_pos); - - if (gui_current_window->buffer->completion.word_found) - { - /* replace word with new completed word into input buffer */ - if (gui_current_window->buffer->completion.diff_size > 0) - { - gui_current_window->buffer->input_buffer_size += - gui_current_window->buffer->completion.diff_size; - gui_optimize_input_buffer_size (gui_current_window->buffer); - gui_current_window->buffer->input_buffer[gui_current_window->buffer->input_buffer_size] = '\0'; - for (i = gui_current_window->buffer->input_buffer_size - 1; - i >= gui_current_window->buffer->completion.position_replace + - (int)strlen (gui_current_window->buffer->completion.word_found); i--) - gui_current_window->buffer->input_buffer[i] = - gui_current_window->buffer->input_buffer[i - - gui_current_window->buffer->completion.diff_size]; - } - else - { - for (i = gui_current_window->buffer->completion.position_replace + - strlen (gui_current_window->buffer->completion.word_found); - i < gui_current_window->buffer->input_buffer_size; i++) - gui_current_window->buffer->input_buffer[i] = - gui_current_window->buffer->input_buffer[i - - gui_current_window->buffer->completion.diff_size]; - gui_current_window->buffer->input_buffer_size += - gui_current_window->buffer->completion.diff_size; - gui_optimize_input_buffer_size (gui_current_window->buffer); - gui_current_window->buffer->input_buffer[gui_current_window->buffer->input_buffer_size] = '\0'; - } - - strncpy (gui_current_window->buffer->input_buffer + gui_current_window->buffer->completion.position_replace, - gui_current_window->buffer->completion.word_found, - strlen (gui_current_window->buffer->completion.word_found)); - gui_current_window->buffer->input_buffer_pos = - gui_current_window->buffer->completion.position_replace + - strlen (gui_current_window->buffer->completion.word_found); - - /* position is < 0 this means only one word was found to complete, - so reinit to stop completion */ - if (gui_current_window->buffer->completion.position >= 0) - gui_current_window->buffer->completion.position = - gui_current_window->buffer->input_buffer_pos; - - /* add space or completor to the end of completion, if needed */ - if ((gui_current_window->buffer->completion.context == COMPLETION_COMMAND) - || (gui_current_window->buffer->completion.context == COMPLETION_COMMAND_ARG)) - { - if (gui_current_window->buffer->input_buffer[gui_current_window->buffer->input_buffer_pos] != ' ') - gui_buffer_insert_string (gui_current_window->buffer, - " ", - gui_current_window->buffer->input_buffer_pos); - if (gui_current_window->buffer->completion.position >= 0) - gui_current_window->buffer->completion.position++; - gui_current_window->buffer->input_buffer_pos++; - } - else - { - /* add nick completor if position 0 and completing nick */ - if ((gui_current_window->buffer->completion.base_word_pos == 0) - && (gui_current_window->buffer->completion.context == COMPLETION_NICK)) - { - if (strncmp (gui_current_window->buffer->input_buffer + gui_current_window->buffer->input_buffer_pos, - cfg_look_completor, strlen (cfg_look_completor)) != 0) - gui_buffer_insert_string (gui_current_window->buffer, - cfg_look_completor, - gui_current_window->buffer->input_buffer_pos); - if (gui_current_window->buffer->completion.position >= 0) - gui_current_window->buffer->completion.position += strlen (cfg_look_completor); - gui_current_window->buffer->input_buffer_pos += strlen (cfg_look_completor); - if (gui_current_window->buffer->input_buffer[gui_current_window->buffer->input_buffer_pos] != ' ') - gui_buffer_insert_string (gui_current_window->buffer, - " ", - gui_current_window->buffer->input_buffer_pos); - if (gui_current_window->buffer->completion.position >= 0) - gui_current_window->buffer->completion.position++; - gui_current_window->buffer->input_buffer_pos++; - } - } - gui_draw_buffer_input (gui_current_window->buffer, 0); - } - } - break; - /* escape code (for control-key) */ - case KEY_ESCAPE: - if ((key = getch()) != ERR) - { - /*gui_printf (gui_current_window->buffer, - "[Debug] key pressed = %d, hex = %02X, octal = %o\n", key, key, key);*/ - switch (key) - { - /* Alt + left arrow */ - case KEY_LEFT: - gui_switch_to_previous_buffer (gui_current_window); - break; - /* Alt + right arrow */ - case KEY_RIGHT: - gui_switch_to_next_buffer (gui_current_window); - break; - /* Alt + home */ - case KEY_HOME: - gui_nick_move_beginning (gui_current_window); - break; - /* Alt + end */ - case KEY_END: - gui_nick_move_end (gui_current_window); - break; - /* Alt + page up */ - case KEY_PPAGE: - gui_nick_move_page_up (gui_current_window); - break; - /* Alt + page down */ - case KEY_NPAGE: - gui_nick_move_page_down (gui_current_window); - break; - case 79: - /* TODO: replace 79 by constant name! */ - if ((key = getch()) != ERR) - { - switch (key) - { - /* Control + Right */ - case 99: - if (!gui_current_window->buffer->dcc) - gui_move_next_word (gui_current_window->buffer); - break; - /* Control + Left */ - case 100: - if (!gui_current_window->buffer->dcc) - gui_move_previous_word (gui_current_window->buffer); - break; - } - } - break; - /* Alt-number: jump to window by number */ - case 48: /* Alt-0 */ - case 49: /* Alt-1 */ - case 50: /* Alt-2 */ - case 51: /* Alt-3 */ - case 52: /* Alt-4 */ - case 53: /* Alt-5 */ - case 54: /* Alt-6 */ - case 55: /* Alt-7 */ - case 56: /* Alt-8 */ - case 57: /* Alt-9 */ - gui_switch_to_buffer_by_number (gui_current_window, (key == 48) ? 10 : key - 48); - break; - /* Alt-A: jump to buffer with activity */ - case 'a': - case 'A': - if (hotlist) - { - if (!hotlist_initial_buffer) - hotlist_initial_buffer = gui_current_window->buffer; - gui_switch_to_buffer (gui_current_window, hotlist->buffer); - gui_redraw_buffer (gui_current_window->buffer); - } - else - { - if (hotlist_initial_buffer) - { - gui_switch_to_buffer (gui_current_window, hotlist_initial_buffer); - gui_redraw_buffer (gui_current_window->buffer); - hotlist_initial_buffer = NULL; - } - } - break; - /* Alt-D: jump to DCC buffer */ - case 'd': - case 'D': - if (gui_current_window->buffer->dcc) - { - if (buffer_before_dcc) - { - gui_switch_to_buffer (gui_current_window, - buffer_before_dcc); - gui_redraw_buffer (gui_current_window->buffer); - } - } - else - { - buffer_before_dcc = gui_current_window->buffer; - gui_switch_to_dcc_buffer (); - } - break; - /* Alt-R: clear hotlist */ - case 'r': - case 'R': - if (hotlist) - { - hotlist_free_all (); - gui_redraw_buffer (gui_current_window->buffer); - } - hotlist_initial_buffer = gui_current_window->buffer; - break; - /* Alt-S: jump to server buffer */ - case 's': - case 'S': - if (!gui_current_window->buffer->dcc) - { - if (SERVER(gui_current_window->buffer)->buffer != - gui_current_window->buffer) - { - gui_switch_to_buffer (gui_current_window, - SERVER(gui_current_window->buffer)->buffer); - gui_redraw_buffer (gui_current_window->buffer); - } - } - break; - /* Alt-X: jump to first channel/private of next server */ - case 'x': - case 'X': - if (!gui_current_window->buffer->dcc) - { - ptr_server = SERVER(gui_current_window->buffer)->next_server; - if (!ptr_server) - ptr_server = irc_servers; - while (ptr_server != SERVER(gui_current_window->buffer)) - { - if (ptr_server->buffer) - break; - ptr_server = (ptr_server->next_server) ? - ptr_server->next_server : irc_servers; - } - if (ptr_server != SERVER(gui_current_window->buffer)) - { - ptr_buffer = (ptr_server->channels) ? - ptr_server->channels->buffer : ptr_server->buffer; - gui_switch_to_buffer (gui_current_window, ptr_buffer); - gui_redraw_buffer (gui_current_window->buffer); - } - } - break; - } - } - break; - /* send command/message */ - case '\n': - if (!gui_current_window->buffer->dcc) - { - if (gui_current_window->buffer->input_buffer_size > 0) - { - gui_current_window->buffer->input_buffer[gui_current_window->buffer->input_buffer_size] = '\0'; - history_add (gui_current_window->buffer, gui_current_window->buffer->input_buffer); - gui_current_window->buffer->input_buffer_size = 0; - gui_current_window->buffer->input_buffer_pos = 0; - gui_current_window->buffer->input_buffer_1st_display = 0; - gui_current_window->buffer->completion.position = -1; - gui_current_window->buffer->ptr_history = NULL; - ptr_buffer = gui_current_window->buffer; - user_command (SERVER(gui_current_window->buffer), - gui_current_window->buffer, - gui_current_window->buffer->input_buffer); - if (ptr_buffer == gui_current_window->buffer) - { - ptr_buffer->input_buffer[0] = '\0'; - gui_draw_buffer_input (ptr_buffer, 0); - } - } - } - break; - /* other key => add to input buffer */ - default: - if (gui_current_window->buffer->dcc) - { - dcc_selected = (gui_current_window->dcc_selected) ? - (t_irc_dcc *) gui_current_window->dcc_selected : dcc_list; - switch (key) - { - /* accept DCC */ - case 'a': - case 'A': - if (dcc_selected - && (DCC_IS_RECV(dcc_selected->status)) - && (dcc_selected->status == DCC_WAITING)) - { - dcc_accept (dcc_selected); - } - break; - /* cancel DCC */ - case 'c': - case 'C': - if (dcc_selected - && (!DCC_ENDED(dcc_selected->status))) - { - dcc_close (dcc_selected, DCC_ABORTED); - gui_redraw_buffer (gui_current_window->buffer); - } - break; - /* purge old DCC */ - case 'p': - case 'P': - gui_current_window->dcc_selected = NULL; - ptr_dcc = dcc_list; - while (ptr_dcc) - { - ptr_dcc_next = ptr_dcc->next_dcc; - if (DCC_ENDED(ptr_dcc->status)) - dcc_free (ptr_dcc); - ptr_dcc = ptr_dcc_next; - } - gui_redraw_buffer (gui_current_window->buffer); - break; - /* close DCC window */ - case 'q': - case 'Q': - if (buffer_before_dcc) - { - gui_buffer_free (gui_current_window->buffer, 1); - gui_switch_to_buffer (gui_current_window, - buffer_before_dcc); - } - else - gui_buffer_free (gui_current_window->buffer, 1); - gui_redraw_buffer (gui_current_window->buffer); - break; - /* remove from DCC list */ - case 'r': - case 'R': - if (dcc_selected - && (DCC_ENDED(dcc_selected->status))) - { - if (dcc_selected->next_dcc) - gui_current_window->dcc_selected = dcc_selected->next_dcc; - else - gui_current_window->dcc_selected = NULL; - dcc_free (dcc_selected); - gui_redraw_buffer (gui_current_window->buffer); - } - break; - } - } - else - { - /*gui_printf (gui_current_window->buffer, - "[Debug] key pressed = %d, hex = %02X, octal = %o\n", key, key, key);*/ - new_char[0] = key; - new_char[1] = '\0'; - decoded_string = NULL; - - /* UTF-8 input */ - if (key == 0xC3) - { - if ((key = getch()) != ERR) - { - new_char[1] = key; - new_char[2] = '\0'; - decoded_string = weechat_convert_encoding (local_charset, cfg_look_charset_internal, new_char); - } - } - - gui_buffer_insert_string (gui_current_window->buffer, - (decoded_string) ? decoded_string : new_char, - gui_current_window->buffer->input_buffer_pos); - gui_current_window->buffer->input_buffer_pos++; - gui_draw_buffer_input (gui_current_window->buffer, 0); - gui_current_window->buffer->completion.position = -1; - - if (decoded_string) - free (decoded_string); - } - break; + gui_curses_resize_handler (); + continue; + } + + if (key < 32) + { + key_str[0] = '^'; + key_str[1] = (char) key + '@'; + key_str[2] = '\0'; + } + else if (key == 127) + { + key_str[0] = '^'; + key_str[1] = '?'; + key_str[2] = '\0'; + } + else + { + if (key > 0xff) + { + key_str[0] = (char) (key >> 8); + key_str[1] = (char) (key & 0xff); + key_str[2] = '\0'; + } + else + { + key_str[0] = (char) key; + key_str[1] = '\0'; + } } + + if (strcmp (key_str, "^") == 0) + { + key_str[1] = '^'; + key_str[2] = '\0'; + } + + /*gui_printf (gui_current_window->buffer, "gui_input_read: key = %s (%d)\n", key_str, key);*/ + + if (gui_key_pressed (key_str) != 0) + gui_input_insert_char (key); + + i++; } } @@ -723,6 +225,14 @@ gui_main_loop () { old_sec = local_time->tm_sec; + if (cfg_look_infobar_seconds) + { + gui_draw_buffer_infobar_time (gui_current_window->buffer); + wmove (gui_current_window->win_input, + 0, gui_current_window->win_input_x); + wrefresh (gui_current_window->win_input); + } + /* infobar count down */ if (gui_infobar && gui_infobar->remaining_time > 0) { @@ -807,7 +317,7 @@ gui_main_loop () { if (FD_ISSET (STDIN_FILENO, &read_fd)) { - gui_read_keyb (); + gui_input_read (); } if ((weechat_fifo != -1) && (FD_ISSET (weechat_fifo, &read_fd))) { diff --git a/src/gui/gui-common.c b/src/gui/gui-common.c index fb1446c86..f3fb838fe 100644 --- a/src/gui/gui-common.c +++ b/src/gui/gui-common.c @@ -34,6 +34,7 @@ #include "../common/weechat.h" #include "gui.h" +#include "../common/command.h" #include "../common/weeconfig.h" #include "../common/hotlist.h" #include "../common/log.h" @@ -89,6 +90,8 @@ gui_window_new (int x, int y, int width, int height) new_window->win_nick_height = 0; new_window->win_nick_start = 0; + new_window->win_input_x = 0; + new_window->win_title = NULL; new_window->win_chat = NULL; new_window->win_nick = NULL; @@ -552,12 +555,12 @@ gui_new_message (t_gui_buffer *buffer) } /* - * gui_optimize_input_buffer_size: optimize input buffer size by adding + * gui_input_optimize_buffer_size: optimize input buffer size by adding * or deleting data block (predefined size) */ void -gui_optimize_input_buffer_size (t_gui_buffer *buffer) +gui_input_optimize_buffer_size (t_gui_buffer *buffer) { int optimal_size; @@ -571,29 +574,343 @@ gui_optimize_input_buffer_size (t_gui_buffer *buffer) } /* - * gui_delete_previous_word: delete previous word + * gui_input_insert_string: insert a string into the input buffer + */ + +void +gui_input_insert_string (char *string, int pos) +{ + int i, start, end, length; + + length = strlen (string); + + /* increase buffer size */ + gui_current_window->buffer->input_buffer_size += length; + gui_input_optimize_buffer_size (gui_current_window->buffer); + gui_current_window->buffer->input_buffer[gui_current_window->buffer->input_buffer_size] = '\0'; + + /* move end of string to the right */ + start = pos + length; + end = gui_current_window->buffer->input_buffer_size - 1; + for (i = end; i >= start; i--) + gui_current_window->buffer->input_buffer[i] = + gui_current_window->buffer->input_buffer[i - length]; + + /* insert new string */ + strncpy (gui_current_window->buffer->input_buffer + pos, string, length); +} + +/* + * gui_input_insert_char: insert a char into input buffer + */ + +void +gui_input_insert_char (int key) +{ + char new_char[3]; + t_irc_dcc *dcc_selected, *ptr_dcc, *ptr_dcc_next; + + if (key < 32) + return; + + if (gui_current_window->buffer->dcc) + { + dcc_selected = (gui_current_window->dcc_selected) ? + (t_irc_dcc *) gui_current_window->dcc_selected : dcc_list; + switch (key) + { + /* accept DCC */ + case 'a': + case 'A': + if (dcc_selected + && (DCC_IS_RECV(dcc_selected->status)) + && (dcc_selected->status == DCC_WAITING)) + { + dcc_accept (dcc_selected); + } + break; + /* cancel DCC */ + case 'c': + case 'C': + if (dcc_selected + && (!DCC_ENDED(dcc_selected->status))) + { + dcc_close (dcc_selected, DCC_ABORTED); + gui_redraw_buffer (gui_current_window->buffer); + } + break; + /* purge old DCC */ + case 'p': + case 'P': + gui_current_window->dcc_selected = NULL; + ptr_dcc = dcc_list; + while (ptr_dcc) + { + ptr_dcc_next = ptr_dcc->next_dcc; + if (DCC_ENDED(ptr_dcc->status)) + dcc_free (ptr_dcc); + ptr_dcc = ptr_dcc_next; + } + gui_redraw_buffer (gui_current_window->buffer); + break; + /* close DCC window */ + case 'q': + case 'Q': + if (buffer_before_dcc) + { + gui_buffer_free (gui_current_window->buffer, 1); + gui_switch_to_buffer (gui_current_window, + buffer_before_dcc); + } + else + gui_buffer_free (gui_current_window->buffer, 1); + gui_redraw_buffer (gui_current_window->buffer); + break; + /* remove from DCC list */ + case 'r': + case 'R': + if (dcc_selected + && (DCC_ENDED(dcc_selected->status))) + { + if (dcc_selected->next_dcc) + gui_current_window->dcc_selected = dcc_selected->next_dcc; + else + gui_current_window->dcc_selected = NULL; + dcc_free (dcc_selected); + gui_redraw_buffer (gui_current_window->buffer); + } + break; + } + } + else + { + /*gui_printf (gui_current_window->buffer, + "[Debug] key pressed = %d, hex = %02X, octal = %o\n", key, key, key);*/ + new_char[0] = key; + new_char[1] = '\0'; + + gui_input_insert_string (new_char, + gui_current_window->buffer->input_buffer_pos); + gui_current_window->buffer->input_buffer_pos++; + gui_draw_buffer_input (gui_current_window->buffer, 0); + gui_current_window->buffer->completion.position = -1; + } +} + +/* + * gui_input_return: terminate line (return pressed) + */ + +void +gui_input_return () +{ + t_gui_buffer *ptr_buffer; + + if (!gui_current_window->buffer->dcc) + { + if (gui_current_window->buffer->input_buffer_size > 0) + { + gui_current_window->buffer->input_buffer[gui_current_window->buffer->input_buffer_size] = '\0'; + history_add (gui_current_window->buffer, gui_current_window->buffer->input_buffer); + gui_current_window->buffer->input_buffer_size = 0; + gui_current_window->buffer->input_buffer_pos = 0; + gui_current_window->buffer->input_buffer_1st_display = 0; + gui_current_window->buffer->completion.position = -1; + gui_current_window->buffer->ptr_history = NULL; + ptr_buffer = gui_current_window->buffer; + user_command (SERVER(gui_current_window->buffer), + gui_current_window->buffer, + gui_current_window->buffer->input_buffer); + if (ptr_buffer == gui_current_window->buffer) + { + ptr_buffer->input_buffer[0] = '\0'; + gui_draw_buffer_input (ptr_buffer, 0); + } + } + } +} + +/* + * gui_input_tab: tab key => completion + */ + +void +gui_input_tab () +{ + int i; + + if (!gui_current_window->buffer->dcc) + { + completion_search (&(gui_current_window->buffer->completion), + CHANNEL(gui_current_window->buffer), + gui_current_window->buffer->input_buffer, + gui_current_window->buffer->input_buffer_size, + gui_current_window->buffer->input_buffer_pos); + + if (gui_current_window->buffer->completion.word_found) + { + /* replace word with new completed word into input buffer */ + if (gui_current_window->buffer->completion.diff_size > 0) + { + gui_current_window->buffer->input_buffer_size += + gui_current_window->buffer->completion.diff_size; + gui_input_optimize_buffer_size (gui_current_window->buffer); + gui_current_window->buffer->input_buffer[gui_current_window->buffer->input_buffer_size] = '\0'; + for (i = gui_current_window->buffer->input_buffer_size - 1; + i >= gui_current_window->buffer->completion.position_replace + + (int)strlen (gui_current_window->buffer->completion.word_found); i--) + gui_current_window->buffer->input_buffer[i] = + gui_current_window->buffer->input_buffer[i - + gui_current_window->buffer->completion.diff_size]; + } + else + { + for (i = gui_current_window->buffer->completion.position_replace + + strlen (gui_current_window->buffer->completion.word_found); + i < gui_current_window->buffer->input_buffer_size; i++) + gui_current_window->buffer->input_buffer[i] = + gui_current_window->buffer->input_buffer[i - + gui_current_window->buffer->completion.diff_size]; + gui_current_window->buffer->input_buffer_size += + gui_current_window->buffer->completion.diff_size; + gui_input_optimize_buffer_size (gui_current_window->buffer); + gui_current_window->buffer->input_buffer[gui_current_window->buffer->input_buffer_size] = '\0'; + } + + strncpy (gui_current_window->buffer->input_buffer + gui_current_window->buffer->completion.position_replace, + gui_current_window->buffer->completion.word_found, + strlen (gui_current_window->buffer->completion.word_found)); + gui_current_window->buffer->input_buffer_pos = + gui_current_window->buffer->completion.position_replace + + strlen (gui_current_window->buffer->completion.word_found); + + /* position is < 0 this means only one word was found to complete, + so reinit to stop completion */ + if (gui_current_window->buffer->completion.position >= 0) + gui_current_window->buffer->completion.position = + gui_current_window->buffer->input_buffer_pos; + + /* add space or completor to the end of completion, if needed */ + if ((gui_current_window->buffer->completion.context == COMPLETION_COMMAND) + || (gui_current_window->buffer->completion.context == COMPLETION_COMMAND_ARG)) + { + if (gui_current_window->buffer->input_buffer[gui_current_window->buffer->input_buffer_pos] != ' ') + gui_input_insert_string (" ", + gui_current_window->buffer->input_buffer_pos); + if (gui_current_window->buffer->completion.position >= 0) + gui_current_window->buffer->completion.position++; + gui_current_window->buffer->input_buffer_pos++; + } + else + { + /* add nick completor if position 0 and completing nick */ + if ((gui_current_window->buffer->completion.base_word_pos == 0) + && (gui_current_window->buffer->completion.context == COMPLETION_NICK)) + { + if (strncmp (gui_current_window->buffer->input_buffer + gui_current_window->buffer->input_buffer_pos, + cfg_look_completor, strlen (cfg_look_completor)) != 0) + gui_input_insert_string (cfg_look_completor, + gui_current_window->buffer->input_buffer_pos); + if (gui_current_window->buffer->completion.position >= 0) + gui_current_window->buffer->completion.position += strlen (cfg_look_completor); + gui_current_window->buffer->input_buffer_pos += strlen (cfg_look_completor); + if (gui_current_window->buffer->input_buffer[gui_current_window->buffer->input_buffer_pos] != ' ') + gui_input_insert_string (" ", + gui_current_window->buffer->input_buffer_pos); + if (gui_current_window->buffer->completion.position >= 0) + gui_current_window->buffer->completion.position++; + gui_current_window->buffer->input_buffer_pos++; + } + } + gui_draw_buffer_input (gui_current_window->buffer, 0); + } + } +} + +/* + * gui_input_backspace: backspace key */ void -gui_delete_previous_word (t_gui_buffer *buffer) +gui_input_backspace () +{ + int i; + + if (!gui_current_window->buffer->dcc) + { + if (gui_current_window->buffer->input_buffer_pos > 0) + { + i = gui_current_window->buffer->input_buffer_pos-1; + while (gui_current_window->buffer->input_buffer[i]) + { + gui_current_window->buffer->input_buffer[i] = + gui_current_window->buffer->input_buffer[i+1]; + i++; + } + gui_current_window->buffer->input_buffer_size--; + gui_current_window->buffer->input_buffer_pos--; + gui_current_window->buffer->input_buffer[gui_current_window->buffer->input_buffer_size] = '\0'; + gui_draw_buffer_input (gui_current_window->buffer, 0); + gui_input_optimize_buffer_size (gui_current_window->buffer); + gui_current_window->buffer->completion.position = -1; + } + } +} + +/* + * gui_input_delete: delete key + */ + +void +gui_input_delete () +{ + int i; + + if (!gui_current_window->buffer->dcc) + { + if (gui_current_window->buffer->input_buffer_pos < + gui_current_window->buffer->input_buffer_size) + { + i = gui_current_window->buffer->input_buffer_pos; + while (gui_current_window->buffer->input_buffer[i]) + { + gui_current_window->buffer->input_buffer[i] = + gui_current_window->buffer->input_buffer[i+1]; + i++; + } + gui_current_window->buffer->input_buffer_size--; + gui_current_window->buffer->input_buffer[gui_current_window->buffer->input_buffer_size] = '\0'; + gui_draw_buffer_input (gui_current_window->buffer, 0); + gui_input_optimize_buffer_size (gui_current_window->buffer); + gui_current_window->buffer->completion.position = -1; + } + } +} + +/* + * gui_input_delete_previous_word: delete previous word + */ + +void +gui_input_delete_previous_word () { int i, j, num_char_deleted, num_char_end; - if (buffer->input_buffer_pos > 0) + if (gui_current_window->buffer->input_buffer_pos > 0) { - i = buffer->input_buffer_pos - 1; + i = gui_current_window->buffer->input_buffer_pos - 1; while ((i >= 0) && - (buffer->input_buffer[i] == ' ')) + (gui_current_window->buffer->input_buffer[i] == ' ')) i--; if (i >= 0) { while ((i >= 0) && - (buffer->input_buffer[i] != ' ')) + (gui_current_window->buffer->input_buffer[i] != ' ')) i--; if (i >= 0) { while ((i >= 0) && - (buffer->input_buffer[i] == ' ')) + (gui_current_window->buffer->input_buffer[i] == ' ')) i--; } } @@ -601,110 +918,554 @@ gui_delete_previous_word (t_gui_buffer *buffer) if (i >= 0) i++; i++; - num_char_deleted = buffer->input_buffer_pos - i; - num_char_end = buffer->input_buffer_size - - buffer->input_buffer_pos; + num_char_deleted = gui_current_window->buffer->input_buffer_pos - i; + num_char_end = gui_current_window->buffer->input_buffer_size - + gui_current_window->buffer->input_buffer_pos; for (j = 0; j < num_char_end; j++) - buffer->input_buffer[i + j] = - buffer->input_buffer[buffer->input_buffer_pos + j]; + gui_current_window->buffer->input_buffer[i + j] = + gui_current_window->buffer->input_buffer[gui_current_window->buffer->input_buffer_pos + j]; - buffer->input_buffer_size -= num_char_deleted; - buffer->input_buffer[buffer->input_buffer_size] = '\0'; - buffer->input_buffer_pos = i; - gui_draw_buffer_input (buffer, 0); - gui_optimize_input_buffer_size (buffer); - buffer->completion.position = -1; + gui_current_window->buffer->input_buffer_size -= num_char_deleted; + gui_current_window->buffer->input_buffer[gui_current_window->buffer->input_buffer_size] = '\0'; + gui_current_window->buffer->input_buffer_pos = i; + gui_draw_buffer_input (gui_current_window->buffer, 0); + gui_input_optimize_buffer_size (gui_current_window->buffer); + gui_current_window->buffer->completion.position = -1; + } +} + +/* + * gui_input_delete_next_word: delete next word + */ + +void +gui_input_delete_next_word () +{ + int i, j, num_char_deleted; + + i = gui_current_window->buffer->input_buffer_pos; + while (i < gui_current_window->buffer->input_buffer_size) + { + if ((gui_current_window->buffer->input_buffer[i] == ' ') + && i != gui_current_window->buffer->input_buffer_pos) + break; + i++; + } + num_char_deleted = i - gui_current_window->buffer->input_buffer_pos; + + for (j = i; j < gui_current_window->buffer->input_buffer_size; j++) + gui_current_window->buffer->input_buffer[j - num_char_deleted] = + gui_current_window->buffer->input_buffer[j]; + + gui_current_window->buffer->input_buffer_size -= num_char_deleted; + gui_current_window->buffer->input_buffer[gui_current_window->buffer->input_buffer_size] = '\0'; + gui_draw_buffer_input (gui_current_window->buffer, 0); + gui_input_optimize_buffer_size (gui_current_window->buffer); + gui_current_window->buffer->completion.position = -1; +} + +/* + * gui_input_delete_begin_of_line: delete all from cursor pos to beginning of line + */ + +void +gui_input_delete_begin_of_line () +{ + int i; + + for (i = gui_current_window->buffer->input_buffer_pos; + i < gui_current_window->buffer->input_buffer_size; i++) + gui_current_window->buffer->input_buffer[i - gui_current_window->buffer->input_buffer_pos] = + gui_current_window->buffer->input_buffer[i]; + + gui_current_window->buffer->input_buffer_size -= + gui_current_window->buffer->input_buffer_pos; + gui_current_window->buffer->input_buffer[gui_current_window->buffer->input_buffer_size] = '\0'; + gui_current_window->buffer->input_buffer_pos = 0; + gui_draw_buffer_input (gui_current_window->buffer, 0); + gui_input_optimize_buffer_size (gui_current_window->buffer); + gui_current_window->buffer->completion.position = -1; +} + +/* + * gui_input_delete_end_of_line: delete all from cursor pos to end of line + */ + +void +gui_input_delete_end_of_line () +{ + gui_current_window->buffer->input_buffer[gui_current_window->buffer->input_buffer_pos] = ' '; + gui_current_window->buffer->input_buffer_size = gui_current_window->buffer->input_buffer_pos ; + gui_current_window->buffer->input_buffer[gui_current_window->buffer->input_buffer_size] = '\0'; + gui_draw_buffer_input (gui_current_window->buffer, 0); + gui_input_optimize_buffer_size (gui_current_window->buffer); + gui_current_window->buffer->completion.position = -1; +} + +/* + * gui_input_delete_line: delete entire line + */ + +void +gui_input_delete_line () +{ + gui_current_window->buffer->input_buffer[0] = '\0'; + gui_current_window->buffer->input_buffer_size = 0; + gui_current_window->buffer->input_buffer_pos = 0; + gui_draw_buffer_input (gui_current_window->buffer, 0); + gui_input_optimize_buffer_size (gui_current_window->buffer); + gui_current_window->buffer->completion.position = -1; +} + +/* + * gui_input_home: home key + */ + +void +gui_input_home () +{ + if (!gui_current_window->buffer->dcc) + { + if (gui_current_window->buffer->input_buffer_pos > 0) + { + gui_current_window->buffer->input_buffer_pos = 0; + gui_draw_buffer_input (gui_current_window->buffer, 0); + } + } +} + +/* + * gui_input_end: end key + */ + +void +gui_input_end () +{ + if (!gui_current_window->buffer->dcc) + { + if (gui_current_window->buffer->input_buffer_pos < + gui_current_window->buffer->input_buffer_size) + { + gui_current_window->buffer->input_buffer_pos = + gui_current_window->buffer->input_buffer_size; + gui_draw_buffer_input (gui_current_window->buffer, 0); + } + } +} + +/* + * gui_input_left: move to previous char + */ + +void +gui_input_left () +{ + if (!gui_current_window->buffer->dcc) + { + if (gui_current_window->buffer->input_buffer_pos > 0) + { + gui_current_window->buffer->input_buffer_pos--; + gui_draw_buffer_input (gui_current_window->buffer, 0); + } } } /* - * gui_move_previous_word: move to beginning of previous word + * gui_input_previous_word: move to beginning of previous word */ void -gui_move_previous_word (t_gui_buffer *buffer) +gui_input_previous_word () { int i; - if (buffer->input_buffer_pos > 0) + if (gui_current_window->buffer->input_buffer_pos > 0) { - i = buffer->input_buffer_pos - 1; + i = gui_current_window->buffer->input_buffer_pos - 1; while ((i >= 0) && - (buffer->input_buffer[i] == ' ')) + (gui_current_window->buffer->input_buffer[i] == ' ')) i--; if (i < 0) - buffer->input_buffer_pos = 0; + gui_current_window->buffer->input_buffer_pos = 0; else { while ((i >= 0) && - (buffer->input_buffer[i] != ' ')) + (gui_current_window->buffer->input_buffer[i] != ' ')) i--; - buffer->input_buffer_pos = i + 1; + gui_current_window->buffer->input_buffer_pos = i + 1; + } + gui_draw_buffer_input (gui_current_window->buffer, 0); + } +} + +/* + * gui_input_right: move to previous char + */ + +void +gui_input_right () +{ + if (!gui_current_window->buffer->dcc) + { + if (gui_current_window->buffer->input_buffer_pos < + gui_current_window->buffer->input_buffer_size) + { + gui_current_window->buffer->input_buffer_pos++; + gui_draw_buffer_input (gui_current_window->buffer, 0); } - gui_draw_buffer_input (buffer, 0); } } /* - * gui_move_next_word: move to the end of next + * gui_input_next_word: move to the end of next */ void -gui_move_next_word (t_gui_buffer *buffer) +gui_input_next_word () { int i; - if (buffer->input_buffer_pos < - buffer->input_buffer_size + 1) + if (gui_current_window->buffer->input_buffer_pos < + gui_current_window->buffer->input_buffer_size + 1) { - i = buffer->input_buffer_pos; - while ((i <= buffer->input_buffer_size) && - (buffer->input_buffer[i] == ' ')) + i = gui_current_window->buffer->input_buffer_pos; + while ((i <= gui_current_window->buffer->input_buffer_size) && + (gui_current_window->buffer->input_buffer[i] == ' ')) i++; - if (i > buffer->input_buffer_size) - buffer->input_buffer_pos = i - 1; + if (i > gui_current_window->buffer->input_buffer_size) + gui_current_window->buffer->input_buffer_pos = i - 1; else { - while ((i <= buffer->input_buffer_size) && - (buffer->input_buffer[i] != ' ')) + while ((i <= gui_current_window->buffer->input_buffer_size) && + (gui_current_window->buffer->input_buffer[i] != ' ')) i++; - if (i > buffer->input_buffer_size) - buffer->input_buffer_pos = - buffer->input_buffer_size; + if (i > gui_current_window->buffer->input_buffer_size) + gui_current_window->buffer->input_buffer_pos = + gui_current_window->buffer->input_buffer_size; else - buffer->input_buffer_pos = i; + gui_current_window->buffer->input_buffer_pos = i; } - gui_draw_buffer_input (buffer, 0); + gui_draw_buffer_input (gui_current_window->buffer, 0); } } /* - * gui_buffer_insert_string: insert a string into the input buffer + * gui_input_up: recall last command or move to previous DCC in list */ void -gui_buffer_insert_string (t_gui_buffer *buffer, char *string, int pos) +gui_input_up () { - int i, start, end, length; + if (gui_current_window->buffer->dcc) + { + if (dcc_list) + { + if (gui_current_window->dcc_selected + && ((t_irc_dcc *)(gui_current_window->dcc_selected))->prev_dcc) + { + if (gui_current_window->dcc_selected == + gui_current_window->dcc_first) + gui_current_window->dcc_first = + ((t_irc_dcc *)(gui_current_window->dcc_first))->prev_dcc; + gui_current_window->dcc_selected = + ((t_irc_dcc *)(gui_current_window->dcc_selected))->prev_dcc; + gui_draw_buffer_chat (gui_current_window->buffer, 1); + gui_draw_buffer_input (gui_current_window->buffer, 1); + } + } + } + else + { + if (gui_current_window->buffer->ptr_history) + { + gui_current_window->buffer->ptr_history = + gui_current_window->buffer->ptr_history->next_history; + if (!gui_current_window->buffer->ptr_history) + gui_current_window->buffer->ptr_history = + gui_current_window->buffer->history; + } + else + gui_current_window->buffer->ptr_history = + gui_current_window->buffer->history; + if (gui_current_window->buffer->ptr_history) + { + gui_current_window->buffer->input_buffer_size = + strlen (gui_current_window->buffer->ptr_history->text); + gui_input_optimize_buffer_size (gui_current_window->buffer); + gui_current_window->buffer->input_buffer_pos = + gui_current_window->buffer->input_buffer_size; + strcpy (gui_current_window->buffer->input_buffer, + gui_current_window->buffer->ptr_history->text); + gui_draw_buffer_input (gui_current_window->buffer, 0); + } + } +} + +/* + * gui_input_down: recall next command or move to next DCC in list + */ + +void +gui_input_down () +{ + if (gui_current_window->buffer->dcc) + { + if (dcc_list) + { + if (!gui_current_window->dcc_selected + || ((t_irc_dcc *)(gui_current_window->dcc_selected))->next_dcc) + { + if (gui_current_window->dcc_last_displayed + && (gui_current_window->dcc_selected == + gui_current_window->dcc_last_displayed)) + { + if (gui_current_window->dcc_first) + gui_current_window->dcc_first = + ((t_irc_dcc *)(gui_current_window->dcc_first))->next_dcc; + else + gui_current_window->dcc_first = + dcc_list->next_dcc; + } + if (gui_current_window->dcc_selected) + gui_current_window->dcc_selected = + ((t_irc_dcc *)(gui_current_window->dcc_selected))->next_dcc; + else + gui_current_window->dcc_selected = + dcc_list->next_dcc; + gui_draw_buffer_chat (gui_current_window->buffer, 1); + gui_draw_buffer_input (gui_current_window->buffer, 1); + } + } + } + else + { + if (gui_current_window->buffer->ptr_history) + { + gui_current_window->buffer->ptr_history = + gui_current_window->buffer->ptr_history->prev_history; + if (gui_current_window->buffer->ptr_history) + gui_current_window->buffer->input_buffer_size = + strlen (gui_current_window->buffer->ptr_history->text); + else + gui_current_window->buffer->input_buffer_size = 0; + gui_input_optimize_buffer_size (gui_current_window->buffer); + gui_current_window->buffer->input_buffer_pos = + gui_current_window->buffer->input_buffer_size; + if (gui_current_window->buffer->ptr_history) + strcpy (gui_current_window->buffer->input_buffer, + gui_current_window->buffer->ptr_history->text); + gui_draw_buffer_input (gui_current_window->buffer, 0); + } + } +} + +/* + * gui_input_jump_smart: jump to buffer with activity (alt-A by default) + */ + +void +gui_input_jump_smart () +{ + if (hotlist) + { + if (!hotlist_initial_buffer) + hotlist_initial_buffer = gui_current_window->buffer; + gui_switch_to_buffer (gui_current_window, hotlist->buffer); + gui_redraw_buffer (gui_current_window->buffer); + } + else + { + if (hotlist_initial_buffer) + { + gui_switch_to_buffer (gui_current_window, hotlist_initial_buffer); + gui_redraw_buffer (gui_current_window->buffer); + hotlist_initial_buffer = NULL; + } + } +} + +/* + * gui_input_jump_dcc: jump to DCC buffer + */ + +void +gui_input_jump_dcc () +{ + if (gui_current_window->buffer->dcc) + { + if (buffer_before_dcc) + { + gui_switch_to_buffer (gui_current_window, + buffer_before_dcc); + gui_redraw_buffer (gui_current_window->buffer); + } + } + else + { + buffer_before_dcc = gui_current_window->buffer; + gui_switch_to_dcc_buffer (); + } +} + +/* + * gui_input_jump_server: jump to server buffer + */ + +void +gui_input_jump_server () +{ + if (!gui_current_window->buffer->dcc) + { + if (SERVER(gui_current_window->buffer)->buffer != + gui_current_window->buffer) + { + gui_switch_to_buffer (gui_current_window, + SERVER(gui_current_window->buffer)->buffer); + gui_redraw_buffer (gui_current_window->buffer); + } + } +} + +/* + * gui_input_jump_next_server: jump to next server + */ + +void +gui_input_jump_next_server () +{ + t_irc_server *ptr_server; + t_gui_buffer *ptr_buffer; - length = strlen (string); + if (!gui_current_window->buffer->dcc) + { + ptr_server = SERVER(gui_current_window->buffer)->next_server; + if (!ptr_server) + ptr_server = irc_servers; + while (ptr_server != SERVER(gui_current_window->buffer)) + { + if (ptr_server->buffer) + break; + ptr_server = (ptr_server->next_server) ? + ptr_server->next_server : irc_servers; + } + if (ptr_server != SERVER(gui_current_window->buffer)) + { + ptr_buffer = (ptr_server->channels) ? + ptr_server->channels->buffer : ptr_server->buffer; + gui_switch_to_buffer (gui_current_window, ptr_buffer); + gui_redraw_buffer (gui_current_window->buffer); + } + } +} + +/* + * gui_input_hotlist_clear: clear hotlist + */ + +void +gui_input_hotlist_clear () +{ + if (hotlist) + { + hotlist_free_all (); + gui_redraw_buffer (gui_current_window->buffer); + } + hotlist_initial_buffer = gui_current_window->buffer; +} + +/* + * gui_input_infobar_clear: clear infobar + */ + +void +gui_input_infobar_clear () +{ + gui_infobar_remove (); + gui_draw_buffer_infobar (gui_current_window->buffer, 1); +} + +/* + * gui_switch_to_previous_buffer: switch to previous buffer + */ + +void +gui_switch_to_previous_buffer () +{ + if (!gui_ok) + return; - /* increase buffer size */ - buffer->input_buffer_size += length; - gui_optimize_input_buffer_size (buffer); - buffer->input_buffer[buffer->input_buffer_size] = '\0'; + /* if only one buffer then return */ + if (gui_buffers == last_gui_buffer) + return; - /* move end of string to the right */ - start = pos + length; - end = buffer->input_buffer_size - 1; - for (i = end; i >= start; i--) - buffer->input_buffer[i] = - buffer->input_buffer[i - length]; + if (gui_current_window->buffer->prev_buffer) + gui_switch_to_buffer (gui_current_window, gui_current_window->buffer->prev_buffer); + else + gui_switch_to_buffer (gui_current_window, last_gui_buffer); - /* insert new string */ - strncpy (buffer->input_buffer + pos, string, length); + gui_redraw_buffer (gui_current_window->buffer); +} + +/* + * gui_switch_to_next_buffer: switch to next buffer + */ + +void +gui_switch_to_next_buffer () +{ + if (!gui_ok) + return; + + /* if only one buffer then return */ + if (gui_buffers == last_gui_buffer) + return; + + if (gui_current_window->buffer->next_buffer) + gui_switch_to_buffer (gui_current_window, gui_current_window->buffer->next_buffer); + else + gui_switch_to_buffer (gui_current_window, gui_buffers); + + gui_redraw_buffer (gui_current_window->buffer); +} + +/* + * gui_switch_to_previous_window: switch to previous window + */ + +void +gui_switch_to_previous_window () +{ + if (!gui_ok) + return; + + /* if only one window then return */ + if (gui_windows == last_gui_window) + return; + + gui_current_window = (gui_current_window->prev_window) ? gui_current_window->prev_window : last_gui_window; + gui_switch_to_buffer (gui_current_window, gui_current_window->buffer); + gui_redraw_buffer (gui_current_window->buffer); +} + +/* + * gui_switch_to_next_window: switch to next window + */ + +void +gui_switch_to_next_window () +{ + if (!gui_ok) + return; + + /* if only one window then return */ + if (gui_windows == last_gui_window) + return; + + gui_current_window = (gui_current_window->next_window) ? gui_current_window->next_window : gui_windows; + gui_switch_to_buffer (gui_current_window, gui_current_window->buffer); + gui_redraw_buffer (gui_current_window->buffer); } /* @@ -716,6 +1477,10 @@ gui_switch_to_buffer_by_number (t_gui_window *window, int number) { t_gui_buffer *ptr_buffer; + /* invalid buffer */ + if (number < 0) + return NULL; + /* buffer is currently displayed ? */ if (number == window->buffer->number) return window->buffer; diff --git a/src/gui/gui-keyboard.c b/src/gui/gui-keyboard.c new file mode 100644 index 000000000..79bc44c79 --- /dev/null +++ b/src/gui/gui-keyboard.c @@ -0,0 +1,528 @@ +/* + * Copyright (c) 2003-2005 by FlashCode <flashcode@flashtux.org> + * See README for License detail, AUTHORS for developers list. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ + +/* gui-keyboard: keyboard functions (GUI independant) */ + + +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + +#include <stdlib.h> +#include <string.h> +#include <ctype.h> + +#include "../common/weechat.h" +#include "gui.h" +#include "../common/command.h" + + +t_gui_key *gui_keys = NULL; +t_gui_key *last_gui_key = NULL; + +char gui_key_buffer[128]; + +t_gui_key_function gui_key_functions[] = +{ { "return", gui_input_return, + N_("terminate line") }, + { "tab", gui_input_tab, + N_("complete word") }, + { "backspace", gui_input_backspace, + N_("delete previous char") }, + { "delete", gui_input_delete, + N_("delete next char") }, + { "delete_end_line", gui_input_delete_end_of_line, + N_("delete until end of line") }, + { "delete_beginning_line", gui_input_delete_begin_of_line, + N_("delete until beginning of line") }, + { "delete_line", gui_input_delete_line, + N_("delete entire line") }, + { "delete_previous_word", gui_input_delete_previous_word, + N_("delete previous word") }, + { "delete_next_word", gui_input_delete_next_word, + N_("delete next word") }, + { "home", gui_input_home, + N_("go to beginning of line") }, + { "end", gui_input_end, + N_("go to end of line") }, + { "left", gui_input_left, + N_("move one char left") }, + { "previous_word", gui_input_previous_word, + N_("move to previous word") }, + { "right", gui_input_right, + N_("move one char right") }, + { "next_word", gui_input_next_word, + N_("move to next word") }, + { "up", gui_input_up, + N_("call previous command in history") }, + { "down", gui_input_down, + N_("call next command in history") }, + { "page_up", gui_input_page_up, + N_("scroll one page up") }, + { "page_down", gui_input_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, + N_("display beginning of nicklist") }, + { "nick_end", gui_input_nick_end, + N_("display end of nicklist") }, + { "refresh", gui_curses_resize_handler, + N_("refresh screen") }, + { "jump_smart", gui_input_jump_smart, + N_("jump to buffer with activity") }, + { "jump_dcc", gui_input_jump_dcc, + N_("jump to DCC buffer") }, + { "jump_server", gui_input_jump_server, + N_("jump to server buffer") }, + { "jump_next_server", gui_input_jump_next_server, + N_("jump to next server") }, + { "hotlist_clear", gui_input_hotlist_clear, + N_("clear hotlist") }, + { NULL, NULL, NULL } +}; + + +/* + * gui_key_init: init keyboard (create default key bindings) + */ + +void +gui_key_init () +{ + gui_key_buffer[0] = '\0'; + + gui_input_default_key_bindings (); +} + +/* + * gui_key_get_internal_code: get internal code from user key name + * for example: return "^R" for "ctrl-R" + */ + +char * +gui_key_get_internal_code (char *key) +{ + char *result; + + if ((result = (char *) malloc (strlen (key) + 1))) + { + result[0] = '\0'; + while (key[0]) + { + if (strncasecmp (key, "meta2-", 6) == 0) + { + strcat (result, "^[["); + key += 6; + } + if (strncasecmp (key, "meta-", 5) == 0) + { + strcat (result, "^["); + key += 5; + } + else if (strncasecmp (key, "ctrl-", 5) == 0) + { + strcat (result, "^"); + key += 5; + } + else + { + strncat (result, key, 1); + key++; + } + } + } + else + return NULL; + + return result; +} + +/* + * gui_key_get_expanded_name: get expanded name from internal key code + * for example: return "ctrl-R" for "^R" + */ + +char * +gui_key_get_expanded_name (char *key) +{ + char *result; + + if ((result = (char *) malloc ((strlen (key) * 5) + 1))) + { + result[0] = '\0'; + while (key[0]) + { + if (strncasecmp (key, "^[[", 3) == 0) + { + strcat (result, "meta2-"); + key += 3; + } + if (strncasecmp (key, "^[", 2) == 0) + { + strcat (result, "meta-"); + key += 2; + } + else if (key[0] == '^') + { + strcat (result, "ctrl-"); + key++; + } + else + { + strncat (result, key, 1); + key++; + } + } + } + else + return NULL; + + return result; +} + +/* + * gui_key_find_pos: find position for a key (for sorting keys list) + */ + +t_gui_key * +gui_key_find_pos (t_gui_key *key) +{ + t_gui_key *ptr_key; + + for (ptr_key = gui_keys; ptr_key; ptr_key = ptr_key->next_key) + { + if (strcasecmp (key->key, ptr_key->key) < 0) + return ptr_key; + } + return NULL; +} + +/* + * gui_key_insert_sorted: insert key into sorted list + */ + +void +gui_key_insert_sorted (t_gui_key *key) +{ + t_gui_key *pos_key; + + if (gui_keys) + { + pos_key = gui_key_find_pos (key); + + if (pos_key) + { + /* insert key into the list (before key found) */ + key->prev_key = pos_key->prev_key; + key->next_key = pos_key; + if (pos_key->prev_key) + pos_key->prev_key->next_key = key; + else + gui_keys = key; + pos_key->prev_key = key; + } + else + { + /* add key to the end */ + key->prev_key = last_gui_key; + key->next_key = NULL; + last_gui_key->next_key = key; + last_gui_key = key; + } + } + else + { + key->prev_key = NULL; + key->next_key = NULL; + gui_keys = key; + last_gui_key = key; + } +} + +/* + * gui_key_new: add a new key in keys list + */ + +t_gui_key * +gui_key_new (char *key, char *command, void *function) +{ + t_gui_key *new_key; + char *internal_code; + + if ((new_key = (t_gui_key *) malloc (sizeof (t_gui_key)))) + { + internal_code = gui_key_get_internal_code (key); + new_key->key = (internal_code) ? strdup (internal_code) : strdup (key); + if (internal_code) + free (internal_code); + new_key->command = (command) ? strdup (command) : NULL; + new_key->function = function; + gui_key_insert_sorted (new_key); + } + else + return NULL; + + return new_key; +} + +/* + * gui_key_search: search a key + */ + +t_gui_key * +gui_key_search (char *key) +{ + t_gui_key *ptr_key; + + for (ptr_key = gui_keys; ptr_key; ptr_key = ptr_key->next_key) + { + if (strcasecmp (ptr_key->key, key) == 0) + return ptr_key; + } + + /* key not found */ + return NULL; +} + +/* + * gui_key_cmp: compares 2 keys + */ + +int +gui_key_cmp (char *key, char *search) +{ + while (search[0]) + { + if (toupper(key[0]) != toupper(search[0])) + return search[0] - key[0]; + key++; + search++; + } + + return 0; +} + +/* + * gui_key_search_part: search a key (maybe part of string) + */ + +t_gui_key * +gui_key_search_part (char *key) +{ + t_gui_key *ptr_key; + + for (ptr_key = gui_keys; ptr_key; ptr_key = ptr_key->next_key) + { + if (gui_key_cmp (ptr_key->key, key) == 0) + return ptr_key; + } + + /* key not found */ + return NULL; +} + +/* + * gui_key_function_search_by_name: search a function by name + */ + +void * +gui_key_function_search_by_name (char *name) +{ + int i; + + i = 0; + while (gui_key_functions[i].function_name) + { + if (strcasecmp (gui_key_functions[i].function_name, name) == 0) + return gui_key_functions[i].function; + i++; + } + + /* function not found */ + return NULL; +} + +/* + * gui_key_function_search_by_ptr: search a function by pointer + */ + +char * +gui_key_function_search_by_ptr (void *function) +{ + int i; + + i = 0; + while (gui_key_functions[i].function_name) + { + if (gui_key_functions[i].function == function) + return gui_key_functions[i].function_name; + i++; + } + + /* function not found */ + return NULL; +} + +/* + * gui_key_bind: bind a key to a function (command or special function) + */ + +t_gui_key * +gui_key_bind (char *key, char *command) +{ + t_gui_key_function *ptr_function; + t_gui_key *new_key; + + if (!key || !command) + { + wee_log_printf (_("%s unable to bind key \"%s\"\n"), + WEECHAT_ERROR, key); + return NULL; + } + + ptr_function = NULL; + if (command[0] != '/') + { + ptr_function = gui_key_function_search_by_name (command); + if (!ptr_function) + { + wee_log_printf (_("%s unable to bind key \"%s\" (invalid function name: \"%s\")\n"), + WEECHAT_ERROR, key, command); + return NULL; + } + } + + gui_key_unbind (key); + + new_key = gui_key_new (key, + (ptr_function) ? NULL : command, + ptr_function); + if (!new_key) + { + wee_log_printf (_("%s not enough memory for key binding\n"), + WEECHAT_ERROR); + return NULL; + } + + return new_key; +} + +/* + * gui_key_unbind: remove a key binding + */ + +int +gui_key_unbind (char *key) +{ + t_gui_key *ptr_key; + char *internal_code; + + internal_code = gui_key_get_internal_code (key); + + ptr_key = gui_key_search ((internal_code) ? internal_code : key); + if (ptr_key) + gui_key_free (ptr_key); + + if (internal_code) + free (internal_code); + + return (ptr_key != NULL); +} + +/* + * gui_key_pressed: treat new key pressed + * return: 1 if key should be added to input buffer + * 0 otherwise + */ + +int +gui_key_pressed (char *key_str) +{ + int first_key; + t_gui_key *ptr_key; + + first_key = (gui_key_buffer[0] == '\0'); + strcat (gui_key_buffer, key_str); + ptr_key = gui_key_search_part (gui_key_buffer); + if (ptr_key) + { + if (strcasecmp (ptr_key->key, gui_key_buffer) == 0) + { + /* exact combo found => execute function or command */ + gui_key_buffer[0] = '\0'; + if (ptr_key->command) + user_command (SERVER(gui_current_window->buffer), + gui_current_window->buffer, + ptr_key->command); + else + (void)(ptr_key->function)(); + } + //else + // gui_printf (gui_current_window->buffer, "partial key found\n"); + return 0; + } + + gui_key_buffer[0] = '\0'; + + /* if this is first key and not found (even partial) => return 1 + else return 0 (= silently discard sequence of bad keys) */ + return first_key; +} + +/* + * key_free: delete a key binding + */ + +void +gui_key_free (t_gui_key *key) +{ + /* free memory */ + if (key->key) + free (key->key); + if (key->command) + free (key->command); + + /* remove key from keys list */ + if (key->prev_key) + key->prev_key->next_key = key->next_key; + if (key->next_key) + key->next_key->prev_key = key->prev_key; + if (gui_keys == key) + gui_keys = key->next_key; + if (last_gui_key == key) + last_gui_key = key->prev_key; + + free (key); +} + +/* + * gui_key_free_all: delete all key bindings + */ + +void +gui_key_free_all () +{ + while (gui_keys) + gui_key_free (gui_keys); +} diff --git a/src/gui/gui.h b/src/gui/gui.h index 63d5ab50c..ec1dc8bae 100644 --- a/src/gui/gui.h +++ b/src/gui/gui.h @@ -26,7 +26,7 @@ #define INPUT_BUFFER_BLOCK_SIZE 256 -#define NUM_COLORS 50 +#define NUM_COLORS 51 #define COLOR_WIN_TITLE 1 #define COLOR_WIN_CHAT 2 #define COLOR_WIN_CHAT_TIME 3 @@ -45,31 +45,32 @@ #define COLOR_WIN_STATUS_DATA_OTHER 16 #define COLOR_WIN_STATUS_MORE 17 #define COLOR_WIN_INFOBAR 18 -#define COLOR_WIN_INFOBAR_HIGHLIGHT 19 -#define COLOR_WIN_INPUT 20 -#define COLOR_WIN_INPUT_CHANNEL 21 -#define COLOR_WIN_INPUT_NICK 22 -#define COLOR_WIN_NICK 23 -#define COLOR_WIN_NICK_AWAY 24 -#define COLOR_WIN_NICK_CHANOWNER 25 -#define COLOR_WIN_NICK_CHANADMIN 26 -#define COLOR_WIN_NICK_OP 27 -#define COLOR_WIN_NICK_HALFOP 28 -#define COLOR_WIN_NICK_VOICE 29 -#define COLOR_WIN_NICK_MORE 30 -#define COLOR_WIN_NICK_SEP 31 -#define COLOR_WIN_NICK_SELF 32 -#define COLOR_WIN_NICK_PRIVATE 33 -#define COLOR_WIN_NICK_FIRST 34 -#define COLOR_WIN_NICK_LAST 43 +#define COLOR_WIN_INFOBAR_DELIMITERS 19 +#define COLOR_WIN_INFOBAR_HIGHLIGHT 20 +#define COLOR_WIN_INPUT 21 +#define COLOR_WIN_INPUT_CHANNEL 22 +#define COLOR_WIN_INPUT_NICK 23 +#define COLOR_WIN_NICK 24 +#define COLOR_WIN_NICK_AWAY 25 +#define COLOR_WIN_NICK_CHANOWNER 26 +#define COLOR_WIN_NICK_CHANADMIN 27 +#define COLOR_WIN_NICK_OP 28 +#define COLOR_WIN_NICK_HALFOP 29 +#define COLOR_WIN_NICK_VOICE 30 +#define COLOR_WIN_NICK_MORE 31 +#define COLOR_WIN_NICK_SEP 32 +#define COLOR_WIN_NICK_SELF 33 +#define COLOR_WIN_NICK_PRIVATE 34 +#define COLOR_WIN_NICK_FIRST 35 +#define COLOR_WIN_NICK_LAST 44 #define COLOR_WIN_NICK_NUMBER (COLOR_WIN_NICK_LAST - COLOR_WIN_NICK_FIRST + 1) -#define COLOR_DCC_SELECTED 44 -#define COLOR_DCC_WAITING 45 -#define COLOR_DCC_CONNECTING 46 -#define COLOR_DCC_ACTIVE 47 -#define COLOR_DCC_DONE 48 -#define COLOR_DCC_FAILED 49 -#define COLOR_DCC_ABORTED 50 +#define COLOR_DCC_SELECTED 45 +#define COLOR_DCC_WAITING 46 +#define COLOR_DCC_CONNECTING 47 +#define COLOR_DCC_ACTIVE 48 +#define COLOR_DCC_DONE 49 +#define COLOR_DCC_FAILED 40 +#define COLOR_DCC_ABORTED 51 #define SERVER(buffer) ((t_irc_server *)(buffer->server)) #define CHANNEL(buffer) ((t_irc_channel *)(buffer->channel)) @@ -219,6 +220,9 @@ struct t_gui_window int win_nick_height; /* height of nick window */ int win_nick_start; /* # of 1st nick for display (scroll) */ + /* input window settings */ + int win_input_x; /* position of cursor in input window */ + /* windows for Curses GUI */ void *win_title; /* title window */ void *win_chat; /* chat window (example: channel) */ @@ -252,6 +256,26 @@ struct t_gui_window t_gui_window *next_window; /* link to next window */ }; +typedef struct t_gui_key t_gui_key; + +struct t_gui_key +{ + char *key; /* key combo (ex: a, ^W, ^W^C, meta-a) */ + char *command; /* associated command (may be NULL) */ + void (*function)(); /* associated function (if cmd is NULL) */ + t_gui_key *prev_key; /* link to previous key */ + t_gui_key *next_key; /* link to next key */ +}; + +typedef struct t_gui_key_function t_gui_key_function; + +struct t_gui_key_function +{ + char *function_name; /* name of function */ + void (*function)(); /* associated function */ + char *description; /* description of function */ +}; + /* variables */ extern int gui_init_ok; @@ -264,8 +288,11 @@ extern t_gui_buffer *gui_buffers; extern t_gui_buffer *last_gui_buffer; extern t_gui_buffer *buffer_before_dcc; extern t_gui_infobar *gui_infobar; +extern t_gui_key *gui_keys; +extern t_gui_key *last_gui_key; +extern t_gui_key_function gui_key_functions[]; -/* GUI independent functions */ +/* GUI independent functions: windows & buffers */ extern t_gui_window *gui_window_new (int, int, int, int); extern t_gui_buffer *gui_buffer_new (t_gui_window *, void *, void *, int, int); @@ -277,17 +304,53 @@ 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_optimize_input_buffer_size (t_gui_buffer *); -extern void gui_delete_previous_word (t_gui_buffer *); -extern void gui_move_previous_word (t_gui_buffer *); -extern void gui_move_next_word (t_gui_buffer *); -extern void gui_buffer_insert_string (t_gui_buffer *, char *, int); +extern void gui_input_insert_char (); +extern void gui_input_return (); +extern void gui_input_tab (); +extern void gui_input_backspace (); +extern void gui_input_delete (); +extern void gui_input_delete_previous_word (); +extern void gui_input_delete_next_word (); +extern void gui_input_delete_begin_of_line (); +extern void gui_input_delete_end_of_line (); +extern void gui_input_delete_line (); +extern void gui_input_home (); +extern void gui_input_end (); +extern void gui_input_left (); +extern void gui_input_previous_word (); +extern void gui_input_right (); +extern void gui_input_next_word (); +extern void gui_input_up (); +extern void gui_input_down (); +extern void gui_input_jump_smart (); +extern void gui_input_jump_dcc (); +extern void gui_input_jump_server (); +extern void gui_input_jump_next_server (); +extern void gui_input_hotlist_clear (); +extern void gui_input_infobar_clear (); +extern void gui_switch_to_previous_buffer (); +extern void gui_switch_to_next_buffer (); +extern void gui_switch_to_previous_window (); +extern void gui_switch_to_next_window (); extern t_gui_buffer *gui_switch_to_buffer_by_number (t_gui_window *, int); 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 dependant functions */ +/* GUI independent functions: keys */ + +extern void gui_key_init (); +extern char *gui_key_get_internal_code (char *); +extern char *gui_key_get_expanded_name (char *); +extern void *gui_key_function_search_by_name (char *); +extern char *gui_key_function_search_by_ptr (void *); +extern t_gui_key *gui_key_bind (char *, char *); +extern int gui_key_unbind (char *); +extern int gui_key_pressed (char *); +extern void gui_key_free (t_gui_key *); +extern void gui_key_free_all (); + +/* GUI dependant functions: display */ extern int gui_assign_color (int *, char *); extern int gui_get_color_by_name (char *); @@ -298,22 +361,19 @@ extern void gui_draw_buffer_title (t_gui_buffer *, int); extern void gui_draw_buffer_chat (t_gui_buffer *, int); extern void gui_draw_buffer_nick (t_gui_buffer *, int); extern void gui_draw_buffer_status (t_gui_buffer *, int); +extern void gui_draw_buffer_infobar_time (t_gui_buffer *); extern void gui_draw_buffer_infobar (t_gui_buffer *, int); 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 (); extern void gui_switch_to_dcc_buffer (); -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 *); -extern void gui_switch_to_next_window (t_gui_window *); -extern void gui_move_page_up (t_gui_window *); -extern void gui_move_page_down (t_gui_window *); -extern void gui_nick_move_beginning (t_gui_window *); -extern void gui_nick_move_end (t_gui_window *); -extern void gui_nick_move_page_up (t_gui_window *); -extern void gui_nick_move_page_down (t_gui_window *); +extern void gui_input_page_up (); +extern void gui_input_page_down (); +extern void gui_input_nick_beginning (); +extern void gui_input_nick_end (); +extern void gui_input_nick_page_up (); +extern void gui_input_nick_page_down (); extern void gui_curses_resize_handler (); extern void gui_window_init_subwindows (t_gui_window *); extern void gui_window_split_horiz (t_gui_window *); @@ -330,6 +390,7 @@ extern void gui_set_window_title (); extern void gui_init (); extern void gui_end (); extern void gui_printf_type_color (/*@null@*/ t_gui_buffer *, int, int, char *, ...); +extern void gui_input_default_key_bindings (); extern void gui_main_loop (); #endif /* gui.h */ diff --git a/weechat/ChangeLog b/weechat/ChangeLog index 181c9b373..199c53363 100644 --- a/weechat/ChangeLog +++ b/weechat/ChangeLog @@ -1,10 +1,14 @@ WeeChat - Wee Enhanced Environment for Chat =========================================== -ChangeLog - 2005-07-06 +ChangeLog - 2005-07-09 Versoin 0.1.4 (under dev!): + * new keyboard management: keys are setup in config file, new command + /key was added and some new default keys were added + * added seconds in infobar time (optional thanks to new setting) + * fixed some curses refreshs * channels auto-prefixed by "#" (if no prefix found) for /join command Version 0.1.3 (2005-07-02): diff --git a/weechat/po/es.po b/weechat/po/es.po index 85ccfd4ca..7207bd263 100644 --- a/weechat/po/es.po +++ b/weechat/po/es.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: WeeChat 0.1.4-cvs\n" "Report-Msgid-Bugs-To: flashcode@flashtux.org\n" -"POT-Creation-Date: 2005-07-02 18:30+0200\n" -"PO-Revision-Date: 2005-07-02 20:21+0200\n" +"POT-Creation-Date: 2005-07-09 17:25+0200\n" +"PO-Revision-Date: 2005-07-09 14:35+0200\n" "Last-Translator: Roberto González Cardenete <robert.glez@gmail.com>\n" "Language-Team: weechat-dev <weechat-dev@nongnu.org>\n" "MIME-Version: 1.0\n" @@ -20,7 +20,7 @@ msgstr "" msgid "%s cannot allocate new nick\n" msgstr "%s no ha sido posible crear un nuevo nick\n" -#: src/irc/irc-server.c:180 src/common/weeconfig.c:1625 +#: src/irc/irc-server.c:180 src/common/weeconfig.c:1677 msgid "Unable to get user's name" msgstr "No ha sido posible obtener el nombre de usuario" @@ -1299,7 +1299,7 @@ msgstr "no es posible cambiar el modo para el resto de usuarios" msgid "whois (secure connection)" msgstr "" -#: src/irc/irc-display.c:156 src/common/command.c:842 +#: src/irc/irc-display.c:156 src/common/command.c:848 msgid "Server: " msgstr "Servidor: " @@ -1340,45 +1340,45 @@ msgstr "%s: utilización del nombre de máquina local \"%s\"\n" #: src/irc/irc-send.c:232 src/irc/irc-send.c:260 src/irc/irc-send.c:426 #: src/irc/irc-send.c:452 src/irc/irc-send.c:478 src/irc/irc-send.c:519 -#: src/irc/irc-send.c:555 src/irc/irc-send.c:619 src/irc/irc-send.c:676 -#: src/irc/irc-send.c:1018 src/irc/irc-send.c:1116 src/irc/irc-send.c:1595 -#: src/irc/irc-send.c:1702 +#: src/irc/irc-send.c:555 src/irc/irc-send.c:622 src/irc/irc-send.c:679 +#: src/irc/irc-send.c:1021 src/irc/irc-send.c:1119 src/irc/irc-send.c:1598 +#: src/irc/irc-send.c:1705 #, c-format msgid "%s \"%s\" command can only be executed in a channel window\n" msgstr "" "%s el comando \"%s\" sólo puede ser ejecutado en una ventana de canal\n" #: src/irc/irc-send.c:345 src/irc/irc-send.c:357 src/irc/irc-send.c:375 -#: src/irc/irc-send.c:996 src/irc/irc-send.c:1089 src/irc/irc-send.c:1621 -#: src/common/command.c:1167 src/common/command.c:1451 -#: src/common/command.c:1594 +#: src/irc/irc-send.c:999 src/irc/irc-send.c:1092 src/irc/irc-send.c:1624 +#: src/common/command.c:1189 src/common/command.c:1455 +#: src/common/command.c:1605 src/common/command.c:1748 #, c-format msgid "%s wrong argument count for \"%s\" command\n" msgstr "%s número de argumentos incorrecto para el comando \"%s\"\n" -#: src/irc/irc-send.c:398 src/irc/irc-send.c:604 src/irc/irc-send.c:661 +#: src/irc/irc-send.c:398 src/irc/irc-send.c:607 src/irc/irc-send.c:664 #, c-format msgid "%s wrong arguments for \"%s\" command\n" msgstr "%s argumentos incorrecto para el comando \"%s\"\n" -#: src/irc/irc-send.c:804 src/irc/irc-send.c:871 src/irc/irc-send.c:1164 -#: src/irc/irc-send.c:1178 src/irc/irc-send.c:1522 +#: src/irc/irc-send.c:807 src/irc/irc-send.c:874 src/irc/irc-send.c:1167 +#: src/irc/irc-send.c:1181 src/irc/irc-send.c:1525 #, c-format msgid "%s \"%s\" command can not be executed on a server window\n" msgstr "" "%s el comando \"%s\" no puede ser ejecutado en una ventana de servidor\n" -#: src/irc/irc-send.c:889 src/irc/irc-send.c:914 src/irc/irc-recv.c:322 +#: src/irc/irc-send.c:892 src/irc/irc-send.c:917 src/irc/irc-recv.c:322 #, c-format msgid "%s nick \"%s\" not found for \"%s\" command\n" msgstr "%s usuario \"%s\" no encontrado para el comando \"%s\"\n" -#: src/irc/irc-send.c:966 src/irc/irc-send.c:1274 src/irc/irc-recv.c:1505 +#: src/irc/irc-send.c:969 src/irc/irc-send.c:1277 src/irc/irc-recv.c:1505 #, c-format msgid "%s cannot create new private window \"%s\"\n" msgstr "%s no es posible crear una nueva ventana privada \"%s\"\n" -#: src/irc/irc-send.c:1674 +#: src/irc/irc-send.c:1677 #, c-format msgid "%s, compiled on %s %s\n" msgstr "%s, compilado en %s %s\n" @@ -2089,66 +2089,65 @@ msgstr "" "%s no ha sido posible añadir el manejador para el mensaje \"%s\" (memoria " "insuficiente)\n" -#: src/gui/curses/gui-input.c:788 +#: src/gui/curses/gui-input.c:298 #, c-format msgid "%s lag is high, disconnecting from server...\n" msgstr "%s el lag (retraso) es alto, desconectando del servidor...\n" -#: src/gui/curses/gui-display.c:686 +#: src/gui/curses/gui-display.c:684 msgid "bytes" msgstr "bytes" -#: src/gui/curses/gui-display.c:686 +#: src/gui/curses/gui-display.c:684 msgid "Kb" msgstr "KB" -#: src/gui/curses/gui-display.c:686 +#: src/gui/curses/gui-display.c:684 msgid "Mb" msgstr "MB" -#: src/gui/curses/gui-display.c:686 +#: src/gui/curses/gui-display.c:684 msgid "Gb" msgstr "GB" -#: src/gui/curses/gui-display.c:1122 +#: src/gui/curses/gui-display.c:1116 msgid "(away)" msgstr "(ausente)" -#: src/gui/curses/gui-display.c:1235 -#, c-format -msgid "%d:[not connected] " -msgstr "%d:[no conectado] " +#: src/gui/curses/gui-display.c:1233 +msgid "[not connected]" +msgstr "[no conectado]" -#: src/gui/curses/gui-display.c:1252 +#: src/gui/curses/gui-display.c:1249 msgid "Act: " msgstr "Act: " -#: src/gui/curses/gui-display.c:1301 +#: src/gui/curses/gui-display.c:1298 #, c-format msgid "Lag: %.1f" msgstr "Lag: %.1f" -#: src/gui/curses/gui-display.c:1322 +#: src/gui/curses/gui-display.c:1319 msgid "-MORE-" msgstr "-MÁS-" -#: src/gui/curses/gui-display.c:1509 +#: src/gui/curses/gui-display.c:1559 msgid " [A] Accept" msgstr " [A] Aceptar" -#: src/gui/curses/gui-display.c:1510 src/gui/curses/gui-display.c:1514 +#: src/gui/curses/gui-display.c:1560 src/gui/curses/gui-display.c:1564 msgid " [C] Cancel" msgstr " [C] Cancelar" -#: src/gui/curses/gui-display.c:1519 +#: src/gui/curses/gui-display.c:1569 msgid " [R] Remove" msgstr " [R] Eliminar" -#: src/gui/curses/gui-display.c:1523 +#: src/gui/curses/gui-display.c:1573 msgid " [P] Purge old DCC" msgstr " [P] Purgar los viejos DCC" -#: src/gui/curses/gui-display.c:1524 +#: src/gui/curses/gui-display.c:1574 msgid " [Q] Close DCC view" msgstr " [Q] Cerrar la vista DCC" @@ -2156,15 +2155,15 @@ msgstr " [Q] Cerrar la vista DCC" msgid "server" msgstr "servidor" -#: src/gui/gui-common.c:330 +#: src/gui/gui-common.c:333 msgid "Not enough memory for infobar message\n" msgstr "No hay suficiente memoria para el mensaje de la barra de información\n" -#: src/gui/gui-common.c:505 +#: src/gui/gui-common.c:508 msgid "Not enough memory for new line\n" msgstr "No hay suficiente memoria para una nueva línea\n" -#: src/gui/gui-common.c:548 +#: src/gui/gui-common.c:551 msgid "Not enough memory for new message\n" msgstr "No hay suficiente memoria para el mensaje de la barra de información\n" @@ -2275,14 +2274,32 @@ msgid "command: name of a WeeChat or IRC command" msgstr "comando: nombre de un comando de Weechat ó de IRC" #: src/common/command.c:75 +msgid "bind/unbind keys" +msgstr "" + +#: src/common/command.c:76 +msgid "[key function/command] [unbind key] [functions] [reset -yes]" +msgstr "" + +#: src/common/command.c:77 +msgid "" +"key: bind this key to an internal function or a command (beginning by \"/" +"\")\n" +"unbind: unbind a key (if \"all\", default bindings are restored)\n" +"functions: list internal functions for key bindings\n" +"reset: restore bindings to the default values and delete ALL personal " +"binding (use carefully!)" +msgstr "" + +#: src/common/command.c:82 msgid "list/load/unload Perl scripts" msgstr "lista/carga/descarga de los Perl scripts" -#: src/common/command.c:76 src/common/command.c:81 +#: src/common/command.c:83 src/common/command.c:88 msgid "[load filename] | [autoload] | [reload] | [unload]" msgstr "[load fichero] | [autoload] | [reload] | [unload]" -#: src/common/command.c:77 +#: src/common/command.c:84 msgid "" "filename: Perl script (file) to load\n" "Without argument, /perl command lists all loaded Perl scripts." @@ -2290,11 +2307,11 @@ msgstr "" "fichero: Perl script (archivo) a cargar\n" "Sin argumentos, el comando /perl lista todos los Perl scripts cargados." -#: src/common/command.c:80 +#: src/common/command.c:87 msgid "list/load/unload Python scripts" msgstr "lista/carga/descarga de los Python scripts" -#: src/common/command.c:82 +#: src/common/command.c:89 msgid "" "filename: Python script (file) to load\n" "Without argument, /python command lists all loaded Python scripts." @@ -2302,11 +2319,11 @@ msgstr "" "fichero: Python script (archivo) a cargar\n" "Sin argumentos, el comando /python lista todos los Python scripts cargados." -#: src/common/command.c:85 +#: src/common/command.c:92 msgid "list, add or remove servers" msgstr "lista, añade o elimina servidores" -#: src/common/command.c:86 +#: src/common/command.c:93 msgid "" "[servername] | [servername hostname port [-auto | -noauto] [-ipv6] [-ssl] [-" "pwd password] [-nicks nick1 [nick2 [nick3]]] [-username username] [-realname " @@ -2318,7 +2335,7 @@ msgstr "" "username nombre de usuario] [-realname nombre_real] [-command comando] [-" "autojoin canal[,canal]] ] | [del nombre_de_servidor]" -#: src/common/command.c:91 +#: src/common/command.c:98 #, fuzzy msgid "" "servername: server name, for internal & display use\n" @@ -2344,27 +2361,27 @@ msgstr "" "nombre_de_usuario: nombre de usuario\n" "nombre_real: nombre real del usuario" -#: src/common/command.c:103 +#: src/common/command.c:110 msgid "save config to disk" msgstr "guardar configuración a disco" -#: src/common/command.c:104 +#: src/common/command.c:111 msgid "[file]" msgstr "[archivo]" -#: src/common/command.c:104 +#: src/common/command.c:111 msgid "file: filename for writing config" msgstr "archivo: fichero en el que guardar la configuración" -#: src/common/command.c:106 +#: src/common/command.c:113 msgid "set config parameters" msgstr "modificar parámetros de configuración" -#: src/common/command.c:107 +#: src/common/command.c:114 msgid "[option[=value]]" msgstr "[opción[=valor]]" -#: src/common/command.c:107 +#: src/common/command.c:114 msgid "" "option: name of an option\n" "value: value for option" @@ -2372,27 +2389,27 @@ msgstr "" "opción: nombre de una opción\n" "valor: valor para la opción" -#: src/common/command.c:109 +#: src/common/command.c:116 msgid "remove an alias" msgstr "eliminar un alias" -#: src/common/command.c:110 +#: src/common/command.c:117 msgid "alias_name" msgstr "alias" -#: src/common/command.c:110 +#: src/common/command.c:117 msgid "alias_name: name of alias to remove" msgstr "alias: nombre del alias a suprimir" -#: src/common/command.c:112 +#: src/common/command.c:119 msgid "manage windows" msgstr "gestión de ventanas" -#: src/common/command.c:113 +#: src/common/command.c:120 msgid "[list | splith | splitv | [merge [down | up | left | right | all]]]" msgstr "[list | splith | splitv | [merge [down | up | left | right | all]]]" -#: src/common/command.c:115 +#: src/common/command.c:121 msgid "" "list: list opened windows (no parameter implies this list)\n" "splith: split current window horizontally\n" @@ -2405,29 +2422,29 @@ msgstr "" "splitv: dividir la ventana actual verticalmente\n" "merge: fusionar una ventana con otra" -#: src/common/command.c:261 +#: src/common/command.c:267 #, c-format msgid "%s alias or command \"%s\" already exists!\n" msgstr "%s ¡el alias o el comando \"%s\" ya existe!\n" -#: src/common/command.c:271 +#: src/common/command.c:277 #, c-format msgid "%s alias cannot run another alias!\n" msgstr "%s ¡el alias no puede ejecutar otro alias!\n" -#: src/common/command.c:278 +#: src/common/command.c:284 #, c-format msgid "%s target command \"%s\" does not exist!\n" msgstr "%s ¡el comando objetivo \"%s\" no existe!\n" -#: src/common/command.c:486 +#: src/common/command.c:492 #, c-format msgid "%s wrong argument count for %s command \"%s\" (expected: %d arg%s)\n" msgstr "" "%s número de argumentos incorrecto para el comando %s \"%s\" (esperado: %d " "parámetro%s)\n" -#: src/common/command.c:498 +#: src/common/command.c:504 #, c-format msgid "" "%s wrong argument count for %s command \"%s\" (expected: between %d and %d " @@ -2436,19 +2453,19 @@ msgstr "" "%s número de argumentos incorrecto para el comando %s \"%s\" (esperado: " "entre %d y %d parámetro%s)\n" -#: src/common/command.c:520 src/common/command.c:590 +#: src/common/command.c:526 src/common/command.c:596 #, c-format msgid "%s command \"%s\" failed\n" msgstr "%s el comando \"%s\" ha fallado\n" -#: src/common/command.c:548 +#: src/common/command.c:554 #, c-format msgid "%s wrong argument count for IRC command \"%s\" (expected: %d arg%s)\n" msgstr "" "%s número de argumentos incorrecto para el comando IRC \"%s\" (esperado: %d " "parámetro%s)\n" -#: src/common/command.c:560 +#: src/common/command.c:566 #, c-format msgid "" "%s wrong argument count for IRC command \"%s\" (expected: between %d and %d " @@ -2457,189 +2474,221 @@ msgstr "" "%s número de argumentos incorrecto para el comando IRC \"%s\" (esperado: " "entre %d y %d parámetro%s)\n" -#: src/common/command.c:575 +#: src/common/command.c:581 #, c-format msgid "%s command \"%s\" needs a server connection!\n" msgstr "%s ¡el comando \"%s\" requiere una conexión a servidor!\n" -#: src/common/command.c:639 +#: src/common/command.c:645 #, c-format msgid "%s unknown command \"%s\" (type /help for help)\n" msgstr "%s comando \"%s\" desconocido (escriba /help para la ayuda)\n" -#: src/common/command.c:720 +#: src/common/command.c:726 #, c-format msgid "%s cannot find nick for sending message\n" msgstr "%s no ha sido posible encontrar el usuario al que enviar el mensaje\n" -#: src/common/command.c:742 +#: src/common/command.c:748 #, c-format msgid "%s unable to call handler for message (not enough memory)\n" msgstr "" -#: src/common/command.c:750 +#: src/common/command.c:756 msgid "This window is not a channel!\n" msgstr "¡Esta ventana no es un canal!\n" -#: src/common/command.c:778 src/common/command.c:802 src/common/command.c:906 +#: src/common/command.c:784 src/common/command.c:808 src/common/command.c:913 #, c-format msgid "%s missing arguments for \"%s\" command\n" msgstr "%s faltan argumentos para el comando \"%s\"\n" -#: src/common/command.c:787 +#: src/common/command.c:793 #, c-format msgid "Alias \"%s\" => \"%s\" created\n" msgstr "Alias \"%s\" => \"%s\" creado\n" -#: src/common/command.c:793 +#: src/common/command.c:799 #, c-format msgid "Failed to create alias \"%s\" => \"%s\" (not enough memory)\n" msgstr "" "No ha sido posible crear el alias \"%s\" => \"%s\" (no hay suficiente " "memoria)\n" -#: src/common/command.c:813 +#: src/common/command.c:819 msgid "List of aliases:\n" msgstr "Lista de alias:\n" -#: src/common/command.c:825 +#: src/common/command.c:831 msgid "No alias defined.\n" msgstr "Ningún alias definido.\n" -#: src/common/command.c:848 +#: src/common/command.c:854 msgid "Channel: " msgstr "Canal: " -#: src/common/command.c:851 src/common/command.c:861 +#: src/common/command.c:857 src/common/command.c:867 msgid " (server: " msgstr " (servidor: " -#: src/common/command.c:858 +#: src/common/command.c:864 msgid "Private with: " msgstr "Privado con: " -#: src/common/command.c:886 +#: src/common/command.c:893 msgid "Opened buffers:\n" msgstr "Búfers abiertos:\n" -#: src/common/command.c:929 src/common/command.c:1069 +#: src/common/command.c:936 #, c-format msgid "%s incorrect buffer number\n" msgstr "%s número de búfer incorrecto\n" -#: src/common/command.c:943 +#: src/common/command.c:950 #, c-format msgid "%s can not close the single buffer\n" msgstr "%s no es posible cerrar el único búfer\n" -#: src/common/command.c:953 +#: src/common/command.c:960 #, c-format msgid "%s can not close server buffer while channels are opened\n" msgstr "" "%s no se puede cerrar el búfer de servidor mientras haya canales abiertos\n" -#: src/common/command.c:992 +#: src/common/command.c:999 msgid "Notify levels: " msgstr "Niveles de notificación: " -#: src/common/command.c:1020 src/common/command.c:1042 +#: src/common/command.c:1027 src/common/command.c:1049 #, c-format msgid "%s incorrect notify level (must be between %d and %d)\n" msgstr "%s nivel de notificación incorrecto (debe estar entre %d y %d)\n" -#: src/common/command.c:1029 +#: src/common/command.c:1036 #, c-format msgid "%s incorrect buffer for notify (must be channel or private)\n" msgstr "" -#: src/common/command.c:1060 -#, c-format -msgid "%s buffer \"%s\" not found for \"%s\" command\n" -msgstr "%s búfer \"%s\" no encontrado para el comando \"%s\"\n" - -#: src/common/command.c:1094 +#: src/common/command.c:1116 #, c-format msgid "unknown parameter \"%s\" for \"%s\" command\n" msgstr "parámetro desconocido \"%s\" para el comando \"%s\"\n" -#: src/common/command.c:1124 +#: src/common/command.c:1146 #, c-format msgid "%s already connected to server \"%s\"!\n" msgstr "%s ya conectado al servidor \"%s\"!\n" -#: src/common/command.c:1132 +#: src/common/command.c:1154 #, c-format msgid "%s currently connecting to server \"%s\"!\n" msgstr "%s actualmente conectando al servidor \"%s\"!\n" -#: src/common/command.c:1150 src/common/command.c:1225 +#: src/common/command.c:1172 src/common/command.c:1247 #, c-format msgid "%s server not found\n" msgstr "%s servidor no encontrado\n" -#: src/common/command.c:1180 src/common/command.c:1444 -#: src/common/command.c:1587 src/common/command.c:2283 -#: src/common/command.c:2295 +#: src/common/command.c:1202 src/common/command.c:1598 +#: src/common/command.c:1741 src/common/command.c:2438 +#: src/common/command.c:2454 #, c-format msgid "%s unknown option for \"%s\" command\n" msgstr "%s opción desconocida para el comando \"%s\"\n" -#: src/common/command.c:1209 +#: src/common/command.c:1231 #, c-format msgid "%s not connected to server \"%s\"!\n" msgstr "%s ¡no conectado al servidor \"%s\"!\n" -#: src/common/command.c:1217 +#: src/common/command.c:1239 msgid "Auto-reconnection is cancelled\n" msgstr "La reconexión automática está anulada\n" -#: src/common/command.c:1243 src/common/weechat.c:273 +#: src/common/command.c:1265 src/common/weechat.c:273 #, c-format msgid "%s internal commands:\n" msgstr "Comandos internos %s :\n" -#: src/common/command.c:1252 src/common/weechat.c:293 +#: src/common/command.c:1274 src/common/weechat.c:293 #, c-format msgid "IRC commands:\n" msgstr "Comandos IRC :\n" -#: src/common/command.c:1319 +#: src/common/command.c:1341 #, c-format msgid "No help available, \"%s\" is an unknown command\n" msgstr "No hay ayuda disponible, el comando \"%s\" es desconocido\n" -#: src/common/command.c:1343 src/common/command.c:1486 +#: src/common/command.c:1359 +msgid "New key binding:\n" +msgstr "" + +#: src/common/command.c:1392 +msgid "Key bindings:\n" +msgstr "" + +#: src/common/command.c:1404 +#, c-format +msgid "Key \"%s\" unbinded\n" +msgstr "" + +#: src/common/command.c:1409 +#, c-format +msgid "%s unable to unbind key \"%s\"\n" +msgstr "" + +#: src/common/command.c:1417 src/common/weechat.c:324 +#, c-format +msgid "Internal key functions:\n" +msgstr "" + +#: src/common/command.c:1435 +msgid "Default key bindings restored\n" +msgstr "" + +#: src/common/command.c:1441 +#, c-format +msgid "%s \"-yes\" argument is required for keys reset (securuty reason)\n" +msgstr "" + +#: src/common/command.c:1470 +#, c-format +msgid "%s unable to bind key \"%s\"\n" +msgstr "" + +#: src/common/command.c:1497 src/common/command.c:1640 #, c-format msgid "Registered %s scripts:\n" msgstr "%s scripts registrados:\n" -#: src/common/command.c:1360 src/common/command.c:1383 -#: src/common/command.c:1406 src/common/command.c:1503 -#: src/common/command.c:1526 src/common/command.c:1549 +#: src/common/command.c:1514 src/common/command.c:1537 +#: src/common/command.c:1560 src/common/command.c:1657 +#: src/common/command.c:1680 src/common/command.c:1703 msgid " (none)\n" msgstr " (ninguno)\n" -#: src/common/command.c:1365 src/common/command.c:1508 +#: src/common/command.c:1519 src/common/command.c:1662 #, c-format msgid "%s message handlers:\n" msgstr "Funciones %s para mensajes:\n" -#: src/common/command.c:1374 src/common/command.c:1517 +#: src/common/command.c:1528 src/common/command.c:1671 #, c-format msgid " IRC(%s) => %s(%s)\n" msgstr " IRC(%s) => %s(%s)\n" -#: src/common/command.c:1388 src/common/command.c:1531 +#: src/common/command.c:1542 src/common/command.c:1685 #, c-format msgid "%s command handlers:\n" msgstr "Comandos %s :\n" -#: src/common/command.c:1397 src/common/command.c:1540 +#: src/common/command.c:1551 src/common/command.c:1694 #, c-format msgid " Command /%s => %s(%s)\n" msgstr " Comando /%s => %s(%s)\n" -#: src/common/command.c:1457 +#: src/common/command.c:1611 msgid "" "WeeChat was build without Perl support.\n" "Please rebuild WeeChat with \"--enable-perl\" option for ./configure script\n" @@ -2648,7 +2697,7 @@ msgstr "" "Por favor, recompile WeeChat con la opción \"--enable-perl\" para el " "script ./configure\n" -#: src/common/command.c:1600 +#: src/common/command.c:1754 msgid "" "WeeChat was build without Python support.\n" "Please rebuild WeeChat with \"--enable-python\" option for ./configure " @@ -2658,32 +2707,32 @@ msgstr "" "Por favor, recompile WeeChat con la opción \"--enable-python\" para el " "script ./configure\n" -#: src/common/command.c:1648 +#: src/common/command.c:1802 msgid "No server.\n" msgstr "Ningún servidor.\n" -#: src/common/command.c:1659 +#: src/common/command.c:1813 #, c-format msgid "Server '%s' not found.\n" msgstr "Servidor '%s' no encontrado.\n" -#: src/common/command.c:1671 +#: src/common/command.c:1825 #, c-format msgid "%s missing servername for \"%s\" command\n" msgstr "%s falta el nombre de servidor para el comando \"%s\"\n" -#: src/common/command.c:1679 +#: src/common/command.c:1833 #, c-format msgid "%s too much arguments for \"%s\" command, ignoring arguments\n" msgstr "" "%s demasiados argumentos para el comando \"%s\", ignorando parámetros\n" -#: src/common/command.c:1698 +#: src/common/command.c:1852 #, c-format msgid "%s server \"%s\" not found for \"%s\" command\n" msgstr "%s servidor \"%s\" no encontrado para el comando \"%s\"\n" -#: src/common/command.c:1706 +#: src/common/command.c:1860 #, c-format msgid "" "%s you can not delete server \"%s\" because you are connected to. Try /" @@ -2692,108 +2741,108 @@ msgstr "" "%s usted no puede eliminar el servidor \"%s\" ya que está usted conectado a " "él. Pruebe /disconnect %s antes.\n" -#: src/common/command.c:1722 src/common/command.c:1868 +#: src/common/command.c:1876 src/common/command.c:2022 msgid "Server" msgstr "Servidor" -#: src/common/command.c:1725 +#: src/common/command.c:1879 msgid "has been deleted\n" msgstr "ha sido eliminado\n" -#: src/common/command.c:1740 +#: src/common/command.c:1894 #, c-format msgid "%s missing parameters for \"%s\" command\n" msgstr "%s faltan parámetros para el comando \"%s\"\n" -#: src/common/command.c:1750 +#: src/common/command.c:1904 #, c-format msgid "%s server \"%s\" already exists, can't create it!\n" msgstr "%s el servidor \"%s\" ya existe, ¡no se puede crear!\n" -#: src/common/command.c:1779 src/common/command.c:1807 -#: src/common/command.c:1820 src/common/command.c:1846 +#: src/common/command.c:1933 src/common/command.c:1961 +#: src/common/command.c:1974 src/common/command.c:2000 #, c-format msgid "%s missing password for \"%s\" parameter\n" msgstr "%s falta contraseña para el comando \"%s\"\n" -#: src/common/command.c:1792 +#: src/common/command.c:1946 #, c-format msgid "%s missing nick(s) for \"%s\" parameter\n" msgstr "%s falta(n) usuario(s) para el parámetro \"%s\"\n" -#: src/common/command.c:1833 +#: src/common/command.c:1987 #, c-format msgid "%s missing command for \"%s\" parameter\n" msgstr "%s falta comando para el parámetro \"%s\"\n" -#: src/common/command.c:1871 +#: src/common/command.c:2025 msgid "created\n" msgstr "creado\n" -#: src/common/command.c:1877 +#: src/common/command.c:2031 #, c-format msgid "%s unable to create server\n" msgstr "%s no es posible crear el servidor\n" -#: src/common/command.c:1932 +#: src/common/command.c:2086 msgid "(unknown)" msgstr "(desconocido)" -#: src/common/command.c:1955 +#: src/common/command.c:2109 msgid "(password hidden) " msgstr "(contraseña oculta) " -#: src/common/command.c:2019 +#: src/common/command.c:2173 #, c-format msgid "%s server \"%s\" not found\n" msgstr "%s servidor \"%s\" no encontrado\n" -#: src/common/command.c:2050 src/common/command.c:2096 +#: src/common/command.c:2204 src/common/command.c:2250 #, c-format msgid "%s config option \"%s\" not found\n" msgstr "%s opción de configuración \"%s\" no encontrada\n" -#: src/common/command.c:2055 src/common/command.c:2088 +#: src/common/command.c:2209 src/common/command.c:2242 #, c-format msgid "%s incorrect value for option \"%s\"\n" msgstr "%s valor incorrecto para la opción \"%s\"\n" -#: src/common/command.c:2071 +#: src/common/command.c:2225 #, c-format msgid "%s option \"%s\" can not be changed while WeeChat is running\n" msgstr "" "%s la opción \"%s\" no puede ser modificada mientras WeeChat esté en " "ejecución\n" -#: src/common/command.c:2169 +#: src/common/command.c:2324 #, c-format msgid "No config option found with \"%s\"\n" msgstr "Ninguna opción de configuración encontrada con \"%s\"\n" -#: src/common/command.c:2172 +#: src/common/command.c:2327 msgid "No config option found\n" msgstr "Ninguna opción de configuración encontrada\n" -#: src/common/command.c:2178 +#: src/common/command.c:2333 #, c-format msgid "config option(s) found with \"%s\"\n" msgstr "opción/opciones de configuración encontrada(s) con \"%s\"\n" -#: src/common/command.c:2181 +#: src/common/command.c:2336 msgid "config option(s) found\n" msgstr "opción/opciones de configuración encontrada(s)\n" -#: src/common/command.c:2201 +#: src/common/command.c:2356 #, c-format msgid "%s alias or command \"%s\" not found\n" msgstr "%s alias o comando \"%s\" no encontrado\n" -#: src/common/command.c:2211 +#: src/common/command.c:2366 #, c-format msgid "Alias \"%s\" removed\n" msgstr "Alias \"%s\" eliminado\n" -#: src/common/command.c:2231 +#: src/common/command.c:2386 msgid "Opened windows:\n" msgstr "Ventanas abiertas:\n" @@ -2938,57 +2987,62 @@ msgstr "" "donde 'j' es el nombre del alias, y 'join' el comando asociado.\n" "\n" -#: src/common/weechat.c:371 +#: src/common/weechat.c:344 +#, c-format +msgid "%s default keys:\n" +msgstr "" + +#: src/common/weechat.c:424 #, c-format msgid "%s invalid syntax for IRC server ('%s'), ignored\n" msgstr "%s sintaxis inválida para el servidor IRC ('%s'), ignorado\n" -#: src/common/weechat.c:384 +#: src/common/weechat.c:437 #, c-format msgid "%s unable to create server ('%s'), ignored\n" msgstr "%s no es posible crear el servidor ('%s'), ignorado\n" -#: src/common/weechat.c:393 +#: src/common/weechat.c:446 #, c-format msgid "%s unknown parameter '%s', ignored\n" msgstr "%s parámetro desconocido '%s', ignorado\n" -#: src/common/weechat.c:413 +#: src/common/weechat.c:466 #, c-format msgid "%s cannot create directory \"%s\"\n" msgstr "%s no es posible crear el directorio \"%s\"\n" -#: src/common/weechat.c:439 +#: src/common/weechat.c:492 #, c-format msgid "%s unable to get HOME directory\n" msgstr "%s no ha sido posible leer el directorio HOME\n" -#: src/common/weechat.c:448 +#: src/common/weechat.c:501 #, c-format msgid "%s not enough memory for home directory\n" msgstr "%s no hay suficiente memoria para el directorio home\n" -#: src/common/weechat.c:458 +#: src/common/weechat.c:511 #, c-format msgid "%s unable to create ~/.weechat directory\n" msgstr "%s no es posible crear el directorio ~/.weechat\n" -#: src/common/weechat.c:510 +#: src/common/weechat.c:563 #, c-format msgid "%s unable to create ~/.weechat/logs directory\n" msgstr "%s no es posible crear el directorio ~/.weechat/logs\n" -#: src/common/weechat.c:553 +#: src/common/weechat.c:606 #, c-format msgid "%s unable to create/append to log file (~/.weechat/%s)" msgstr "%s no es posible crear/añadir en el fichero de log (~/.weechat/%s)" -#: src/common/weechat.c:576 +#: src/common/weechat.c:629 #, c-format msgid "%sWelcome to " msgstr "%sBienvenido a " -#: src/common/weechat.c:589 src/common/weechat.c:598 +#: src/common/weechat.c:642 src/common/weechat.c:651 msgid "compiled on" msgstr "compilado en" @@ -3000,33 +3054,33 @@ msgstr "Error WeeChat:" msgid "WeeChat Warning:" msgstr "Advertencia WeeChat:" -#: src/common/weeconfig.c:88 src/common/weeconfig.c:89 +#: src/common/weeconfig.c:90 src/common/weeconfig.c:91 msgid "set title for window (terminal for Curses GUI) with name & version" msgstr "" "define el título de la ventana (el terminal para la interfaz Curses) con el " "nombre y la versión" -#: src/common/weeconfig.c:92 src/common/weeconfig.c:93 +#: src/common/weeconfig.c:94 src/common/weeconfig.c:95 msgid "display WeeChat logo at startup" msgstr "mostrar el logotipo de WeeChat en el arranque" -#: src/common/weeconfig.c:96 src/common/weeconfig.c:97 +#: src/common/weeconfig.c:98 src/common/weeconfig.c:99 msgid "display WeeChat version at startup" msgstr "mostrar la versión de Weechat en el arranque" -#: src/common/weeconfig.c:100 +#: src/common/weeconfig.c:102 msgid "WeeChat slogan" msgstr "eslógan de WeeChat" -#: src/common/weeconfig.c:101 +#: src/common/weeconfig.c:103 msgid "WeeChat slogan (if empty, slogan is not used)" msgstr "eslógan de WeeChat (si está vacío, el eslógan no será utilizado)" -#: src/common/weeconfig.c:104 +#: src/common/weeconfig.c:106 msgid "charset for decoding messages from server" msgstr "juego de caracteres para decodificar los mensajes del servidor" -#: src/common/weeconfig.c:105 +#: src/common/weeconfig.c:107 msgid "" "charset for decoding messages from server, examples: UTF-8, ISO-8859-1 (if " "empty, messages are not converted)" @@ -3034,11 +3088,11 @@ msgstr "" "juego de caracteres para decodificar los mensajes del servidor, ejemplos: " "UTF-8, ISO-8859-1 (si no se especifica, los mensajes no son convertidos)" -#: src/common/weeconfig.c:108 +#: src/common/weeconfig.c:110 msgid "charset for encoding messages sent to server" msgstr "juego de caracteres para codificar los mensajes enviados al servidor" -#: src/common/weeconfig.c:109 +#: src/common/weeconfig.c:111 msgid "" "charset for encoding messages sent to server, examples: UFT-8, ISO-8859-1 " "(if empty, local charset is used)" @@ -3047,11 +3101,11 @@ msgstr "" "ejemplos: UFT-8, ISO-8859-1 (si no se especifica, se utiliza el juego de " "caracteres local)" -#: src/common/weeconfig.c:112 +#: src/common/weeconfig.c:114 msgid "internal WeeChat charset (should be ISO)" msgstr "juego de caracteres interno de WeeChat (debería ser ISO)" -#: src/common/weeconfig.c:113 +#: src/common/weeconfig.c:115 msgid "" "internal WeeChat charset, should be ISO-xxxx even if locale is UTF-8 (if " "empty, local charset is used)" @@ -3060,45 +3114,45 @@ msgstr "" "locale sea UTF-8 (si no se especifica, se utiliza el juego de caracteres " "local)" -#: src/common/weeconfig.c:116 src/common/weeconfig.c:117 +#: src/common/weeconfig.c:118 src/common/weeconfig.c:119 msgid "timestamp for buffers" msgstr "fecha y hora para las búfers" -#: src/common/weeconfig.c:120 src/common/weeconfig.c:121 +#: src/common/weeconfig.c:122 src/common/weeconfig.c:123 msgid "display nick names with different colors" msgstr "mostrar nombres de usuario con colores diferentes" -#: src/common/weeconfig.c:124 src/common/weeconfig.c:125 +#: src/common/weeconfig.c:126 src/common/weeconfig.c:127 msgid "display actions with different colors" msgstr "mostrar acciones con colores diferentes" -#: src/common/weeconfig.c:128 src/common/weeconfig.c:129 +#: src/common/weeconfig.c:130 src/common/weeconfig.c:131 msgid "remove colors from incoming messages" msgstr "quitar colores en los mensajes entrantes" -#: src/common/weeconfig.c:132 +#: src/common/weeconfig.c:134 msgid "display nicklist window" msgstr "mostrar ventana de usuarios" -#: src/common/weeconfig.c:133 +#: src/common/weeconfig.c:135 msgid "display nicklist window (for channel windows)" msgstr "mostrar ventana de usuarios (para las ventanas de canal)" -#: src/common/weeconfig.c:136 +#: src/common/weeconfig.c:138 msgid "nicklist position" msgstr "posición de la ventana de usuarios" -#: src/common/weeconfig.c:137 +#: src/common/weeconfig.c:139 msgid "nicklist position (top, left, right (default), bottom)" msgstr "" "posición de la ventana de usuarios (arriba (top), izquierda (left), derecha " "(right, por defecto), abajo (bottom))" -#: src/common/weeconfig.c:140 +#: src/common/weeconfig.c:142 msgid "min size for nicklist" msgstr "tamaño mínimo para la ventana de usuarios" -#: src/common/weeconfig.c:141 +#: src/common/weeconfig.c:143 msgid "" "min size for nicklist (width or height, depending on look_nicklist_position " "(0 = no min size))" @@ -3106,11 +3160,11 @@ msgstr "" "tamaño mínimo para la ventana de usuarios (ancho o alto, dependiendo de " "look_nicklist_position (0 = sin tamaño mínimo))" -#: src/common/weeconfig.c:145 +#: src/common/weeconfig.c:147 msgid "max size for nicklist" msgstr "tamaño máximo para la ventana de usuarios" -#: src/common/weeconfig.c:146 +#: src/common/weeconfig.c:148 msgid "" "max size for nicklist (width or height, depending on look_nicklist_position " "(0 = no max size; if min == max and > 0, then size is fixed))" @@ -3119,37 +3173,41 @@ msgstr "" "look_nicklist_position (0 = sin tamaño máximo, si min == max y > 0, entonces " "se fija el tamaño))" -#: src/common/weeconfig.c:150 src/common/weeconfig.c:151 +#: src/common/weeconfig.c:152 src/common/weeconfig.c:153 msgid "text to display instead of nick when not connected" msgstr "texto a mostrar en lugar del nick cuando no se está conectado" -#: src/common/weeconfig.c:154 src/common/weeconfig.c:155 +#: src/common/weeconfig.c:156 src/common/weeconfig.c:157 msgid "display nick mode ((half)op/voice) before each nick" msgstr "mostrar modo del usuario ((half)op/voice) antes de cada usuario" -#: src/common/weeconfig.c:158 src/common/weeconfig.c:159 +#: src/common/weeconfig.c:160 src/common/weeconfig.c:161 msgid "display space if nick mode is not (half)op/voice" msgstr "mostrar un espacio si el modo de usuario no es (half)op/voice" -#: src/common/weeconfig.c:162 src/common/weeconfig.c:163 +#: src/common/weeconfig.c:164 src/common/weeconfig.c:165 msgid "the string inserted after nick completion" msgstr "la cadena mostrada tras la finalización de los nombres de usuario" -#: src/common/weeconfig.c:166 src/common/weeconfig.c:167 +#: src/common/weeconfig.c:168 src/common/weeconfig.c:169 msgid "enable info bar" msgstr "activa la barra de información" -#: src/common/weeconfig.c:170 src/common/weeconfig.c:171 +#: src/common/weeconfig.c:172 src/common/weeconfig.c:173 msgid "timestamp for time in infobar" msgstr "fecha y hora para las conversaciones guardadas" -#: src/common/weeconfig.c:174 +#: src/common/weeconfig.c:176 src/common/weeconfig.c:177 +msgid "display seconds in infobar time" +msgstr "" + +#: src/common/weeconfig.c:180 msgid "delay (in seconds) for highlight messages in infobar" msgstr "" "retraso (en segundos) para la notificación de mensajes en la barra de " "información" -#: src/common/weeconfig.c:175 +#: src/common/weeconfig.c:181 msgid "" "delay (in seconds) for highlight messages in infobar (0 = disable highlight " "notifications in infobar)" @@ -3157,260 +3215,264 @@ msgstr "" "retraso (en segundos) para la notificación de mensajes en la barra de " "información (0 = desactivar las notificaciones en la barra de información)" -#: src/common/weeconfig.c:233 src/common/weeconfig.c:234 +#: src/common/weeconfig.c:240 src/common/weeconfig.c:241 msgid "color for title bar" msgstr "color para la barra de título" -#: src/common/weeconfig.c:237 src/common/weeconfig.c:238 +#: src/common/weeconfig.c:244 src/common/weeconfig.c:245 msgid "background for title bar" msgstr "color de fondo para la barra de título" -#: src/common/weeconfig.c:243 src/common/weeconfig.c:244 +#: src/common/weeconfig.c:250 src/common/weeconfig.c:251 msgid "color for chat text" msgstr "color para el texto de conversación" -#: src/common/weeconfig.c:247 +#: src/common/weeconfig.c:254 msgid "color for time" msgstr "color para la hora" -#: src/common/weeconfig.c:248 +#: src/common/weeconfig.c:255 msgid "color for time in chat window" msgstr "color para la hora en la ventana de conversación" -#: src/common/weeconfig.c:251 +#: src/common/weeconfig.c:258 msgid "color for time separator" msgstr "color para el separador de la hora" -#: src/common/weeconfig.c:252 +#: src/common/weeconfig.c:259 msgid "color for time separator (chat window)" msgstr "color para el separador de la hora (ventana de conversación)" -#: src/common/weeconfig.c:255 src/common/weeconfig.c:256 +#: src/common/weeconfig.c:262 src/common/weeconfig.c:263 msgid "color for 1st and 3rd char of prefix" msgstr "color para el primer o tercer carácter de prefijo" -#: src/common/weeconfig.c:259 src/common/weeconfig.c:260 +#: src/common/weeconfig.c:266 src/common/weeconfig.c:267 msgid "color for middle char of prefix" msgstr "color para el carácter de en medio del prefijo" -#: src/common/weeconfig.c:263 +#: src/common/weeconfig.c:270 msgid "color for nicks in actions" msgstr "color para los nombres de usuario en las acciones" -#: src/common/weeconfig.c:264 +#: src/common/weeconfig.c:271 msgid "color for nicks in actions (chat window)" msgstr "" "color para los nombres de usuario en las acciones (ventana de conversación)" -#: src/common/weeconfig.c:267 +#: src/common/weeconfig.c:274 msgid "color for hostnames" msgstr "color para los nombres de máquina" -#: src/common/weeconfig.c:268 +#: src/common/weeconfig.c:275 msgid "color for hostnames (chat window)" msgstr "color para los nombres de máquina (ventana de conversación)" -#: src/common/weeconfig.c:271 +#: src/common/weeconfig.c:278 msgid "color for channel names in actions" msgstr "color para los nombres de canal en las acciones" -#: src/common/weeconfig.c:272 +#: src/common/weeconfig.c:279 msgid "color for channel names in actions (chat window)" msgstr "" "color para los nombres de canal en las acciones (ventana de conversación)" -#: src/common/weeconfig.c:275 +#: src/common/weeconfig.c:282 msgid "color for dark separators" msgstr "color para los separadores oscuros" -#: src/common/weeconfig.c:276 +#: src/common/weeconfig.c:283 msgid "color for dark separators (chat window)" msgstr "color para los separadores oscuros (ventana de conversación)" -#: src/common/weeconfig.c:279 +#: src/common/weeconfig.c:286 msgid "color for highlighted nick" msgstr "color para el alias subrayado" -#: src/common/weeconfig.c:280 +#: src/common/weeconfig.c:287 msgid "color for highlighted nick (chat window)" msgstr "color para el alias subrayado (ventana de conversación)" -#: src/common/weeconfig.c:283 +#: src/common/weeconfig.c:290 msgid "background for chat" msgstr "color de fondo para la conversación" -#: src/common/weeconfig.c:284 +#: src/common/weeconfig.c:291 msgid "background for chat window" msgstr "color de fondo para la ventana de conversación" -#: src/common/weeconfig.c:289 src/common/weeconfig.c:290 +#: src/common/weeconfig.c:296 src/common/weeconfig.c:297 msgid "color for status bar" msgstr "color para la barra de estado" -#: src/common/weeconfig.c:293 src/common/weeconfig.c:294 +#: src/common/weeconfig.c:300 src/common/weeconfig.c:301 msgid "color for status bar delimiters" msgstr "color para los delimitadores de la barra de estado" -#: src/common/weeconfig.c:297 +#: src/common/weeconfig.c:304 msgid "color for window with new messages" msgstr "color para una ventana con mensajes nuevos" -#: src/common/weeconfig.c:298 +#: src/common/weeconfig.c:305 msgid "color for window with new messages (status bar)" msgstr "color para una ventana con mensajes nuevos (barra de estado)" -#: src/common/weeconfig.c:301 +#: src/common/weeconfig.c:308 msgid "color for window with highlight" msgstr "color para una ventana con resaltado" -#: src/common/weeconfig.c:302 +#: src/common/weeconfig.c:309 msgid "color for window with highlight (status bar)" msgstr "color para una ventana con resaltado (barra de estado)" -#: src/common/weeconfig.c:305 +#: src/common/weeconfig.c:312 msgid "color for window with new data (not messages)" msgstr "color para una ventana con nuevos datos (no mensajes)" -#: src/common/weeconfig.c:306 +#: src/common/weeconfig.c:313 msgid "color for window with new data (not messages) (status bar)" msgstr "" "color para una ventana con nuevos datos (no mensajes) (barra de estado)" -#: src/common/weeconfig.c:309 +#: src/common/weeconfig.c:316 msgid "color for \"-MORE-\" text" msgstr "color para el texto \"-MÁS-\"" -#: src/common/weeconfig.c:310 +#: src/common/weeconfig.c:317 msgid "color for window with new data (status bar)" msgstr "color para una ventana con nuevos datos (barra de estado)" -#: src/common/weeconfig.c:313 src/common/weeconfig.c:314 +#: src/common/weeconfig.c:320 src/common/weeconfig.c:321 msgid "background for status window" msgstr "color de fondo para la ventana de estado" -#: src/common/weeconfig.c:319 src/common/weeconfig.c:320 +#: src/common/weeconfig.c:326 src/common/weeconfig.c:327 msgid "color for info bar text" msgstr "color para el texto de la barra de información" -#: src/common/weeconfig.c:323 src/common/weeconfig.c:324 +#: src/common/weeconfig.c:330 src/common/weeconfig.c:331 +msgid "color for infobar delimiters" +msgstr "color para los delimitadores de la barra de información" + +#: src/common/weeconfig.c:334 src/common/weeconfig.c:335 msgid "color for info bar highlight notification" msgstr "color para la notificación en la barra de información" -#: src/common/weeconfig.c:327 src/common/weeconfig.c:328 +#: src/common/weeconfig.c:338 src/common/weeconfig.c:339 msgid "background for info bar window" msgstr "color de fondo para la ventana de la barra de información" -#: src/common/weeconfig.c:333 src/common/weeconfig.c:334 +#: src/common/weeconfig.c:344 src/common/weeconfig.c:345 msgid "color for input text" msgstr "color para el texto de entrada" -#: src/common/weeconfig.c:337 src/common/weeconfig.c:338 +#: src/common/weeconfig.c:348 src/common/weeconfig.c:349 msgid "color for input text (channel name)" msgstr "color para el texto de entrada (nombre de canal)" -#: src/common/weeconfig.c:341 src/common/weeconfig.c:342 +#: src/common/weeconfig.c:352 src/common/weeconfig.c:353 msgid "color for input text (nick name)" msgstr "color para el texto de entrada (alias)" -#: src/common/weeconfig.c:345 src/common/weeconfig.c:346 +#: src/common/weeconfig.c:356 src/common/weeconfig.c:357 msgid "background for input window" msgstr "color de fondo para la ventana de entrada" -#: src/common/weeconfig.c:351 src/common/weeconfig.c:352 +#: src/common/weeconfig.c:362 src/common/weeconfig.c:363 msgid "color for nicknames" msgstr "color para los nombres de usuario" -#: src/common/weeconfig.c:355 src/common/weeconfig.c:356 +#: src/common/weeconfig.c:366 src/common/weeconfig.c:367 msgid "color for away nicknames" msgstr "color para los usuarios ausentes" -#: src/common/weeconfig.c:359 +#: src/common/weeconfig.c:370 msgid "color for chan owner symbol" msgstr "color para el símbolo de propietario de canal" -#: src/common/weeconfig.c:360 +#: src/common/weeconfig.c:371 msgid "color for chan owner symbol (specific to unrealircd)" msgstr "" "color para el símbolo de propietario de canal (especificado en unrealircd)" -#: src/common/weeconfig.c:363 +#: src/common/weeconfig.c:374 msgid "color for chan admin symbol" msgstr "color para el símbolo de administrador de canal" -#: src/common/weeconfig.c:364 +#: src/common/weeconfig.c:375 msgid "color for chan admin symbol (specific to unrealircd)" msgstr "" "color para el símbolo de administrador de canal (especificado en unrealircd)" -#: src/common/weeconfig.c:367 src/common/weeconfig.c:368 +#: src/common/weeconfig.c:378 src/common/weeconfig.c:379 msgid "color for operator symbol" msgstr "color para el símbolo de operador" -#: src/common/weeconfig.c:371 src/common/weeconfig.c:372 +#: src/common/weeconfig.c:382 src/common/weeconfig.c:383 msgid "color for half-operator symbol" msgstr "color para el símbolo de semi-operador" -#: src/common/weeconfig.c:375 src/common/weeconfig.c:376 +#: src/common/weeconfig.c:386 src/common/weeconfig.c:387 msgid "color for voice symbol" msgstr "color para el símbolo de voz" -#: src/common/weeconfig.c:379 src/common/weeconfig.c:380 +#: src/common/weeconfig.c:390 src/common/weeconfig.c:391 msgid "color for '+' when scrolling nicks" msgstr "" -#: src/common/weeconfig.c:383 src/common/weeconfig.c:384 +#: src/common/weeconfig.c:394 src/common/weeconfig.c:395 msgid "color for nick separator" msgstr "color para el separador de alias" -#: src/common/weeconfig.c:387 src/common/weeconfig.c:388 +#: src/common/weeconfig.c:398 src/common/weeconfig.c:399 msgid "color for local nick" msgstr "color para el alias local" -#: src/common/weeconfig.c:391 src/common/weeconfig.c:392 +#: src/common/weeconfig.c:402 src/common/weeconfig.c:403 msgid "color for other nick in private window" msgstr "color para el otro alias en la ventana privada" -#: src/common/weeconfig.c:395 src/common/weeconfig.c:396 +#: src/common/weeconfig.c:406 src/common/weeconfig.c:407 msgid "background for nicknames" msgstr "color de fondo para los nombres de usuario" -#: src/common/weeconfig.c:401 +#: src/common/weeconfig.c:412 msgid "color for selected DCC" msgstr "color para el DCC seleccionado" -#: src/common/weeconfig.c:402 +#: src/common/weeconfig.c:413 msgid "color for selected DCC (chat window)" msgstr "color para el DCC seleccionado (ventana de conversación)" -#: src/common/weeconfig.c:405 src/common/weeconfig.c:406 +#: src/common/weeconfig.c:416 src/common/weeconfig.c:417 msgid "color for \"waiting\" dcc status" msgstr "color para el estado dcc \"esperando\"" -#: src/common/weeconfig.c:409 src/common/weeconfig.c:410 +#: src/common/weeconfig.c:420 src/common/weeconfig.c:421 msgid "color for \"connecting\" dcc status" msgstr "color para el estado dcc \"conectando\"" -#: src/common/weeconfig.c:413 src/common/weeconfig.c:414 +#: src/common/weeconfig.c:424 src/common/weeconfig.c:425 msgid "color for \"active\" dcc status" msgstr "color para el estado dcc \"activo\"" -#: src/common/weeconfig.c:417 src/common/weeconfig.c:418 +#: src/common/weeconfig.c:428 src/common/weeconfig.c:429 msgid "color for \"done\" dcc status" msgstr "color para el estado dcc \"terminado\"" -#: src/common/weeconfig.c:421 src/common/weeconfig.c:422 +#: src/common/weeconfig.c:432 src/common/weeconfig.c:433 msgid "color for \"failed\" dcc status" msgstr "color para el estado dcc \"fallo\"" -#: src/common/weeconfig.c:425 src/common/weeconfig.c:426 +#: src/common/weeconfig.c:436 src/common/weeconfig.c:437 msgid "color for \"aborted\" dcc status" msgstr "color para el estado dcc \"abortado\"" -#: src/common/weeconfig.c:439 +#: src/common/weeconfig.c:450 msgid "max lines in history (per window)" msgstr "número máximo de líneas en el histórico (por ventana)" -#: src/common/weeconfig.c:440 +#: src/common/weeconfig.c:451 msgid "" "maximum number of lines in history for one server/channel/private window (0 " "= unlimited)" @@ -3418,341 +3480,341 @@ msgstr "" "número máximo de líneas en el histórico para un servidor/canal/privado (0 = " "ilimitado)" -#: src/common/weeconfig.c:444 +#: src/common/weeconfig.c:455 msgid "max user commands in history" msgstr "número máximo de comandos de usuario en el histórico" -#: src/common/weeconfig.c:445 +#: src/common/weeconfig.c:456 msgid "maximum number of user commands in history (0 = unlimited)" msgstr "número máximo de comandos de usuario en el histórico (0 = ilimitado)" -#: src/common/weeconfig.c:462 src/common/weeconfig.c:463 +#: src/common/weeconfig.c:473 src/common/weeconfig.c:474 msgid "automatically log server messages" msgstr "registrar automáticamente los mensajes de servidor" -#: src/common/weeconfig.c:466 src/common/weeconfig.c:467 +#: src/common/weeconfig.c:477 src/common/weeconfig.c:478 msgid "automatically log channel chats" msgstr "registrar automáticamente las conversaciones de canal" -#: src/common/weeconfig.c:470 src/common/weeconfig.c:471 +#: src/common/weeconfig.c:481 src/common/weeconfig.c:482 msgid "automatically log private chats" msgstr "registrar automáticamente las conversaciones privadas" -#: src/common/weeconfig.c:474 src/common/weeconfig.c:475 +#: src/common/weeconfig.c:485 src/common/weeconfig.c:486 msgid "log messages from plugins (scripts)" msgstr "registrar mensajes de plugins (scripts)" -#: src/common/weeconfig.c:478 +#: src/common/weeconfig.c:489 msgid "path for log files" msgstr "ruta para los archivos de registro (logs)" -#: src/common/weeconfig.c:479 +#: src/common/weeconfig.c:490 msgid "path for WeeChat log files" msgstr "ruta para los archivos de registro (logs) de WeeChat" -#: src/common/weeconfig.c:482 +#: src/common/weeconfig.c:493 msgid "timestamp for log" msgstr "fecha y hora para las conversaciones registradas" -#: src/common/weeconfig.c:483 +#: src/common/weeconfig.c:494 msgid "timestamp for log (see man strftime for date/time specifiers)" msgstr "" "fecha y hora para los registros (ver man strftime para el formato de fecha/" "hora)" -#: src/common/weeconfig.c:486 src/common/weeconfig.c:487 +#: src/common/weeconfig.c:497 src/common/weeconfig.c:498 msgid "hide password displayed by nickserv" msgstr "ocultar contraseña mostrada por nickserv" -#: src/common/weeconfig.c:506 +#: src/common/weeconfig.c:517 msgid "display message to all channels when away" msgstr "mostrar mensaje en todos los canales cuando se está ausente" -#: src/common/weeconfig.c:507 +#: src/common/weeconfig.c:518 msgid "display message to all channels when (un)marking as away" msgstr "" "mostrar mensaje en todos los canales cuando se vuelva del estado ausente" -#: src/common/weeconfig.c:510 src/common/weeconfig.c:511 +#: src/common/weeconfig.c:521 src/common/weeconfig.c:522 msgid "default message when away" msgstr "mensaje por defecto para el estado ausente" -#: src/common/weeconfig.c:514 src/common/weeconfig.c:515 +#: src/common/weeconfig.c:525 src/common/weeconfig.c:526 msgid "default part message (leaving channel)" msgstr "mensaje por defecto de salida (saliendo de un canal)" -#: src/common/weeconfig.c:518 +#: src/common/weeconfig.c:529 msgid "default quit message" msgstr "mensaje de fin por defecto" -#: src/common/weeconfig.c:519 +#: src/common/weeconfig.c:530 msgid "" "default quit message ('%v' will be replaced by WeeChat version in string)" msgstr "" "mensaje de fin por defecto ('%v' será reemplazado por la versión de WeeChat " "en la cadena)" -#: src/common/weeconfig.c:522 +#: src/common/weeconfig.c:533 msgid "interval between two checks for away" msgstr "intervalo entre dos comprobaciones de ausencia" -#: src/common/weeconfig.c:523 +#: src/common/weeconfig.c:534 msgid "interval between two checks for away (in minutes, 0 = never check)" msgstr "" "intervalo entre dos comprobaciones de ausencia (en minutos, 0 = no comprobar)" -#: src/common/weeconfig.c:526 +#: src/common/weeconfig.c:537 msgid "interval between two checks for lag" msgstr "intervalo entre dos medidas de lag (retraso)" -#: src/common/weeconfig.c:527 +#: src/common/weeconfig.c:538 msgid "interval between two checks for lag (in seconds)" msgstr "intervalo entre dos medidas de lag (en segundos)" -#: src/common/weeconfig.c:530 +#: src/common/weeconfig.c:541 msgid "minimum lag to show" msgstr "lag (retraso) mínimo a mostrar" -#: src/common/weeconfig.c:531 +#: src/common/weeconfig.c:542 msgid "minimum lag to show (in seconds)" msgstr "lag mínimo a mostrar (en segundos)" -#: src/common/weeconfig.c:534 +#: src/common/weeconfig.c:545 msgid "disconnect after important lag" msgstr "desconexión tras un lag importante" -#: src/common/weeconfig.c:535 +#: src/common/weeconfig.c:546 msgid "disconnect after important lag (in minutes, 0 = never disconnect)" msgstr "" "desconexión tras un lag importante (en minutos, 0 = no desconectar nunca)" -#: src/common/weeconfig.c:538 src/common/weeconfig.c:539 +#: src/common/weeconfig.c:549 src/common/weeconfig.c:550 msgid "create a FIFO pipe for remote control" msgstr "crea una tubería FIFO para control remoto" -#: src/common/weeconfig.c:558 +#: src/common/weeconfig.c:569 msgid "automatically accept dcc files" msgstr "aceptar automáticamente los ficheros dcc" -#: src/common/weeconfig.c:559 +#: src/common/weeconfig.c:570 msgid "automatically accept incoming dcc files" msgstr "aceptar automáticamente los ficheros dcc entrantes" -#: src/common/weeconfig.c:562 +#: src/common/weeconfig.c:573 msgid "automatically accept dcc chats" msgstr "aceptar automáticamente las peticiones de conversación dcc" -#: src/common/weeconfig.c:563 +#: src/common/weeconfig.c:574 msgid "automatically accept dcc chats (use carefully!)" msgstr "" "aceptar automáticamente las peticiones de conversación dcc (¡utilizar con " "precaución!)" -#: src/common/weeconfig.c:566 +#: src/common/weeconfig.c:577 msgid "timeout for dcc request" msgstr "tiempo de espera (timeout) para la petición dcc" -#: src/common/weeconfig.c:567 +#: src/common/weeconfig.c:578 msgid "timeout for dcc request (in seconds)" msgstr "tiempo de espera para la petición dcc (en segundos)" -#: src/common/weeconfig.c:570 +#: src/common/weeconfig.c:581 msgid "block size for dcc packets" msgstr "tamaño de bloque para los paquetes dcc" -#: src/common/weeconfig.c:571 +#: src/common/weeconfig.c:582 msgid "block size for dcc packets in bytes (default: 65536)" msgstr "tamaño de bloque para los paquetes dcc en bytes (por defecto: 65536)" -#: src/common/weeconfig.c:574 +#: src/common/weeconfig.c:585 msgid "path for incoming files with dcc" msgstr "ruta para los ficheros recibidos con dcc" -#: src/common/weeconfig.c:575 +#: src/common/weeconfig.c:586 msgid "path for writing incoming files with dcc (default: user home)" msgstr "" "ruta para los ficheros recibidos con dcc (por defecto: directorio home del " "usuario)" -#: src/common/weeconfig.c:578 +#: src/common/weeconfig.c:589 msgid "default path for sending files with dcc" msgstr "ruta por defecto para enviar ficheros con dcc" -#: src/common/weeconfig.c:579 +#: src/common/weeconfig.c:590 msgid "" "path for reading files when sending thru dcc (when no path is specified)" msgstr "" "ruta para la lectura de ficheros cuando se envían a través de dcc (cuando no " "se especifica una ruta)" -#: src/common/weeconfig.c:582 src/common/weeconfig.c:583 +#: src/common/weeconfig.c:593 src/common/weeconfig.c:594 msgid "convert spaces to underscores when sending files" msgstr "convertir los espacios a subrayados cuando se envían los ficheros" -#: src/common/weeconfig.c:586 +#: src/common/weeconfig.c:597 msgid "automatically rename dcc files if already exists" msgstr "renombrar automáticamente los ficheros dcc si ya existen" -#: src/common/weeconfig.c:587 +#: src/common/weeconfig.c:598 msgid "rename incoming files if already exists (add '.1', '.2', ...)" msgstr "" "renombrar los ficheros recibidos si ya existen (añadir '.1', '.2', ...)" -#: src/common/weeconfig.c:590 +#: src/common/weeconfig.c:601 msgid "automatically resume aborted transfers" msgstr "continuar automáticamente las transferencias canceladas" -#: src/common/weeconfig.c:591 +#: src/common/weeconfig.c:602 msgid "" "automatically resume dcc transfer if connection with remote host is loosed" msgstr "" "continuar automáticamente la transferencia dcc si se ha perdido la conexión " "con la máquina remota" -#: src/common/weeconfig.c:610 +#: src/common/weeconfig.c:621 msgid "use proxy" msgstr "utilizar un proxy" -#: src/common/weeconfig.c:611 +#: src/common/weeconfig.c:622 msgid "use a proxy server to connect to irc server" msgstr "utilizar un proxy para conectarse al servidor irc" -#: src/common/weeconfig.c:614 +#: src/common/weeconfig.c:625 msgid "proxy type" msgstr "" -#: src/common/weeconfig.c:615 +#: src/common/weeconfig.c:626 msgid "proxy type (http (default), socks4, socks5)" msgstr "" -#: src/common/weeconfig.c:618 +#: src/common/weeconfig.c:629 msgid "use ipv6 proxy" msgstr "" -#: src/common/weeconfig.c:619 +#: src/common/weeconfig.c:630 msgid "connect to proxy in ipv6" msgstr "" -#: src/common/weeconfig.c:622 +#: src/common/weeconfig.c:633 msgid "proxy address" msgstr "dirección del proxy" -#: src/common/weeconfig.c:623 +#: src/common/weeconfig.c:634 msgid "proxy server address (IP or hostname)" msgstr "dirección del servidor proxy (IP o nombre de máquina)" -#: src/common/weeconfig.c:626 +#: src/common/weeconfig.c:637 msgid "port for proxy" msgstr "puerto para el proxy" -#: src/common/weeconfig.c:627 +#: src/common/weeconfig.c:638 msgid "port for connecting to proxy server" msgstr "puerto para conectarse al servidor proxy" -#: src/common/weeconfig.c:630 +#: src/common/weeconfig.c:641 msgid "proxy username" msgstr "" -#: src/common/weeconfig.c:631 +#: src/common/weeconfig.c:642 msgid "username for proxy server" msgstr "" -#: src/common/weeconfig.c:634 +#: src/common/weeconfig.c:645 msgid "proxy password" msgstr "contraseña para el proxy" -#: src/common/weeconfig.c:635 +#: src/common/weeconfig.c:646 msgid "password for proxy server" msgstr "contraseña para el servidor proxy" -#: src/common/weeconfig.c:646 +#: src/common/weeconfig.c:657 msgid "server name" msgstr "nombre de servidor" -#: src/common/weeconfig.c:647 +#: src/common/weeconfig.c:658 msgid "name associated to IRC server (for display only)" msgstr "nombre asociado al servidor IRC (para mostrar solamente)" -#: src/common/weeconfig.c:650 +#: src/common/weeconfig.c:661 msgid "automatically connect to server" msgstr "conexión automática al servidor" -#: src/common/weeconfig.c:651 +#: src/common/weeconfig.c:662 msgid "automatically connect to server when WeeChat is starting" msgstr "conexión automática al servidor cuando WeeChat esté arrancando" -#: src/common/weeconfig.c:654 +#: src/common/weeconfig.c:665 msgid "automatically reconnect to server" msgstr "reconexión automática al servidor" -#: src/common/weeconfig.c:655 +#: src/common/weeconfig.c:666 msgid "automatically reconnect to server when disconnected" msgstr "reconexión automática al servidor tras una desconexión" -#: src/common/weeconfig.c:658 +#: src/common/weeconfig.c:669 msgid "delay before trying again to reconnect" msgstr "esperar antes de intentar de nuevo una reconexión" -#: src/common/weeconfig.c:659 +#: src/common/weeconfig.c:670 msgid "delay (in seconds) before trying again to reconnect to server" msgstr "" "espera (en segundos) antes de intentar de nuevo una reconexión al servidor" -#: src/common/weeconfig.c:662 +#: src/common/weeconfig.c:673 msgid "server address or hostname" msgstr "dirección o nombre de máquina del servidor" -#: src/common/weeconfig.c:663 +#: src/common/weeconfig.c:674 msgid "IP address or hostname of IRC server" msgstr "dirección IP o nombre de máquina del servidor IRC" -#: src/common/weeconfig.c:666 +#: src/common/weeconfig.c:677 msgid "port for IRC server" msgstr "puerto para el servidor IRC" -#: src/common/weeconfig.c:667 +#: src/common/weeconfig.c:678 msgid "port for connecting to server" msgstr "puerto para conectarse al servidor" -#: src/common/weeconfig.c:670 src/common/weeconfig.c:671 +#: src/common/weeconfig.c:681 src/common/weeconfig.c:682 msgid "use IPv6 protocol for server communication" msgstr "" -#: src/common/weeconfig.c:674 src/common/weeconfig.c:675 +#: src/common/weeconfig.c:685 src/common/weeconfig.c:686 msgid "use SSL for server communication" msgstr "" -#: src/common/weeconfig.c:678 +#: src/common/weeconfig.c:689 msgid "server password" msgstr "contraseña para el servidor" -#: src/common/weeconfig.c:679 +#: src/common/weeconfig.c:690 msgid "password for IRC server" msgstr "contraseña para el servidor IRC" -#: src/common/weeconfig.c:682 +#: src/common/weeconfig.c:693 msgid "nickname for server" msgstr "nombre de usuario para el servidor" -#: src/common/weeconfig.c:683 +#: src/common/weeconfig.c:694 msgid "nickname to use on IRC server" msgstr "nombre de usuario a utilizar en el servidor IRC" -#: src/common/weeconfig.c:686 +#: src/common/weeconfig.c:697 msgid "alternate nickname for server" msgstr "nombre de usuario alternativo para el servidor" -#: src/common/weeconfig.c:687 +#: src/common/weeconfig.c:698 msgid "alternate nickname to use on IRC server (if nickname is already used)" msgstr "" "nombre de usuario alternativo para el servidor IRC (si el nombre de usuario " "ya está en uso)" -#: src/common/weeconfig.c:690 +#: src/common/weeconfig.c:701 msgid "2nd alternate nickname for server" msgstr "segundo nombre de usuario alternativo para el servidor" -#: src/common/weeconfig.c:691 +#: src/common/weeconfig.c:702 msgid "" "2nd alternate nickname to use on IRC server (if alternate nickname is " "already used)" @@ -3760,31 +3822,31 @@ msgstr "" "segundo nombre de usuario alternativo a utilizar en el servidor IRC (si el " "nombre de usuario alternativo ya está en uso)" -#: src/common/weeconfig.c:694 +#: src/common/weeconfig.c:705 msgid "user name for server" msgstr "nombre de usuario para el servidor" -#: src/common/weeconfig.c:695 +#: src/common/weeconfig.c:706 msgid "user name to use on IRC server" msgstr "nombre de usuario para el servidor IRC" -#: src/common/weeconfig.c:698 +#: src/common/weeconfig.c:709 msgid "real name for server" msgstr "nombre real para el servidor" -#: src/common/weeconfig.c:699 +#: src/common/weeconfig.c:710 msgid "real name to use on IRC server" msgstr "nombre real para el servidor IRC" -#: src/common/weeconfig.c:702 src/common/weeconfig.c:703 +#: src/common/weeconfig.c:713 src/common/weeconfig.c:714 msgid "first command to run when connected to server" msgstr "primer comando a ejecutar cuando se conecte a un servidor" -#: src/common/weeconfig.c:706 +#: src/common/weeconfig.c:717 msgid "delay (in seconds) after command was executed" msgstr "espera (en segundos) después de que el comando sea ejecutado" -#: src/common/weeconfig.c:707 +#: src/common/weeconfig.c:718 msgid "" "delay (in seconds) after command was executed (example: give some time for " "authentication)" @@ -3792,86 +3854,86 @@ msgstr "" "espera (en segundos) después de que el comando sea ejecutado (ejemplo: dar " "algo de tiempo para la autenticación)" -#: src/common/weeconfig.c:710 +#: src/common/weeconfig.c:721 msgid "list of channels to join when connected to server" msgstr "lista de canales a unirse cuando se conecte a un servidor" -#: src/common/weeconfig.c:711 +#: src/common/weeconfig.c:722 msgid "comma separated list of channels to join when connected to server" msgstr "" "lista de canales (separados por comas) a unirse cuando se conecte a un " "servidor" -#: src/common/weeconfig.c:714 src/common/weeconfig.c:715 +#: src/common/weeconfig.c:725 src/common/weeconfig.c:726 msgid "automatically rejoin channels when kicked" msgstr "unirse de nuevo automáticamente a los canales cuando sea expulsado" -#: src/common/weeconfig.c:718 +#: src/common/weeconfig.c:729 msgid "notify levels for channels of this server" msgstr "" -#: src/common/weeconfig.c:719 +#: src/common/weeconfig.c:730 msgid "" "comma separated list of notify levels for channels of this server (format: " "#channel:1,..)" msgstr "" -#: src/common/weeconfig.c:1177 +#: src/common/weeconfig.c:1190 #, c-format msgid "%s %s, line %d: new server, but previous was incomplete\n" msgstr "%s %s, línea %d: nuevo servidor, pero el anterior estaba incompleto\n" -#: src/common/weeconfig.c:1186 +#: src/common/weeconfig.c:1199 #, c-format msgid "%s %s, line %d: server '%s' already exists\n" msgstr "%s %s, línea %d: el servidor '%s' ya existe\n" -#: src/common/weeconfig.c:1201 +#: src/common/weeconfig.c:1214 #, c-format msgid "%s %s, line %d: unable to create server\n" msgstr "%s %s, línea %d: no es posible crear el servidor\n" -#: src/common/weeconfig.c:1240 +#: src/common/weeconfig.c:1254 #, c-format msgid "%s unable to assign default int with string (\"%s\")\n" msgstr "%s no es posible asignar el valor entero con la cadena (\"%s\")\n" -#: src/common/weeconfig.c:1251 +#: src/common/weeconfig.c:1265 #, c-format msgid "%s unable to assign default color (\"%s\")\n" msgstr "%s no es posible asignar el color por defecto (\"%s\")\n" -#: src/common/weeconfig.c:1290 +#: src/common/weeconfig.c:1304 #, c-format msgid "%s config file \"%s\" not found.\n" msgstr "%s fichero de configuración \"%s\" no encontrado.\n" -#: src/common/weeconfig.c:1322 +#: src/common/weeconfig.c:1336 #, c-format msgid "%s %s, line %d: invalid syntax, missing \"]\"\n" msgstr "%s %s, línea %d: sintaxis inválida, falta \"]\"\n" -#: src/common/weeconfig.c:1339 +#: src/common/weeconfig.c:1353 #, c-format msgid "%s %s, line %d: unknown section identifier (\"%s\")\n" msgstr "%s %s, línea %d: identificador de sección desconocido (\"%s\")\n" -#: src/common/weeconfig.c:1357 +#: src/common/weeconfig.c:1371 #, c-format msgid "%s %s, line %d: invalid section for option, line is ignored\n" msgstr "%s %s, línea %d: sección inválida para la opción, línea ignorada\n" -#: src/common/weeconfig.c:1365 +#: src/common/weeconfig.c:1379 #, c-format msgid "%s %s, line %d: invalid syntax, missing \"=\"\n" msgstr "%s %s, línea %d: sintaxis inválida, falta \"=\"\n" -#: src/common/weeconfig.c:1399 +#: src/common/weeconfig.c:1427 #, c-format msgid "%s %s, line %d: invalid option \"%s\"\n" msgstr "%s %s, línea %d: opción \"%s\" inválida\n" -#: src/common/weeconfig.c:1410 +#: src/common/weeconfig.c:1438 #, c-format msgid "" "%s %s, line %d: invalid value foroption '%s'\n" @@ -3880,7 +3942,7 @@ msgstr "" "%s %s, línea %d: valor inválido para la opción '%s'\n" "Esperado: valor booleano: 'off' u 'on'\n" -#: src/common/weeconfig.c:1419 +#: src/common/weeconfig.c:1447 #, c-format msgid "" "%s %s, line %d: invalid value for option '%s'\n" @@ -3889,7 +3951,7 @@ msgstr "" "%s %s, línea %d: valor inválido para la opción %s'\n" "Esperado: entero comprendido entre %d y %d\n" -#: src/common/weeconfig.c:1430 +#: src/common/weeconfig.c:1458 #, c-format msgid "" "%s %s, line %d: invalid value for option '%s'\n" @@ -3898,26 +3960,26 @@ msgstr "" "%s %s, línea %d: valor inválido para la opción '%s'\n" "Esperado: una de estas cadenas: " -#: src/common/weeconfig.c:1446 +#: src/common/weeconfig.c:1474 #, c-format msgid "%s %s, line %d: invalid color name for option '%s'\n" msgstr "%s %s, línea %d: nombre de color inválido para la opción '%s'\n" -#: src/common/weeconfig.c:1506 src/common/weeconfig.c:1677 +#: src/common/weeconfig.c:1536 src/common/weeconfig.c:1731 #, c-format msgid "%s cannot create file \"%s\"\n" msgstr "%s no es posible crear el fichero \"%s\"\n" -#: src/common/weeconfig.c:1512 +#: src/common/weeconfig.c:1542 #, c-format msgid "%s: creating default config file...\n" msgstr "%s: creando fichero de configuración por defecto...\n" -#: src/common/weeconfig.c:1513 +#: src/common/weeconfig.c:1543 msgid "Creating default config file\n" msgstr "Creando fichero de configuración por defecto\n" -#: src/common/weeconfig.c:1516 src/common/weeconfig.c:1686 +#: src/common/weeconfig.c:1546 src/common/weeconfig.c:1740 #, c-format msgid "" "#\n" @@ -3926,6 +3988,9 @@ msgstr "" "#\n" "# %s: fichero de configuración, creado por %s v%s el %s#\n" -#: src/common/weeconfig.c:1683 +#: src/common/weeconfig.c:1737 msgid "Saving config to disk\n" msgstr "Guardar configuración a disco\n" + +#~ msgid "%d:[not connected] " +#~ msgstr "%d:[no conectado] " diff --git a/weechat/po/fr.po b/weechat/po/fr.po index 1e69c89c3..667a96f5f 100644 --- a/weechat/po/fr.po +++ b/weechat/po/fr.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: WeeChat 0.1.4-cvs\n" "Report-Msgid-Bugs-To: flashcode@flashtux.org\n" -"POT-Creation-Date: 2005-07-02 18:30+0200\n" -"PO-Revision-Date: 2005-07-02 20:21+0200\n" +"POT-Creation-Date: 2005-07-09 17:25+0200\n" +"PO-Revision-Date: 2005-07-09 14:34+0200\n" "Last-Translator: FlashCode <flashcode@flashtux.org>\n" "Language-Team: weechat-dev <weechat-dev@nongnu.org>\n" "MIME-Version: 1.0\n" @@ -20,7 +20,7 @@ msgstr "" msgid "%s cannot allocate new nick\n" msgstr "%s impossible d'allouer un nouveau pseudo\n" -#: src/irc/irc-server.c:180 src/common/weeconfig.c:1625 +#: src/irc/irc-server.c:180 src/common/weeconfig.c:1677 msgid "Unable to get user's name" msgstr "Impossible de déterminer le nom d'utilisateur" @@ -1304,7 +1304,7 @@ msgstr "impossible de changer le mode pour les autres utilisateurs" msgid "whois (secure connection)" msgstr "qui est (connexion sécurisée)" -#: src/irc/irc-display.c:156 src/common/command.c:842 +#: src/irc/irc-display.c:156 src/common/command.c:848 msgid "Server: " msgstr "Serveur: " @@ -1345,9 +1345,9 @@ msgstr "%s: utilisation du nom de machine local \"%s\"\n" #: src/irc/irc-send.c:232 src/irc/irc-send.c:260 src/irc/irc-send.c:426 #: src/irc/irc-send.c:452 src/irc/irc-send.c:478 src/irc/irc-send.c:519 -#: src/irc/irc-send.c:555 src/irc/irc-send.c:619 src/irc/irc-send.c:676 -#: src/irc/irc-send.c:1018 src/irc/irc-send.c:1116 src/irc/irc-send.c:1595 -#: src/irc/irc-send.c:1702 +#: src/irc/irc-send.c:555 src/irc/irc-send.c:622 src/irc/irc-send.c:679 +#: src/irc/irc-send.c:1021 src/irc/irc-send.c:1119 src/irc/irc-send.c:1598 +#: src/irc/irc-send.c:1705 #, c-format msgid "%s \"%s\" command can only be executed in a channel window\n" msgstr "" @@ -1355,36 +1355,36 @@ msgstr "" "canal\n" #: src/irc/irc-send.c:345 src/irc/irc-send.c:357 src/irc/irc-send.c:375 -#: src/irc/irc-send.c:996 src/irc/irc-send.c:1089 src/irc/irc-send.c:1621 -#: src/common/command.c:1167 src/common/command.c:1451 -#: src/common/command.c:1594 +#: src/irc/irc-send.c:999 src/irc/irc-send.c:1092 src/irc/irc-send.c:1624 +#: src/common/command.c:1189 src/common/command.c:1455 +#: src/common/command.c:1605 src/common/command.c:1748 #, c-format msgid "%s wrong argument count for \"%s\" command\n" msgstr "%s nombre de paramètres erroné pour la commande \"%s\"\n" -#: src/irc/irc-send.c:398 src/irc/irc-send.c:604 src/irc/irc-send.c:661 +#: src/irc/irc-send.c:398 src/irc/irc-send.c:607 src/irc/irc-send.c:664 #, c-format msgid "%s wrong arguments for \"%s\" command\n" msgstr "%s paramètres invalides pour la commande \"%s\"\n" -#: src/irc/irc-send.c:804 src/irc/irc-send.c:871 src/irc/irc-send.c:1164 -#: src/irc/irc-send.c:1178 src/irc/irc-send.c:1522 +#: src/irc/irc-send.c:807 src/irc/irc-send.c:874 src/irc/irc-send.c:1167 +#: src/irc/irc-send.c:1181 src/irc/irc-send.c:1525 #, c-format msgid "%s \"%s\" command can not be executed on a server window\n" msgstr "" "%s la commande \"%s\" ne peut pas être exécutée dans une fenêtre serveur\n" -#: src/irc/irc-send.c:889 src/irc/irc-send.c:914 src/irc/irc-recv.c:322 +#: src/irc/irc-send.c:892 src/irc/irc-send.c:917 src/irc/irc-recv.c:322 #, c-format msgid "%s nick \"%s\" not found for \"%s\" command\n" msgstr "%s pseudo \"%s\" non trouvé pour la commande \"%s\"\n" -#: src/irc/irc-send.c:966 src/irc/irc-send.c:1274 src/irc/irc-recv.c:1505 +#: src/irc/irc-send.c:969 src/irc/irc-send.c:1277 src/irc/irc-recv.c:1505 #, c-format msgid "%s cannot create new private window \"%s\"\n" msgstr "%s impossible de créer la fenêtre privée \"%s\"\n" -#: src/irc/irc-send.c:1674 +#: src/irc/irc-send.c:1677 #, c-format msgid "%s, compiled on %s %s\n" msgstr "%s, compilé le %s %s\n" @@ -2094,66 +2094,65 @@ msgstr "" "%s impossible d'ajouter la fonction pour le message \"%s\" (mémoire " "insuffisante)\n" -#: src/gui/curses/gui-input.c:788 +#: src/gui/curses/gui-input.c:298 #, c-format msgid "%s lag is high, disconnecting from server...\n" msgstr "%s le lag est élevé, déconnexion du serveur...\n" -#: src/gui/curses/gui-display.c:686 +#: src/gui/curses/gui-display.c:684 msgid "bytes" msgstr "octets" -#: src/gui/curses/gui-display.c:686 +#: src/gui/curses/gui-display.c:684 msgid "Kb" msgstr "Ko" -#: src/gui/curses/gui-display.c:686 +#: src/gui/curses/gui-display.c:684 msgid "Mb" msgstr "Mo" -#: src/gui/curses/gui-display.c:686 +#: src/gui/curses/gui-display.c:684 msgid "Gb" msgstr "Go" -#: src/gui/curses/gui-display.c:1122 +#: src/gui/curses/gui-display.c:1116 msgid "(away)" msgstr "(absent)" -#: src/gui/curses/gui-display.c:1235 -#, c-format -msgid "%d:[not connected] " -msgstr "%d:[non connecté] " +#: src/gui/curses/gui-display.c:1233 +msgid "[not connected]" +msgstr "[non connecté]" -#: src/gui/curses/gui-display.c:1252 +#: src/gui/curses/gui-display.c:1249 msgid "Act: " msgstr "Act: " -#: src/gui/curses/gui-display.c:1301 +#: src/gui/curses/gui-display.c:1298 #, c-format msgid "Lag: %.1f" msgstr "Lag: %.1f" -#: src/gui/curses/gui-display.c:1322 +#: src/gui/curses/gui-display.c:1319 msgid "-MORE-" msgstr "-PLUS-" -#: src/gui/curses/gui-display.c:1509 +#: src/gui/curses/gui-display.c:1559 msgid " [A] Accept" msgstr " [A] Accepter" -#: src/gui/curses/gui-display.c:1510 src/gui/curses/gui-display.c:1514 +#: src/gui/curses/gui-display.c:1560 src/gui/curses/gui-display.c:1564 msgid " [C] Cancel" msgstr " [C] Annuler" -#: src/gui/curses/gui-display.c:1519 +#: src/gui/curses/gui-display.c:1569 msgid " [R] Remove" msgstr " [R] Retirer" -#: src/gui/curses/gui-display.c:1523 +#: src/gui/curses/gui-display.c:1573 msgid " [P] Purge old DCC" msgstr " [P] Purger anciens DCC" -#: src/gui/curses/gui-display.c:1524 +#: src/gui/curses/gui-display.c:1574 msgid " [Q] Close DCC view" msgstr " [Q] Fermer la vue DCC" @@ -2161,15 +2160,15 @@ msgstr " [Q] Fermer la vue DCC" msgid "server" msgstr "serveur" -#: src/gui/gui-common.c:330 +#: src/gui/gui-common.c:333 msgid "Not enough memory for infobar message\n" msgstr "Pas assez de mémoire pour un message de la barre d'infos\n" -#: src/gui/gui-common.c:505 +#: src/gui/gui-common.c:508 msgid "Not enough memory for new line\n" msgstr "Pas assez de mémoire pour une nouvelle ligne !\n" -#: src/gui/gui-common.c:548 +#: src/gui/gui-common.c:551 msgid "Not enough memory for new message\n" msgstr "Pas assez de mémoire pour un message de la barre d'infos\n" @@ -2280,14 +2279,40 @@ msgid "command: name of a WeeChat or IRC command" msgstr "commande: nom d'une commande WeeChat ou IRC" #: src/common/command.c:75 +msgid "bind/unbind keys" +msgstr "associer/libérer des touches" + +#: src/common/command.c:76 +msgid "[key function/command] [unbind key] [functions] [reset -yes]" +msgstr "[touche fonction/commande] [unbind touche] [functions] [reset -yes]" + +#: src/common/command.c:77 +msgid "" +"key: bind this key to an internal function or a command (beginning by \"/" +"\")\n" +"unbind: unbind a key (if \"all\", default bindings are restored)\n" +"functions: list internal functions for key bindings\n" +"reset: restore bindings to the default values and delete ALL personal " +"binding (use carefully!)" +msgstr "" +"touche: associer cette touche à une fonction interne ou une commande " +"(commençant par \"/\")\n" +"unbind: supprimer l'association à une touche (si \"all\", toutes les " +"associations de touches par défaut sont restaurées)\n" +"functions: lister la liste des fonctions internes pour les associations de " +"touches\n" +"reset: restaur les touches aux valeurs par défaut et supprime TOUTES les " +"touches personnelles (utiliser avec précaution !)" + +#: src/common/command.c:82 msgid "list/load/unload Perl scripts" msgstr "liste/charge/décharge des scripts Perl" -#: src/common/command.c:76 src/common/command.c:81 +#: src/common/command.c:83 src/common/command.c:88 msgid "[load filename] | [autoload] | [reload] | [unload]" msgstr "[load fichier] | [autoload] | [reload] | [unload]" -#: src/common/command.c:77 +#: src/common/command.c:84 msgid "" "filename: Perl script (file) to load\n" "Without argument, /perl command lists all loaded Perl scripts." @@ -2295,11 +2320,11 @@ msgstr "" "fichier: script Perl (fichier) à charger\n" "Sans paramètre, la commande /perl liste tous les scripts Perl chargés." -#: src/common/command.c:80 +#: src/common/command.c:87 msgid "list/load/unload Python scripts" msgstr "liste/charge/décharge des scripts Python" -#: src/common/command.c:82 +#: src/common/command.c:89 msgid "" "filename: Python script (file) to load\n" "Without argument, /python command lists all loaded Python scripts." @@ -2307,11 +2332,11 @@ msgstr "" "fichier: script Python (fichier) à charger\n" "Sans paramètre, la commande /python liste tous les scripts Python chargés." -#: src/common/command.c:85 +#: src/common/command.c:92 msgid "list, add or remove servers" msgstr "liste, ajoute ou retire des serveurs" -#: src/common/command.c:86 +#: src/common/command.c:93 msgid "" "[servername] | [servername hostname port [-auto | -noauto] [-ipv6] [-ssl] [-" "pwd password] [-nicks nick1 [nick2 [nick3]]] [-username username] [-realname " @@ -2323,7 +2348,7 @@ msgstr "" "nom_utilisateur] [-realname nom_réel] [-command commande] [-autojoin canal[," "canal]] ] | [del nom_serveur]" -#: src/common/command.c:91 +#: src/common/command.c:98 msgid "" "servername: server name, for internal & display use\n" "hostname: name or IP address of server\n" @@ -2349,27 +2374,27 @@ msgstr "" "nom_utilisateur: nom d'utilisateur\n" "nom_réel: nom réel de l'utilisateur" -#: src/common/command.c:103 +#: src/common/command.c:110 msgid "save config to disk" msgstr "sauvegarder la configuration sur disque" -#: src/common/command.c:104 +#: src/common/command.c:111 msgid "[file]" msgstr "[fichier]" -#: src/common/command.c:104 +#: src/common/command.c:111 msgid "file: filename for writing config" msgstr "fichier: fichier pour sauvegarder la configuration" -#: src/common/command.c:106 +#: src/common/command.c:113 msgid "set config parameters" msgstr "modifier des paramètres de configuration" -#: src/common/command.c:107 +#: src/common/command.c:114 msgid "[option[=value]]" msgstr "[option[=valeur]]" -#: src/common/command.c:107 +#: src/common/command.c:114 msgid "" "option: name of an option\n" "value: value for option" @@ -2377,27 +2402,27 @@ msgstr "" "option: nom d'une option\n" "valeur: valeur pour l'option" -#: src/common/command.c:109 +#: src/common/command.c:116 msgid "remove an alias" msgstr "supprimer un alias" -#: src/common/command.c:110 +#: src/common/command.c:117 msgid "alias_name" msgstr "nom_alias" -#: src/common/command.c:110 +#: src/common/command.c:117 msgid "alias_name: name of alias to remove" msgstr "nom_alias: nom de l'alias à supprimer" -#: src/common/command.c:112 +#: src/common/command.c:119 msgid "manage windows" msgstr "gestion des fenêtres" -#: src/common/command.c:113 +#: src/common/command.c:120 msgid "[list | splith | splitv | [merge [down | up | left | right | all]]]" msgstr "[list | splith | splitv | [merge [down | up | left | right | all]]]" -#: src/common/command.c:115 +#: src/common/command.c:121 msgid "" "list: list opened windows (no parameter implies this list)\n" "splith: split current window horizontally\n" @@ -2409,29 +2434,29 @@ msgstr "" "splitv: éclate la fenêtre en deux verticalement\n" "merge: fusionne la fenêtre avec une autre" -#: src/common/command.c:261 +#: src/common/command.c:267 #, c-format msgid "%s alias or command \"%s\" already exists!\n" msgstr "%s l'alias ou la commande \"%s\" existe déjà !\n" -#: src/common/command.c:271 +#: src/common/command.c:277 #, c-format msgid "%s alias cannot run another alias!\n" msgstr "%s l'alias ne peux pas lancer un autre alias !\n" -#: src/common/command.c:278 +#: src/common/command.c:284 #, c-format msgid "%s target command \"%s\" does not exist!\n" msgstr "%s la commande cible \"%s\" n'existe pas !\n" -#: src/common/command.c:486 +#: src/common/command.c:492 #, c-format msgid "%s wrong argument count for %s command \"%s\" (expected: %d arg%s)\n" msgstr "" "%s nombre de paramètres incorrect pour la commande %s \"%s\" (attendu: %d " "paramètre%s)\n" -#: src/common/command.c:498 +#: src/common/command.c:504 #, c-format msgid "" "%s wrong argument count for %s command \"%s\" (expected: between %d and %d " @@ -2440,19 +2465,19 @@ msgstr "" "%s nombre de paramètres incorrect pour la commande %s \"%s\" (attendu: entre " "%d et %d paramètre%s)\n" -#: src/common/command.c:520 src/common/command.c:590 +#: src/common/command.c:526 src/common/command.c:596 #, c-format msgid "%s command \"%s\" failed\n" msgstr "%s la commande \"%s\" a échoué\n" -#: src/common/command.c:548 +#: src/common/command.c:554 #, c-format msgid "%s wrong argument count for IRC command \"%s\" (expected: %d arg%s)\n" msgstr "" "%s nombre de paramètres incorrect pour la commande IRC \"%s\" (attendu: %d " "paramètre%s)\n" -#: src/common/command.c:560 +#: src/common/command.c:566 #, c-format msgid "" "%s wrong argument count for IRC command \"%s\" (expected: between %d and %d " @@ -2461,190 +2486,224 @@ msgstr "" "%s nombre de paramètres incorrect pour la commande IRC \"%s\" (attendu: " "entre %d et %d paramètre%s)\n" -#: src/common/command.c:575 +#: src/common/command.c:581 #, c-format msgid "%s command \"%s\" needs a server connection!\n" msgstr "%s la commande \"%s\" nécessite une connexion au serveur !\n" -#: src/common/command.c:639 +#: src/common/command.c:645 #, c-format msgid "%s unknown command \"%s\" (type /help for help)\n" msgstr "%s commande \"%s\" inconnue (tapez /help pour l'aide)\n" -#: src/common/command.c:720 +#: src/common/command.c:726 #, c-format msgid "%s cannot find nick for sending message\n" msgstr "%s impossible de trouver le pseudo pour envoyer le message\n" -#: src/common/command.c:742 +#: src/common/command.c:748 #, c-format msgid "%s unable to call handler for message (not enough memory)\n" msgstr "" "%s impossible d'appeler la fonction pour le message (mémoire insuffisante)\n" -#: src/common/command.c:750 +#: src/common/command.c:756 msgid "This window is not a channel!\n" msgstr "Cette fenêtre n'est pas un canal !\n" -#: src/common/command.c:778 src/common/command.c:802 src/common/command.c:906 +#: src/common/command.c:784 src/common/command.c:808 src/common/command.c:913 #, c-format msgid "%s missing arguments for \"%s\" command\n" msgstr "%s paramètres manquants pour la commande \"%s\"\n" -#: src/common/command.c:787 +#: src/common/command.c:793 #, c-format msgid "Alias \"%s\" => \"%s\" created\n" msgstr "Alias \"%s\" => \"%s\" créé\n" -#: src/common/command.c:793 +#: src/common/command.c:799 #, c-format msgid "Failed to create alias \"%s\" => \"%s\" (not enough memory)\n" msgstr "Impossible de créer l'alias \"%s\" => \"%s\" (pas assez de mémoire)\n" -#: src/common/command.c:813 +#: src/common/command.c:819 msgid "List of aliases:\n" msgstr "Liste des alias:\n" -#: src/common/command.c:825 +#: src/common/command.c:831 msgid "No alias defined.\n" msgstr "Aucun alias défini.\n" -#: src/common/command.c:848 +#: src/common/command.c:854 msgid "Channel: " msgstr "Canal: " -#: src/common/command.c:851 src/common/command.c:861 +#: src/common/command.c:857 src/common/command.c:867 msgid " (server: " msgstr " (serveur: " -#: src/common/command.c:858 +#: src/common/command.c:864 msgid "Private with: " msgstr "Privé avec: " -#: src/common/command.c:886 +#: src/common/command.c:893 msgid "Opened buffers:\n" msgstr "Tampons ouverts:\n" -#: src/common/command.c:929 src/common/command.c:1069 +#: src/common/command.c:936 #, c-format msgid "%s incorrect buffer number\n" msgstr "%s numéro de buffer incorrect\n" -#: src/common/command.c:943 +#: src/common/command.c:950 #, c-format msgid "%s can not close the single buffer\n" msgstr "%s impossible de fermer le tampon unique\n" -#: src/common/command.c:953 +#: src/common/command.c:960 #, c-format msgid "%s can not close server buffer while channels are opened\n" msgstr "" "%s impossible de fermer le tampon du serveur tant que des canaux sont " "ouverts\n" -#: src/common/command.c:992 +#: src/common/command.c:999 msgid "Notify levels: " msgstr "Niveaux de notification: " -#: src/common/command.c:1020 src/common/command.c:1042 +#: src/common/command.c:1027 src/common/command.c:1049 #, c-format msgid "%s incorrect notify level (must be between %d and %d)\n" msgstr "%s niveau de notification incorrect (doit être entre %d et %d)\n" -#: src/common/command.c:1029 +#: src/common/command.c:1036 #, c-format msgid "%s incorrect buffer for notify (must be channel or private)\n" msgstr "" "%s tampon incorrect pour la notification (doit être un canal ou un privé)\n" -#: src/common/command.c:1060 -#, c-format -msgid "%s buffer \"%s\" not found for \"%s\" command\n" -msgstr "%s buffer \"%s\" non trouvé pour la commande \"%s\"\n" - -#: src/common/command.c:1094 +#: src/common/command.c:1116 #, c-format msgid "unknown parameter \"%s\" for \"%s\" command\n" msgstr "paramètre inconnu \"%s\" pour la commande \"%s\"\n" -#: src/common/command.c:1124 +#: src/common/command.c:1146 #, c-format msgid "%s already connected to server \"%s\"!\n" msgstr "%s déjà connecté au serveur \"%s\" !\n" -#: src/common/command.c:1132 +#: src/common/command.c:1154 #, c-format msgid "%s currently connecting to server \"%s\"!\n" msgstr "%s une connexion vers le serveur \"%s\" est en cours !\n" -#: src/common/command.c:1150 src/common/command.c:1225 +#: src/common/command.c:1172 src/common/command.c:1247 #, c-format msgid "%s server not found\n" msgstr "%s serveur non trouvé\n" -#: src/common/command.c:1180 src/common/command.c:1444 -#: src/common/command.c:1587 src/common/command.c:2283 -#: src/common/command.c:2295 +#: src/common/command.c:1202 src/common/command.c:1598 +#: src/common/command.c:1741 src/common/command.c:2438 +#: src/common/command.c:2454 #, c-format msgid "%s unknown option for \"%s\" command\n" msgstr "%s option inconnue pour la commande \"%s\"\n" -#: src/common/command.c:1209 +#: src/common/command.c:1231 #, c-format msgid "%s not connected to server \"%s\"!\n" msgstr "%s non connecté au serveur \"%s\" !\n" -#: src/common/command.c:1217 +#: src/common/command.c:1239 msgid "Auto-reconnection is cancelled\n" msgstr "La reconnexion automatique est annulée\n" -#: src/common/command.c:1243 src/common/weechat.c:273 +#: src/common/command.c:1265 src/common/weechat.c:273 #, c-format msgid "%s internal commands:\n" msgstr "Commandes internes %s :\n" -#: src/common/command.c:1252 src/common/weechat.c:293 +#: src/common/command.c:1274 src/common/weechat.c:293 #, c-format msgid "IRC commands:\n" msgstr "Commandes IRC :\n" -#: src/common/command.c:1319 +#: src/common/command.c:1341 #, c-format msgid "No help available, \"%s\" is an unknown command\n" msgstr "Pas d'aide disponible, la commande \"%s\" est inconnue\n" -#: src/common/command.c:1343 src/common/command.c:1486 +#: src/common/command.c:1359 +msgid "New key binding:\n" +msgstr "Nouvelle touche:\n" + +#: src/common/command.c:1392 +msgid "Key bindings:\n" +msgstr "Associations de touches:\n" + +#: src/common/command.c:1404 +#, c-format +msgid "Key \"%s\" unbinded\n" +msgstr "Touche \"%s\" supprimée\n" + +#: src/common/command.c:1409 +#, c-format +msgid "%s unable to unbind key \"%s\"\n" +msgstr "%s impossible de supprimer la touche \"%s\"\n" + +#: src/common/command.c:1417 src/common/weechat.c:324 +#, c-format +msgid "Internal key functions:\n" +msgstr "Fonctions internes pour les touches:\n" + +#: src/common/command.c:1435 +msgid "Default key bindings restored\n" +msgstr "Touches par défaut restaurées\n" + +#: src/common/command.c:1441 +#, c-format +msgid "%s \"-yes\" argument is required for keys reset (securuty reason)\n" +msgstr "" +"%s le paramètre \"-yes\" est requis pour la réinitialisation des touches " +"(raison de sécurité)\n" + +#: src/common/command.c:1470 +#, c-format +msgid "%s unable to bind key \"%s\"\n" +msgstr "%s impossible de créer la touche \"%s\"\n" + +#: src/common/command.c:1497 src/common/command.c:1640 #, c-format msgid "Registered %s scripts:\n" msgstr "Scripts %s enregistrés :\n" -#: src/common/command.c:1360 src/common/command.c:1383 -#: src/common/command.c:1406 src/common/command.c:1503 -#: src/common/command.c:1526 src/common/command.c:1549 +#: src/common/command.c:1514 src/common/command.c:1537 +#: src/common/command.c:1560 src/common/command.c:1657 +#: src/common/command.c:1680 src/common/command.c:1703 msgid " (none)\n" msgstr " (aucun)\n" -#: src/common/command.c:1365 src/common/command.c:1508 +#: src/common/command.c:1519 src/common/command.c:1662 #, c-format msgid "%s message handlers:\n" msgstr "Fonctions %s pour messages :\n" -#: src/common/command.c:1374 src/common/command.c:1517 +#: src/common/command.c:1528 src/common/command.c:1671 #, c-format msgid " IRC(%s) => %s(%s)\n" msgstr " IRC(%s) => %s(%s)\n" -#: src/common/command.c:1388 src/common/command.c:1531 +#: src/common/command.c:1542 src/common/command.c:1685 #, c-format msgid "%s command handlers:\n" msgstr "Commandes %s :\n" -#: src/common/command.c:1397 src/common/command.c:1540 +#: src/common/command.c:1551 src/common/command.c:1694 #, c-format msgid " Command /%s => %s(%s)\n" msgstr " Commande /%s => %s(%s)\n" -#: src/common/command.c:1457 +#: src/common/command.c:1611 msgid "" "WeeChat was build without Perl support.\n" "Please rebuild WeeChat with \"--enable-perl\" option for ./configure script\n" @@ -2653,7 +2712,7 @@ msgstr "" "Merci de reconstruire WeeChat avec l'option \"--enable-perl\" pour le " "script ./configure\n" -#: src/common/command.c:1600 +#: src/common/command.c:1754 msgid "" "WeeChat was build without Python support.\n" "Please rebuild WeeChat with \"--enable-python\" option for ./configure " @@ -2663,31 +2722,31 @@ msgstr "" "Merci de reconstruire WeeChat avec l'option \"--enable-python\" pour le " "script ./configure\n" -#: src/common/command.c:1648 +#: src/common/command.c:1802 msgid "No server.\n" msgstr "Pas de serveur.\n" -#: src/common/command.c:1659 +#: src/common/command.c:1813 #, c-format msgid "Server '%s' not found.\n" msgstr "Serveur '%s' non trouvé.\n" -#: src/common/command.c:1671 +#: src/common/command.c:1825 #, c-format msgid "%s missing servername for \"%s\" command\n" msgstr "%s il manque le nom du serveur pour la commande \"%s\"\n" -#: src/common/command.c:1679 +#: src/common/command.c:1833 #, c-format msgid "%s too much arguments for \"%s\" command, ignoring arguments\n" msgstr "%s trop de paramètres pour la commande \"%s\", paramètres ignorés\n" -#: src/common/command.c:1698 +#: src/common/command.c:1852 #, c-format msgid "%s server \"%s\" not found for \"%s\" command\n" msgstr "%s le serveur \"%s\" n'existe pas pour la commande \"%s\"\n" -#: src/common/command.c:1706 +#: src/common/command.c:1860 #, c-format msgid "" "%s you can not delete server \"%s\" because you are connected to. Try /" @@ -2696,106 +2755,106 @@ msgstr "" "%s vous ne pouvez pas supprimer le server \"%s\" car vous êtes connecté " "dessus. Essayez /disconnect %s avant.\n" -#: src/common/command.c:1722 src/common/command.c:1868 +#: src/common/command.c:1876 src/common/command.c:2022 msgid "Server" msgstr "Serveur" -#: src/common/command.c:1725 +#: src/common/command.c:1879 msgid "has been deleted\n" msgstr "a été supprimé\n" -#: src/common/command.c:1740 +#: src/common/command.c:1894 #, c-format msgid "%s missing parameters for \"%s\" command\n" msgstr "%s paramètres manquants pour la commande \"%s\"\n" -#: src/common/command.c:1750 +#: src/common/command.c:1904 #, c-format msgid "%s server \"%s\" already exists, can't create it!\n" msgstr "%s le serveur \"%s\" existe déjà, impossible de le créer !\n" -#: src/common/command.c:1779 src/common/command.c:1807 -#: src/common/command.c:1820 src/common/command.c:1846 +#: src/common/command.c:1933 src/common/command.c:1961 +#: src/common/command.c:1974 src/common/command.c:2000 #, c-format msgid "%s missing password for \"%s\" parameter\n" msgstr "%s mot de passe manquant pour le paramètre \"%s\"\n" -#: src/common/command.c:1792 +#: src/common/command.c:1946 #, c-format msgid "%s missing nick(s) for \"%s\" parameter\n" msgstr "%s pseudo(s) manquant(s) pour le paramètre \"%s\"\n" -#: src/common/command.c:1833 +#: src/common/command.c:1987 #, c-format msgid "%s missing command for \"%s\" parameter\n" msgstr "%s commande manquante pour le paramètre \"%s\"\n" -#: src/common/command.c:1871 +#: src/common/command.c:2025 msgid "created\n" msgstr "créé\n" -#: src/common/command.c:1877 +#: src/common/command.c:2031 #, c-format msgid "%s unable to create server\n" msgstr "%s impossible de créer le serveur\n" -#: src/common/command.c:1932 +#: src/common/command.c:2086 msgid "(unknown)" msgstr "(inconnu)" -#: src/common/command.c:1955 +#: src/common/command.c:2109 msgid "(password hidden) " msgstr "(mot de passe caché) " -#: src/common/command.c:2019 +#: src/common/command.c:2173 #, c-format msgid "%s server \"%s\" not found\n" msgstr "%s serveur \"%s\" non trouvé\n" -#: src/common/command.c:2050 src/common/command.c:2096 +#: src/common/command.c:2204 src/common/command.c:2250 #, c-format msgid "%s config option \"%s\" not found\n" msgstr "%s option de configuration \"%s\" non trouvée\n" -#: src/common/command.c:2055 src/common/command.c:2088 +#: src/common/command.c:2209 src/common/command.c:2242 #, c-format msgid "%s incorrect value for option \"%s\"\n" msgstr "%s valeur incorrecte pour l'option \"%s\"\n" -#: src/common/command.c:2071 +#: src/common/command.c:2225 #, c-format msgid "%s option \"%s\" can not be changed while WeeChat is running\n" msgstr "%s l'option \"%s\" ne peut pas être changée lorsque WeeChat tourne\n" -#: src/common/command.c:2169 +#: src/common/command.c:2324 #, c-format msgid "No config option found with \"%s\"\n" msgstr "Aucune option de configuration trouvée avec \"%s\"\n" -#: src/common/command.c:2172 +#: src/common/command.c:2327 msgid "No config option found\n" msgstr "Aucune option de configuration trouvée\n" -#: src/common/command.c:2178 +#: src/common/command.c:2333 #, c-format msgid "config option(s) found with \"%s\"\n" msgstr "option(s) de configuration trouvée(s) avec \"%s\"\n" -#: src/common/command.c:2181 +#: src/common/command.c:2336 msgid "config option(s) found\n" msgstr "option(s) de configuration trouvée(s)\n" -#: src/common/command.c:2201 +#: src/common/command.c:2356 #, c-format msgid "%s alias or command \"%s\" not found\n" msgstr "%s alias ou commande \"%s\" non trouvé\n" -#: src/common/command.c:2211 +#: src/common/command.c:2366 #, c-format msgid "Alias \"%s\" removed\n" msgstr "Alias \"%s\" supprimé\n" -#: src/common/command.c:2231 +#: src/common/command.c:2386 msgid "Opened windows:\n" msgstr "Fenêtres ouvertes:\n" @@ -2938,57 +2997,62 @@ msgstr "" "où 'j' est le nom de l'alias, et 'join' la commande associée.\n" "\n" -#: src/common/weechat.c:371 +#: src/common/weechat.c:344 +#, c-format +msgid "%s default keys:\n" +msgstr "Touches par défaut %s:\n" + +#: src/common/weechat.c:424 #, c-format msgid "%s invalid syntax for IRC server ('%s'), ignored\n" msgstr "%s syntaxe invalide pour le serveur IRC ('%s'), ignoré\n" -#: src/common/weechat.c:384 +#: src/common/weechat.c:437 #, c-format msgid "%s unable to create server ('%s'), ignored\n" msgstr "%s impossible de créer le serveur ('%s'), ignoré\n" -#: src/common/weechat.c:393 +#: src/common/weechat.c:446 #, c-format msgid "%s unknown parameter '%s', ignored\n" msgstr "%s paramètre inconnu '%s', ignoré\n" -#: src/common/weechat.c:413 +#: src/common/weechat.c:466 #, c-format msgid "%s cannot create directory \"%s\"\n" msgstr "%s impossible de créer le répertoire \"%s\"\n" -#: src/common/weechat.c:439 +#: src/common/weechat.c:492 #, c-format msgid "%s unable to get HOME directory\n" msgstr "%s impossible de lire le répertoire personnel\n" -#: src/common/weechat.c:448 +#: src/common/weechat.c:501 #, c-format msgid "%s not enough memory for home directory\n" msgstr "%s pas assez de mémoire pour le répertoire personnel\n" -#: src/common/weechat.c:458 +#: src/common/weechat.c:511 #, c-format msgid "%s unable to create ~/.weechat directory\n" msgstr "%s impossible de créer le répertoire ~/.weechat\n" -#: src/common/weechat.c:510 +#: src/common/weechat.c:563 #, c-format msgid "%s unable to create ~/.weechat/logs directory\n" msgstr "%s impossible de créer le répertoire ~/.weechat/logs\n" -#: src/common/weechat.c:553 +#: src/common/weechat.c:606 #, c-format msgid "%s unable to create/append to log file (~/.weechat/%s)" msgstr "%s impossible de créer/ajouter dans le fichier de log (~/.weechat/%s)" -#: src/common/weechat.c:576 +#: src/common/weechat.c:629 #, c-format msgid "%sWelcome to " msgstr "%sBienvenue dans " -#: src/common/weechat.c:589 src/common/weechat.c:598 +#: src/common/weechat.c:642 src/common/weechat.c:651 msgid "compiled on" msgstr "compilé le" @@ -3000,33 +3064,33 @@ msgstr "Erreur WeeChat:" msgid "WeeChat Warning:" msgstr "Avertissement WeeChat:" -#: src/common/weeconfig.c:88 src/common/weeconfig.c:89 +#: src/common/weeconfig.c:90 src/common/weeconfig.c:91 msgid "set title for window (terminal for Curses GUI) with name & version" msgstr "" "définit le titre de la fenêtre (terminal pour l'interface Curses) avec le " "nom et la version" -#: src/common/weeconfig.c:92 src/common/weeconfig.c:93 +#: src/common/weeconfig.c:94 src/common/weeconfig.c:95 msgid "display WeeChat logo at startup" msgstr "afficher le logo WeeChat au démarrage" -#: src/common/weeconfig.c:96 src/common/weeconfig.c:97 +#: src/common/weeconfig.c:98 src/common/weeconfig.c:99 msgid "display WeeChat version at startup" msgstr "afficher la version de WeeChat au démarrage" -#: src/common/weeconfig.c:100 +#: src/common/weeconfig.c:102 msgid "WeeChat slogan" msgstr "slogan WeeChat" -#: src/common/weeconfig.c:101 +#: src/common/weeconfig.c:103 msgid "WeeChat slogan (if empty, slogan is not used)" msgstr "slogan WeeChat (si vide, le slogan ne sera pas utilisé)" -#: src/common/weeconfig.c:104 +#: src/common/weeconfig.c:106 msgid "charset for decoding messages from server" msgstr "jeu de caractères pour décoder les messages du serveur" -#: src/common/weeconfig.c:105 +#: src/common/weeconfig.c:107 msgid "" "charset for decoding messages from server, examples: UTF-8, ISO-8859-1 (if " "empty, messages are not converted)" @@ -3034,11 +3098,11 @@ msgstr "" "jeu de caractères pour décoder les messages du serveur, exemples: UTF-8, ISO-" "8859-1 (si non renseigné, les messages ne sont pas convertis)" -#: src/common/weeconfig.c:108 +#: src/common/weeconfig.c:110 msgid "charset for encoding messages sent to server" msgstr "jeu de caractères pour encoder les messages envoyés au serveur" -#: src/common/weeconfig.c:109 +#: src/common/weeconfig.c:111 msgid "" "charset for encoding messages sent to server, examples: UFT-8, ISO-8859-1 " "(if empty, local charset is used)" @@ -3046,11 +3110,11 @@ msgstr "" "jeu de caractères pour encoder les messages envoyés au serveur, exemples: " "UFT-8, ISO-8859-1 (si non renseigné, le jeu de caractères local est utilisé)" -#: src/common/weeconfig.c:112 +#: src/common/weeconfig.c:114 msgid "internal WeeChat charset (should be ISO)" msgstr "jeu de caractères interne à WeeChat (devrait être ISO)" -#: src/common/weeconfig.c:113 +#: src/common/weeconfig.c:115 msgid "" "internal WeeChat charset, should be ISO-xxxx even if locale is UTF-8 (if " "empty, local charset is used)" @@ -3058,45 +3122,45 @@ msgstr "" "jeu de caractères interne à WeeChat, devrait être ISO-xxxx même si la locale " "est UTF-8 (si non renseigné, le jeu de caractères local est utilisé)" -#: src/common/weeconfig.c:116 src/common/weeconfig.c:117 +#: src/common/weeconfig.c:118 src/common/weeconfig.c:119 msgid "timestamp for buffers" msgstr "horodatage pour les tampons" -#: src/common/weeconfig.c:120 src/common/weeconfig.c:121 +#: src/common/weeconfig.c:122 src/common/weeconfig.c:123 msgid "display nick names with different colors" msgstr "afficher les utilisateurs avec différentes couleurs" -#: src/common/weeconfig.c:124 src/common/weeconfig.c:125 +#: src/common/weeconfig.c:126 src/common/weeconfig.c:127 msgid "display actions with different colors" msgstr "afficher les actions avec différentes couleurs" -#: src/common/weeconfig.c:128 src/common/weeconfig.c:129 +#: src/common/weeconfig.c:130 src/common/weeconfig.c:131 msgid "remove colors from incoming messages" msgstr "supprimer les couleurs dans les messages entrants" -#: src/common/weeconfig.c:132 +#: src/common/weeconfig.c:134 msgid "display nicklist window" msgstr "afficher la fenêtre des utilisateurs" -#: src/common/weeconfig.c:133 +#: src/common/weeconfig.c:135 msgid "display nicklist window (for channel windows)" msgstr "afficher la fenêtre des utilisateurs (pour les fenêtres de canaux)" -#: src/common/weeconfig.c:136 +#: src/common/weeconfig.c:138 msgid "nicklist position" msgstr "position de la fenêtre d'utilisateurs" -#: src/common/weeconfig.c:137 +#: src/common/weeconfig.c:139 msgid "nicklist position (top, left, right (default), bottom)" msgstr "" "position de la fenêtre d'utilisateurs (haut (top), gauche (left), droite " "(right, par défaut), bas (bottom))" -#: src/common/weeconfig.c:140 +#: src/common/weeconfig.c:142 msgid "min size for nicklist" msgstr "taille minimum pour la fenêtre d'utilisateurs" -#: src/common/weeconfig.c:141 +#: src/common/weeconfig.c:143 msgid "" "min size for nicklist (width or height, depending on look_nicklist_position " "(0 = no min size))" @@ -3104,11 +3168,11 @@ msgstr "" "taille minimum pour la fenêtre d'utilisateurs (largeur ou hauteur, selon " "look_nicklist_position (0 = pas de taille minimum))" -#: src/common/weeconfig.c:145 +#: src/common/weeconfig.c:147 msgid "max size for nicklist" msgstr "taille maximum pour la fenêtre d'utilisateurs" -#: src/common/weeconfig.c:146 +#: src/common/weeconfig.c:148 msgid "" "max size for nicklist (width or height, depending on look_nicklist_position " "(0 = no max size; if min == max and > 0, then size is fixed))" @@ -3117,39 +3181,43 @@ msgstr "" "look_nicklist_position (0 = pas de taille maximum; si min == max et > 0, " "alors la taille est fixe))" -#: src/common/weeconfig.c:150 src/common/weeconfig.c:151 +#: src/common/weeconfig.c:152 src/common/weeconfig.c:153 msgid "text to display instead of nick when not connected" msgstr "" "texte à afficher en lieu et place du nom d'utilisateur lorsque la connexion " "n'est pas active" -#: src/common/weeconfig.c:154 src/common/weeconfig.c:155 +#: src/common/weeconfig.c:156 src/common/weeconfig.c:157 msgid "display nick mode ((half)op/voice) before each nick" msgstr "" "afficher le mode de l'utilisateur ((half)op/voice) devant chaque utilisateur" -#: src/common/weeconfig.c:158 src/common/weeconfig.c:159 +#: src/common/weeconfig.c:160 src/common/weeconfig.c:161 msgid "display space if nick mode is not (half)op/voice" msgstr "afficher un espace si le mode utilisateur n'est pas (half)op/voice" -#: src/common/weeconfig.c:162 src/common/weeconfig.c:163 +#: src/common/weeconfig.c:164 src/common/weeconfig.c:165 msgid "the string inserted after nick completion" msgstr "la chaîne affichée après la complétion des utilisateurs" -#: src/common/weeconfig.c:166 src/common/weeconfig.c:167 +#: src/common/weeconfig.c:168 src/common/weeconfig.c:169 msgid "enable info bar" msgstr "active la barre d'infos" -#: src/common/weeconfig.c:170 src/common/weeconfig.c:171 +#: src/common/weeconfig.c:172 src/common/weeconfig.c:173 msgid "timestamp for time in infobar" msgstr "horodatage pour les conversations sauvegardées" -#: src/common/weeconfig.c:174 +#: src/common/weeconfig.c:176 src/common/weeconfig.c:177 +msgid "display seconds in infobar time" +msgstr "afficher les secondes pour l'heure dans la barre d'infos" + +#: src/common/weeconfig.c:180 msgid "delay (in seconds) for highlight messages in infobar" msgstr "" "délai (en seconds) pour la notification des messages dans la barre d'infos" -#: src/common/weeconfig.c:175 +#: src/common/weeconfig.c:181 msgid "" "delay (in seconds) for highlight messages in infobar (0 = disable highlight " "notifications in infobar)" @@ -3157,260 +3225,264 @@ msgstr "" "délai (en secondes) pour la notification des messages dans la barre d'infos " "(0 = désactiver les notifications dans la barre d'infos)" -#: src/common/weeconfig.c:233 src/common/weeconfig.c:234 +#: src/common/weeconfig.c:240 src/common/weeconfig.c:241 msgid "color for title bar" msgstr "couleur pour la barre de titre" -#: src/common/weeconfig.c:237 src/common/weeconfig.c:238 +#: src/common/weeconfig.c:244 src/common/weeconfig.c:245 msgid "background for title bar" msgstr "couleur de fond pour la barre de titre" -#: src/common/weeconfig.c:243 src/common/weeconfig.c:244 +#: src/common/weeconfig.c:250 src/common/weeconfig.c:251 msgid "color for chat text" msgstr "couleur pour le texte de discussion" -#: src/common/weeconfig.c:247 +#: src/common/weeconfig.c:254 msgid "color for time" msgstr "couleur pour l'heure" -#: src/common/weeconfig.c:248 +#: src/common/weeconfig.c:255 msgid "color for time in chat window" msgstr "couleur pour l'heure dans la fenêtre de discussion" -#: src/common/weeconfig.c:251 +#: src/common/weeconfig.c:258 msgid "color for time separator" msgstr "couleur pour le séparateur de l'heure" -#: src/common/weeconfig.c:252 +#: src/common/weeconfig.c:259 msgid "color for time separator (chat window)" msgstr "couleur pour la séparation de l'heure (fenêtre de discussion)" -#: src/common/weeconfig.c:255 src/common/weeconfig.c:256 +#: src/common/weeconfig.c:262 src/common/weeconfig.c:263 msgid "color for 1st and 3rd char of prefix" msgstr "couleur pour le 1er et le 3ème caractère du préfixe" -#: src/common/weeconfig.c:259 src/common/weeconfig.c:260 +#: src/common/weeconfig.c:266 src/common/weeconfig.c:267 msgid "color for middle char of prefix" msgstr "couleur pour le caractère du milieu du préfixe" -#: src/common/weeconfig.c:263 +#: src/common/weeconfig.c:270 msgid "color for nicks in actions" msgstr "couleur pour les noms d'utilisateur dans les actions" -#: src/common/weeconfig.c:264 +#: src/common/weeconfig.c:271 msgid "color for nicks in actions (chat window)" msgstr "" "couleur pour les noms d'utilisateurs dans les actions (fenêtre de discussion)" -#: src/common/weeconfig.c:267 +#: src/common/weeconfig.c:274 msgid "color for hostnames" msgstr "couleur pour les noms de machines" -#: src/common/weeconfig.c:268 +#: src/common/weeconfig.c:275 msgid "color for hostnames (chat window)" msgstr "couleur pour les noms de machines (fenêtre de discussion)" -#: src/common/weeconfig.c:271 +#: src/common/weeconfig.c:278 msgid "color for channel names in actions" msgstr "couleur pour les canaux dans les actions" -#: src/common/weeconfig.c:272 +#: src/common/weeconfig.c:279 msgid "color for channel names in actions (chat window)" msgstr "couleur pour les canaux dans les actions (fenêtre de discussion)" -#: src/common/weeconfig.c:275 +#: src/common/weeconfig.c:282 msgid "color for dark separators" msgstr "couleur pour les séparateurs sombres" -#: src/common/weeconfig.c:276 +#: src/common/weeconfig.c:283 msgid "color for dark separators (chat window)" msgstr "couleur pour les séparateurs sombres (fenêtre de discussion)" -#: src/common/weeconfig.c:279 +#: src/common/weeconfig.c:286 msgid "color for highlighted nick" msgstr "couleur pour le pseudo surligné" -#: src/common/weeconfig.c:280 +#: src/common/weeconfig.c:287 msgid "color for highlighted nick (chat window)" msgstr "couleur pour le pseudo surligné (fenêtre de discussion)" -#: src/common/weeconfig.c:283 +#: src/common/weeconfig.c:290 msgid "background for chat" msgstr "couleur de fond pour la discussion" -#: src/common/weeconfig.c:284 +#: src/common/weeconfig.c:291 msgid "background for chat window" msgstr "couleur de fond pour la fenêtre de discussion" -#: src/common/weeconfig.c:289 src/common/weeconfig.c:290 +#: src/common/weeconfig.c:296 src/common/weeconfig.c:297 msgid "color for status bar" msgstr "couleur pour la barre de statut" -#: src/common/weeconfig.c:293 src/common/weeconfig.c:294 +#: src/common/weeconfig.c:300 src/common/weeconfig.c:301 msgid "color for status bar delimiters" msgstr "couleur pour les délimiteurs de la barre de statut" -#: src/common/weeconfig.c:297 +#: src/common/weeconfig.c:304 msgid "color for window with new messages" msgstr "couleur pour une fenêtre avec de nouvelles infos" -#: src/common/weeconfig.c:298 +#: src/common/weeconfig.c:305 msgid "color for window with new messages (status bar)" msgstr "couleur pour une fenêtre avec de nouvelles infos (barre de statut)" -#: src/common/weeconfig.c:301 +#: src/common/weeconfig.c:308 msgid "color for window with highlight" msgstr "couleur pour une fenêtre avec un highlight" -#: src/common/weeconfig.c:302 +#: src/common/weeconfig.c:309 msgid "color for window with highlight (status bar)" msgstr "couleur pour une fenêtre avec un highlight (barre de statut)" -#: src/common/weeconfig.c:305 +#: src/common/weeconfig.c:312 msgid "color for window with new data (not messages)" msgstr "couleur pour une fenêtre avec des nouvelles données (pas des infos)" -#: src/common/weeconfig.c:306 +#: src/common/weeconfig.c:313 msgid "color for window with new data (not messages) (status bar)" msgstr "" "couleur pour une fenêtre avec des nouvelles données (pas des infos) (barre " "de statut)" -#: src/common/weeconfig.c:309 +#: src/common/weeconfig.c:316 msgid "color for \"-MORE-\" text" msgstr "couleur pour le texte \"-PLUS-\"" -#: src/common/weeconfig.c:310 +#: src/common/weeconfig.c:317 msgid "color for window with new data (status bar)" msgstr "couleur pour une fenêtre avec des nouvelles données (barre de statut)" -#: src/common/weeconfig.c:313 src/common/weeconfig.c:314 +#: src/common/weeconfig.c:320 src/common/weeconfig.c:321 msgid "background for status window" msgstr "couleur de fond pour la fenêtre de statut" -#: src/common/weeconfig.c:319 src/common/weeconfig.c:320 +#: src/common/weeconfig.c:326 src/common/weeconfig.c:327 msgid "color for info bar text" msgstr "couleur pour la barre d'infos" -#: src/common/weeconfig.c:323 src/common/weeconfig.c:324 +#: src/common/weeconfig.c:330 src/common/weeconfig.c:331 +msgid "color for infobar delimiters" +msgstr "couleur pour les délimiteurs de la barre d'infos" + +#: src/common/weeconfig.c:334 src/common/weeconfig.c:335 msgid "color for info bar highlight notification" msgstr "couleur pour la notification dans la barre d'infos" -#: src/common/weeconfig.c:327 src/common/weeconfig.c:328 +#: src/common/weeconfig.c:338 src/common/weeconfig.c:339 msgid "background for info bar window" msgstr "couleur de fond pour la fenêtre de barre d'infos" -#: src/common/weeconfig.c:333 src/common/weeconfig.c:334 +#: src/common/weeconfig.c:344 src/common/weeconfig.c:345 msgid "color for input text" msgstr "couleur pour le texte saisi" -#: src/common/weeconfig.c:337 src/common/weeconfig.c:338 +#: src/common/weeconfig.c:348 src/common/weeconfig.c:349 msgid "color for input text (channel name)" msgstr "couleur pour le texte saisi (nom du canal)" -#: src/common/weeconfig.c:341 src/common/weeconfig.c:342 +#: src/common/weeconfig.c:352 src/common/weeconfig.c:353 msgid "color for input text (nick name)" msgstr "couleur pour le texte saisi (pseudo)" -#: src/common/weeconfig.c:345 src/common/weeconfig.c:346 +#: src/common/weeconfig.c:356 src/common/weeconfig.c:357 msgid "background for input window" msgstr "couleur de fond pour la fenêtre de saisie" -#: src/common/weeconfig.c:351 src/common/weeconfig.c:352 +#: src/common/weeconfig.c:362 src/common/weeconfig.c:363 msgid "color for nicknames" msgstr "couleur pour les pseudos" -#: src/common/weeconfig.c:355 src/common/weeconfig.c:356 +#: src/common/weeconfig.c:366 src/common/weeconfig.c:367 msgid "color for away nicknames" msgstr "couleur pour les pseudos absents" -#: src/common/weeconfig.c:359 +#: src/common/weeconfig.c:370 msgid "color for chan owner symbol" msgstr "couleur pour le symbole du propriétaire du canal" -#: src/common/weeconfig.c:360 +#: src/common/weeconfig.c:371 msgid "color for chan owner symbol (specific to unrealircd)" msgstr "" "couleur pour le symbole du propriétaire du canal (spécifique à unrealircd)" -#: src/common/weeconfig.c:363 +#: src/common/weeconfig.c:374 msgid "color for chan admin symbol" msgstr "couleur pour le symbole administrateur du canal" -#: src/common/weeconfig.c:364 +#: src/common/weeconfig.c:375 msgid "color for chan admin symbol (specific to unrealircd)" msgstr "" "couleur pour le symbole administrateur du canal (spécifique à unrealircd)" -#: src/common/weeconfig.c:367 src/common/weeconfig.c:368 +#: src/common/weeconfig.c:378 src/common/weeconfig.c:379 msgid "color for operator symbol" msgstr "couleur pour le symbole opérateur" -#: src/common/weeconfig.c:371 src/common/weeconfig.c:372 +#: src/common/weeconfig.c:382 src/common/weeconfig.c:383 msgid "color for half-operator symbol" msgstr "couleur pour le symbole demi-opérateur" -#: src/common/weeconfig.c:375 src/common/weeconfig.c:376 +#: src/common/weeconfig.c:386 src/common/weeconfig.c:387 msgid "color for voice symbol" msgstr "couleur pour le symbole voix" -#: src/common/weeconfig.c:379 src/common/weeconfig.c:380 +#: src/common/weeconfig.c:390 src/common/weeconfig.c:391 msgid "color for '+' when scrolling nicks" msgstr "couleur pour les '+' lors du scroll sur les pseudos" -#: src/common/weeconfig.c:383 src/common/weeconfig.c:384 +#: src/common/weeconfig.c:394 src/common/weeconfig.c:395 msgid "color for nick separator" msgstr "couleur pour le séparateur de pseudo" -#: src/common/weeconfig.c:387 src/common/weeconfig.c:388 +#: src/common/weeconfig.c:398 src/common/weeconfig.c:399 msgid "color for local nick" msgstr "couleur pour le pseudo local" -#: src/common/weeconfig.c:391 src/common/weeconfig.c:392 +#: src/common/weeconfig.c:402 src/common/weeconfig.c:403 msgid "color for other nick in private window" msgstr "couleur pour l'autre pseudo dans la fenêtre privée" -#: src/common/weeconfig.c:395 src/common/weeconfig.c:396 +#: src/common/weeconfig.c:406 src/common/weeconfig.c:407 msgid "background for nicknames" msgstr "couleur de fond pour les pseudos" -#: src/common/weeconfig.c:401 +#: src/common/weeconfig.c:412 msgid "color for selected DCC" msgstr "couleur pour le DCC sélectionné" -#: src/common/weeconfig.c:402 +#: src/common/weeconfig.c:413 msgid "color for selected DCC (chat window)" msgstr "couleur pour le DCC sélectionné (fenêtre de discussion)" -#: src/common/weeconfig.c:405 src/common/weeconfig.c:406 +#: src/common/weeconfig.c:416 src/common/weeconfig.c:417 msgid "color for \"waiting\" dcc status" msgstr "couleur pour le statut dcc \"attente\"" -#: src/common/weeconfig.c:409 src/common/weeconfig.c:410 +#: src/common/weeconfig.c:420 src/common/weeconfig.c:421 msgid "color for \"connecting\" dcc status" msgstr "couleur pour le statut dcc \"connexion\"" -#: src/common/weeconfig.c:413 src/common/weeconfig.c:414 +#: src/common/weeconfig.c:424 src/common/weeconfig.c:425 msgid "color for \"active\" dcc status" msgstr "couleur pour le statut dcc \"actif\"" -#: src/common/weeconfig.c:417 src/common/weeconfig.c:418 +#: src/common/weeconfig.c:428 src/common/weeconfig.c:429 msgid "color for \"done\" dcc status" msgstr "couleur pour le statut dcc \"terminé\"" -#: src/common/weeconfig.c:421 src/common/weeconfig.c:422 +#: src/common/weeconfig.c:432 src/common/weeconfig.c:433 msgid "color for \"failed\" dcc status" msgstr "couleur pour le statut dcc \"échoué\"" -#: src/common/weeconfig.c:425 src/common/weeconfig.c:426 +#: src/common/weeconfig.c:436 src/common/weeconfig.c:437 msgid "color for \"aborted\" dcc status" msgstr "couleur pour le statut dcc \"interrompu\"" -#: src/common/weeconfig.c:439 +#: src/common/weeconfig.c:450 msgid "max lines in history (per window)" msgstr "nombre maxi de lignes dans l'historique (par fenêtre)" -#: src/common/weeconfig.c:440 +#: src/common/weeconfig.c:451 msgid "" "maximum number of lines in history for one server/channel/private window (0 " "= unlimited)" @@ -3418,339 +3490,339 @@ msgstr "" "nombre maximum de lignes dans l'historique pour un serveur/fenêtre/fenêtre " "privée (0 = sans limite)" -#: src/common/weeconfig.c:444 +#: src/common/weeconfig.c:455 msgid "max user commands in history" msgstr "nombre maxi de commandes utilisateur dans l'historique" -#: src/common/weeconfig.c:445 +#: src/common/weeconfig.c:456 msgid "maximum number of user commands in history (0 = unlimited)" msgstr "" "nombre maximum de commandes utilisateur dans l'historique (0 = sans limite)" -#: src/common/weeconfig.c:462 src/common/weeconfig.c:463 +#: src/common/weeconfig.c:473 src/common/weeconfig.c:474 msgid "automatically log server messages" msgstr "enregistrer automatiquement les messages du serveur" -#: src/common/weeconfig.c:466 src/common/weeconfig.c:467 +#: src/common/weeconfig.c:477 src/common/weeconfig.c:478 msgid "automatically log channel chats" msgstr "enregistrer automatiquement les conversations des canaux" -#: src/common/weeconfig.c:470 src/common/weeconfig.c:471 +#: src/common/weeconfig.c:481 src/common/weeconfig.c:482 msgid "automatically log private chats" msgstr "enregistrer automatiquement les conversations privées" -#: src/common/weeconfig.c:474 src/common/weeconfig.c:475 +#: src/common/weeconfig.c:485 src/common/weeconfig.c:486 msgid "log messages from plugins (scripts)" msgstr "enregistrer les messages des plugins (scripts)" -#: src/common/weeconfig.c:478 +#: src/common/weeconfig.c:489 msgid "path for log files" msgstr "chemin pour les conversations sauvegardées" -#: src/common/weeconfig.c:479 +#: src/common/weeconfig.c:490 msgid "path for WeeChat log files" msgstr "chemin pour les conversations sauvegardées par WeeChat" -#: src/common/weeconfig.c:482 +#: src/common/weeconfig.c:493 msgid "timestamp for log" msgstr "horodatage pour les conversations sauvegardées" -#: src/common/weeconfig.c:483 +#: src/common/weeconfig.c:494 msgid "timestamp for log (see man strftime for date/time specifiers)" msgstr "" "horodatage pour les conversations sauvegardées (voir man strftime pour le " "format de date/heure)" -#: src/common/weeconfig.c:486 src/common/weeconfig.c:487 +#: src/common/weeconfig.c:497 src/common/weeconfig.c:498 msgid "hide password displayed by nickserv" msgstr "masquer le mot de passe affiché par nickserv" -#: src/common/weeconfig.c:506 +#: src/common/weeconfig.c:517 msgid "display message to all channels when away" msgstr "affiche un message sur tous les canaux pour l'absence" -#: src/common/weeconfig.c:507 +#: src/common/weeconfig.c:518 msgid "display message to all channels when (un)marking as away" msgstr "affiche un message sur tous les canaux pour l'absence/le retour" -#: src/common/weeconfig.c:510 src/common/weeconfig.c:511 +#: src/common/weeconfig.c:521 src/common/weeconfig.c:522 msgid "default message when away" msgstr "message par défaut pour l'absence" -#: src/common/weeconfig.c:514 src/common/weeconfig.c:515 +#: src/common/weeconfig.c:525 src/common/weeconfig.c:526 msgid "default part message (leaving channel)" msgstr "message par défaut pour le part (quitte un canal)" -#: src/common/weeconfig.c:518 +#: src/common/weeconfig.c:529 msgid "default quit message" msgstr "message de fin par défaut" -#: src/common/weeconfig.c:519 +#: src/common/weeconfig.c:530 msgid "" "default quit message ('%v' will be replaced by WeeChat version in string)" msgstr "" "message de fin par défaut ('%v' sera remplacé par la version de WeeChat dans " "la chaîne)" -#: src/common/weeconfig.c:522 +#: src/common/weeconfig.c:533 msgid "interval between two checks for away" msgstr "intervalle entre deux vérifications des absences" -#: src/common/weeconfig.c:523 +#: src/common/weeconfig.c:534 msgid "interval between two checks for away (in minutes, 0 = never check)" msgstr "" "intervalle entre deux vérifications des absences (en minutes, 0 = ne jemais " "vérifier)" -#: src/common/weeconfig.c:526 +#: src/common/weeconfig.c:537 msgid "interval between two checks for lag" msgstr "intervalle entre deux mesures de lag" -#: src/common/weeconfig.c:527 +#: src/common/weeconfig.c:538 msgid "interval between two checks for lag (in seconds)" msgstr "intervalle entre deux mesures de lag (en secondes)" -#: src/common/weeconfig.c:530 +#: src/common/weeconfig.c:541 msgid "minimum lag to show" msgstr "lag minimum à afficher" -#: src/common/weeconfig.c:531 +#: src/common/weeconfig.c:542 msgid "minimum lag to show (in seconds)" msgstr "lag minimum à afficher (en secondes)" -#: src/common/weeconfig.c:534 +#: src/common/weeconfig.c:545 msgid "disconnect after important lag" msgstr "déconnexion après un lag important" -#: src/common/weeconfig.c:535 +#: src/common/weeconfig.c:546 msgid "disconnect after important lag (in minutes, 0 = never disconnect)" msgstr "" "déconnexion après un lag important (en minutes, 0 = ne jamais se déconnecter)" -#: src/common/weeconfig.c:538 src/common/weeconfig.c:539 +#: src/common/weeconfig.c:549 src/common/weeconfig.c:550 msgid "create a FIFO pipe for remote control" msgstr "créer un tube FIFO pour le contrôle à distance" -#: src/common/weeconfig.c:558 +#: src/common/weeconfig.c:569 msgid "automatically accept dcc files" msgstr "accepte automatiquement les fichiers dcc" -#: src/common/weeconfig.c:559 +#: src/common/weeconfig.c:570 msgid "automatically accept incoming dcc files" msgstr "accepte automatiquement les fichiers dcc entrants" -#: src/common/weeconfig.c:562 +#: src/common/weeconfig.c:573 msgid "automatically accept dcc chats" msgstr "accepte automatiquement les demandes de discussion dcc" -#: src/common/weeconfig.c:563 +#: src/common/weeconfig.c:574 msgid "automatically accept dcc chats (use carefully!)" msgstr "" "accepte automatiquement les demandes de discussion dcc (à utiliser avec " "précaution !)" -#: src/common/weeconfig.c:566 +#: src/common/weeconfig.c:577 msgid "timeout for dcc request" msgstr "délai d'attente pour les requêtes dcc" -#: src/common/weeconfig.c:567 +#: src/common/weeconfig.c:578 msgid "timeout for dcc request (in seconds)" msgstr "délai d'attente pour les requêtes dcc (en secondes)" -#: src/common/weeconfig.c:570 +#: src/common/weeconfig.c:581 msgid "block size for dcc packets" msgstr "taille de bloc pour les paquets dcc" -#: src/common/weeconfig.c:571 +#: src/common/weeconfig.c:582 msgid "block size for dcc packets in bytes (default: 65536)" msgstr "taille de bloc pour les paquets dcc en octets (défaut: 65536)" -#: src/common/weeconfig.c:574 +#: src/common/weeconfig.c:585 msgid "path for incoming files with dcc" msgstr "chemin les fichiers reçus par dcc" -#: src/common/weeconfig.c:575 +#: src/common/weeconfig.c:586 msgid "path for writing incoming files with dcc (default: user home)" msgstr "" "chemin pour écrire les fichiers reçus par dcc (par défaut: répertoire de " "l'utilisateur)" -#: src/common/weeconfig.c:578 +#: src/common/weeconfig.c:589 msgid "default path for sending files with dcc" msgstr "chemin par défaut pour envoyer les fichiers par dcc" -#: src/common/weeconfig.c:579 +#: src/common/weeconfig.c:590 msgid "" "path for reading files when sending thru dcc (when no path is specified)" msgstr "" "chemin pour lire les fichiers lorsqu'ils sont envoyés par dcc (quand aucun " "chemin n'est spécifié)" -#: src/common/weeconfig.c:582 src/common/weeconfig.c:583 +#: src/common/weeconfig.c:593 src/common/weeconfig.c:594 msgid "convert spaces to underscores when sending files" msgstr "convertir les espaces en underscores lors d'envoi de fichiers" -#: src/common/weeconfig.c:586 +#: src/common/weeconfig.c:597 msgid "automatically rename dcc files if already exists" msgstr "renomme automatiquement les fichiers dcc s'ils existent déjà" -#: src/common/weeconfig.c:587 +#: src/common/weeconfig.c:598 msgid "rename incoming files if already exists (add '.1', '.2', ...)" msgstr "" "renommer les fichiers reçus s'ils existent déjà (ajoute '.1', '.2', ...)" -#: src/common/weeconfig.c:590 +#: src/common/weeconfig.c:601 msgid "automatically resume aborted transfers" msgstr "continuer automatiquement les transferts non terminés" -#: src/common/weeconfig.c:591 +#: src/common/weeconfig.c:602 msgid "" "automatically resume dcc transfer if connection with remote host is loosed" msgstr "" "continuer automatiquement les transferts dcc si la connexion avec la machine " "distante a été perdue" -#: src/common/weeconfig.c:610 +#: src/common/weeconfig.c:621 msgid "use proxy" msgstr "utiliser un proxy" -#: src/common/weeconfig.c:611 +#: src/common/weeconfig.c:622 msgid "use a proxy server to connect to irc server" msgstr "utiliser un proxy pour se connecter au serveur irc" -#: src/common/weeconfig.c:614 +#: src/common/weeconfig.c:625 msgid "proxy type" msgstr "type de proxy" -#: src/common/weeconfig.c:615 +#: src/common/weeconfig.c:626 msgid "proxy type (http (default), socks4, socks5)" msgstr "type de proxy (http (défaut), socks4, socks5)" -#: src/common/weeconfig.c:618 +#: src/common/weeconfig.c:629 msgid "use ipv6 proxy" msgstr "utiliser un proxy ipv6" -#: src/common/weeconfig.c:619 +#: src/common/weeconfig.c:630 msgid "connect to proxy in ipv6" msgstr "se connecter au proxy en ipv6" -#: src/common/weeconfig.c:622 +#: src/common/weeconfig.c:633 msgid "proxy address" msgstr "adresse du proxy" -#: src/common/weeconfig.c:623 +#: src/common/weeconfig.c:634 msgid "proxy server address (IP or hostname)" msgstr "adresse du serveur proxy (IP ou nom)" -#: src/common/weeconfig.c:626 +#: src/common/weeconfig.c:637 msgid "port for proxy" msgstr "port pour le proxy" -#: src/common/weeconfig.c:627 +#: src/common/weeconfig.c:638 msgid "port for connecting to proxy server" msgstr "port pour se connecter au serveur proxy" -#: src/common/weeconfig.c:630 +#: src/common/weeconfig.c:641 msgid "proxy username" msgstr "nom d'utilisateur proxy" -#: src/common/weeconfig.c:631 +#: src/common/weeconfig.c:642 msgid "username for proxy server" msgstr "nom d'utilisateur pour le serveur proxy" -#: src/common/weeconfig.c:634 +#: src/common/weeconfig.c:645 msgid "proxy password" msgstr "mot de passe pour le proxy" -#: src/common/weeconfig.c:635 +#: src/common/weeconfig.c:646 msgid "password for proxy server" msgstr "mot de passe pour le serveur proxy" -#: src/common/weeconfig.c:646 +#: src/common/weeconfig.c:657 msgid "server name" msgstr "nom du serveur" -#: src/common/weeconfig.c:647 +#: src/common/weeconfig.c:658 msgid "name associated to IRC server (for display only)" msgstr "nom associé au serveur IRC (pour affichage seulement)" -#: src/common/weeconfig.c:650 +#: src/common/weeconfig.c:661 msgid "automatically connect to server" msgstr "connexion automatique au serveur" -#: src/common/weeconfig.c:651 +#: src/common/weeconfig.c:662 msgid "automatically connect to server when WeeChat is starting" msgstr "connexion automatique au serveur quand WeeChat démarre" -#: src/common/weeconfig.c:654 +#: src/common/weeconfig.c:665 msgid "automatically reconnect to server" msgstr "reconnexion automatique au serveur" -#: src/common/weeconfig.c:655 +#: src/common/weeconfig.c:666 msgid "automatically reconnect to server when disconnected" msgstr "reconnexion automatique au serveur après une déconnexion" -#: src/common/weeconfig.c:658 +#: src/common/weeconfig.c:669 msgid "delay before trying again to reconnect" msgstr "délai avant de tenter une reconnexion" -#: src/common/weeconfig.c:659 +#: src/common/weeconfig.c:670 msgid "delay (in seconds) before trying again to reconnect to server" msgstr "délai (en secondes) avant de tenter une reconnexion au serveur" -#: src/common/weeconfig.c:662 +#: src/common/weeconfig.c:673 msgid "server address or hostname" msgstr "adresse ou nom du serveur" -#: src/common/weeconfig.c:663 +#: src/common/weeconfig.c:674 msgid "IP address or hostname of IRC server" msgstr "adresse IP ou nom du serveur IRC" -#: src/common/weeconfig.c:666 +#: src/common/weeconfig.c:677 msgid "port for IRC server" msgstr "port pour le serveur IRC" -#: src/common/weeconfig.c:667 +#: src/common/weeconfig.c:678 msgid "port for connecting to server" msgstr "port pour se connecter au serveur" -#: src/common/weeconfig.c:670 src/common/weeconfig.c:671 +#: src/common/weeconfig.c:681 src/common/weeconfig.c:682 msgid "use IPv6 protocol for server communication" msgstr "utiliser le protocole IPv6 pour la communication avec le serveur" -#: src/common/weeconfig.c:674 src/common/weeconfig.c:675 +#: src/common/weeconfig.c:685 src/common/weeconfig.c:686 msgid "use SSL for server communication" msgstr "utiliser SSL pour la communication avec le serveur" -#: src/common/weeconfig.c:678 +#: src/common/weeconfig.c:689 msgid "server password" msgstr "mot de passe pour le serveur" -#: src/common/weeconfig.c:679 +#: src/common/weeconfig.c:690 msgid "password for IRC server" msgstr "mot de passe pour le serveur IRC" -#: src/common/weeconfig.c:682 +#: src/common/weeconfig.c:693 msgid "nickname for server" msgstr "pseudo pour le serveur" -#: src/common/weeconfig.c:683 +#: src/common/weeconfig.c:694 msgid "nickname to use on IRC server" msgstr "pseudo à utiliser sur le serveur IRC" -#: src/common/weeconfig.c:686 +#: src/common/weeconfig.c:697 msgid "alternate nickname for server" msgstr "pseudo alternatif pour le serveur" -#: src/common/weeconfig.c:687 +#: src/common/weeconfig.c:698 msgid "alternate nickname to use on IRC server (if nickname is already used)" msgstr "pseudo alternatif pour le serveur IRC (si le pseudo est déjà utilisé)" -#: src/common/weeconfig.c:690 +#: src/common/weeconfig.c:701 msgid "2nd alternate nickname for server" msgstr "2nd pseudo alternatif pour le serveur" -#: src/common/weeconfig.c:691 +#: src/common/weeconfig.c:702 msgid "" "2nd alternate nickname to use on IRC server (if alternate nickname is " "already used)" @@ -3758,31 +3830,31 @@ msgstr "" "2nd pseudo alternatif pour le serveur IRC (si le pseudo alternatif est déjà " "utilisé)" -#: src/common/weeconfig.c:694 +#: src/common/weeconfig.c:705 msgid "user name for server" msgstr "nom d'utilisateur pour le serveur" -#: src/common/weeconfig.c:695 +#: src/common/weeconfig.c:706 msgid "user name to use on IRC server" msgstr "nom d'utilisateur pour le serveur IRC" -#: src/common/weeconfig.c:698 +#: src/common/weeconfig.c:709 msgid "real name for server" msgstr "nom réel pour le serveur" -#: src/common/weeconfig.c:699 +#: src/common/weeconfig.c:710 msgid "real name to use on IRC server" msgstr "nom réel pour le serveur IRC" -#: src/common/weeconfig.c:702 src/common/weeconfig.c:703 +#: src/common/weeconfig.c:713 src/common/weeconfig.c:714 msgid "first command to run when connected to server" msgstr "commande à exécuter en premier lorsque connecté au serveur" -#: src/common/weeconfig.c:706 +#: src/common/weeconfig.c:717 msgid "delay (in seconds) after command was executed" msgstr "délai (en secondes) après exécution de la commande" -#: src/common/weeconfig.c:707 +#: src/common/weeconfig.c:718 msgid "" "delay (in seconds) after command was executed (example: give some time for " "authentication)" @@ -3790,25 +3862,25 @@ msgstr "" "délai (en secondes) après exécution de la commande (exemple: donner du temps " "pour l'authentification)" -#: src/common/weeconfig.c:710 +#: src/common/weeconfig.c:721 msgid "list of channels to join when connected to server" msgstr "liste des canaux à rejoindre lorsque connecté au serveur" -#: src/common/weeconfig.c:711 +#: src/common/weeconfig.c:722 msgid "comma separated list of channels to join when connected to server" msgstr "" "liste des canaux (séparés par des virgules) à rejoindre lorsque connecté au " "serveur" -#: src/common/weeconfig.c:714 src/common/weeconfig.c:715 +#: src/common/weeconfig.c:725 src/common/weeconfig.c:726 msgid "automatically rejoin channels when kicked" msgstr "rejoindre automatiquement les canaux quand mis dehors" -#: src/common/weeconfig.c:718 +#: src/common/weeconfig.c:729 msgid "notify levels for channels of this server" msgstr "niveaux de notification pour les canaux de ce serveur" -#: src/common/weeconfig.c:719 +#: src/common/weeconfig.c:730 msgid "" "comma separated list of notify levels for channels of this server (format: " "#channel:1,..)" @@ -3816,64 +3888,64 @@ msgstr "" "liste des niveaux de notifications (séparés par des virgules) pour les " "canaux de ce serveur (format: #canal:1,..)" -#: src/common/weeconfig.c:1177 +#: src/common/weeconfig.c:1190 #, c-format msgid "%s %s, line %d: new server, but previous was incomplete\n" msgstr "%s %s, ligne %d: nouveau serveur, mais le précédent était incomplet\n" -#: src/common/weeconfig.c:1186 +#: src/common/weeconfig.c:1199 #, c-format msgid "%s %s, line %d: server '%s' already exists\n" msgstr "%s %s, ligne %d: le serveur '%s' existe déjà\n" -#: src/common/weeconfig.c:1201 +#: src/common/weeconfig.c:1214 #, c-format msgid "%s %s, line %d: unable to create server\n" msgstr "%s %s, ligne %d: impossible de créer le serveur\n" -#: src/common/weeconfig.c:1240 +#: src/common/weeconfig.c:1254 #, c-format msgid "%s unable to assign default int with string (\"%s\")\n" msgstr "" "%s impossible d'assigner la valeur entière par défaut avec la chaîne (\"%s" "\")\n" -#: src/common/weeconfig.c:1251 +#: src/common/weeconfig.c:1265 #, c-format msgid "%s unable to assign default color (\"%s\")\n" msgstr "%s impossible d'assigner la couleur par défaut (\"%s\")\n" -#: src/common/weeconfig.c:1290 +#: src/common/weeconfig.c:1304 #, c-format msgid "%s config file \"%s\" not found.\n" msgstr "%s fichier de configuration \"%s\" non trouvé.\n" -#: src/common/weeconfig.c:1322 +#: src/common/weeconfig.c:1336 #, c-format msgid "%s %s, line %d: invalid syntax, missing \"]\"\n" msgstr "%s %s, ligne %d: syntaxe invalide, il manque \"]\"\n" -#: src/common/weeconfig.c:1339 +#: src/common/weeconfig.c:1353 #, c-format msgid "%s %s, line %d: unknown section identifier (\"%s\")\n" msgstr "%s %s, ligne %d: section inconnue (\"%s\")\n" -#: src/common/weeconfig.c:1357 +#: src/common/weeconfig.c:1371 #, c-format msgid "%s %s, line %d: invalid section for option, line is ignored\n" msgstr "%s %s, ligne %d: section invalide pour l'option, ligne ignorée\n" -#: src/common/weeconfig.c:1365 +#: src/common/weeconfig.c:1379 #, c-format msgid "%s %s, line %d: invalid syntax, missing \"=\"\n" msgstr "%s %s, ligne %d: syntaxe invalide, il manque \"=\"\n" -#: src/common/weeconfig.c:1399 +#: src/common/weeconfig.c:1427 #, c-format msgid "%s %s, line %d: invalid option \"%s\"\n" msgstr "%s %s, ligne %d: option \"%s\" invalide\n" -#: src/common/weeconfig.c:1410 +#: src/common/weeconfig.c:1438 #, c-format msgid "" "%s %s, line %d: invalid value foroption '%s'\n" @@ -3882,7 +3954,7 @@ msgstr "" "%s %s, ligne %d: valeur invalide pour l'option '%s'\n" "Attendu: valeur booléenne: 'off' ou 'on'\n" -#: src/common/weeconfig.c:1419 +#: src/common/weeconfig.c:1447 #, c-format msgid "" "%s %s, line %d: invalid value for option '%s'\n" @@ -3891,7 +3963,7 @@ msgstr "" "%s %s, ligne %d: valeur invalide pour l'option '%s'\n" "Attendu: entier compris entre %d et %d\n" -#: src/common/weeconfig.c:1430 +#: src/common/weeconfig.c:1458 #, c-format msgid "" "%s %s, line %d: invalid value for option '%s'\n" @@ -3900,26 +3972,26 @@ msgstr "" "%s %s, ligne %d: valeur invalide pour l'option '%s'\n" "Attendu: une de ces chaînes: " -#: src/common/weeconfig.c:1446 +#: src/common/weeconfig.c:1474 #, c-format msgid "%s %s, line %d: invalid color name for option '%s'\n" msgstr "%s %s, ligne %d: nom de couleur invalide pour l'option '%s'\n" -#: src/common/weeconfig.c:1506 src/common/weeconfig.c:1677 +#: src/common/weeconfig.c:1536 src/common/weeconfig.c:1731 #, c-format msgid "%s cannot create file \"%s\"\n" msgstr "%s impossible de créer le fichier \"%s\"\n" -#: src/common/weeconfig.c:1512 +#: src/common/weeconfig.c:1542 #, c-format msgid "%s: creating default config file...\n" msgstr "%s: création du fichier de configuration par défaut...\n" -#: src/common/weeconfig.c:1513 +#: src/common/weeconfig.c:1543 msgid "Creating default config file\n" msgstr "Création du fichier de configuration par défaut\n" -#: src/common/weeconfig.c:1516 src/common/weeconfig.c:1686 +#: src/common/weeconfig.c:1546 src/common/weeconfig.c:1740 #, c-format msgid "" "#\n" @@ -3928,6 +4000,15 @@ msgstr "" "#\n" "# %s: fichier de configuration, créé par %s v%s le %s#\n" -#: src/common/weeconfig.c:1683 +#: src/common/weeconfig.c:1737 msgid "Saving config to disk\n" msgstr "Sauvegarde de la configuration sur disque\n" + +#~ msgid "%d:[not connected] " +#~ msgstr "%d:[non connecté] " + +#~ msgid "(F) %s\n" +#~ msgstr "(F) %s\n" + +#~ msgid "(C) %s\n" +#~ msgstr "(C) %s\n" diff --git a/weechat/po/weechat.pot b/weechat/po/weechat.pot index 670b11f24..e6d8e8350 100644 --- a/weechat/po/weechat.pot +++ b/weechat/po/weechat.pot @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: flashcode@flashtux.org\n" -"POT-Creation-Date: 2005-07-02 18:30+0200\n" +"POT-Creation-Date: 2005-07-09 17:25+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Language-Team: LANGUAGE <LL@li.org>\n" @@ -20,7 +20,7 @@ msgstr "" msgid "%s cannot allocate new nick\n" msgstr "" -#: src/irc/irc-server.c:180 src/common/weeconfig.c:1625 +#: src/irc/irc-server.c:180 src/common/weeconfig.c:1677 msgid "Unable to get user's name" msgstr "" @@ -1194,7 +1194,7 @@ msgstr "" msgid "whois (secure connection)" msgstr "" -#: src/irc/irc-display.c:156 src/common/command.c:842 +#: src/irc/irc-display.c:156 src/common/command.c:848 msgid "Server: " msgstr "" @@ -1235,43 +1235,43 @@ msgstr "" #: src/irc/irc-send.c:232 src/irc/irc-send.c:260 src/irc/irc-send.c:426 #: src/irc/irc-send.c:452 src/irc/irc-send.c:478 src/irc/irc-send.c:519 -#: src/irc/irc-send.c:555 src/irc/irc-send.c:619 src/irc/irc-send.c:676 -#: src/irc/irc-send.c:1018 src/irc/irc-send.c:1116 src/irc/irc-send.c:1595 -#: src/irc/irc-send.c:1702 +#: src/irc/irc-send.c:555 src/irc/irc-send.c:622 src/irc/irc-send.c:679 +#: src/irc/irc-send.c:1021 src/irc/irc-send.c:1119 src/irc/irc-send.c:1598 +#: src/irc/irc-send.c:1705 #, c-format msgid "%s \"%s\" command can only be executed in a channel window\n" msgstr "" #: src/irc/irc-send.c:345 src/irc/irc-send.c:357 src/irc/irc-send.c:375 -#: src/irc/irc-send.c:996 src/irc/irc-send.c:1089 src/irc/irc-send.c:1621 -#: src/common/command.c:1167 src/common/command.c:1451 -#: src/common/command.c:1594 +#: src/irc/irc-send.c:999 src/irc/irc-send.c:1092 src/irc/irc-send.c:1624 +#: src/common/command.c:1189 src/common/command.c:1455 +#: src/common/command.c:1605 src/common/command.c:1748 #, c-format msgid "%s wrong argument count for \"%s\" command\n" msgstr "" -#: src/irc/irc-send.c:398 src/irc/irc-send.c:604 src/irc/irc-send.c:661 +#: src/irc/irc-send.c:398 src/irc/irc-send.c:607 src/irc/irc-send.c:664 #, c-format msgid "%s wrong arguments for \"%s\" command\n" msgstr "" -#: src/irc/irc-send.c:804 src/irc/irc-send.c:871 src/irc/irc-send.c:1164 -#: src/irc/irc-send.c:1178 src/irc/irc-send.c:1522 +#: src/irc/irc-send.c:807 src/irc/irc-send.c:874 src/irc/irc-send.c:1167 +#: src/irc/irc-send.c:1181 src/irc/irc-send.c:1525 #, c-format msgid "%s \"%s\" command can not be executed on a server window\n" msgstr "" -#: src/irc/irc-send.c:889 src/irc/irc-send.c:914 src/irc/irc-recv.c:322 +#: src/irc/irc-send.c:892 src/irc/irc-send.c:917 src/irc/irc-recv.c:322 #, c-format msgid "%s nick \"%s\" not found for \"%s\" command\n" msgstr "" -#: src/irc/irc-send.c:966 src/irc/irc-send.c:1274 src/irc/irc-recv.c:1505 +#: src/irc/irc-send.c:969 src/irc/irc-send.c:1277 src/irc/irc-recv.c:1505 #, c-format msgid "%s cannot create new private window \"%s\"\n" msgstr "" -#: src/irc/irc-send.c:1674 +#: src/irc/irc-send.c:1677 #, c-format msgid "%s, compiled on %s %s\n" msgstr "" @@ -1961,66 +1961,65 @@ msgstr "" msgid "%s unable to add handler for \"%s\" message (not enough memory)\n" msgstr "" -#: src/gui/curses/gui-input.c:788 +#: src/gui/curses/gui-input.c:298 #, c-format msgid "%s lag is high, disconnecting from server...\n" msgstr "" -#: src/gui/curses/gui-display.c:686 +#: src/gui/curses/gui-display.c:684 msgid "bytes" msgstr "" -#: src/gui/curses/gui-display.c:686 +#: src/gui/curses/gui-display.c:684 msgid "Kb" msgstr "" -#: src/gui/curses/gui-display.c:686 +#: src/gui/curses/gui-display.c:684 msgid "Mb" msgstr "" -#: src/gui/curses/gui-display.c:686 +#: src/gui/curses/gui-display.c:684 msgid "Gb" msgstr "" -#: src/gui/curses/gui-display.c:1122 +#: src/gui/curses/gui-display.c:1116 msgid "(away)" msgstr "" -#: src/gui/curses/gui-display.c:1235 -#, c-format -msgid "%d:[not connected] " +#: src/gui/curses/gui-display.c:1233 +msgid "[not connected]" msgstr "" -#: src/gui/curses/gui-display.c:1252 +#: src/gui/curses/gui-display.c:1249 msgid "Act: " msgstr "" -#: src/gui/curses/gui-display.c:1301 +#: src/gui/curses/gui-display.c:1298 #, c-format msgid "Lag: %.1f" msgstr "" -#: src/gui/curses/gui-display.c:1322 +#: src/gui/curses/gui-display.c:1319 msgid "-MORE-" msgstr "" -#: src/gui/curses/gui-display.c:1509 +#: src/gui/curses/gui-display.c:1559 msgid " [A] Accept" msgstr "" -#: src/gui/curses/gui-display.c:1510 src/gui/curses/gui-display.c:1514 +#: src/gui/curses/gui-display.c:1560 src/gui/curses/gui-display.c:1564 msgid " [C] Cancel" msgstr "" -#: src/gui/curses/gui-display.c:1519 +#: src/gui/curses/gui-display.c:1569 msgid " [R] Remove" msgstr "" -#: src/gui/curses/gui-display.c:1523 +#: src/gui/curses/gui-display.c:1573 msgid " [P] Purge old DCC" msgstr "" -#: src/gui/curses/gui-display.c:1524 +#: src/gui/curses/gui-display.c:1574 msgid " [Q] Close DCC view" msgstr "" @@ -2028,15 +2027,15 @@ msgstr "" msgid "server" msgstr "" -#: src/gui/gui-common.c:330 +#: src/gui/gui-common.c:333 msgid "Not enough memory for infobar message\n" msgstr "" -#: src/gui/gui-common.c:505 +#: src/gui/gui-common.c:508 msgid "Not enough memory for new line\n" msgstr "" -#: src/gui/gui-common.c:548 +#: src/gui/gui-common.c:551 msgid "Not enough memory for new message\n" msgstr "" @@ -2133,34 +2132,52 @@ msgid "command: name of a WeeChat or IRC command" msgstr "" #: src/common/command.c:75 +msgid "bind/unbind keys" +msgstr "" + +#: src/common/command.c:76 +msgid "[key function/command] [unbind key] [functions] [reset -yes]" +msgstr "" + +#: src/common/command.c:77 +msgid "" +"key: bind this key to an internal function or a command (beginning by \"/" +"\")\n" +"unbind: unbind a key (if \"all\", default bindings are restored)\n" +"functions: list internal functions for key bindings\n" +"reset: restore bindings to the default values and delete ALL personal " +"binding (use carefully!)" +msgstr "" + +#: src/common/command.c:82 msgid "list/load/unload Perl scripts" msgstr "" -#: src/common/command.c:76 src/common/command.c:81 +#: src/common/command.c:83 src/common/command.c:88 msgid "[load filename] | [autoload] | [reload] | [unload]" msgstr "" -#: src/common/command.c:77 +#: src/common/command.c:84 msgid "" "filename: Perl script (file) to load\n" "Without argument, /perl command lists all loaded Perl scripts." msgstr "" -#: src/common/command.c:80 +#: src/common/command.c:87 msgid "list/load/unload Python scripts" msgstr "" -#: src/common/command.c:82 +#: src/common/command.c:89 msgid "" "filename: Python script (file) to load\n" "Without argument, /python command lists all loaded Python scripts." msgstr "" -#: src/common/command.c:85 +#: src/common/command.c:92 msgid "list, add or remove servers" msgstr "" -#: src/common/command.c:86 +#: src/common/command.c:93 msgid "" "[servername] | [servername hostname port [-auto | -noauto] [-ipv6] [-ssl] [-" "pwd password] [-nicks nick1 [nick2 [nick3]]] [-username username] [-realname " @@ -2168,7 +2185,7 @@ msgid "" "servername]" msgstr "" -#: src/common/command.c:91 +#: src/common/command.c:98 msgid "" "servername: server name, for internal & display use\n" "hostname: name or IP address of server\n" @@ -2183,53 +2200,53 @@ msgid "" "realname: real name of user" msgstr "" -#: src/common/command.c:103 +#: src/common/command.c:110 msgid "save config to disk" msgstr "" -#: src/common/command.c:104 +#: src/common/command.c:111 msgid "[file]" msgstr "" -#: src/common/command.c:104 +#: src/common/command.c:111 msgid "file: filename for writing config" msgstr "" -#: src/common/command.c:106 +#: src/common/command.c:113 msgid "set config parameters" msgstr "" -#: src/common/command.c:107 +#: src/common/command.c:114 msgid "[option[=value]]" msgstr "" -#: src/common/command.c:107 +#: src/common/command.c:114 msgid "" "option: name of an option\n" "value: value for option" msgstr "" -#: src/common/command.c:109 +#: src/common/command.c:116 msgid "remove an alias" msgstr "" -#: src/common/command.c:110 +#: src/common/command.c:117 msgid "alias_name" msgstr "" -#: src/common/command.c:110 +#: src/common/command.c:117 msgid "alias_name: name of alias to remove" msgstr "" -#: src/common/command.c:112 +#: src/common/command.c:119 msgid "manage windows" msgstr "" -#: src/common/command.c:113 +#: src/common/command.c:120 msgid "[list | splith | splitv | [merge [down | up | left | right | all]]]" msgstr "" -#: src/common/command.c:115 +#: src/common/command.c:121 msgid "" "list: list opened windows (no parameter implies this list)\n" "splith: split current window horizontally\n" @@ -2237,373 +2254,405 @@ msgid "" "merge: merge window with another" msgstr "" -#: src/common/command.c:261 +#: src/common/command.c:267 #, c-format msgid "%s alias or command \"%s\" already exists!\n" msgstr "" -#: src/common/command.c:271 +#: src/common/command.c:277 #, c-format msgid "%s alias cannot run another alias!\n" msgstr "" -#: src/common/command.c:278 +#: src/common/command.c:284 #, c-format msgid "%s target command \"%s\" does not exist!\n" msgstr "" -#: src/common/command.c:486 +#: src/common/command.c:492 #, c-format msgid "%s wrong argument count for %s command \"%s\" (expected: %d arg%s)\n" msgstr "" -#: src/common/command.c:498 +#: src/common/command.c:504 #, c-format msgid "" "%s wrong argument count for %s command \"%s\" (expected: between %d and %d " "arg%s)\n" msgstr "" -#: src/common/command.c:520 src/common/command.c:590 +#: src/common/command.c:526 src/common/command.c:596 #, c-format msgid "%s command \"%s\" failed\n" msgstr "" -#: src/common/command.c:548 +#: src/common/command.c:554 #, c-format msgid "%s wrong argument count for IRC command \"%s\" (expected: %d arg%s)\n" msgstr "" -#: src/common/command.c:560 +#: src/common/command.c:566 #, c-format msgid "" "%s wrong argument count for IRC command \"%s\" (expected: between %d and %d " "arg%s)\n" msgstr "" -#: src/common/command.c:575 +#: src/common/command.c:581 #, c-format msgid "%s command \"%s\" needs a server connection!\n" msgstr "" -#: src/common/command.c:639 +#: src/common/command.c:645 #, c-format msgid "%s unknown command \"%s\" (type /help for help)\n" msgstr "" -#: src/common/command.c:720 +#: src/common/command.c:726 #, c-format msgid "%s cannot find nick for sending message\n" msgstr "" -#: src/common/command.c:742 +#: src/common/command.c:748 #, c-format msgid "%s unable to call handler for message (not enough memory)\n" msgstr "" -#: src/common/command.c:750 +#: src/common/command.c:756 msgid "This window is not a channel!\n" msgstr "" -#: src/common/command.c:778 src/common/command.c:802 src/common/command.c:906 +#: src/common/command.c:784 src/common/command.c:808 src/common/command.c:913 #, c-format msgid "%s missing arguments for \"%s\" command\n" msgstr "" -#: src/common/command.c:787 +#: src/common/command.c:793 #, c-format msgid "Alias \"%s\" => \"%s\" created\n" msgstr "" -#: src/common/command.c:793 +#: src/common/command.c:799 #, c-format msgid "Failed to create alias \"%s\" => \"%s\" (not enough memory)\n" msgstr "" -#: src/common/command.c:813 +#: src/common/command.c:819 msgid "List of aliases:\n" msgstr "" -#: src/common/command.c:825 +#: src/common/command.c:831 msgid "No alias defined.\n" msgstr "" -#: src/common/command.c:848 +#: src/common/command.c:854 msgid "Channel: " msgstr "" -#: src/common/command.c:851 src/common/command.c:861 +#: src/common/command.c:857 src/common/command.c:867 msgid " (server: " msgstr "" -#: src/common/command.c:858 +#: src/common/command.c:864 msgid "Private with: " msgstr "" -#: src/common/command.c:886 +#: src/common/command.c:893 msgid "Opened buffers:\n" msgstr "" -#: src/common/command.c:929 src/common/command.c:1069 +#: src/common/command.c:936 #, c-format msgid "%s incorrect buffer number\n" msgstr "" -#: src/common/command.c:943 +#: src/common/command.c:950 #, c-format msgid "%s can not close the single buffer\n" msgstr "" -#: src/common/command.c:953 +#: src/common/command.c:960 #, c-format msgid "%s can not close server buffer while channels are opened\n" msgstr "" -#: src/common/command.c:992 +#: src/common/command.c:999 msgid "Notify levels: " msgstr "" -#: src/common/command.c:1020 src/common/command.c:1042 +#: src/common/command.c:1027 src/common/command.c:1049 #, c-format msgid "%s incorrect notify level (must be between %d and %d)\n" msgstr "" -#: src/common/command.c:1029 +#: src/common/command.c:1036 #, c-format msgid "%s incorrect buffer for notify (must be channel or private)\n" msgstr "" -#: src/common/command.c:1060 -#, c-format -msgid "%s buffer \"%s\" not found for \"%s\" command\n" -msgstr "" - -#: src/common/command.c:1094 +#: src/common/command.c:1116 #, c-format msgid "unknown parameter \"%s\" for \"%s\" command\n" msgstr "" -#: src/common/command.c:1124 +#: src/common/command.c:1146 #, c-format msgid "%s already connected to server \"%s\"!\n" msgstr "" -#: src/common/command.c:1132 +#: src/common/command.c:1154 #, c-format msgid "%s currently connecting to server \"%s\"!\n" msgstr "" -#: src/common/command.c:1150 src/common/command.c:1225 +#: src/common/command.c:1172 src/common/command.c:1247 #, c-format msgid "%s server not found\n" msgstr "" -#: src/common/command.c:1180 src/common/command.c:1444 -#: src/common/command.c:1587 src/common/command.c:2283 -#: src/common/command.c:2295 +#: src/common/command.c:1202 src/common/command.c:1598 +#: src/common/command.c:1741 src/common/command.c:2438 +#: src/common/command.c:2454 #, c-format msgid "%s unknown option for \"%s\" command\n" msgstr "" -#: src/common/command.c:1209 +#: src/common/command.c:1231 #, c-format msgid "%s not connected to server \"%s\"!\n" msgstr "" -#: src/common/command.c:1217 +#: src/common/command.c:1239 msgid "Auto-reconnection is cancelled\n" msgstr "" -#: src/common/command.c:1243 src/common/weechat.c:273 +#: src/common/command.c:1265 src/common/weechat.c:273 #, c-format msgid "%s internal commands:\n" msgstr "" -#: src/common/command.c:1252 src/common/weechat.c:293 +#: src/common/command.c:1274 src/common/weechat.c:293 #, c-format msgid "IRC commands:\n" msgstr "" -#: src/common/command.c:1319 +#: src/common/command.c:1341 #, c-format msgid "No help available, \"%s\" is an unknown command\n" msgstr "" -#: src/common/command.c:1343 src/common/command.c:1486 +#: src/common/command.c:1359 +msgid "New key binding:\n" +msgstr "" + +#: src/common/command.c:1392 +msgid "Key bindings:\n" +msgstr "" + +#: src/common/command.c:1404 +#, c-format +msgid "Key \"%s\" unbinded\n" +msgstr "" + +#: src/common/command.c:1409 +#, c-format +msgid "%s unable to unbind key \"%s\"\n" +msgstr "" + +#: src/common/command.c:1417 src/common/weechat.c:324 +#, c-format +msgid "Internal key functions:\n" +msgstr "" + +#: src/common/command.c:1435 +msgid "Default key bindings restored\n" +msgstr "" + +#: src/common/command.c:1441 +#, c-format +msgid "%s \"-yes\" argument is required for keys reset (securuty reason)\n" +msgstr "" + +#: src/common/command.c:1470 +#, c-format +msgid "%s unable to bind key \"%s\"\n" +msgstr "" + +#: src/common/command.c:1497 src/common/command.c:1640 #, c-format msgid "Registered %s scripts:\n" msgstr "" -#: src/common/command.c:1360 src/common/command.c:1383 -#: src/common/command.c:1406 src/common/command.c:1503 -#: src/common/command.c:1526 src/common/command.c:1549 +#: src/common/command.c:1514 src/common/command.c:1537 +#: src/common/command.c:1560 src/common/command.c:1657 +#: src/common/command.c:1680 src/common/command.c:1703 msgid " (none)\n" msgstr "" -#: src/common/command.c:1365 src/common/command.c:1508 +#: src/common/command.c:1519 src/common/command.c:1662 #, c-format msgid "%s message handlers:\n" msgstr "" -#: src/common/command.c:1374 src/common/command.c:1517 +#: src/common/command.c:1528 src/common/command.c:1671 #, c-format msgid " IRC(%s) => %s(%s)\n" msgstr "" -#: src/common/command.c:1388 src/common/command.c:1531 +#: src/common/command.c:1542 src/common/command.c:1685 #, c-format msgid "%s command handlers:\n" msgstr "" -#: src/common/command.c:1397 src/common/command.c:1540 +#: src/common/command.c:1551 src/common/command.c:1694 #, c-format msgid " Command /%s => %s(%s)\n" msgstr "" -#: src/common/command.c:1457 +#: src/common/command.c:1611 msgid "" "WeeChat was build without Perl support.\n" "Please rebuild WeeChat with \"--enable-perl\" option for ./configure script\n" msgstr "" -#: src/common/command.c:1600 +#: src/common/command.c:1754 msgid "" "WeeChat was build without Python support.\n" "Please rebuild WeeChat with \"--enable-python\" option for ./configure " "script\n" msgstr "" -#: src/common/command.c:1648 +#: src/common/command.c:1802 msgid "No server.\n" msgstr "" -#: src/common/command.c:1659 +#: src/common/command.c:1813 #, c-format msgid "Server '%s' not found.\n" msgstr "" -#: src/common/command.c:1671 +#: src/common/command.c:1825 #, c-format msgid "%s missing servername for \"%s\" command\n" msgstr "" -#: src/common/command.c:1679 +#: src/common/command.c:1833 #, c-format msgid "%s too much arguments for \"%s\" command, ignoring arguments\n" msgstr "" -#: src/common/command.c:1698 +#: src/common/command.c:1852 #, c-format msgid "%s server \"%s\" not found for \"%s\" command\n" msgstr "" -#: src/common/command.c:1706 +#: src/common/command.c:1860 #, c-format msgid "" "%s you can not delete server \"%s\" because you are connected to. Try /" "disconnect %s before.\n" msgstr "" -#: src/common/command.c:1722 src/common/command.c:1868 +#: src/common/command.c:1876 src/common/command.c:2022 msgid "Server" msgstr "" -#: src/common/command.c:1725 +#: src/common/command.c:1879 msgid "has been deleted\n" msgstr "" -#: src/common/command.c:1740 +#: src/common/command.c:1894 #, c-format msgid "%s missing parameters for \"%s\" command\n" msgstr "" -#: src/common/command.c:1750 +#: src/common/command.c:1904 #, c-format msgid "%s server \"%s\" already exists, can't create it!\n" msgstr "" -#: src/common/command.c:1779 src/common/command.c:1807 -#: src/common/command.c:1820 src/common/command.c:1846 +#: src/common/command.c:1933 src/common/command.c:1961 +#: src/common/command.c:1974 src/common/command.c:2000 #, c-format msgid "%s missing password for \"%s\" parameter\n" msgstr "" -#: src/common/command.c:1792 +#: src/common/command.c:1946 #, c-format msgid "%s missing nick(s) for \"%s\" parameter\n" msgstr "" -#: src/common/command.c:1833 +#: src/common/command.c:1987 #, c-format msgid "%s missing command for \"%s\" parameter\n" msgstr "" -#: src/common/command.c:1871 +#: src/common/command.c:2025 msgid "created\n" msgstr "" -#: src/common/command.c:1877 +#: src/common/command.c:2031 #, c-format msgid "%s unable to create server\n" msgstr "" -#: src/common/command.c:1932 +#: src/common/command.c:2086 msgid "(unknown)" msgstr "" -#: src/common/command.c:1955 +#: src/common/command.c:2109 msgid "(password hidden) " msgstr "" -#: src/common/command.c:2019 +#: src/common/command.c:2173 #, c-format msgid "%s server \"%s\" not found\n" msgstr "" -#: src/common/command.c:2050 src/common/command.c:2096 +#: src/common/command.c:2204 src/common/command.c:2250 #, c-format msgid "%s config option \"%s\" not found\n" msgstr "" -#: src/common/command.c:2055 src/common/command.c:2088 +#: src/common/command.c:2209 src/common/command.c:2242 #, c-format msgid "%s incorrect value for option \"%s\"\n" msgstr "" -#: src/common/command.c:2071 +#: src/common/command.c:2225 #, c-format msgid "%s option \"%s\" can not be changed while WeeChat is running\n" msgstr "" -#: src/common/command.c:2169 +#: src/common/command.c:2324 #, c-format msgid "No config option found with \"%s\"\n" msgstr "" -#: src/common/command.c:2172 +#: src/common/command.c:2327 msgid "No config option found\n" msgstr "" -#: src/common/command.c:2178 +#: src/common/command.c:2333 #, c-format msgid "config option(s) found with \"%s\"\n" msgstr "" -#: src/common/command.c:2181 +#: src/common/command.c:2336 msgid "config option(s) found\n" msgstr "" -#: src/common/command.c:2201 +#: src/common/command.c:2356 #, c-format msgid "%s alias or command \"%s\" not found\n" msgstr "" -#: src/common/command.c:2211 +#: src/common/command.c:2366 #, c-format msgid "Alias \"%s\" removed\n" msgstr "" -#: src/common/command.c:2231 +#: src/common/command.c:2386 msgid "Opened windows:\n" msgstr "" @@ -2738,57 +2787,62 @@ msgid "" "\n" msgstr "" -#: src/common/weechat.c:371 +#: src/common/weechat.c:344 +#, c-format +msgid "%s default keys:\n" +msgstr "" + +#: src/common/weechat.c:424 #, c-format msgid "%s invalid syntax for IRC server ('%s'), ignored\n" msgstr "" -#: src/common/weechat.c:384 +#: src/common/weechat.c:437 #, c-format msgid "%s unable to create server ('%s'), ignored\n" msgstr "" -#: src/common/weechat.c:393 +#: src/common/weechat.c:446 #, c-format msgid "%s unknown parameter '%s', ignored\n" msgstr "" -#: src/common/weechat.c:413 +#: src/common/weechat.c:466 #, c-format msgid "%s cannot create directory \"%s\"\n" msgstr "" -#: src/common/weechat.c:439 +#: src/common/weechat.c:492 #, c-format msgid "%s unable to get HOME directory\n" msgstr "" -#: src/common/weechat.c:448 +#: src/common/weechat.c:501 #, c-format msgid "%s not enough memory for home directory\n" msgstr "" -#: src/common/weechat.c:458 +#: src/common/weechat.c:511 #, c-format msgid "%s unable to create ~/.weechat directory\n" msgstr "" -#: src/common/weechat.c:510 +#: src/common/weechat.c:563 #, c-format msgid "%s unable to create ~/.weechat/logs directory\n" msgstr "" -#: src/common/weechat.c:553 +#: src/common/weechat.c:606 #, c-format msgid "%s unable to create/append to log file (~/.weechat/%s)" msgstr "" -#: src/common/weechat.c:576 +#: src/common/weechat.c:629 #, c-format msgid "%sWelcome to " msgstr "" -#: src/common/weechat.c:589 src/common/weechat.c:598 +#: src/common/weechat.c:642 src/common/weechat.c:651 msgid "compiled on" msgstr "" @@ -2800,871 +2854,879 @@ msgstr "" msgid "WeeChat Warning:" msgstr "" -#: src/common/weeconfig.c:88 src/common/weeconfig.c:89 +#: src/common/weeconfig.c:90 src/common/weeconfig.c:91 msgid "set title for window (terminal for Curses GUI) with name & version" msgstr "" -#: src/common/weeconfig.c:92 src/common/weeconfig.c:93 +#: src/common/weeconfig.c:94 src/common/weeconfig.c:95 msgid "display WeeChat logo at startup" msgstr "" -#: src/common/weeconfig.c:96 src/common/weeconfig.c:97 +#: src/common/weeconfig.c:98 src/common/weeconfig.c:99 msgid "display WeeChat version at startup" msgstr "" -#: src/common/weeconfig.c:100 +#: src/common/weeconfig.c:102 msgid "WeeChat slogan" msgstr "" -#: src/common/weeconfig.c:101 +#: src/common/weeconfig.c:103 msgid "WeeChat slogan (if empty, slogan is not used)" msgstr "" -#: src/common/weeconfig.c:104 +#: src/common/weeconfig.c:106 msgid "charset for decoding messages from server" msgstr "" -#: src/common/weeconfig.c:105 +#: src/common/weeconfig.c:107 msgid "" "charset for decoding messages from server, examples: UTF-8, ISO-8859-1 (if " "empty, messages are not converted)" msgstr "" -#: src/common/weeconfig.c:108 +#: src/common/weeconfig.c:110 msgid "charset for encoding messages sent to server" msgstr "" -#: src/common/weeconfig.c:109 +#: src/common/weeconfig.c:111 msgid "" "charset for encoding messages sent to server, examples: UFT-8, ISO-8859-1 " "(if empty, local charset is used)" msgstr "" -#: src/common/weeconfig.c:112 +#: src/common/weeconfig.c:114 msgid "internal WeeChat charset (should be ISO)" msgstr "" -#: src/common/weeconfig.c:113 +#: src/common/weeconfig.c:115 msgid "" "internal WeeChat charset, should be ISO-xxxx even if locale is UTF-8 (if " "empty, local charset is used)" msgstr "" -#: src/common/weeconfig.c:116 src/common/weeconfig.c:117 +#: src/common/weeconfig.c:118 src/common/weeconfig.c:119 msgid "timestamp for buffers" msgstr "" -#: src/common/weeconfig.c:120 src/common/weeconfig.c:121 +#: src/common/weeconfig.c:122 src/common/weeconfig.c:123 msgid "display nick names with different colors" msgstr "" -#: src/common/weeconfig.c:124 src/common/weeconfig.c:125 +#: src/common/weeconfig.c:126 src/common/weeconfig.c:127 msgid "display actions with different colors" msgstr "" -#: src/common/weeconfig.c:128 src/common/weeconfig.c:129 +#: src/common/weeconfig.c:130 src/common/weeconfig.c:131 msgid "remove colors from incoming messages" msgstr "" -#: src/common/weeconfig.c:132 +#: src/common/weeconfig.c:134 msgid "display nicklist window" msgstr "" -#: src/common/weeconfig.c:133 +#: src/common/weeconfig.c:135 msgid "display nicklist window (for channel windows)" msgstr "" -#: src/common/weeconfig.c:136 +#: src/common/weeconfig.c:138 msgid "nicklist position" msgstr "" -#: src/common/weeconfig.c:137 +#: src/common/weeconfig.c:139 msgid "nicklist position (top, left, right (default), bottom)" msgstr "" -#: src/common/weeconfig.c:140 +#: src/common/weeconfig.c:142 msgid "min size for nicklist" msgstr "" -#: src/common/weeconfig.c:141 +#: src/common/weeconfig.c:143 msgid "" "min size for nicklist (width or height, depending on look_nicklist_position " "(0 = no min size))" msgstr "" -#: src/common/weeconfig.c:145 +#: src/common/weeconfig.c:147 msgid "max size for nicklist" msgstr "" -#: src/common/weeconfig.c:146 +#: src/common/weeconfig.c:148 msgid "" "max size for nicklist (width or height, depending on look_nicklist_position " "(0 = no max size; if min == max and > 0, then size is fixed))" msgstr "" -#: src/common/weeconfig.c:150 src/common/weeconfig.c:151 +#: src/common/weeconfig.c:152 src/common/weeconfig.c:153 msgid "text to display instead of nick when not connected" msgstr "" -#: src/common/weeconfig.c:154 src/common/weeconfig.c:155 +#: src/common/weeconfig.c:156 src/common/weeconfig.c:157 msgid "display nick mode ((half)op/voice) before each nick" msgstr "" -#: src/common/weeconfig.c:158 src/common/weeconfig.c:159 +#: src/common/weeconfig.c:160 src/common/weeconfig.c:161 msgid "display space if nick mode is not (half)op/voice" msgstr "" -#: src/common/weeconfig.c:162 src/common/weeconfig.c:163 +#: src/common/weeconfig.c:164 src/common/weeconfig.c:165 msgid "the string inserted after nick completion" msgstr "" -#: src/common/weeconfig.c:166 src/common/weeconfig.c:167 +#: src/common/weeconfig.c:168 src/common/weeconfig.c:169 msgid "enable info bar" msgstr "" -#: src/common/weeconfig.c:170 src/common/weeconfig.c:171 +#: src/common/weeconfig.c:172 src/common/weeconfig.c:173 msgid "timestamp for time in infobar" msgstr "" -#: src/common/weeconfig.c:174 +#: src/common/weeconfig.c:176 src/common/weeconfig.c:177 +msgid "display seconds in infobar time" +msgstr "" + +#: src/common/weeconfig.c:180 msgid "delay (in seconds) for highlight messages in infobar" msgstr "" -#: src/common/weeconfig.c:175 +#: src/common/weeconfig.c:181 msgid "" "delay (in seconds) for highlight messages in infobar (0 = disable highlight " "notifications in infobar)" msgstr "" -#: src/common/weeconfig.c:233 src/common/weeconfig.c:234 +#: src/common/weeconfig.c:240 src/common/weeconfig.c:241 msgid "color for title bar" msgstr "" -#: src/common/weeconfig.c:237 src/common/weeconfig.c:238 +#: src/common/weeconfig.c:244 src/common/weeconfig.c:245 msgid "background for title bar" msgstr "" -#: src/common/weeconfig.c:243 src/common/weeconfig.c:244 +#: src/common/weeconfig.c:250 src/common/weeconfig.c:251 msgid "color for chat text" msgstr "" -#: src/common/weeconfig.c:247 +#: src/common/weeconfig.c:254 msgid "color for time" msgstr "" -#: src/common/weeconfig.c:248 +#: src/common/weeconfig.c:255 msgid "color for time in chat window" msgstr "" -#: src/common/weeconfig.c:251 +#: src/common/weeconfig.c:258 msgid "color for time separator" msgstr "" -#: src/common/weeconfig.c:252 +#: src/common/weeconfig.c:259 msgid "color for time separator (chat window)" msgstr "" -#: src/common/weeconfig.c:255 src/common/weeconfig.c:256 +#: src/common/weeconfig.c:262 src/common/weeconfig.c:263 msgid "color for 1st and 3rd char of prefix" msgstr "" -#: src/common/weeconfig.c:259 src/common/weeconfig.c:260 +#: src/common/weeconfig.c:266 src/common/weeconfig.c:267 msgid "color for middle char of prefix" msgstr "" -#: src/common/weeconfig.c:263 +#: src/common/weeconfig.c:270 msgid "color for nicks in actions" msgstr "" -#: src/common/weeconfig.c:264 +#: src/common/weeconfig.c:271 msgid "color for nicks in actions (chat window)" msgstr "" -#: src/common/weeconfig.c:267 +#: src/common/weeconfig.c:274 msgid "color for hostnames" msgstr "" -#: src/common/weeconfig.c:268 +#: src/common/weeconfig.c:275 msgid "color for hostnames (chat window)" msgstr "" -#: src/common/weeconfig.c:271 +#: src/common/weeconfig.c:278 msgid "color for channel names in actions" msgstr "" -#: src/common/weeconfig.c:272 +#: src/common/weeconfig.c:279 msgid "color for channel names in actions (chat window)" msgstr "" -#: src/common/weeconfig.c:275 +#: src/common/weeconfig.c:282 msgid "color for dark separators" msgstr "" -#: src/common/weeconfig.c:276 +#: src/common/weeconfig.c:283 msgid "color for dark separators (chat window)" msgstr "" -#: src/common/weeconfig.c:279 +#: src/common/weeconfig.c:286 msgid "color for highlighted nick" msgstr "" -#: src/common/weeconfig.c:280 +#: src/common/weeconfig.c:287 msgid "color for highlighted nick (chat window)" msgstr "" -#: src/common/weeconfig.c:283 +#: src/common/weeconfig.c:290 msgid "background for chat" msgstr "" -#: src/common/weeconfig.c:284 +#: src/common/weeconfig.c:291 msgid "background for chat window" msgstr "" -#: src/common/weeconfig.c:289 src/common/weeconfig.c:290 +#: src/common/weeconfig.c:296 src/common/weeconfig.c:297 msgid "color for status bar" msgstr "" -#: src/common/weeconfig.c:293 src/common/weeconfig.c:294 +#: src/common/weeconfig.c:300 src/common/weeconfig.c:301 msgid "color for status bar delimiters" msgstr "" -#: src/common/weeconfig.c:297 +#: src/common/weeconfig.c:304 msgid "color for window with new messages" msgstr "" -#: src/common/weeconfig.c:298 +#: src/common/weeconfig.c:305 msgid "color for window with new messages (status bar)" msgstr "" -#: src/common/weeconfig.c:301 +#: src/common/weeconfig.c:308 msgid "color for window with highlight" msgstr "" -#: src/common/weeconfig.c:302 +#: src/common/weeconfig.c:309 msgid "color for window with highlight (status bar)" msgstr "" -#: src/common/weeconfig.c:305 +#: src/common/weeconfig.c:312 msgid "color for window with new data (not messages)" msgstr "" -#: src/common/weeconfig.c:306 +#: src/common/weeconfig.c:313 msgid "color for window with new data (not messages) (status bar)" msgstr "" -#: src/common/weeconfig.c:309 +#: src/common/weeconfig.c:316 msgid "color for \"-MORE-\" text" msgstr "" -#: src/common/weeconfig.c:310 +#: src/common/weeconfig.c:317 msgid "color for window with new data (status bar)" msgstr "" -#: src/common/weeconfig.c:313 src/common/weeconfig.c:314 +#: src/common/weeconfig.c:320 src/common/weeconfig.c:321 msgid "background for status window" msgstr "" -#: src/common/weeconfig.c:319 src/common/weeconfig.c:320 +#: src/common/weeconfig.c:326 src/common/weeconfig.c:327 msgid "color for info bar text" msgstr "" -#: src/common/weeconfig.c:323 src/common/weeconfig.c:324 +#: src/common/weeconfig.c:330 src/common/weeconfig.c:331 +msgid "color for infobar delimiters" +msgstr "" + +#: src/common/weeconfig.c:334 src/common/weeconfig.c:335 msgid "color for info bar highlight notification" msgstr "" -#: src/common/weeconfig.c:327 src/common/weeconfig.c:328 +#: src/common/weeconfig.c:338 src/common/weeconfig.c:339 msgid "background for info bar window" msgstr "" -#: src/common/weeconfig.c:333 src/common/weeconfig.c:334 +#: src/common/weeconfig.c:344 src/common/weeconfig.c:345 msgid "color for input text" msgstr "" -#: src/common/weeconfig.c:337 src/common/weeconfig.c:338 +#: src/common/weeconfig.c:348 src/common/weeconfig.c:349 msgid "color for input text (channel name)" msgstr "" -#: src/common/weeconfig.c:341 src/common/weeconfig.c:342 +#: src/common/weeconfig.c:352 src/common/weeconfig.c:353 msgid "color for input text (nick name)" msgstr "" -#: src/common/weeconfig.c:345 src/common/weeconfig.c:346 +#: src/common/weeconfig.c:356 src/common/weeconfig.c:357 msgid "background for input window" msgstr "" -#: src/common/weeconfig.c:351 src/common/weeconfig.c:352 +#: src/common/weeconfig.c:362 src/common/weeconfig.c:363 msgid "color for nicknames" msgstr "" -#: src/common/weeconfig.c:355 src/common/weeconfig.c:356 +#: src/common/weeconfig.c:366 src/common/weeconfig.c:367 msgid "color for away nicknames" msgstr "" -#: src/common/weeconfig.c:359 +#: src/common/weeconfig.c:370 msgid "color for chan owner symbol" msgstr "" -#: src/common/weeconfig.c:360 +#: src/common/weeconfig.c:371 msgid "color for chan owner symbol (specific to unrealircd)" msgstr "" -#: src/common/weeconfig.c:363 +#: src/common/weeconfig.c:374 msgid "color for chan admin symbol" msgstr "" -#: src/common/weeconfig.c:364 +#: src/common/weeconfig.c:375 msgid "color for chan admin symbol (specific to unrealircd)" msgstr "" -#: src/common/weeconfig.c:367 src/common/weeconfig.c:368 +#: src/common/weeconfig.c:378 src/common/weeconfig.c:379 msgid "color for operator symbol" msgstr "" -#: src/common/weeconfig.c:371 src/common/weeconfig.c:372 +#: src/common/weeconfig.c:382 src/common/weeconfig.c:383 msgid "color for half-operator symbol" msgstr "" -#: src/common/weeconfig.c:375 src/common/weeconfig.c:376 +#: src/common/weeconfig.c:386 src/common/weeconfig.c:387 msgid "color for voice symbol" msgstr "" -#: src/common/weeconfig.c:379 src/common/weeconfig.c:380 +#: src/common/weeconfig.c:390 src/common/weeconfig.c:391 msgid "color for '+' when scrolling nicks" msgstr "" -#: src/common/weeconfig.c:383 src/common/weeconfig.c:384 +#: src/common/weeconfig.c:394 src/common/weeconfig.c:395 msgid "color for nick separator" msgstr "" -#: src/common/weeconfig.c:387 src/common/weeconfig.c:388 +#: src/common/weeconfig.c:398 src/common/weeconfig.c:399 msgid "color for local nick" msgstr "" -#: src/common/weeconfig.c:391 src/common/weeconfig.c:392 +#: src/common/weeconfig.c:402 src/common/weeconfig.c:403 msgid "color for other nick in private window" msgstr "" -#: src/common/weeconfig.c:395 src/common/weeconfig.c:396 +#: src/common/weeconfig.c:406 src/common/weeconfig.c:407 msgid "background for nicknames" msgstr "" -#: src/common/weeconfig.c:401 +#: src/common/weeconfig.c:412 msgid "color for selected DCC" msgstr "" -#: src/common/weeconfig.c:402 +#: src/common/weeconfig.c:413 msgid "color for selected DCC (chat window)" msgstr "" -#: src/common/weeconfig.c:405 src/common/weeconfig.c:406 +#: src/common/weeconfig.c:416 src/common/weeconfig.c:417 msgid "color for \"waiting\" dcc status" msgstr "" -#: src/common/weeconfig.c:409 src/common/weeconfig.c:410 +#: src/common/weeconfig.c:420 src/common/weeconfig.c:421 msgid "color for \"connecting\" dcc status" msgstr "" -#: src/common/weeconfig.c:413 src/common/weeconfig.c:414 +#: src/common/weeconfig.c:424 src/common/weeconfig.c:425 msgid "color for \"active\" dcc status" msgstr "" -#: src/common/weeconfig.c:417 src/common/weeconfig.c:418 +#: src/common/weeconfig.c:428 src/common/weeconfig.c:429 msgid "color for \"done\" dcc status" msgstr "" -#: src/common/weeconfig.c:421 src/common/weeconfig.c:422 +#: src/common/weeconfig.c:432 src/common/weeconfig.c:433 msgid "color for \"failed\" dcc status" msgstr "" -#: src/common/weeconfig.c:425 src/common/weeconfig.c:426 +#: src/common/weeconfig.c:436 src/common/weeconfig.c:437 msgid "color for \"aborted\" dcc status" msgstr "" -#: src/common/weeconfig.c:439 +#: src/common/weeconfig.c:450 msgid "max lines in history (per window)" msgstr "" -#: src/common/weeconfig.c:440 +#: src/common/weeconfig.c:451 msgid "" "maximum number of lines in history for one server/channel/private window (0 " "= unlimited)" msgstr "" -#: src/common/weeconfig.c:444 +#: src/common/weeconfig.c:455 msgid "max user commands in history" msgstr "" -#: src/common/weeconfig.c:445 +#: src/common/weeconfig.c:456 msgid "maximum number of user commands in history (0 = unlimited)" msgstr "" -#: src/common/weeconfig.c:462 src/common/weeconfig.c:463 +#: src/common/weeconfig.c:473 src/common/weeconfig.c:474 msgid "automatically log server messages" msgstr "" -#: src/common/weeconfig.c:466 src/common/weeconfig.c:467 +#: src/common/weeconfig.c:477 src/common/weeconfig.c:478 msgid "automatically log channel chats" msgstr "" -#: src/common/weeconfig.c:470 src/common/weeconfig.c:471 +#: src/common/weeconfig.c:481 src/common/weeconfig.c:482 msgid "automatically log private chats" msgstr "" -#: src/common/weeconfig.c:474 src/common/weeconfig.c:475 +#: src/common/weeconfig.c:485 src/common/weeconfig.c:486 msgid "log messages from plugins (scripts)" msgstr "" -#: src/common/weeconfig.c:478 +#: src/common/weeconfig.c:489 msgid "path for log files" msgstr "" -#: src/common/weeconfig.c:479 +#: src/common/weeconfig.c:490 msgid "path for WeeChat log files" msgstr "" -#: src/common/weeconfig.c:482 +#: src/common/weeconfig.c:493 msgid "timestamp for log" msgstr "" -#: src/common/weeconfig.c:483 +#: src/common/weeconfig.c:494 msgid "timestamp for log (see man strftime for date/time specifiers)" msgstr "" -#: src/common/weeconfig.c:486 src/common/weeconfig.c:487 +#: src/common/weeconfig.c:497 src/common/weeconfig.c:498 msgid "hide password displayed by nickserv" msgstr "" -#: src/common/weeconfig.c:506 +#: src/common/weeconfig.c:517 msgid "display message to all channels when away" msgstr "" -#: src/common/weeconfig.c:507 +#: src/common/weeconfig.c:518 msgid "display message to all channels when (un)marking as away" msgstr "" -#: src/common/weeconfig.c:510 src/common/weeconfig.c:511 +#: src/common/weeconfig.c:521 src/common/weeconfig.c:522 msgid "default message when away" msgstr "" -#: src/common/weeconfig.c:514 src/common/weeconfig.c:515 +#: src/common/weeconfig.c:525 src/common/weeconfig.c:526 msgid "default part message (leaving channel)" msgstr "" -#: src/common/weeconfig.c:518 +#: src/common/weeconfig.c:529 msgid "default quit message" msgstr "" -#: src/common/weeconfig.c:519 +#: src/common/weeconfig.c:530 msgid "" "default quit message ('%v' will be replaced by WeeChat version in string)" msgstr "" -#: src/common/weeconfig.c:522 +#: src/common/weeconfig.c:533 msgid "interval between two checks for away" msgstr "" -#: src/common/weeconfig.c:523 +#: src/common/weeconfig.c:534 msgid "interval between two checks for away (in minutes, 0 = never check)" msgstr "" -#: src/common/weeconfig.c:526 +#: src/common/weeconfig.c:537 msgid "interval between two checks for lag" msgstr "" -#: src/common/weeconfig.c:527 +#: src/common/weeconfig.c:538 msgid "interval between two checks for lag (in seconds)" msgstr "" -#: src/common/weeconfig.c:530 +#: src/common/weeconfig.c:541 msgid "minimum lag to show" msgstr "" -#: src/common/weeconfig.c:531 +#: src/common/weeconfig.c:542 msgid "minimum lag to show (in seconds)" msgstr "" -#: src/common/weeconfig.c:534 +#: src/common/weeconfig.c:545 msgid "disconnect after important lag" msgstr "" -#: src/common/weeconfig.c:535 +#: src/common/weeconfig.c:546 msgid "disconnect after important lag (in minutes, 0 = never disconnect)" msgstr "" -#: src/common/weeconfig.c:538 src/common/weeconfig.c:539 +#: src/common/weeconfig.c:549 src/common/weeconfig.c:550 msgid "create a FIFO pipe for remote control" msgstr "" -#: src/common/weeconfig.c:558 +#: src/common/weeconfig.c:569 msgid "automatically accept dcc files" msgstr "" -#: src/common/weeconfig.c:559 +#: src/common/weeconfig.c:570 msgid "automatically accept incoming dcc files" msgstr "" -#: src/common/weeconfig.c:562 +#: src/common/weeconfig.c:573 msgid "automatically accept dcc chats" msgstr "" -#: src/common/weeconfig.c:563 +#: src/common/weeconfig.c:574 msgid "automatically accept dcc chats (use carefully!)" msgstr "" -#: src/common/weeconfig.c:566 +#: src/common/weeconfig.c:577 msgid "timeout for dcc request" msgstr "" -#: src/common/weeconfig.c:567 +#: src/common/weeconfig.c:578 msgid "timeout for dcc request (in seconds)" msgstr "" -#: src/common/weeconfig.c:570 +#: src/common/weeconfig.c:581 msgid "block size for dcc packets" msgstr "" -#: src/common/weeconfig.c:571 +#: src/common/weeconfig.c:582 msgid "block size for dcc packets in bytes (default: 65536)" msgstr "" -#: src/common/weeconfig.c:574 +#: src/common/weeconfig.c:585 msgid "path for incoming files with dcc" msgstr "" -#: src/common/weeconfig.c:575 +#: src/common/weeconfig.c:586 msgid "path for writing incoming files with dcc (default: user home)" msgstr "" -#: src/common/weeconfig.c:578 +#: src/common/weeconfig.c:589 msgid "default path for sending files with dcc" msgstr "" -#: src/common/weeconfig.c:579 +#: src/common/weeconfig.c:590 msgid "" "path for reading files when sending thru dcc (when no path is specified)" msgstr "" -#: src/common/weeconfig.c:582 src/common/weeconfig.c:583 +#: src/common/weeconfig.c:593 src/common/weeconfig.c:594 msgid "convert spaces to underscores when sending files" msgstr "" -#: src/common/weeconfig.c:586 +#: src/common/weeconfig.c:597 msgid "automatically rename dcc files if already exists" msgstr "" -#: src/common/weeconfig.c:587 +#: src/common/weeconfig.c:598 msgid "rename incoming files if already exists (add '.1', '.2', ...)" msgstr "" -#: src/common/weeconfig.c:590 +#: src/common/weeconfig.c:601 msgid "automatically resume aborted transfers" msgstr "" -#: src/common/weeconfig.c:591 +#: src/common/weeconfig.c:602 msgid "" "automatically resume dcc transfer if connection with remote host is loosed" msgstr "" -#: src/common/weeconfig.c:610 +#: src/common/weeconfig.c:621 msgid "use proxy" msgstr "" -#: src/common/weeconfig.c:611 +#: src/common/weeconfig.c:622 msgid "use a proxy server to connect to irc server" msgstr "" -#: src/common/weeconfig.c:614 +#: src/common/weeconfig.c:625 msgid "proxy type" msgstr "" -#: src/common/weeconfig.c:615 +#: src/common/weeconfig.c:626 msgid "proxy type (http (default), socks4, socks5)" msgstr "" -#: src/common/weeconfig.c:618 +#: src/common/weeconfig.c:629 msgid "use ipv6 proxy" msgstr "" -#: src/common/weeconfig.c:619 +#: src/common/weeconfig.c:630 msgid "connect to proxy in ipv6" msgstr "" -#: src/common/weeconfig.c:622 +#: src/common/weeconfig.c:633 msgid "proxy address" msgstr "" -#: src/common/weeconfig.c:623 +#: src/common/weeconfig.c:634 msgid "proxy server address (IP or hostname)" msgstr "" -#: src/common/weeconfig.c:626 +#: src/common/weeconfig.c:637 msgid "port for proxy" msgstr "" -#: src/common/weeconfig.c:627 +#: src/common/weeconfig.c:638 msgid "port for connecting to proxy server" msgstr "" -#: src/common/weeconfig.c:630 +#: src/common/weeconfig.c:641 msgid "proxy username" msgstr "" -#: src/common/weeconfig.c:631 +#: src/common/weeconfig.c:642 msgid "username for proxy server" msgstr "" -#: src/common/weeconfig.c:634 +#: src/common/weeconfig.c:645 msgid "proxy password" msgstr "" -#: src/common/weeconfig.c:635 +#: src/common/weeconfig.c:646 msgid "password for proxy server" msgstr "" -#: src/common/weeconfig.c:646 +#: src/common/weeconfig.c:657 msgid "server name" msgstr "" -#: src/common/weeconfig.c:647 +#: src/common/weeconfig.c:658 msgid "name associated to IRC server (for display only)" msgstr "" -#: src/common/weeconfig.c:650 +#: src/common/weeconfig.c:661 msgid "automatically connect to server" msgstr "" -#: src/common/weeconfig.c:651 +#: src/common/weeconfig.c:662 msgid "automatically connect to server when WeeChat is starting" msgstr "" -#: src/common/weeconfig.c:654 +#: src/common/weeconfig.c:665 msgid "automatically reconnect to server" msgstr "" -#: src/common/weeconfig.c:655 +#: src/common/weeconfig.c:666 msgid "automatically reconnect to server when disconnected" msgstr "" -#: src/common/weeconfig.c:658 +#: src/common/weeconfig.c:669 msgid "delay before trying again to reconnect" msgstr "" -#: src/common/weeconfig.c:659 +#: src/common/weeconfig.c:670 msgid "delay (in seconds) before trying again to reconnect to server" msgstr "" -#: src/common/weeconfig.c:662 +#: src/common/weeconfig.c:673 msgid "server address or hostname" msgstr "" -#: src/common/weeconfig.c:663 +#: src/common/weeconfig.c:674 msgid "IP address or hostname of IRC server" msgstr "" -#: src/common/weeconfig.c:666 +#: src/common/weeconfig.c:677 msgid "port for IRC server" msgstr "" -#: src/common/weeconfig.c:667 +#: src/common/weeconfig.c:678 msgid "port for connecting to server" msgstr "" -#: src/common/weeconfig.c:670 src/common/weeconfig.c:671 +#: src/common/weeconfig.c:681 src/common/weeconfig.c:682 msgid "use IPv6 protocol for server communication" msgstr "" -#: src/common/weeconfig.c:674 src/common/weeconfig.c:675 +#: src/common/weeconfig.c:685 src/common/weeconfig.c:686 msgid "use SSL for server communication" msgstr "" -#: src/common/weeconfig.c:678 +#: src/common/weeconfig.c:689 msgid "server password" msgstr "" -#: src/common/weeconfig.c:679 +#: src/common/weeconfig.c:690 msgid "password for IRC server" msgstr "" -#: src/common/weeconfig.c:682 +#: src/common/weeconfig.c:693 msgid "nickname for server" msgstr "" -#: src/common/weeconfig.c:683 +#: src/common/weeconfig.c:694 msgid "nickname to use on IRC server" msgstr "" -#: src/common/weeconfig.c:686 +#: src/common/weeconfig.c:697 msgid "alternate nickname for server" msgstr "" -#: src/common/weeconfig.c:687 +#: src/common/weeconfig.c:698 msgid "alternate nickname to use on IRC server (if nickname is already used)" msgstr "" -#: src/common/weeconfig.c:690 +#: src/common/weeconfig.c:701 msgid "2nd alternate nickname for server" msgstr "" -#: src/common/weeconfig.c:691 +#: src/common/weeconfig.c:702 msgid "" "2nd alternate nickname to use on IRC server (if alternate nickname is " "already used)" msgstr "" -#: src/common/weeconfig.c:694 +#: src/common/weeconfig.c:705 msgid "user name for server" msgstr "" -#: src/common/weeconfig.c:695 +#: src/common/weeconfig.c:706 msgid "user name to use on IRC server" msgstr "" -#: src/common/weeconfig.c:698 +#: src/common/weeconfig.c:709 msgid "real name for server" msgstr "" -#: src/common/weeconfig.c:699 +#: src/common/weeconfig.c:710 msgid "real name to use on IRC server" msgstr "" -#: src/common/weeconfig.c:702 src/common/weeconfig.c:703 +#: src/common/weeconfig.c:713 src/common/weeconfig.c:714 msgid "first command to run when connected to server" msgstr "" -#: src/common/weeconfig.c:706 +#: src/common/weeconfig.c:717 msgid "delay (in seconds) after command was executed" msgstr "" -#: src/common/weeconfig.c:707 +#: src/common/weeconfig.c:718 msgid "" "delay (in seconds) after command was executed (example: give some time for " "authentication)" msgstr "" -#: src/common/weeconfig.c:710 +#: src/common/weeconfig.c:721 msgid "list of channels to join when connected to server" msgstr "" -#: src/common/weeconfig.c:711 +#: src/common/weeconfig.c:722 msgid "comma separated list of channels to join when connected to server" msgstr "" -#: src/common/weeconfig.c:714 src/common/weeconfig.c:715 +#: src/common/weeconfig.c:725 src/common/weeconfig.c:726 msgid "automatically rejoin channels when kicked" msgstr "" -#: src/common/weeconfig.c:718 +#: src/common/weeconfig.c:729 msgid "notify levels for channels of this server" msgstr "" -#: src/common/weeconfig.c:719 +#: src/common/weeconfig.c:730 msgid "" "comma separated list of notify levels for channels of this server (format: " "#channel:1,..)" msgstr "" -#: src/common/weeconfig.c:1177 +#: src/common/weeconfig.c:1190 #, c-format msgid "%s %s, line %d: new server, but previous was incomplete\n" msgstr "" -#: src/common/weeconfig.c:1186 +#: src/common/weeconfig.c:1199 #, c-format msgid "%s %s, line %d: server '%s' already exists\n" msgstr "" -#: src/common/weeconfig.c:1201 +#: src/common/weeconfig.c:1214 #, c-format msgid "%s %s, line %d: unable to create server\n" msgstr "" -#: src/common/weeconfig.c:1240 +#: src/common/weeconfig.c:1254 #, c-format msgid "%s unable to assign default int with string (\"%s\")\n" msgstr "" -#: src/common/weeconfig.c:1251 +#: src/common/weeconfig.c:1265 #, c-format msgid "%s unable to assign default color (\"%s\")\n" msgstr "" -#: src/common/weeconfig.c:1290 +#: src/common/weeconfig.c:1304 #, c-format msgid "%s config file \"%s\" not found.\n" msgstr "" -#: src/common/weeconfig.c:1322 +#: src/common/weeconfig.c:1336 #, c-format msgid "%s %s, line %d: invalid syntax, missing \"]\"\n" msgstr "" -#: src/common/weeconfig.c:1339 +#: src/common/weeconfig.c:1353 #, c-format msgid "%s %s, line %d: unknown section identifier (\"%s\")\n" msgstr "" -#: src/common/weeconfig.c:1357 +#: src/common/weeconfig.c:1371 #, c-format msgid "%s %s, line %d: invalid section for option, line is ignored\n" msgstr "" -#: src/common/weeconfig.c:1365 +#: src/common/weeconfig.c:1379 #, c-format msgid "%s %s, line %d: invalid syntax, missing \"=\"\n" msgstr "" -#: src/common/weeconfig.c:1399 +#: src/common/weeconfig.c:1427 #, c-format msgid "%s %s, line %d: invalid option \"%s\"\n" msgstr "" -#: src/common/weeconfig.c:1410 +#: src/common/weeconfig.c:1438 #, c-format msgid "" "%s %s, line %d: invalid value foroption '%s'\n" "Expected: boolean value: 'off' or 'on'\n" msgstr "" -#: src/common/weeconfig.c:1419 +#: src/common/weeconfig.c:1447 #, c-format msgid "" "%s %s, line %d: invalid value for option '%s'\n" "Expected: integer between %d and %d\n" msgstr "" -#: src/common/weeconfig.c:1430 +#: src/common/weeconfig.c:1458 #, c-format msgid "" "%s %s, line %d: invalid value for option '%s'\n" "Expected: one of these strings: " msgstr "" -#: src/common/weeconfig.c:1446 +#: src/common/weeconfig.c:1474 #, c-format msgid "%s %s, line %d: invalid color name for option '%s'\n" msgstr "" -#: src/common/weeconfig.c:1506 src/common/weeconfig.c:1677 +#: src/common/weeconfig.c:1536 src/common/weeconfig.c:1731 #, c-format msgid "%s cannot create file \"%s\"\n" msgstr "" -#: src/common/weeconfig.c:1512 +#: src/common/weeconfig.c:1542 #, c-format msgid "%s: creating default config file...\n" msgstr "" -#: src/common/weeconfig.c:1513 +#: src/common/weeconfig.c:1543 msgid "Creating default config file\n" msgstr "" -#: src/common/weeconfig.c:1516 src/common/weeconfig.c:1686 +#: src/common/weeconfig.c:1546 src/common/weeconfig.c:1740 #, c-format msgid "" "#\n" "# %s configuration file, created by %s v%s on %s#\n" msgstr "" -#: src/common/weeconfig.c:1683 +#: src/common/weeconfig.c:1737 msgid "Saving config to disk\n" msgstr "" diff --git a/weechat/src/common/command.c b/weechat/src/common/command.c index a8b97a134..977568fee 100644 --- a/weechat/src/common/command.c +++ b/weechat/src/common/command.c @@ -47,11 +47,11 @@ t_weechat_command weechat_commands[] = { "buffer", N_("manage buffers"), N_("[action | number]"), N_("action: action to do:\n" - " move: move buffer in the list (may be relative, for example -1)\n" - " close: close buffer (for channel: same as /part without part message)\n" - " list: list opened buffers (no parameter implies this list)\n" - " notify: set notify level for buffer (0=never, 1=highlight, 2=1+msg, 3=2+join/part)\n" - "number: jump to buffer by number"), + " move: move buffer in the list (may be relative, for example -1)\n" + " close: close buffer (for channel: same as /part without part message)\n" + " list: list opened buffers (no parameter implies this list)\n" + " notify: set notify level for buffer (0=never, 1=highlight, 2=1+msg, 3=2+join/part)\n" + "number: jump to buffer by number"), 0, MAX_ARGS, weechat_cmd_buffer, NULL }, { "clear", N_("clear window(s)"), N_("[-all]"), @@ -72,33 +72,40 @@ t_weechat_command weechat_commands[] = { "help", N_("display help about commands"), N_("[command]"), N_("command: name of a WeeChat or IRC command"), 0, 1, weechat_cmd_help, NULL }, + { "key", N_("bind/unbind keys"), + N_("[key function/command] [unbind key] [functions] [reset -yes]"), + N_("key: bind this key to an internal function or a command (beginning by \"/\")\n" + "unbind: unbind a key (if \"all\", default bindings are restored)\n" + "functions: list internal functions for key bindings\n" + "reset: restore bindings to the default values and delete ALL personal binding (use carefully!)"), + 0, MAX_ARGS, NULL, weechat_cmd_key }, { "perl", N_("list/load/unload Perl scripts"), N_("[load filename] | [autoload] | [reload] | [unload]"), N_("filename: Perl script (file) to load\n" - "Without argument, /perl command lists all loaded Perl scripts."), + "Without argument, /perl command lists all loaded Perl scripts."), 0, 2, weechat_cmd_perl, NULL }, { "python", N_("list/load/unload Python scripts"), N_("[load filename] | [autoload] | [reload] | [unload]"), N_("filename: Python script (file) to load\n" - "Without argument, /python command lists all loaded Python scripts."), + "Without argument, /python command lists all loaded Python scripts."), 0, 2, weechat_cmd_python, NULL }, { "server", N_("list, add or remove servers"), N_("[servername] | " - "[servername hostname port [-auto | -noauto] [-ipv6] [-ssl] [-pwd password] [-nicks nick1 " - "[nick2 [nick3]]] [-username username] [-realname realname] " - "[-command command] [-autojoin channel[,channel]] ] | " - "[del servername]"), + "[servername hostname port [-auto | -noauto] [-ipv6] [-ssl] [-pwd password] [-nicks nick1 " + "[nick2 [nick3]]] [-username username] [-realname realname] " + "[-command command] [-autojoin channel[,channel]] ] | " + "[del servername]"), N_("servername: server name, for internal & display use\n" - "hostname: name or IP address of server\n" - "port: port for server (integer)\n" - "ipv6: use IPv6 protocol\n" - "ssl: use SSL protocol\n" - "password: password for server\n" - "nick1: first nick for server\n" - "nick2: alternate nick for server\n" - "nick3: second alternate nick for server\n" - "username: user name\n" - "realname: real name of user"), + "hostname: name or IP address of server\n" + "port: port for server (integer)\n" + "ipv6: use IPv6 protocol\n" + "ssl: use SSL protocol\n" + "password: password for server\n" + "nick1: first nick for server\n" + "nick2: alternate nick for server\n" + "nick3: second alternate nick for server\n" + "username: user name\n" + "realname: real name of user"), 0, MAX_ARGS, weechat_cmd_server, NULL }, { "save", N_("save config to disk"), N_("[file]"), N_("file: filename for writing config"), @@ -111,11 +118,10 @@ t_weechat_command weechat_commands[] = 1, 1, NULL, weechat_cmd_unalias }, { "window", N_("manage windows"), N_("[list | splith | splitv | [merge [down | up | left | right | all]]]"), - N_( - "list: list opened windows (no parameter implies this list)\n" - "splith: split current window horizontally\n" - "splitv: split current window vertically\n" - "merge: merge window with another"), + N_("list: list opened windows (no parameter implies this list)\n" + "splith: split current window horizontally\n" + "splitv: split current window vertically\n" + "merge: merge window with another"), 0, 2, weechat_cmd_window, NULL }, { NULL, NULL, NULL, NULL, 0, 0, NULL, NULL } }; @@ -877,6 +883,7 @@ weechat_cmd_buffer (int argc, char **argv) t_irc_channel *ptr_channel; long number; char *error; + int target_buffer; if ((argc == 0) || ((argc == 1) && (strcasecmp (argv[0], "list") == 0))) { @@ -1049,26 +1056,41 @@ weechat_cmd_buffer (int argc, char **argv) { /* jump to buffer by number */ - error = NULL; - number = strtol (argv[0], &error, 10); - if ((error) && (error[0] == '\0')) + if (argv[0][0] == '-') { - if (!gui_switch_to_buffer_by_number (gui_current_window, (int) number)) + /* relative jump '-' */ + error = NULL; + number = strtol (argv[0] + 1, &error, 10); + if ((error) && (error[0] == '\0')) { - irc_display_prefix (NULL, PREFIX_ERROR); - gui_printf (NULL, - _("%s buffer \"%s\" not found for \"%s\" command\n"), - WEECHAT_ERROR, argv[0], "buffer"); - return -1; + target_buffer = gui_current_window->buffer->number - (int) number; + if (target_buffer < 1) + target_buffer = (last_gui_buffer) ? last_gui_buffer->number + target_buffer : 1; + gui_switch_to_buffer_by_number (gui_current_window, + target_buffer); + } + } + else if (argv[0][0] == '+') + { + /* relative jump '+' */ + error = NULL; + number = strtol (argv[0] + 1, &error, 10); + if ((error) && (error[0] == '\0')) + { + target_buffer = gui_current_window->buffer->number + (int) number; + if (last_gui_buffer && target_buffer > last_gui_buffer->number) + target_buffer -= last_gui_buffer->number; + gui_switch_to_buffer_by_number (gui_current_window, + target_buffer); } } else { - /* invalid number */ - irc_display_prefix (NULL, PREFIX_ERROR); - gui_printf (NULL, _("%s incorrect buffer number\n"), - WEECHAT_ERROR); - return -1; + /* absolute jump by number */ + error = NULL; + number = strtol (argv[0], &error, 10); + if ((error) && (error[0] == '\0')) + gui_switch_to_buffer_by_number (gui_current_window, (int) number); } } @@ -1323,6 +1345,138 @@ weechat_cmd_help (int argc, char **argv) } /* + * weechat_cmd_key_display: display a key binding + */ + +void +weechat_cmd_key_display (t_gui_key *key, int new_key) +{ + char *expanded_name; + + expanded_name = gui_key_get_expanded_name (key->key); + if (new_key) + { + gui_printf (NULL, _("New key binding:\n")); + gui_printf (NULL, " %s", (expanded_name) ? expanded_name : key->key); + } + else + gui_printf (NULL, " %20s", (expanded_name) ? expanded_name : key->key); + gui_printf_color (NULL, COLOR_WIN_CHAT_DARK, " => "); + gui_printf (NULL, "%s\n", + (key->function) ? + gui_key_function_search_by_ptr (key->function) : key->command); + if (expanded_name) + free (expanded_name); +} + +/* + * weechat_cmd_key: bind/unbind keys + */ + +int +weechat_cmd_key (char *arguments) +{ + char *pos; + int i; + t_gui_key *ptr_key; + + if (arguments) + { + while (arguments[0] == ' ') + arguments++; + } + + if (!arguments || (arguments[0] == '\0')) + { + gui_printf (NULL, "\n"); + gui_printf (NULL, _("Key bindings:\n")); + for (ptr_key = gui_keys; ptr_key; ptr_key = ptr_key->next_key) + { + weechat_cmd_key_display (ptr_key, 0); + } + } + else if (strncasecmp (arguments, "unbind ", 7) == 0) + { + arguments += 7; + while (arguments[0] == ' ') + arguments++; + if (gui_key_unbind (arguments)) + gui_printf (NULL, _("Key \"%s\" unbinded\n"), arguments); + else + { + irc_display_prefix (NULL, PREFIX_ERROR); + gui_printf (NULL, + _("%s unable to unbind key \"%s\"\n"), + WEECHAT_ERROR, arguments); + return -1; + } + } + else if (strcasecmp (arguments, "functions") == 0) + { + gui_printf (NULL, "\n"); + gui_printf (NULL, _("Internal key functions:\n")); + i = 0; + while (gui_key_functions[i].function_name) + { + gui_printf (NULL, " %s\n", + gui_key_functions[i].function_name); + i++; + } + } + else if (strncasecmp (arguments, "reset", 5) == 0) + { + arguments += 5; + while (arguments[0] == ' ') + arguments++; + if (strcmp (arguments, "-yes") == 0) + { + gui_key_free_all (); + gui_key_init (); + gui_printf (NULL, _("Default key bindings restored\n")); + } + else + { + irc_display_prefix (NULL, PREFIX_ERROR); + gui_printf (NULL, + _("%s \"-yes\" argument is required for keys reset (securuty reason)\n"), + WEECHAT_ERROR); + return -1; + } + } + else + { + while (arguments[0] == ' ') + arguments++; + pos = strchr (arguments, ' '); + if (!pos) + { + irc_display_prefix (NULL, PREFIX_ERROR); + gui_printf (NULL, + _("%s wrong argument count for \"%s\" command\n"), + WEECHAT_ERROR, "key"); + return -1; + } + pos[0] = '\0'; + pos++; + while (pos[0] == ' ') + pos++; + ptr_key = gui_key_bind (arguments, pos); + if (ptr_key) + weechat_cmd_key_display (ptr_key, 1); + else + { + irc_display_prefix (NULL, PREFIX_ERROR); + gui_printf (NULL, + _("%s unable to bind key \"%s\"\n"), + WEECHAT_ERROR, arguments); + return -1; + } + } + + return 0; +} + +/* * weechat_cmd_perl: list/load/unload Perl scripts */ @@ -1892,11 +2046,11 @@ weechat_cmd_server (int argc, char **argv) } /* - * weechat_set_cmd_display_option: display config option + * weechat_cmd_set_display_option: display config option */ void -weechat_set_cmd_display_option (t_config_option *option, char *prefix, void *value) +weechat_cmd_set_display_option (t_config_option *option, char *prefix, void *value) { char *color_name, *pos_nickserv, *pos_pwd, *value2; @@ -2039,7 +2193,7 @@ weechat_cmd_set (char *arguments) { ptr_option_value = config_get_server_option_ptr (ptr_server, weechat_options[CONFIG_SECTION_SERVER][i].option_name); - weechat_set_cmd_display_option (&weechat_options[CONFIG_SECTION_SERVER][i], + weechat_cmd_set_display_option (&weechat_options[CONFIG_SECTION_SERVER][i], ptr_server->name, ptr_option_value); } @@ -2080,7 +2234,7 @@ weechat_cmd_set (char *arguments) gui_printf_color (NULL, COLOR_WIN_CHAT_CHANNEL, "%s", config_get_section (ptr_option)); gui_printf_color (NULL, COLOR_WIN_CHAT_DARK, "]\n"); - weechat_set_cmd_display_option (ptr_option, NULL, NULL); + weechat_cmd_set_display_option (ptr_option, NULL, NULL); } else { @@ -2104,7 +2258,8 @@ weechat_cmd_set (char *arguments) for (i = 0; i < CONFIG_NUMBER_SECTIONS; i++) { section_displayed = 0; - if ((i != CONFIG_SECTION_ALIAS) && (i != CONFIG_SECTION_SERVER)) + if ((i != CONFIG_SECTION_KEYS) && (i != CONFIG_SECTION_ALIAS) + && (i != CONFIG_SECTION_SERVER)) { for (j = 0; weechat_options[i][j].option_name; j++) { @@ -2122,7 +2277,7 @@ weechat_cmd_set (char *arguments) gui_printf_color (NULL, COLOR_WIN_CHAT_DARK, "]\n"); section_displayed = 1; } - weechat_set_cmd_display_option (&weechat_options[i][j], NULL, NULL); + weechat_cmd_set_display_option (&weechat_options[i][j], NULL, NULL); number_found++; } } @@ -2155,7 +2310,7 @@ weechat_cmd_set (char *arguments) weechat_options[CONFIG_SECTION_SERVER][i].option_name); if (ptr_option_value) { - weechat_set_cmd_display_option (&weechat_options[CONFIG_SECTION_SERVER][i], + weechat_cmd_set_display_option (&weechat_options[CONFIG_SECTION_SERVER][i], ptr_server->name, ptr_option_value); number_found++; @@ -2288,6 +2443,10 @@ weechat_cmd_window (int argc, char **argv) else gui_window_merge_auto (gui_current_window); } + else if (strcasecmp (argv[0], "-1") == 0) + gui_switch_to_previous_window (); + else if (strcasecmp (argv[0], "+1") == 0) + gui_switch_to_next_window (); else { irc_display_prefix (NULL, PREFIX_ERROR); diff --git a/weechat/src/common/command.h b/weechat/src/common/command.h index aac5701fb..f839f4ab2 100644 --- a/weechat/src/common/command.h +++ b/weechat/src/common/command.h @@ -69,6 +69,7 @@ extern int weechat_cmd_connect (int, char **); extern int weechat_cmd_debug (int, char **); extern int weechat_cmd_disconnect (int, char **); extern int weechat_cmd_help (int, char **); +extern int weechat_cmd_key (char *); extern int weechat_cmd_perl (int, char **); extern int weechat_cmd_python (int, char **); extern int weechat_cmd_save (int, char **); diff --git a/weechat/src/common/completion.c b/weechat/src/common/completion.c index 477f42ffc..ef3838b51 100644 --- a/weechat/src/common/completion.c +++ b/weechat/src/common/completion.c @@ -201,6 +201,23 @@ completion_build_list (t_completion *completion, void *channel) } return; } + if ((strcasecmp (completion->base_command, "key") == 0) + && (completion->base_command_arg == 1)) + { + weelist_add (&completion->completion_list, + &completion->last_completion, + "bind"); + weelist_add (&completion->completion_list, + &completion->last_completion, + "unbind"); + weelist_add (&completion->completion_list, + &completion->last_completion, + "functions"); + weelist_add (&completion->completion_list, + &completion->last_completion, + "reset"); + return; + } if (((strcasecmp (completion->base_command, "perl") == 0) || (strcasecmp (completion->base_command, "python") == 0)) && (completion->base_command_arg == 1)) @@ -225,7 +242,8 @@ completion_build_list (t_completion *completion, void *channel) { for (i = 0; i < CONFIG_NUMBER_SECTIONS; i++) { - if ((i != CONFIG_SECTION_ALIAS) && (i != CONFIG_SECTION_SERVER)) + if ((i != CONFIG_SECTION_KEYS) && (i != CONFIG_SECTION_ALIAS) + && (i != CONFIG_SECTION_SERVER)) { for (j = 0; weechat_options[i][j].option_name; j++) { diff --git a/weechat/src/common/weechat.c b/weechat/src/common/weechat.c index 1a8db3385..0eb311d25 100644 --- a/weechat/src/common/weechat.c +++ b/weechat/src/common/weechat.c @@ -314,6 +314,47 @@ void wee_display_commands (int weechat_cmd, int irc_cmd) } /* + * wee_display_key_functions: display WeeChat key functions + */ + +void wee_display_key_functions () +{ + int i; + + printf (_("Internal key functions:\n")); + printf ("\n"); + i = 0; + while (gui_key_functions[i].function_name) + { + printf (" %s\n", + gui_key_functions[i].function_name); + i++; + } +} + +/* + * wee_display_keys: display WeeChat default keys + */ + +void wee_display_keys () +{ + t_gui_key *ptr_key; + char *expanded_name; + + printf (_("%s default keys:\n"), PACKAGE_NAME); + printf ("\n"); + for (ptr_key = gui_keys; ptr_key; ptr_key = ptr_key->next_key) + { + expanded_name = gui_key_get_expanded_name (ptr_key->key); + printf (" %20s => %s\n", + (expanded_name) ? expanded_name : ptr_key->key, + (ptr_key->function) ? gui_key_function_search_by_ptr (ptr_key->function) : ptr_key->command); + if (expanded_name) + free (expanded_name); + } +} + +/* * wee_parse_args: parse command line args */ @@ -333,6 +374,12 @@ wee_parse_args (int argc, char *argv[]) wee_display_config_options (); wee_shutdown (EXIT_SUCCESS); } + else if ((strcmp (argv[i], "-f") == 0) + || (strcmp (argv[i], "--key-functions") == 0)) + { + wee_display_key_functions (); + wee_shutdown (EXIT_SUCCESS); + } else if ((strcmp (argv[i], "-h") == 0) || (strcmp (argv[i], "--help") == 0)) { @@ -340,12 +387,18 @@ wee_parse_args (int argc, char *argv[]) printf ("%s", WEE_USAGE2); wee_shutdown (EXIT_SUCCESS); } - if ((strcmp (argv[i], "-i") == 0) + else if ((strcmp (argv[i], "-i") == 0) || (strcmp (argv[i], "--irc-commands") == 0)) { wee_display_commands (0, 1); wee_shutdown (EXIT_SUCCESS); } + else if ((strcmp (argv[i], "-k") == 0) + || (strcmp (argv[i], "--keys") == 0)) + { + wee_display_keys (); + wee_shutdown (EXIT_SUCCESS); + } else if ((strcmp (argv[i], "-l") == 0) || (strcmp (argv[i], "--license") == 0)) { @@ -358,7 +411,7 @@ wee_parse_args (int argc, char *argv[]) printf (PACKAGE_VERSION "\n"); wee_shutdown (EXIT_SUCCESS); } - if ((strcmp (argv[i], "-w") == 0) + else if ((strcmp (argv[i], "-w") == 0) || (strcmp (argv[i], "--weechat-commands") == 0)) { wee_display_commands (1, 0); @@ -771,6 +824,7 @@ main (int argc, char *argv[]) signal (SIGSEGV, my_sigsegv); /* crash dump when SIGSEGV is received */ gui_pre_init (&argc, &argv); /* pre-initiliaze interface */ wee_init_vars (); /* initialize some variables */ + gui_key_init (); /* init keyboard (default key bindings) */ wee_parse_args (argc, argv); /* parse command line args */ wee_create_home_dirs (); /* create WeeChat directories */ wee_init_log (); /* init log file */ diff --git a/weechat/src/common/weechat.h b/weechat/src/common/weechat.h index ead962144..569ba7728 100644 --- a/weechat/src/common/weechat.h +++ b/weechat/src/common/weechat.h @@ -90,8 +90,10 @@ #define WEE_USAGE2 \ " -c, --config display config file options\n" \ - " -h, --help this help screen\n" \ + " -f, --key-functions display WeeChat internal functions for keys\n" \ + " -h, --help this help\n" \ " -i, --irc-commands display IRC commands\n" \ + " -k, --keys display WeeChat default keys\n" \ " -l, --license display WeeChat license\n" \ " -v, --version display WeeChat version\n" \ " -w, --weechat-commands display WeeChat commands\n\n" diff --git a/weechat/src/common/weeconfig.c b/weechat/src/common/weeconfig.c index d35afe62a..dbbe51c8f 100644 --- a/weechat/src/common/weeconfig.c +++ b/weechat/src/common/weeconfig.c @@ -53,6 +53,7 @@ t_config_section config_sections[CONFIG_NUMBER_SECTIONS] = { CONFIG_SECTION_IRC, "irc" }, { CONFIG_SECTION_DCC, "dcc" }, { CONFIG_SECTION_PROXY, "proxy" }, + { CONFIG_SECTION_KEYS, "keys" }, { CONFIG_SECTION_ALIAS, "alias" }, { CONFIG_SECTION_SERVER, "server" } }; @@ -82,6 +83,7 @@ char *cfg_look_no_nickname; char *cfg_look_completor; int cfg_look_infobar; char *cfg_look_infobar_timestamp; +int cfg_look_infobar_seconds; int cfg_look_infobar_delay_highlight; t_config_option weechat_options_look[] = @@ -170,7 +172,11 @@ t_config_option weechat_options_look[] = { "look_infobar_timestamp", N_("timestamp for time in infobar"), N_("timestamp for time in infobar"), OPTION_TYPE_STRING, 0, 0, 0, - "%B, %A %d %Y - %H:%M", NULL, NULL, &cfg_look_infobar_timestamp, config_change_buffer_content }, + "%B, %A %d %Y", NULL, NULL, &cfg_look_infobar_timestamp, config_change_buffer_content }, + { "look_infobar_seconds", N_("display seconds in infobar time"), + N_("display seconds in infobar time"), + OPTION_TYPE_BOOLEAN, BOOL_FALSE, BOOL_TRUE, BOOL_TRUE, + NULL, NULL, &cfg_look_infobar_seconds, NULL, config_change_buffer_content }, { "look_infobar_delay_highlight", N_("delay (in seconds) for highlight messages in infobar"), N_("delay (in seconds) for highlight messages in infobar " "(0 = disable highlight notifications in infobar)"), @@ -202,6 +208,7 @@ int cfg_col_status_data_other; int cfg_col_status_more; int cfg_col_status_bg; int cfg_col_infobar; +int cfg_col_infobar_delimiters; int cfg_col_infobar_highlight; int cfg_col_infobar_bg; int cfg_col_input; @@ -320,6 +327,10 @@ t_config_option weechat_options_colors[] = N_("color for info bar text"), OPTION_TYPE_COLOR, 0, 0, 0, "black", NULL, &cfg_col_infobar, NULL, &config_change_color }, + { "col_infobar_delimiters", N_("color for infobar delimiters"), + N_("color for infobar delimiters"), + OPTION_TYPE_COLOR, 0, 0, 0, + "blue", NULL, &cfg_col_infobar_delimiters, NULL, &config_change_color }, { "col_infobar_highlight", N_("color for info bar highlight notification"), N_("color for info bar highlight notification"), OPTION_TYPE_COLOR, 0, 0, 0, @@ -727,7 +738,7 @@ t_config_option weechat_options_server[] = t_config_option *weechat_options[CONFIG_NUMBER_SECTIONS] = { weechat_options_look, weechat_options_colors, weechat_options_history, weechat_options_log, weechat_options_irc, weechat_options_dcc, - weechat_options_proxy, NULL, weechat_options_server + weechat_options_proxy, NULL, NULL, weechat_options_server }; @@ -763,7 +774,8 @@ config_get_section (t_config_option *ptr_option) for (i = 0; i < CONFIG_NUMBER_SECTIONS; i++) { - if ((i != CONFIG_SECTION_ALIAS) && (i != CONFIG_SECTION_SERVER)) + if ((i != CONFIG_SECTION_KEYS) && (i != CONFIG_SECTION_ALIAS) + && (i != CONFIG_SECTION_SERVER)) { for (j = 0; weechat_options[i][j].option_name; j++) { @@ -1057,7 +1069,8 @@ config_option_search (char *option_name) for (i = 0; i < CONFIG_NUMBER_SECTIONS; i++) { - if ((i != CONFIG_SECTION_ALIAS) && (i != CONFIG_SECTION_SERVER)) + if ((i != CONFIG_SECTION_KEYS) && (i != CONFIG_SECTION_ALIAS) + && (i != CONFIG_SECTION_SERVER)) { for (j = 0; weechat_options[i][j].option_name; j++) { @@ -1220,7 +1233,8 @@ config_default_values () for (i = 0; i < CONFIG_NUMBER_SECTIONS; i++) { - if ((i != CONFIG_SECTION_ALIAS) && (i != CONFIG_SECTION_SERVER)) + if ((i != CONFIG_SECTION_KEYS) && (i != CONFIG_SECTION_ALIAS) + && (i != CONFIG_SECTION_SERVER)) { for (j = 0; weechat_options[i][j].option_name; j++) { @@ -1375,8 +1389,22 @@ config_read () if (pos2 != NULL) pos2[0] = '\0'; - if (section == CONFIG_SECTION_ALIAS) + if (section == CONFIG_SECTION_KEYS) { + if (pos[0]) + { + /* bind key (overwrite any binding with same key) */ + gui_key_bind (line, pos); + } + else + { + /* unbin key if no value given */ + gui_key_unbind (line); + } + } + else if (section == CONFIG_SECTION_ALIAS) + { + /* create new alias */ if (alias_new (line, pos)) weelist_add (&index_commands, &last_index_command, line); } @@ -1493,6 +1521,8 @@ config_create_default () time_t current_time; struct passwd *my_passwd; char *realname, *pos; + t_gui_key *ptr_key; + char *expanded_name, *function_name; filename_length = strlen (weechat_home) + 64; filename = @@ -1520,7 +1550,8 @@ config_create_default () for (i = 0; i < CONFIG_NUMBER_SECTIONS; i++) { - if ((i != CONFIG_SECTION_ALIAS) && (i != CONFIG_SECTION_SERVER)) + if ((i != CONFIG_SECTION_KEYS) && (i != CONFIG_SECTION_ALIAS) + && (i != CONFIG_SECTION_SERVER)) { fprintf (file, "\n[%s]\n", config_sections[i].section_name); for (j = 0; weechat_options[i][j].option_name; j++) @@ -1550,6 +1581,27 @@ config_create_default () } } + /* default key bindings */ + fprintf (file, "\n[keys]\n"); + for (ptr_key = gui_keys; ptr_key; ptr_key = ptr_key->next_key) + { + expanded_name = gui_key_get_expanded_name (ptr_key->key); + if (ptr_key->function) + { + function_name = gui_key_function_search_by_ptr (ptr_key->function); + if (function_name) + fprintf (file, "%s=%s\n", + (expanded_name) ? expanded_name : ptr_key->key, + function_name); + } + else + fprintf (file, "%s=%s\n", + (expanded_name) ? expanded_name : ptr_key->key, + ptr_key->command); + if (expanded_name) + free (expanded_name); + } + /* default aliases */ /* TODO: remove comments when missing commands will be ok */ fprintf (file, "\n[alias]\n"); @@ -1560,20 +1612,20 @@ config_create_default () fprintf (file, "C=clear\n"); fprintf (file, "CL=clear\n"); fprintf (file, "CLOSE=buffer close\n"); - fprintf (file, "# CHAT=dcc chat\n"); + fprintf (file, "CHAT=dcc chat\n"); fprintf (file, "# GET=dcc get\n"); fprintf (file, "# IG=ignore\n"); fprintf (file, "J=join\n"); fprintf (file, "K=kick\n"); - fprintf (file, "# KB=kickban\n"); + fprintf (file, "KB=kickban\n"); fprintf (file, "# KN=knockout\n"); fprintf (file, "LEAVE=part\n"); fprintf (file, "M=msg\n"); - fprintf (file, "# MUB=unban *\n"); + fprintf (file, "MUB=unban *\n"); fprintf (file, "N=names\n"); fprintf (file, "Q=query\n"); fprintf (file, "T=topic\n"); - fprintf (file, "# UB=unban\n"); + fprintf (file, "UB=unban\n"); fprintf (file, "# UNIG=unignore\n"); fprintf (file, "W=who\n"); fprintf (file, "WC=part\n"); @@ -1658,6 +1710,8 @@ config_write (char *config_name) time_t current_time; t_irc_server *ptr_server; t_weechat_alias *ptr_alias; + t_gui_key *ptr_key; + char *expanded_name, *function_name; if (config_name) filename = strdup (config_name); @@ -1690,7 +1744,8 @@ config_write (char *config_name) for (i = 0; i < CONFIG_NUMBER_SECTIONS; i++) { - if ((i != CONFIG_SECTION_ALIAS) && (i != CONFIG_SECTION_SERVER)) + if ((i != CONFIG_SECTION_KEYS) && (i != CONFIG_SECTION_ALIAS) + && (i != CONFIG_SECTION_SERVER)) { fprintf (file, "\n[%s]\n", config_sections[i].section_name); for (j = 0; weechat_options[i][j].option_name; j++) @@ -1737,6 +1792,27 @@ config_write (char *config_name) } } + /* keys section */ + fprintf (file, "\n[keys]\n"); + for (ptr_key = gui_keys; ptr_key; ptr_key = ptr_key->next_key) + { + expanded_name = gui_key_get_expanded_name (ptr_key->key); + if (ptr_key->function) + { + function_name = gui_key_function_search_by_ptr (ptr_key->function); + if (function_name) + fprintf (file, "%s=%s\n", + (expanded_name) ? expanded_name : ptr_key->key, + function_name); + } + else + fprintf (file, "%s=%s\n", + (expanded_name) ? expanded_name : ptr_key->key, + ptr_key->command); + if (expanded_name) + free (expanded_name); + } + /* alias section */ fprintf (file, "\n[alias]\n"); for (ptr_alias = weechat_alias; ptr_alias; diff --git a/weechat/src/common/weeconfig.h b/weechat/src/common/weeconfig.h index 9d25aea60..5a8c98684 100644 --- a/weechat/src/common/weeconfig.h +++ b/weechat/src/common/weeconfig.h @@ -33,9 +33,10 @@ #define CONFIG_SECTION_IRC 4 #define CONFIG_SECTION_DCC 5 #define CONFIG_SECTION_PROXY 6 -#define CONFIG_SECTION_ALIAS 7 -#define CONFIG_SECTION_SERVER 8 -#define CONFIG_NUMBER_SECTIONS 9 +#define CONFIG_SECTION_KEYS 7 +#define CONFIG_SECTION_ALIAS 8 +#define CONFIG_SECTION_SERVER 9 +#define CONFIG_NUMBER_SECTIONS 10 #define OPTION_TYPE_BOOLEAN 1 /* values: on/off */ #define OPTION_TYPE_INT 2 /* values: from min to max */ @@ -97,6 +98,7 @@ extern char *cfg_look_no_nickname; extern char *cfg_look_completor; extern int cfg_look_infobar; extern char *cfg_look_infobar_timestamp; +extern int cfg_look_infobar_seconds; extern int cfg_look_infobar_delay_highlight; extern int cfg_col_title; @@ -120,6 +122,7 @@ extern int cfg_col_status_data_other; extern int cfg_col_status_more; extern int cfg_col_status_bg; extern int cfg_col_infobar; +extern int cfg_col_infobar_delimiters; extern int cfg_col_infobar_highlight; extern int cfg_col_infobar_bg; extern int cfg_col_input; diff --git a/weechat/src/gui/Makefile.am b/weechat/src/gui/Makefile.am index 383493cc4..76367847a 100644 --- a/weechat/src/gui/Makefile.am +++ b/weechat/src/gui/Makefile.am @@ -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-keyboard.c \ gui.h if GUI_NCURSES diff --git a/weechat/src/gui/curses/Makefile.am b/weechat/src/gui/curses/Makefile.am index 01eaaa35d..4bef0cdc9 100644 --- a/weechat/src/gui/curses/Makefile.am +++ b/weechat/src/gui/curses/Makefile.am @@ -19,7 +19,7 @@ INCLUDES = -DLOCALEDIR=\"$(datadir)/locale\" bin_PROGRAMS = weechat-curses -weechat_curses_LDADD = ../lib_weechat_gui_common.a \ +weechat_curses_LDADD = ../gui-common.o ../gui-keyboard.o \ ../../common/lib_weechat_main.a \ ../../irc/lib_weechat_irc.a \ $(NCURSES_LIBS) \ @@ -27,4 +27,4 @@ weechat_curses_LDADD = ../lib_weechat_gui_common.a \ $(GNUTLS_LIBS) weechat_curses_SOURCES = gui-display.c \ - gui-input.c + gui-input.c diff --git a/weechat/src/gui/curses/gui-display.c b/weechat/src/gui/curses/gui-display.c index a9873c601..6bfef6c0c 100644 --- a/weechat/src/gui/curses/gui-display.c +++ b/weechat/src/gui/curses/gui-display.c @@ -318,7 +318,7 @@ gui_draw_window_separator (t_gui_window *window) window->win_x - 1); gui_window_set_color (window->win_separator, COLOR_WIN_TITLE); wborder (window->win_separator, ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' '); - wrefresh (window->win_separator); + wnoutrefresh (window->win_separator); refresh (); } } @@ -341,15 +341,9 @@ gui_draw_buffer_title (t_gui_buffer *buffer, int erase) if (ptr_win->buffer == buffer) { if (erase) - gui_curses_window_clear (ptr_win->win_title); + gui_curses_window_clear (ptr_win->win_title); - if (has_colors ()) - { - gui_window_set_color (ptr_win->win_title, COLOR_WIN_TITLE); - wborder (ptr_win->win_title, ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' '); - wrefresh (ptr_win->win_title); - refresh (); - } + gui_window_set_color (ptr_win->win_title, COLOR_WIN_TITLE); snprintf (format, 32, "%%-%ds", ptr_win->win_width); if (CHANNEL(buffer)) { @@ -362,6 +356,8 @@ gui_draw_buffer_title (t_gui_buffer *buffer, int erase) mvwprintw (ptr_win->win_title, 0, 0, format, buf); free (buf); } + else + mvwprintw (ptr_win->win_title, 0, 0, format, " "); } else { @@ -372,8 +368,10 @@ gui_draw_buffer_title (t_gui_buffer *buffer, int erase) PACKAGE_STRING " " WEECHAT_COPYRIGHT_DATE " - " WEECHAT_WEBSITE); } + else + mvwprintw (ptr_win->win_title, 0, 0, format, " "); } - wrefresh (ptr_win->win_title); + wnoutrefresh (ptr_win->win_title); refresh (); } } @@ -860,7 +858,7 @@ gui_draw_buffer_chat (t_gui_buffer *buffer, int erase) ptr_win->win_chat_cursor_y = ptr_win->win_chat_height - 1; } } - wrefresh (ptr_win->win_chat); + wnoutrefresh (ptr_win->win_chat); refresh (); } } @@ -1058,7 +1056,7 @@ gui_draw_buffer_nick (t_gui_buffer *buffer, int erase) } } } - wrefresh (ptr_win->win_nick); + wnoutrefresh (ptr_win->win_nick); refresh (); } } @@ -1087,12 +1085,8 @@ gui_draw_buffer_status (t_gui_buffer *buffer, int erase) if (erase) gui_curses_window_clear (ptr_win->win_status); - if (has_colors ()) - { - gui_window_set_color (ptr_win->win_status, COLOR_WIN_STATUS); - wborder (ptr_win->win_status, ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' '); - wrefresh (ptr_win->win_status); - } + gui_window_set_color (ptr_win->win_status, COLOR_WIN_STATUS); + wborder (ptr_win->win_status, ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' '); wmove (ptr_win->win_status, 0, 0); /* display number of buffers */ @@ -1224,17 +1218,20 @@ gui_draw_buffer_status (t_gui_buffer *buffer, int erase) if (!SERVER(ptr_win->buffer)) { gui_window_set_color (ptr_win->win_status, COLOR_WIN_STATUS); + wprintw (ptr_win->win_status, "%d", + ptr_win->buffer->number); + 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); if (ptr_win->buffer->dcc) - wprintw (ptr_win->win_status, "%d:<DCC> ", - ptr_win->buffer->number); + wprintw (ptr_win->win_status, "<DCC> "); else { string = weechat_convert_encoding (cfg_look_charset_decode, (cfg_look_charset_internal && cfg_look_charset_internal[0]) ? cfg_look_charset_internal : local_charset, - _("%d:[not connected] ")); - wprintw (ptr_win->win_status, string, - ptr_win->buffer->number); + _("[not connected]")); + wprintw (ptr_win->win_status, "%s " , string); free (string); } } @@ -1344,12 +1341,49 @@ gui_draw_buffer_status (t_gui_buffer *buffer, int erase) } free (string); - wrefresh (ptr_win->win_status); + wnoutrefresh (ptr_win->win_status); refresh (); } } /* + * gui_draw_buffer_infobar_time: draw time in infobar window + */ + +void +gui_draw_buffer_infobar_time (t_gui_buffer *buffer) +{ + t_gui_window *ptr_win; + time_t time_seconds; + struct tm *local_time; + + /* make gcc happy */ + (void) buffer; + + if (!gui_ok) + return; + + for (ptr_win = gui_windows; ptr_win; ptr_win = ptr_win->next_window) + { + time_seconds = time (NULL); + local_time = localtime (&time_seconds); + if (local_time) + { + gui_window_set_color (ptr_win->win_infobar, COLOR_WIN_INFOBAR); + mvwprintw (ptr_win->win_infobar, + 0, 1, + "%02d:%02d", + local_time->tm_hour, local_time->tm_min); + if (cfg_look_infobar_seconds) + wprintw (ptr_win->win_infobar, + ":%02d", + local_time->tm_sec); + } + wnoutrefresh (ptr_win->win_infobar); + } +} + +/* * gui_draw_buffer_infobar: draw infobar window for a buffer */ @@ -1376,7 +1410,7 @@ gui_draw_buffer_infobar (t_gui_buffer *buffer, int erase) { gui_window_set_color (ptr_win->win_infobar, COLOR_WIN_INFOBAR); wborder (ptr_win->win_infobar, ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' '); - wrefresh (ptr_win->win_infobar); + wnoutrefresh (ptr_win->win_infobar); } wmove (ptr_win->win_infobar, 0, 0); @@ -1385,16 +1419,31 @@ gui_draw_buffer_infobar (t_gui_buffer *buffer, int erase) if (local_time) { strftime (text_time, 1024, cfg_look_infobar_timestamp, local_time); + gui_window_set_color (ptr_win->win_infobar, COLOR_WIN_INFOBAR_DELIMITERS); + wprintw (ptr_win->win_infobar, "["); + gui_window_set_color (ptr_win->win_infobar, COLOR_WIN_INFOBAR); + wprintw (ptr_win->win_infobar, + "%02d:%02d", + local_time->tm_hour, local_time->tm_min); + if (cfg_look_infobar_seconds) + wprintw (ptr_win->win_infobar, + ":%02d", + local_time->tm_sec); + gui_window_set_color (ptr_win->win_infobar, COLOR_WIN_INFOBAR_DELIMITERS); + wprintw (ptr_win->win_infobar, "]"); gui_window_set_color (ptr_win->win_infobar, COLOR_WIN_INFOBAR); - wprintw (ptr_win->win_infobar, "%s", text_time); + wprintw (ptr_win->win_infobar, + " %s", text_time); } if (gui_infobar) { + gui_window_set_color (ptr_win->win_infobar, COLOR_WIN_INFOBAR_DELIMITERS); + wprintw (ptr_win->win_infobar, " | "); gui_window_set_color (ptr_win->win_infobar, gui_infobar->color); - wprintw (ptr_win->win_infobar, " | %s", gui_infobar->text); + wprintw (ptr_win->win_infobar, "%s", gui_infobar->text); } - wrefresh (ptr_win->win_infobar); + wnoutrefresh (ptr_win->win_infobar); refresh (); } } @@ -1445,7 +1494,7 @@ gui_draw_buffer_input (t_gui_buffer *buffer, int erase) { gui_window_set_color (ptr_win->win_input, COLOR_WIN_INPUT); wborder (ptr_win->win_input, ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' '); - wrefresh (ptr_win->win_input); + wnoutrefresh (ptr_win->win_input); } if (buffer->input_buffer_size == 0) @@ -1488,11 +1537,12 @@ gui_draw_buffer_input (t_gui_buffer *buffer, int erase) SERVER(buffer)->nick, ""); wclrtoeol (ptr_win->win_input); + ptr_win->win_input_x = strlen (CHANNEL(buffer)->name) + + 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, - ptr_win->win_x + strlen (CHANNEL(buffer)->name) + - strlen (SERVER(buffer)->nick) + 3 + - (buffer->input_buffer_pos - buffer->input_buffer_1st_display)); + ptr_win->win_x + ptr_win->win_input_x); } else { @@ -1523,6 +1573,7 @@ gui_draw_buffer_input (t_gui_buffer *buffer, int erase) wprintw (ptr_win->win_input, _(" [P] Purge old DCC")); wprintw (ptr_win->win_input, _(" [Q] Close DCC view")); wclrtoeol (ptr_win->win_input); + ptr_win->win_input_x = 0; if (ptr_win == gui_current_window) move (ptr_win->win_y + ptr_win->win_height - 1, ptr_win->win_x); @@ -1543,14 +1594,15 @@ gui_draw_buffer_input (t_gui_buffer *buffer, int erase) ptr_nickname, ""); wclrtoeol (ptr_win->win_input); + ptr_win->win_input_x = 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, - ptr_win->win_x + strlen (ptr_nickname) + 2 + - (buffer->input_buffer_pos - buffer->input_buffer_1st_display)); + ptr_win->win_x + ptr_win->win_input_x); } } - wrefresh (ptr_win->win_input); + wnoutrefresh (ptr_win->win_input); refresh (); } } @@ -1728,215 +1780,143 @@ gui_switch_to_dcc_buffer () } /* - * gui_switch_to_previous_buffer: switch to previous buffer - */ - -void -gui_switch_to_previous_buffer (t_gui_window *window) -{ - if (!gui_ok) - return; - - /* if only one buffer then return */ - if (gui_buffers == last_gui_buffer) - return; - - if (window->buffer->prev_buffer) - gui_switch_to_buffer (window, window->buffer->prev_buffer); - else - gui_switch_to_buffer (window, last_gui_buffer); - - gui_redraw_buffer (window->buffer); -} - -/* - * gui_switch_to_next_buffer: switch to next buffer - */ - -void -gui_switch_to_next_buffer (t_gui_window *window) -{ - if (!gui_ok) - return; - - /* if only one buffer then return */ - if (gui_buffers == last_gui_buffer) - return; - - if (window->buffer->next_buffer) - gui_switch_to_buffer (window, window->buffer->next_buffer); - else - gui_switch_to_buffer (window, gui_buffers); - - gui_redraw_buffer (window->buffer); -} - -/* - * gui_switch_to_previous_window: switch to previous window - */ - -void -gui_switch_to_previous_window (t_gui_window *window) -{ - if (!gui_ok) - return; - - /* if only one window then return */ - if (gui_windows == last_gui_window) - return; - - gui_current_window = (window->prev_window) ? window->prev_window : last_gui_window; - gui_switch_to_buffer (gui_current_window, gui_current_window->buffer); - gui_redraw_buffer (gui_current_window->buffer); -} - -/* - * gui_switch_to_next_window: switch to next window + * gui_input_page_up: display previous page on buffer */ void -gui_switch_to_next_window (t_gui_window *window) +gui_input_page_up () { if (!gui_ok) return; - /* if only one window then return */ - if (gui_windows == last_gui_window) - return; - - gui_current_window = (window->next_window) ? window->next_window : gui_windows; - gui_switch_to_buffer (gui_current_window, gui_current_window->buffer); - gui_redraw_buffer (gui_current_window->buffer); -} - -/* - * gui_move_page_up: display previous page on buffer - */ - -void -gui_move_page_up (t_gui_window *window) -{ - if (!gui_ok) - return; - - if (!window->first_line_displayed) + if (!gui_current_window->first_line_displayed) { - window->sub_lines += window->win_chat_height - 1; - gui_draw_buffer_chat (window->buffer, 0); - gui_draw_buffer_status (window->buffer, 0); + gui_current_window->sub_lines += + gui_current_window->win_chat_height - 1; + gui_draw_buffer_chat (gui_current_window->buffer, 0); + gui_draw_buffer_status (gui_current_window->buffer, 0); } } /* - * gui_move_page_down: display next page on buffer + * gui_input_page_down: display next page on buffer */ void -gui_move_page_down (t_gui_window *window) +gui_input_page_down () { if (!gui_ok) return; - if (window->sub_lines > 0) + if (gui_current_window->sub_lines > 0) { - window->sub_lines -= window->win_chat_height - 1; - if (window->sub_lines < 0) - window->sub_lines = 0; - gui_draw_buffer_chat (window->buffer, 0); - gui_draw_buffer_status (window->buffer, 0); + gui_current_window->sub_lines -= + gui_current_window->win_chat_height - 1; + if (gui_current_window->sub_lines < 0) + gui_current_window->sub_lines = 0; + gui_draw_buffer_chat (gui_current_window->buffer, 0); + gui_draw_buffer_status (gui_current_window->buffer, 0); } } /* - * gui_nick_move_beginning: go to beginning of nicklist + * gui_input_nick_beginning: go to beginning of nicklist */ void -gui_nick_move_beginning (t_gui_window *window) +gui_input_nick_beginning () { if (!gui_ok) return; - if (gui_buffer_has_nicklist (window->buffer)) + if (gui_buffer_has_nicklist (gui_current_window->buffer)) { - if (window->win_nick_start > 0) + if (gui_current_window->win_nick_start > 0) { - window->win_nick_start = 0; - gui_draw_buffer_nick (window->buffer, 1); + gui_current_window->win_nick_start = 0; + gui_draw_buffer_nick (gui_current_window->buffer, 1); } } } /* - * gui_nick_move_end: go to the end of nicklist + * gui_input_nick_end: go to the end of nicklist */ void -gui_nick_move_end (t_gui_window *window) +gui_input_nick_end () { int new_start; if (!gui_ok) return; - if (gui_buffer_has_nicklist (window->buffer)) + if (gui_buffer_has_nicklist (gui_current_window->buffer)) { - new_start = CHANNEL(window->buffer)->nicks_count - window->win_nick_height; + new_start = + CHANNEL(gui_current_window->buffer)->nicks_count - + gui_current_window->win_nick_height; if (new_start < 0) new_start = 0; else if (new_start >= 1) new_start++; - if (new_start != window->win_nick_start) + if (new_start != gui_current_window->win_nick_start) { - window->win_nick_start = new_start; - gui_draw_buffer_nick (window->buffer, 1); + gui_current_window->win_nick_start = new_start; + gui_draw_buffer_nick (gui_current_window->buffer, 1); } } } /* - * gui_nick_move_page_up: scroll one page up in nicklist + * gui_input_nick_page_up: scroll one page up in nicklist */ void -gui_nick_move_page_up (t_gui_window *window) +gui_input_nick_page_up () { if (!gui_ok) return; - if (gui_buffer_has_nicklist (window->buffer)) + if (gui_buffer_has_nicklist (gui_current_window->buffer)) { - if (window->win_nick_start > 0) + if (gui_current_window->win_nick_start > 0) { - window->win_nick_start -= (window->win_nick_height - 1); - if (window->win_nick_start <= 1) - window->win_nick_start = 0; - gui_draw_buffer_nick (window->buffer, 1); + gui_current_window->win_nick_start -= + (gui_current_window->win_nick_height - 1); + if (gui_current_window->win_nick_start <= 1) + gui_current_window->win_nick_start = 0; + gui_draw_buffer_nick (gui_current_window->buffer, 1); } } } /* - * gui_nick_move_page_down: scroll one page down in nicklist + * gui_input_nick_page_down: scroll one page down in nicklist */ void -gui_nick_move_page_down (t_gui_window *window) +gui_input_nick_page_down () { if (!gui_ok) return; - if (gui_buffer_has_nicklist (window->buffer)) + if (gui_buffer_has_nicklist (gui_current_window->buffer)) { - if ((CHANNEL(window->buffer)->nicks_count > window->win_nick_height) - && (window->win_nick_start + window->win_nick_height - 1 < CHANNEL(window->buffer)->nicks_count)) + if ((CHANNEL(gui_current_window->buffer)->nicks_count > + gui_current_window->win_nick_height) + && (gui_current_window->win_nick_start + + gui_current_window->win_nick_height - 1 + < CHANNEL(gui_current_window->buffer)->nicks_count)) { - if (window->win_nick_start == 0) - window->win_nick_start += (window->win_nick_height - 1); + if (gui_current_window->win_nick_start == 0) + gui_current_window->win_nick_start += + (gui_current_window->win_nick_height - 1); else - window->win_nick_start += (window->win_nick_height - 2); - gui_draw_buffer_nick (window->buffer, 1); + gui_current_window->win_nick_start += + (gui_current_window->win_nick_height - 2); + gui_draw_buffer_nick (gui_current_window->buffer, 1); } } } @@ -2306,6 +2286,8 @@ gui_init_colors () cfg_col_status_more, cfg_col_status_bg); init_pair (COLOR_WIN_INFOBAR, cfg_col_infobar, cfg_col_infobar_bg); + init_pair (COLOR_WIN_INFOBAR_DELIMITERS, + cfg_col_infobar_delimiters, cfg_col_infobar_bg); init_pair (COLOR_WIN_INFOBAR_HIGHLIGHT, cfg_col_infobar_highlight, cfg_col_infobar_bg); init_pair (COLOR_WIN_INPUT, @@ -2378,6 +2360,7 @@ gui_init_colors () color_attr[COLOR_WIN_STATUS_DATA_OTHER - 1] = (cfg_col_status_data_other >= 0) ? cfg_col_status_data_other & A_BOLD : 0; color_attr[COLOR_WIN_STATUS_MORE - 1] = (cfg_col_status_more >= 0) ? cfg_col_status_more & A_BOLD : 0; color_attr[COLOR_WIN_INFOBAR - 1] = (cfg_col_infobar >= 0) ? cfg_col_infobar & A_BOLD : 0; + color_attr[COLOR_WIN_INFOBAR_DELIMITERS - 1] = (cfg_col_infobar_delimiters >= 0) ? cfg_col_infobar_delimiters & A_BOLD : 0; color_attr[COLOR_WIN_INFOBAR_HIGHLIGHT - 1] = (cfg_col_infobar_highlight >= 0) ? cfg_col_infobar_highlight & A_BOLD : 0; color_attr[COLOR_WIN_INPUT - 1] = (cfg_col_input >= 0) ? cfg_col_input & A_BOLD : 0; color_attr[COLOR_WIN_INPUT_CHANNEL - 1] = (cfg_col_input_channel >= 0) ? cfg_col_input_channel & A_BOLD : 0; @@ -2427,15 +2410,16 @@ gui_init () initscr (); curs_set (1); - keypad (stdscr, TRUE); noecho (); nodelay (stdscr, TRUE); gui_init_colors (); - + gui_infobar = NULL; gui_ok = ((COLS > 5) && (LINES > 5)); + + refresh (); /* create new window/buffer */ if (gui_window_new (0, 0, COLS, LINES)) diff --git a/weechat/src/gui/curses/gui-input.c b/weechat/src/gui/curses/gui-input.c index 89793d4ee..85eda8858 100644 --- a/weechat/src/gui/curses/gui-input.c +++ b/weechat/src/gui/curses/gui-input.c @@ -41,649 +41,151 @@ #include "../../common/fifo.h" #include "../../irc/irc.h" -#define KEY_ESCAPE 27 /* - * gui_read_keyb: read keyboard line + * gui_input_default_key_bindings: create default key bindings */ void -gui_read_keyb () +gui_input_default_key_bindings () { - int key, i; - t_gui_buffer *ptr_buffer; - t_irc_server *ptr_server; - t_irc_dcc *ptr_dcc, *ptr_dcc_next; - char new_char[3], *decoded_string; - t_irc_dcc *dcc_selected; + int i; + char key_str[32], command[32]; + + /* keys binded with internal functions */ + gui_key_bind ( /* RC */ "ctrl-M", "return"); + gui_key_bind ( /* RC */ "ctrl-J", "return"); + gui_key_bind ( /* tab */ "ctrl-I", "tab"); + gui_key_bind ( /* basckp */ "ctrl-H", "backspace"); + gui_key_bind ( /* basckp */ "ctrl-?", "backspace"); + gui_key_bind ( /* del */ "meta2-3~", "delete"); + gui_key_bind ( /* ^K */ "ctrl-K", "delete_end_line"); + gui_key_bind ( /* ^U */ "ctrl-U", "delete_beginning_line"); + gui_key_bind ( /* ^W */ "ctrl-W", "delete_previous_word"); + gui_key_bind ( /* home */ "meta2-1~", "home"); + gui_key_bind ( /* home */ "meta2-H", "home"); + gui_key_bind ( /* home */ "meta2-7~", "home"); + gui_key_bind ( /* ^A */ "ctrl-A", "home"); + gui_key_bind ( /* end */ "meta2-4~", "end"); + gui_key_bind ( /* end */ "meta2-F", "end"); + gui_key_bind ( /* end */ "meta2-8~", "end"); + gui_key_bind ( /* ^E */ "ctrl-E", "end"); + gui_key_bind ( /* left */ "meta2-D", "left"); + gui_key_bind ( /* right */ "meta2-C", "right"); + gui_key_bind ( /* up */ "meta2-A", "up"); + gui_key_bind ( /* down */ "meta2-B", "down"); + gui_key_bind ( /* pgup */ "meta2-5~", "page_up"); + gui_key_bind ( /* pgdn */ "meta2-6~", "page_down"); + gui_key_bind ( /* F10 */ "meta2-21~", "infobar_clear"); + gui_key_bind ( /* F11 */ "meta2-23~", "nick_page_up"); + gui_key_bind ( /* F12 */ "meta2-24~", "nick_page_down"); + gui_key_bind ( /* m-F11 */ "meta-meta2-1~", "nick_beginning"); + gui_key_bind ( /* m-F12 */ "meta-meta2-4~", "nick_end"); + gui_key_bind ( /* ^L */ "ctrl-L", "refresh"); + gui_key_bind ( /* m-a */ "meta-a", "jump_smart"); + gui_key_bind ( /* m-b */ "meta-b", "previous_word"); + gui_key_bind ( /* ^left */ "meta-Od", "previous_word"); + gui_key_bind ( /* m-d */ "meta-d", "delete_next_word"); + gui_key_bind ( /* m-f */ "meta-f", "next_word"); + gui_key_bind ( /* ^right */ "meta-Oc", "next_word"); + gui_key_bind ( /* m-h */ "meta-h", "hotlist_clear"); + gui_key_bind ( /* m-j,m-d */ "meta-jmeta-d", "jump_dcc"); + gui_key_bind ( /* m-r */ "meta-r", "delete_line"); + gui_key_bind ( /* m-s */ "meta-s", "jump_server"); + gui_key_bind ( /* m-x */ "meta-x", "jump_next_server"); + + /* keys binded with commands */ + gui_key_bind ( /* m-left */ "meta-meta2-D", "/buffer -1"); + gui_key_bind ( /* F5 */ "meta2-15~", "/buffer -1"); + gui_key_bind ( /* m-right */ "meta-meta2-C", "/buffer +1"); + gui_key_bind ( /* F6 */ "meta2-17~", "/buffer +1"); + gui_key_bind ( /* F7 */ "meta2-18~", "/window -1"); + gui_key_bind ( /* F8 */ "meta2-19~", "/window +1"); + gui_key_bind ( /* m-0 */ "meta-0", "/buffer 10"); + gui_key_bind ( /* m-1 */ "meta-1", "/buffer 1"); + gui_key_bind ( /* m-2 */ "meta-2", "/buffer 2"); + gui_key_bind ( /* m-3 */ "meta-3", "/buffer 3"); + gui_key_bind ( /* m-4 */ "meta-4", "/buffer 4"); + gui_key_bind ( /* m-5 */ "meta-5", "/buffer 5"); + gui_key_bind ( /* m-6 */ "meta-6", "/buffer 6"); + gui_key_bind ( /* m-7 */ "meta-7", "/buffer 7"); + gui_key_bind ( /* m-8 */ "meta-8", "/buffer 8"); + gui_key_bind ( /* m-9 */ "meta-9", "/buffer 9"); + + /* bind meta-j + {01..99} to switch to buffers # > 10 */ + for (i = 1; i < 100; i++) + { + sprintf (key_str, "meta-j%02d", i); + sprintf (command, "/buffer %d", i); + gui_key_bind (key_str, command); + } +} + +/* + * gui_input_read: read keyboard chars + */ - key = getch (); - if (key != ERR) +void +gui_input_read () +{ + int key, i; + char key_str[32]; + + i = 0; + /* do not loop too much here (for example when big paste was made), + to read also socket & co */ + while (i < 8) { - switch (key) + key = getch (); + + if (key == ERR) + break; + + if (key == KEY_RESIZE) { - /* resize event */ - case KEY_RESIZE: - gui_curses_resize_handler (); - break; - /* inactive function keys */ - case KEY_F(1): - case KEY_F(2): - case KEY_F(3): - case KEY_F(4): - case KEY_F(9): - break; - /* previous buffer in window */ - case KEY_F(5): - gui_switch_to_previous_buffer (gui_current_window); - break; - /* next buffer in window */ - case KEY_F(6): - gui_switch_to_next_buffer (gui_current_window); - break; - /* previous window */ - case KEY_F(7): - gui_switch_to_previous_window (gui_current_window); - break; - /* next window */ - case KEY_F(8): - gui_switch_to_next_window (gui_current_window); - break; - /* remove last infobar message */ - case KEY_F(10): - gui_infobar_remove (); - gui_draw_buffer_infobar (gui_current_window->buffer, 1); - break; - case KEY_F(11): - gui_nick_move_page_up (gui_current_window); - break; - case KEY_F(12): - gui_nick_move_page_down (gui_current_window); - break; - /* cursor up */ - case KEY_UP: - if (gui_current_window->buffer->dcc) - { - if (dcc_list) - { - if (gui_current_window->dcc_selected - && ((t_irc_dcc *)(gui_current_window->dcc_selected))->prev_dcc) - { - if (gui_current_window->dcc_selected == - gui_current_window->dcc_first) - gui_current_window->dcc_first = - ((t_irc_dcc *)(gui_current_window->dcc_first))->prev_dcc; - gui_current_window->dcc_selected = - ((t_irc_dcc *)(gui_current_window->dcc_selected))->prev_dcc; - gui_draw_buffer_chat (gui_current_window->buffer, 1); - gui_draw_buffer_input (gui_current_window->buffer, 1); - } - } - } - else - { - if (gui_current_window->buffer->ptr_history) - { - gui_current_window->buffer->ptr_history = - gui_current_window->buffer->ptr_history->next_history; - if (!gui_current_window->buffer->ptr_history) - gui_current_window->buffer->ptr_history = - gui_current_window->buffer->history; - } - else - gui_current_window->buffer->ptr_history = - gui_current_window->buffer->history; - if (gui_current_window->buffer->ptr_history) - { - gui_current_window->buffer->input_buffer_size = - strlen (gui_current_window->buffer->ptr_history->text); - gui_optimize_input_buffer_size (gui_current_window->buffer); - gui_current_window->buffer->input_buffer_pos = - gui_current_window->buffer->input_buffer_size; - strcpy (gui_current_window->buffer->input_buffer, - gui_current_window->buffer->ptr_history->text); - gui_draw_buffer_input (gui_current_window->buffer, 0); - } - } - break; - /* cursor down */ - case KEY_DOWN: - if (gui_current_window->buffer->dcc) - { - if (dcc_list) - { - if (!gui_current_window->dcc_selected - || ((t_irc_dcc *)(gui_current_window->dcc_selected))->next_dcc) - { - if (gui_current_window->dcc_last_displayed - && (gui_current_window->dcc_selected == - gui_current_window->dcc_last_displayed)) - { - if (gui_current_window->dcc_first) - gui_current_window->dcc_first = - ((t_irc_dcc *)(gui_current_window->dcc_first))->next_dcc; - else - gui_current_window->dcc_first = - dcc_list->next_dcc; - } - if (gui_current_window->dcc_selected) - gui_current_window->dcc_selected = - ((t_irc_dcc *)(gui_current_window->dcc_selected))->next_dcc; - else - gui_current_window->dcc_selected = - dcc_list->next_dcc; - gui_draw_buffer_chat (gui_current_window->buffer, 1); - gui_draw_buffer_input (gui_current_window->buffer, 1); - } - } - } - else - { - if (gui_current_window->buffer->ptr_history) - { - gui_current_window->buffer->ptr_history = - gui_current_window->buffer->ptr_history->prev_history; - if (gui_current_window->buffer->ptr_history) - gui_current_window->buffer->input_buffer_size = - strlen (gui_current_window->buffer->ptr_history->text); - else - gui_current_window->buffer->input_buffer_size = 0; - gui_optimize_input_buffer_size (gui_current_window->buffer); - gui_current_window->buffer->input_buffer_pos = - gui_current_window->buffer->input_buffer_size; - if (gui_current_window->buffer->ptr_history) - strcpy (gui_current_window->buffer->input_buffer, - gui_current_window->buffer->ptr_history->text); - gui_draw_buffer_input (gui_current_window->buffer, 0); - } - } - break; - /* cursor left */ - case KEY_LEFT: - if (!gui_current_window->buffer->dcc) - { - if (gui_current_window->buffer->input_buffer_pos > 0) - { - gui_current_window->buffer->input_buffer_pos--; - gui_draw_buffer_input (gui_current_window->buffer, 0); - } - } - break; - /* cursor right */ - case KEY_RIGHT: - if (!gui_current_window->buffer->dcc) - { - if (gui_current_window->buffer->input_buffer_pos < - gui_current_window->buffer->input_buffer_size) - { - gui_current_window->buffer->input_buffer_pos++; - gui_draw_buffer_input (gui_current_window->buffer, 0); - } - } - break; - /* home key or Control + A */ - case KEY_HOME: - case 0x01: - if (!gui_current_window->buffer->dcc) - { - if (gui_current_window->buffer->input_buffer_pos > 0) - { - gui_current_window->buffer->input_buffer_pos = 0; - gui_draw_buffer_input (gui_current_window->buffer, 0); - } - } - break; - /* end key or Control + E */ - case KEY_END: - case 0x05: - if (!gui_current_window->buffer->dcc) - { - if (gui_current_window->buffer->input_buffer_pos < - gui_current_window->buffer->input_buffer_size) - { - gui_current_window->buffer->input_buffer_pos = - gui_current_window->buffer->input_buffer_size; - gui_draw_buffer_input (gui_current_window->buffer, 0); - } - } - break; - /* page up */ - case KEY_PPAGE: - if (!gui_current_window->buffer->dcc) - gui_move_page_up (gui_current_window); - break; - /* page down */ - case KEY_NPAGE: - if (!gui_current_window->buffer->dcc) - gui_move_page_down (gui_current_window); - break; - /* erase before cursor and move cursor to the left */ - case 127: - case KEY_BACKSPACE: - if (!gui_current_window->buffer->dcc) - { - if (gui_current_window->buffer->input_buffer_pos > 0) - { - i = gui_current_window->buffer->input_buffer_pos-1; - while (gui_current_window->buffer->input_buffer[i]) - { - gui_current_window->buffer->input_buffer[i] = - gui_current_window->buffer->input_buffer[i+1]; - i++; - } - gui_current_window->buffer->input_buffer_size--; - gui_current_window->buffer->input_buffer_pos--; - gui_current_window->buffer->input_buffer[gui_current_window->buffer->input_buffer_size] = '\0'; - gui_draw_buffer_input (gui_current_window->buffer, 0); - gui_optimize_input_buffer_size (gui_current_window->buffer); - gui_current_window->buffer->completion.position = -1; - } - } - break; - /* Control + Backspace or Control + W */ - case 0x08: - case 0x17: - if (!gui_current_window->buffer->dcc) - gui_delete_previous_word (gui_current_window->buffer); - break; - /* Control + L */ - case 0x0C: - gui_curses_resize_handler (); - break; - /* erase char under cursor */ - case KEY_DC: - if (!gui_current_window->buffer->dcc) - { - if (gui_current_window->buffer->input_buffer_pos < - gui_current_window->buffer->input_buffer_size) - { - i = gui_current_window->buffer->input_buffer_pos; - while (gui_current_window->buffer->input_buffer[i]) - { - gui_current_window->buffer->input_buffer[i] = - gui_current_window->buffer->input_buffer[i+1]; - i++; - } - gui_current_window->buffer->input_buffer_size--; - gui_current_window->buffer->input_buffer[gui_current_window->buffer->input_buffer_size] = '\0'; - gui_draw_buffer_input (gui_current_window->buffer, 0); - gui_optimize_input_buffer_size (gui_current_window->buffer); - gui_current_window->buffer->completion.position = -1; - } - } - break; - /* Tab : completion */ - case '\t': - if (!gui_current_window->buffer->dcc) - { - completion_search (&(gui_current_window->buffer->completion), - CHANNEL(gui_current_window->buffer), - gui_current_window->buffer->input_buffer, - gui_current_window->buffer->input_buffer_size, - gui_current_window->buffer->input_buffer_pos); - - if (gui_current_window->buffer->completion.word_found) - { - /* replace word with new completed word into input buffer */ - if (gui_current_window->buffer->completion.diff_size > 0) - { - gui_current_window->buffer->input_buffer_size += - gui_current_window->buffer->completion.diff_size; - gui_optimize_input_buffer_size (gui_current_window->buffer); - gui_current_window->buffer->input_buffer[gui_current_window->buffer->input_buffer_size] = '\0'; - for (i = gui_current_window->buffer->input_buffer_size - 1; - i >= gui_current_window->buffer->completion.position_replace + - (int)strlen (gui_current_window->buffer->completion.word_found); i--) - gui_current_window->buffer->input_buffer[i] = - gui_current_window->buffer->input_buffer[i - - gui_current_window->buffer->completion.diff_size]; - } - else - { - for (i = gui_current_window->buffer->completion.position_replace + - strlen (gui_current_window->buffer->completion.word_found); - i < gui_current_window->buffer->input_buffer_size; i++) - gui_current_window->buffer->input_buffer[i] = - gui_current_window->buffer->input_buffer[i - - gui_current_window->buffer->completion.diff_size]; - gui_current_window->buffer->input_buffer_size += - gui_current_window->buffer->completion.diff_size; - gui_optimize_input_buffer_size (gui_current_window->buffer); - gui_current_window->buffer->input_buffer[gui_current_window->buffer->input_buffer_size] = '\0'; - } - - strncpy (gui_current_window->buffer->input_buffer + gui_current_window->buffer->completion.position_replace, - gui_current_window->buffer->completion.word_found, - strlen (gui_current_window->buffer->completion.word_found)); - gui_current_window->buffer->input_buffer_pos = - gui_current_window->buffer->completion.position_replace + - strlen (gui_current_window->buffer->completion.word_found); - - /* position is < 0 this means only one word was found to complete, - so reinit to stop completion */ - if (gui_current_window->buffer->completion.position >= 0) - gui_current_window->buffer->completion.position = - gui_current_window->buffer->input_buffer_pos; - - /* add space or completor to the end of completion, if needed */ - if ((gui_current_window->buffer->completion.context == COMPLETION_COMMAND) - || (gui_current_window->buffer->completion.context == COMPLETION_COMMAND_ARG)) - { - if (gui_current_window->buffer->input_buffer[gui_current_window->buffer->input_buffer_pos] != ' ') - gui_buffer_insert_string (gui_current_window->buffer, - " ", - gui_current_window->buffer->input_buffer_pos); - if (gui_current_window->buffer->completion.position >= 0) - gui_current_window->buffer->completion.position++; - gui_current_window->buffer->input_buffer_pos++; - } - else - { - /* add nick completor if position 0 and completing nick */ - if ((gui_current_window->buffer->completion.base_word_pos == 0) - && (gui_current_window->buffer->completion.context == COMPLETION_NICK)) - { - if (strncmp (gui_current_window->buffer->input_buffer + gui_current_window->buffer->input_buffer_pos, - cfg_look_completor, strlen (cfg_look_completor)) != 0) - gui_buffer_insert_string (gui_current_window->buffer, - cfg_look_completor, - gui_current_window->buffer->input_buffer_pos); - if (gui_current_window->buffer->completion.position >= 0) - gui_current_window->buffer->completion.position += strlen (cfg_look_completor); - gui_current_window->buffer->input_buffer_pos += strlen (cfg_look_completor); - if (gui_current_window->buffer->input_buffer[gui_current_window->buffer->input_buffer_pos] != ' ') - gui_buffer_insert_string (gui_current_window->buffer, - " ", - gui_current_window->buffer->input_buffer_pos); - if (gui_current_window->buffer->completion.position >= 0) - gui_current_window->buffer->completion.position++; - gui_current_window->buffer->input_buffer_pos++; - } - } - gui_draw_buffer_input (gui_current_window->buffer, 0); - } - } - break; - /* escape code (for control-key) */ - case KEY_ESCAPE: - if ((key = getch()) != ERR) - { - /*gui_printf (gui_current_window->buffer, - "[Debug] key pressed = %d, hex = %02X, octal = %o\n", key, key, key);*/ - switch (key) - { - /* Alt + left arrow */ - case KEY_LEFT: - gui_switch_to_previous_buffer (gui_current_window); - break; - /* Alt + right arrow */ - case KEY_RIGHT: - gui_switch_to_next_buffer (gui_current_window); - break; - /* Alt + home */ - case KEY_HOME: - gui_nick_move_beginning (gui_current_window); - break; - /* Alt + end */ - case KEY_END: - gui_nick_move_end (gui_current_window); - break; - /* Alt + page up */ - case KEY_PPAGE: - gui_nick_move_page_up (gui_current_window); - break; - /* Alt + page down */ - case KEY_NPAGE: - gui_nick_move_page_down (gui_current_window); - break; - case 79: - /* TODO: replace 79 by constant name! */ - if ((key = getch()) != ERR) - { - switch (key) - { - /* Control + Right */ - case 99: - if (!gui_current_window->buffer->dcc) - gui_move_next_word (gui_current_window->buffer); - break; - /* Control + Left */ - case 100: - if (!gui_current_window->buffer->dcc) - gui_move_previous_word (gui_current_window->buffer); - break; - } - } - break; - /* Alt-number: jump to window by number */ - case 48: /* Alt-0 */ - case 49: /* Alt-1 */ - case 50: /* Alt-2 */ - case 51: /* Alt-3 */ - case 52: /* Alt-4 */ - case 53: /* Alt-5 */ - case 54: /* Alt-6 */ - case 55: /* Alt-7 */ - case 56: /* Alt-8 */ - case 57: /* Alt-9 */ - gui_switch_to_buffer_by_number (gui_current_window, (key == 48) ? 10 : key - 48); - break; - /* Alt-A: jump to buffer with activity */ - case 'a': - case 'A': - if (hotlist) - { - if (!hotlist_initial_buffer) - hotlist_initial_buffer = gui_current_window->buffer; - gui_switch_to_buffer (gui_current_window, hotlist->buffer); - gui_redraw_buffer (gui_current_window->buffer); - } - else - { - if (hotlist_initial_buffer) - { - gui_switch_to_buffer (gui_current_window, hotlist_initial_buffer); - gui_redraw_buffer (gui_current_window->buffer); - hotlist_initial_buffer = NULL; - } - } - break; - /* Alt-D: jump to DCC buffer */ - case 'd': - case 'D': - if (gui_current_window->buffer->dcc) - { - if (buffer_before_dcc) - { - gui_switch_to_buffer (gui_current_window, - buffer_before_dcc); - gui_redraw_buffer (gui_current_window->buffer); - } - } - else - { - buffer_before_dcc = gui_current_window->buffer; - gui_switch_to_dcc_buffer (); - } - break; - /* Alt-R: clear hotlist */ - case 'r': - case 'R': - if (hotlist) - { - hotlist_free_all (); - gui_redraw_buffer (gui_current_window->buffer); - } - hotlist_initial_buffer = gui_current_window->buffer; - break; - /* Alt-S: jump to server buffer */ - case 's': - case 'S': - if (!gui_current_window->buffer->dcc) - { - if (SERVER(gui_current_window->buffer)->buffer != - gui_current_window->buffer) - { - gui_switch_to_buffer (gui_current_window, - SERVER(gui_current_window->buffer)->buffer); - gui_redraw_buffer (gui_current_window->buffer); - } - } - break; - /* Alt-X: jump to first channel/private of next server */ - case 'x': - case 'X': - if (!gui_current_window->buffer->dcc) - { - ptr_server = SERVER(gui_current_window->buffer)->next_server; - if (!ptr_server) - ptr_server = irc_servers; - while (ptr_server != SERVER(gui_current_window->buffer)) - { - if (ptr_server->buffer) - break; - ptr_server = (ptr_server->next_server) ? - ptr_server->next_server : irc_servers; - } - if (ptr_server != SERVER(gui_current_window->buffer)) - { - ptr_buffer = (ptr_server->channels) ? - ptr_server->channels->buffer : ptr_server->buffer; - gui_switch_to_buffer (gui_current_window, ptr_buffer); - gui_redraw_buffer (gui_current_window->buffer); - } - } - break; - } - } - break; - /* send command/message */ - case '\n': - if (!gui_current_window->buffer->dcc) - { - if (gui_current_window->buffer->input_buffer_size > 0) - { - gui_current_window->buffer->input_buffer[gui_current_window->buffer->input_buffer_size] = '\0'; - history_add (gui_current_window->buffer, gui_current_window->buffer->input_buffer); - gui_current_window->buffer->input_buffer_size = 0; - gui_current_window->buffer->input_buffer_pos = 0; - gui_current_window->buffer->input_buffer_1st_display = 0; - gui_current_window->buffer->completion.position = -1; - gui_current_window->buffer->ptr_history = NULL; - ptr_buffer = gui_current_window->buffer; - user_command (SERVER(gui_current_window->buffer), - gui_current_window->buffer, - gui_current_window->buffer->input_buffer); - if (ptr_buffer == gui_current_window->buffer) - { - ptr_buffer->input_buffer[0] = '\0'; - gui_draw_buffer_input (ptr_buffer, 0); - } - } - } - break; - /* other key => add to input buffer */ - default: - if (gui_current_window->buffer->dcc) - { - dcc_selected = (gui_current_window->dcc_selected) ? - (t_irc_dcc *) gui_current_window->dcc_selected : dcc_list; - switch (key) - { - /* accept DCC */ - case 'a': - case 'A': - if (dcc_selected - && (DCC_IS_RECV(dcc_selected->status)) - && (dcc_selected->status == DCC_WAITING)) - { - dcc_accept (dcc_selected); - } - break; - /* cancel DCC */ - case 'c': - case 'C': - if (dcc_selected - && (!DCC_ENDED(dcc_selected->status))) - { - dcc_close (dcc_selected, DCC_ABORTED); - gui_redraw_buffer (gui_current_window->buffer); - } - break; - /* purge old DCC */ - case 'p': - case 'P': - gui_current_window->dcc_selected = NULL; - ptr_dcc = dcc_list; - while (ptr_dcc) - { - ptr_dcc_next = ptr_dcc->next_dcc; - if (DCC_ENDED(ptr_dcc->status)) - dcc_free (ptr_dcc); - ptr_dcc = ptr_dcc_next; - } - gui_redraw_buffer (gui_current_window->buffer); - break; - /* close DCC window */ - case 'q': - case 'Q': - if (buffer_before_dcc) - { - gui_buffer_free (gui_current_window->buffer, 1); - gui_switch_to_buffer (gui_current_window, - buffer_before_dcc); - } - else - gui_buffer_free (gui_current_window->buffer, 1); - gui_redraw_buffer (gui_current_window->buffer); - break; - /* remove from DCC list */ - case 'r': - case 'R': - if (dcc_selected - && (DCC_ENDED(dcc_selected->status))) - { - if (dcc_selected->next_dcc) - gui_current_window->dcc_selected = dcc_selected->next_dcc; - else - gui_current_window->dcc_selected = NULL; - dcc_free (dcc_selected); - gui_redraw_buffer (gui_current_window->buffer); - } - break; - } - } - else - { - /*gui_printf (gui_current_window->buffer, - "[Debug] key pressed = %d, hex = %02X, octal = %o\n", key, key, key);*/ - new_char[0] = key; - new_char[1] = '\0'; - decoded_string = NULL; - - /* UTF-8 input */ - if (key == 0xC3) - { - if ((key = getch()) != ERR) - { - new_char[1] = key; - new_char[2] = '\0'; - decoded_string = weechat_convert_encoding (local_charset, cfg_look_charset_internal, new_char); - } - } - - gui_buffer_insert_string (gui_current_window->buffer, - (decoded_string) ? decoded_string : new_char, - gui_current_window->buffer->input_buffer_pos); - gui_current_window->buffer->input_buffer_pos++; - gui_draw_buffer_input (gui_current_window->buffer, 0); - gui_current_window->buffer->completion.position = -1; - - if (decoded_string) - free (decoded_string); - } - break; + gui_curses_resize_handler (); + continue; + } + + if (key < 32) + { + key_str[0] = '^'; + key_str[1] = (char) key + '@'; + key_str[2] = '\0'; + } + else if (key == 127) + { + key_str[0] = '^'; + key_str[1] = '?'; + key_str[2] = '\0'; + } + else + { + if (key > 0xff) + { + key_str[0] = (char) (key >> 8); + key_str[1] = (char) (key & 0xff); + key_str[2] = '\0'; + } + else + { + key_str[0] = (char) key; + key_str[1] = '\0'; + } } + + if (strcmp (key_str, "^") == 0) + { + key_str[1] = '^'; + key_str[2] = '\0'; + } + + /*gui_printf (gui_current_window->buffer, "gui_input_read: key = %s (%d)\n", key_str, key);*/ + + if (gui_key_pressed (key_str) != 0) + gui_input_insert_char (key); + + i++; } } @@ -723,6 +225,14 @@ gui_main_loop () { old_sec = local_time->tm_sec; + if (cfg_look_infobar_seconds) + { + gui_draw_buffer_infobar_time (gui_current_window->buffer); + wmove (gui_current_window->win_input, + 0, gui_current_window->win_input_x); + wrefresh (gui_current_window->win_input); + } + /* infobar count down */ if (gui_infobar && gui_infobar->remaining_time > 0) { @@ -807,7 +317,7 @@ gui_main_loop () { if (FD_ISSET (STDIN_FILENO, &read_fd)) { - gui_read_keyb (); + gui_input_read (); } if ((weechat_fifo != -1) && (FD_ISSET (weechat_fifo, &read_fd))) { diff --git a/weechat/src/gui/gui-common.c b/weechat/src/gui/gui-common.c index fb1446c86..f3fb838fe 100644 --- a/weechat/src/gui/gui-common.c +++ b/weechat/src/gui/gui-common.c @@ -34,6 +34,7 @@ #include "../common/weechat.h" #include "gui.h" +#include "../common/command.h" #include "../common/weeconfig.h" #include "../common/hotlist.h" #include "../common/log.h" @@ -89,6 +90,8 @@ gui_window_new (int x, int y, int width, int height) new_window->win_nick_height = 0; new_window->win_nick_start = 0; + new_window->win_input_x = 0; + new_window->win_title = NULL; new_window->win_chat = NULL; new_window->win_nick = NULL; @@ -552,12 +555,12 @@ gui_new_message (t_gui_buffer *buffer) } /* - * gui_optimize_input_buffer_size: optimize input buffer size by adding + * gui_input_optimize_buffer_size: optimize input buffer size by adding * or deleting data block (predefined size) */ void -gui_optimize_input_buffer_size (t_gui_buffer *buffer) +gui_input_optimize_buffer_size (t_gui_buffer *buffer) { int optimal_size; @@ -571,29 +574,343 @@ gui_optimize_input_buffer_size (t_gui_buffer *buffer) } /* - * gui_delete_previous_word: delete previous word + * gui_input_insert_string: insert a string into the input buffer + */ + +void +gui_input_insert_string (char *string, int pos) +{ + int i, start, end, length; + + length = strlen (string); + + /* increase buffer size */ + gui_current_window->buffer->input_buffer_size += length; + gui_input_optimize_buffer_size (gui_current_window->buffer); + gui_current_window->buffer->input_buffer[gui_current_window->buffer->input_buffer_size] = '\0'; + + /* move end of string to the right */ + start = pos + length; + end = gui_current_window->buffer->input_buffer_size - 1; + for (i = end; i >= start; i--) + gui_current_window->buffer->input_buffer[i] = + gui_current_window->buffer->input_buffer[i - length]; + + /* insert new string */ + strncpy (gui_current_window->buffer->input_buffer + pos, string, length); +} + +/* + * gui_input_insert_char: insert a char into input buffer + */ + +void +gui_input_insert_char (int key) +{ + char new_char[3]; + t_irc_dcc *dcc_selected, *ptr_dcc, *ptr_dcc_next; + + if (key < 32) + return; + + if (gui_current_window->buffer->dcc) + { + dcc_selected = (gui_current_window->dcc_selected) ? + (t_irc_dcc *) gui_current_window->dcc_selected : dcc_list; + switch (key) + { + /* accept DCC */ + case 'a': + case 'A': + if (dcc_selected + && (DCC_IS_RECV(dcc_selected->status)) + && (dcc_selected->status == DCC_WAITING)) + { + dcc_accept (dcc_selected); + } + break; + /* cancel DCC */ + case 'c': + case 'C': + if (dcc_selected + && (!DCC_ENDED(dcc_selected->status))) + { + dcc_close (dcc_selected, DCC_ABORTED); + gui_redraw_buffer (gui_current_window->buffer); + } + break; + /* purge old DCC */ + case 'p': + case 'P': + gui_current_window->dcc_selected = NULL; + ptr_dcc = dcc_list; + while (ptr_dcc) + { + ptr_dcc_next = ptr_dcc->next_dcc; + if (DCC_ENDED(ptr_dcc->status)) + dcc_free (ptr_dcc); + ptr_dcc = ptr_dcc_next; + } + gui_redraw_buffer (gui_current_window->buffer); + break; + /* close DCC window */ + case 'q': + case 'Q': + if (buffer_before_dcc) + { + gui_buffer_free (gui_current_window->buffer, 1); + gui_switch_to_buffer (gui_current_window, + buffer_before_dcc); + } + else + gui_buffer_free (gui_current_window->buffer, 1); + gui_redraw_buffer (gui_current_window->buffer); + break; + /* remove from DCC list */ + case 'r': + case 'R': + if (dcc_selected + && (DCC_ENDED(dcc_selected->status))) + { + if (dcc_selected->next_dcc) + gui_current_window->dcc_selected = dcc_selected->next_dcc; + else + gui_current_window->dcc_selected = NULL; + dcc_free (dcc_selected); + gui_redraw_buffer (gui_current_window->buffer); + } + break; + } + } + else + { + /*gui_printf (gui_current_window->buffer, + "[Debug] key pressed = %d, hex = %02X, octal = %o\n", key, key, key);*/ + new_char[0] = key; + new_char[1] = '\0'; + + gui_input_insert_string (new_char, + gui_current_window->buffer->input_buffer_pos); + gui_current_window->buffer->input_buffer_pos++; + gui_draw_buffer_input (gui_current_window->buffer, 0); + gui_current_window->buffer->completion.position = -1; + } +} + +/* + * gui_input_return: terminate line (return pressed) + */ + +void +gui_input_return () +{ + t_gui_buffer *ptr_buffer; + + if (!gui_current_window->buffer->dcc) + { + if (gui_current_window->buffer->input_buffer_size > 0) + { + gui_current_window->buffer->input_buffer[gui_current_window->buffer->input_buffer_size] = '\0'; + history_add (gui_current_window->buffer, gui_current_window->buffer->input_buffer); + gui_current_window->buffer->input_buffer_size = 0; + gui_current_window->buffer->input_buffer_pos = 0; + gui_current_window->buffer->input_buffer_1st_display = 0; + gui_current_window->buffer->completion.position = -1; + gui_current_window->buffer->ptr_history = NULL; + ptr_buffer = gui_current_window->buffer; + user_command (SERVER(gui_current_window->buffer), + gui_current_window->buffer, + gui_current_window->buffer->input_buffer); + if (ptr_buffer == gui_current_window->buffer) + { + ptr_buffer->input_buffer[0] = '\0'; + gui_draw_buffer_input (ptr_buffer, 0); + } + } + } +} + +/* + * gui_input_tab: tab key => completion + */ + +void +gui_input_tab () +{ + int i; + + if (!gui_current_window->buffer->dcc) + { + completion_search (&(gui_current_window->buffer->completion), + CHANNEL(gui_current_window->buffer), + gui_current_window->buffer->input_buffer, + gui_current_window->buffer->input_buffer_size, + gui_current_window->buffer->input_buffer_pos); + + if (gui_current_window->buffer->completion.word_found) + { + /* replace word with new completed word into input buffer */ + if (gui_current_window->buffer->completion.diff_size > 0) + { + gui_current_window->buffer->input_buffer_size += + gui_current_window->buffer->completion.diff_size; + gui_input_optimize_buffer_size (gui_current_window->buffer); + gui_current_window->buffer->input_buffer[gui_current_window->buffer->input_buffer_size] = '\0'; + for (i = gui_current_window->buffer->input_buffer_size - 1; + i >= gui_current_window->buffer->completion.position_replace + + (int)strlen (gui_current_window->buffer->completion.word_found); i--) + gui_current_window->buffer->input_buffer[i] = + gui_current_window->buffer->input_buffer[i - + gui_current_window->buffer->completion.diff_size]; + } + else + { + for (i = gui_current_window->buffer->completion.position_replace + + strlen (gui_current_window->buffer->completion.word_found); + i < gui_current_window->buffer->input_buffer_size; i++) + gui_current_window->buffer->input_buffer[i] = + gui_current_window->buffer->input_buffer[i - + gui_current_window->buffer->completion.diff_size]; + gui_current_window->buffer->input_buffer_size += + gui_current_window->buffer->completion.diff_size; + gui_input_optimize_buffer_size (gui_current_window->buffer); + gui_current_window->buffer->input_buffer[gui_current_window->buffer->input_buffer_size] = '\0'; + } + + strncpy (gui_current_window->buffer->input_buffer + gui_current_window->buffer->completion.position_replace, + gui_current_window->buffer->completion.word_found, + strlen (gui_current_window->buffer->completion.word_found)); + gui_current_window->buffer->input_buffer_pos = + gui_current_window->buffer->completion.position_replace + + strlen (gui_current_window->buffer->completion.word_found); + + /* position is < 0 this means only one word was found to complete, + so reinit to stop completion */ + if (gui_current_window->buffer->completion.position >= 0) + gui_current_window->buffer->completion.position = + gui_current_window->buffer->input_buffer_pos; + + /* add space or completor to the end of completion, if needed */ + if ((gui_current_window->buffer->completion.context == COMPLETION_COMMAND) + || (gui_current_window->buffer->completion.context == COMPLETION_COMMAND_ARG)) + { + if (gui_current_window->buffer->input_buffer[gui_current_window->buffer->input_buffer_pos] != ' ') + gui_input_insert_string (" ", + gui_current_window->buffer->input_buffer_pos); + if (gui_current_window->buffer->completion.position >= 0) + gui_current_window->buffer->completion.position++; + gui_current_window->buffer->input_buffer_pos++; + } + else + { + /* add nick completor if position 0 and completing nick */ + if ((gui_current_window->buffer->completion.base_word_pos == 0) + && (gui_current_window->buffer->completion.context == COMPLETION_NICK)) + { + if (strncmp (gui_current_window->buffer->input_buffer + gui_current_window->buffer->input_buffer_pos, + cfg_look_completor, strlen (cfg_look_completor)) != 0) + gui_input_insert_string (cfg_look_completor, + gui_current_window->buffer->input_buffer_pos); + if (gui_current_window->buffer->completion.position >= 0) + gui_current_window->buffer->completion.position += strlen (cfg_look_completor); + gui_current_window->buffer->input_buffer_pos += strlen (cfg_look_completor); + if (gui_current_window->buffer->input_buffer[gui_current_window->buffer->input_buffer_pos] != ' ') + gui_input_insert_string (" ", + gui_current_window->buffer->input_buffer_pos); + if (gui_current_window->buffer->completion.position >= 0) + gui_current_window->buffer->completion.position++; + gui_current_window->buffer->input_buffer_pos++; + } + } + gui_draw_buffer_input (gui_current_window->buffer, 0); + } + } +} + +/* + * gui_input_backspace: backspace key */ void -gui_delete_previous_word (t_gui_buffer *buffer) +gui_input_backspace () +{ + int i; + + if (!gui_current_window->buffer->dcc) + { + if (gui_current_window->buffer->input_buffer_pos > 0) + { + i = gui_current_window->buffer->input_buffer_pos-1; + while (gui_current_window->buffer->input_buffer[i]) + { + gui_current_window->buffer->input_buffer[i] = + gui_current_window->buffer->input_buffer[i+1]; + i++; + } + gui_current_window->buffer->input_buffer_size--; + gui_current_window->buffer->input_buffer_pos--; + gui_current_window->buffer->input_buffer[gui_current_window->buffer->input_buffer_size] = '\0'; + gui_draw_buffer_input (gui_current_window->buffer, 0); + gui_input_optimize_buffer_size (gui_current_window->buffer); + gui_current_window->buffer->completion.position = -1; + } + } +} + +/* + * gui_input_delete: delete key + */ + +void +gui_input_delete () +{ + int i; + + if (!gui_current_window->buffer->dcc) + { + if (gui_current_window->buffer->input_buffer_pos < + gui_current_window->buffer->input_buffer_size) + { + i = gui_current_window->buffer->input_buffer_pos; + while (gui_current_window->buffer->input_buffer[i]) + { + gui_current_window->buffer->input_buffer[i] = + gui_current_window->buffer->input_buffer[i+1]; + i++; + } + gui_current_window->buffer->input_buffer_size--; + gui_current_window->buffer->input_buffer[gui_current_window->buffer->input_buffer_size] = '\0'; + gui_draw_buffer_input (gui_current_window->buffer, 0); + gui_input_optimize_buffer_size (gui_current_window->buffer); + gui_current_window->buffer->completion.position = -1; + } + } +} + +/* + * gui_input_delete_previous_word: delete previous word + */ + +void +gui_input_delete_previous_word () { int i, j, num_char_deleted, num_char_end; - if (buffer->input_buffer_pos > 0) + if (gui_current_window->buffer->input_buffer_pos > 0) { - i = buffer->input_buffer_pos - 1; + i = gui_current_window->buffer->input_buffer_pos - 1; while ((i >= 0) && - (buffer->input_buffer[i] == ' ')) + (gui_current_window->buffer->input_buffer[i] == ' ')) i--; if (i >= 0) { while ((i >= 0) && - (buffer->input_buffer[i] != ' ')) + (gui_current_window->buffer->input_buffer[i] != ' ')) i--; if (i >= 0) { while ((i >= 0) && - (buffer->input_buffer[i] == ' ')) + (gui_current_window->buffer->input_buffer[i] == ' ')) i--; } } @@ -601,110 +918,554 @@ gui_delete_previous_word (t_gui_buffer *buffer) if (i >= 0) i++; i++; - num_char_deleted = buffer->input_buffer_pos - i; - num_char_end = buffer->input_buffer_size - - buffer->input_buffer_pos; + num_char_deleted = gui_current_window->buffer->input_buffer_pos - i; + num_char_end = gui_current_window->buffer->input_buffer_size - + gui_current_window->buffer->input_buffer_pos; for (j = 0; j < num_char_end; j++) - buffer->input_buffer[i + j] = - buffer->input_buffer[buffer->input_buffer_pos + j]; + gui_current_window->buffer->input_buffer[i + j] = + gui_current_window->buffer->input_buffer[gui_current_window->buffer->input_buffer_pos + j]; - buffer->input_buffer_size -= num_char_deleted; - buffer->input_buffer[buffer->input_buffer_size] = '\0'; - buffer->input_buffer_pos = i; - gui_draw_buffer_input (buffer, 0); - gui_optimize_input_buffer_size (buffer); - buffer->completion.position = -1; + gui_current_window->buffer->input_buffer_size -= num_char_deleted; + gui_current_window->buffer->input_buffer[gui_current_window->buffer->input_buffer_size] = '\0'; + gui_current_window->buffer->input_buffer_pos = i; + gui_draw_buffer_input (gui_current_window->buffer, 0); + gui_input_optimize_buffer_size (gui_current_window->buffer); + gui_current_window->buffer->completion.position = -1; + } +} + +/* + * gui_input_delete_next_word: delete next word + */ + +void +gui_input_delete_next_word () +{ + int i, j, num_char_deleted; + + i = gui_current_window->buffer->input_buffer_pos; + while (i < gui_current_window->buffer->input_buffer_size) + { + if ((gui_current_window->buffer->input_buffer[i] == ' ') + && i != gui_current_window->buffer->input_buffer_pos) + break; + i++; + } + num_char_deleted = i - gui_current_window->buffer->input_buffer_pos; + + for (j = i; j < gui_current_window->buffer->input_buffer_size; j++) + gui_current_window->buffer->input_buffer[j - num_char_deleted] = + gui_current_window->buffer->input_buffer[j]; + + gui_current_window->buffer->input_buffer_size -= num_char_deleted; + gui_current_window->buffer->input_buffer[gui_current_window->buffer->input_buffer_size] = '\0'; + gui_draw_buffer_input (gui_current_window->buffer, 0); + gui_input_optimize_buffer_size (gui_current_window->buffer); + gui_current_window->buffer->completion.position = -1; +} + +/* + * gui_input_delete_begin_of_line: delete all from cursor pos to beginning of line + */ + +void +gui_input_delete_begin_of_line () +{ + int i; + + for (i = gui_current_window->buffer->input_buffer_pos; + i < gui_current_window->buffer->input_buffer_size; i++) + gui_current_window->buffer->input_buffer[i - gui_current_window->buffer->input_buffer_pos] = + gui_current_window->buffer->input_buffer[i]; + + gui_current_window->buffer->input_buffer_size -= + gui_current_window->buffer->input_buffer_pos; + gui_current_window->buffer->input_buffer[gui_current_window->buffer->input_buffer_size] = '\0'; + gui_current_window->buffer->input_buffer_pos = 0; + gui_draw_buffer_input (gui_current_window->buffer, 0); + gui_input_optimize_buffer_size (gui_current_window->buffer); + gui_current_window->buffer->completion.position = -1; +} + +/* + * gui_input_delete_end_of_line: delete all from cursor pos to end of line + */ + +void +gui_input_delete_end_of_line () +{ + gui_current_window->buffer->input_buffer[gui_current_window->buffer->input_buffer_pos] = ' '; + gui_current_window->buffer->input_buffer_size = gui_current_window->buffer->input_buffer_pos ; + gui_current_window->buffer->input_buffer[gui_current_window->buffer->input_buffer_size] = '\0'; + gui_draw_buffer_input (gui_current_window->buffer, 0); + gui_input_optimize_buffer_size (gui_current_window->buffer); + gui_current_window->buffer->completion.position = -1; +} + +/* + * gui_input_delete_line: delete entire line + */ + +void +gui_input_delete_line () +{ + gui_current_window->buffer->input_buffer[0] = '\0'; + gui_current_window->buffer->input_buffer_size = 0; + gui_current_window->buffer->input_buffer_pos = 0; + gui_draw_buffer_input (gui_current_window->buffer, 0); + gui_input_optimize_buffer_size (gui_current_window->buffer); + gui_current_window->buffer->completion.position = -1; +} + +/* + * gui_input_home: home key + */ + +void +gui_input_home () +{ + if (!gui_current_window->buffer->dcc) + { + if (gui_current_window->buffer->input_buffer_pos > 0) + { + gui_current_window->buffer->input_buffer_pos = 0; + gui_draw_buffer_input (gui_current_window->buffer, 0); + } + } +} + +/* + * gui_input_end: end key + */ + +void +gui_input_end () +{ + if (!gui_current_window->buffer->dcc) + { + if (gui_current_window->buffer->input_buffer_pos < + gui_current_window->buffer->input_buffer_size) + { + gui_current_window->buffer->input_buffer_pos = + gui_current_window->buffer->input_buffer_size; + gui_draw_buffer_input (gui_current_window->buffer, 0); + } + } +} + +/* + * gui_input_left: move to previous char + */ + +void +gui_input_left () +{ + if (!gui_current_window->buffer->dcc) + { + if (gui_current_window->buffer->input_buffer_pos > 0) + { + gui_current_window->buffer->input_buffer_pos--; + gui_draw_buffer_input (gui_current_window->buffer, 0); + } } } /* - * gui_move_previous_word: move to beginning of previous word + * gui_input_previous_word: move to beginning of previous word */ void -gui_move_previous_word (t_gui_buffer *buffer) +gui_input_previous_word () { int i; - if (buffer->input_buffer_pos > 0) + if (gui_current_window->buffer->input_buffer_pos > 0) { - i = buffer->input_buffer_pos - 1; + i = gui_current_window->buffer->input_buffer_pos - 1; while ((i >= 0) && - (buffer->input_buffer[i] == ' ')) + (gui_current_window->buffer->input_buffer[i] == ' ')) i--; if (i < 0) - buffer->input_buffer_pos = 0; + gui_current_window->buffer->input_buffer_pos = 0; else { while ((i >= 0) && - (buffer->input_buffer[i] != ' ')) + (gui_current_window->buffer->input_buffer[i] != ' ')) i--; - buffer->input_buffer_pos = i + 1; + gui_current_window->buffer->input_buffer_pos = i + 1; + } + gui_draw_buffer_input (gui_current_window->buffer, 0); + } +} + +/* + * gui_input_right: move to previous char + */ + +void +gui_input_right () +{ + if (!gui_current_window->buffer->dcc) + { + if (gui_current_window->buffer->input_buffer_pos < + gui_current_window->buffer->input_buffer_size) + { + gui_current_window->buffer->input_buffer_pos++; + gui_draw_buffer_input (gui_current_window->buffer, 0); } - gui_draw_buffer_input (buffer, 0); } } /* - * gui_move_next_word: move to the end of next + * gui_input_next_word: move to the end of next */ void -gui_move_next_word (t_gui_buffer *buffer) +gui_input_next_word () { int i; - if (buffer->input_buffer_pos < - buffer->input_buffer_size + 1) + if (gui_current_window->buffer->input_buffer_pos < + gui_current_window->buffer->input_buffer_size + 1) { - i = buffer->input_buffer_pos; - while ((i <= buffer->input_buffer_size) && - (buffer->input_buffer[i] == ' ')) + i = gui_current_window->buffer->input_buffer_pos; + while ((i <= gui_current_window->buffer->input_buffer_size) && + (gui_current_window->buffer->input_buffer[i] == ' ')) i++; - if (i > buffer->input_buffer_size) - buffer->input_buffer_pos = i - 1; + if (i > gui_current_window->buffer->input_buffer_size) + gui_current_window->buffer->input_buffer_pos = i - 1; else { - while ((i <= buffer->input_buffer_size) && - (buffer->input_buffer[i] != ' ')) + while ((i <= gui_current_window->buffer->input_buffer_size) && + (gui_current_window->buffer->input_buffer[i] != ' ')) i++; - if (i > buffer->input_buffer_size) - buffer->input_buffer_pos = - buffer->input_buffer_size; + if (i > gui_current_window->buffer->input_buffer_size) + gui_current_window->buffer->input_buffer_pos = + gui_current_window->buffer->input_buffer_size; else - buffer->input_buffer_pos = i; + gui_current_window->buffer->input_buffer_pos = i; } - gui_draw_buffer_input (buffer, 0); + gui_draw_buffer_input (gui_current_window->buffer, 0); } } /* - * gui_buffer_insert_string: insert a string into the input buffer + * gui_input_up: recall last command or move to previous DCC in list */ void -gui_buffer_insert_string (t_gui_buffer *buffer, char *string, int pos) +gui_input_up () { - int i, start, end, length; + if (gui_current_window->buffer->dcc) + { + if (dcc_list) + { + if (gui_current_window->dcc_selected + && ((t_irc_dcc *)(gui_current_window->dcc_selected))->prev_dcc) + { + if (gui_current_window->dcc_selected == + gui_current_window->dcc_first) + gui_current_window->dcc_first = + ((t_irc_dcc *)(gui_current_window->dcc_first))->prev_dcc; + gui_current_window->dcc_selected = + ((t_irc_dcc *)(gui_current_window->dcc_selected))->prev_dcc; + gui_draw_buffer_chat (gui_current_window->buffer, 1); + gui_draw_buffer_input (gui_current_window->buffer, 1); + } + } + } + else + { + if (gui_current_window->buffer->ptr_history) + { + gui_current_window->buffer->ptr_history = + gui_current_window->buffer->ptr_history->next_history; + if (!gui_current_window->buffer->ptr_history) + gui_current_window->buffer->ptr_history = + gui_current_window->buffer->history; + } + else + gui_current_window->buffer->ptr_history = + gui_current_window->buffer->history; + if (gui_current_window->buffer->ptr_history) + { + gui_current_window->buffer->input_buffer_size = + strlen (gui_current_window->buffer->ptr_history->text); + gui_input_optimize_buffer_size (gui_current_window->buffer); + gui_current_window->buffer->input_buffer_pos = + gui_current_window->buffer->input_buffer_size; + strcpy (gui_current_window->buffer->input_buffer, + gui_current_window->buffer->ptr_history->text); + gui_draw_buffer_input (gui_current_window->buffer, 0); + } + } +} + +/* + * gui_input_down: recall next command or move to next DCC in list + */ + +void +gui_input_down () +{ + if (gui_current_window->buffer->dcc) + { + if (dcc_list) + { + if (!gui_current_window->dcc_selected + || ((t_irc_dcc *)(gui_current_window->dcc_selected))->next_dcc) + { + if (gui_current_window->dcc_last_displayed + && (gui_current_window->dcc_selected == + gui_current_window->dcc_last_displayed)) + { + if (gui_current_window->dcc_first) + gui_current_window->dcc_first = + ((t_irc_dcc *)(gui_current_window->dcc_first))->next_dcc; + else + gui_current_window->dcc_first = + dcc_list->next_dcc; + } + if (gui_current_window->dcc_selected) + gui_current_window->dcc_selected = + ((t_irc_dcc *)(gui_current_window->dcc_selected))->next_dcc; + else + gui_current_window->dcc_selected = + dcc_list->next_dcc; + gui_draw_buffer_chat (gui_current_window->buffer, 1); + gui_draw_buffer_input (gui_current_window->buffer, 1); + } + } + } + else + { + if (gui_current_window->buffer->ptr_history) + { + gui_current_window->buffer->ptr_history = + gui_current_window->buffer->ptr_history->prev_history; + if (gui_current_window->buffer->ptr_history) + gui_current_window->buffer->input_buffer_size = + strlen (gui_current_window->buffer->ptr_history->text); + else + gui_current_window->buffer->input_buffer_size = 0; + gui_input_optimize_buffer_size (gui_current_window->buffer); + gui_current_window->buffer->input_buffer_pos = + gui_current_window->buffer->input_buffer_size; + if (gui_current_window->buffer->ptr_history) + strcpy (gui_current_window->buffer->input_buffer, + gui_current_window->buffer->ptr_history->text); + gui_draw_buffer_input (gui_current_window->buffer, 0); + } + } +} + +/* + * gui_input_jump_smart: jump to buffer with activity (alt-A by default) + */ + +void +gui_input_jump_smart () +{ + if (hotlist) + { + if (!hotlist_initial_buffer) + hotlist_initial_buffer = gui_current_window->buffer; + gui_switch_to_buffer (gui_current_window, hotlist->buffer); + gui_redraw_buffer (gui_current_window->buffer); + } + else + { + if (hotlist_initial_buffer) + { + gui_switch_to_buffer (gui_current_window, hotlist_initial_buffer); + gui_redraw_buffer (gui_current_window->buffer); + hotlist_initial_buffer = NULL; + } + } +} + +/* + * gui_input_jump_dcc: jump to DCC buffer + */ + +void +gui_input_jump_dcc () +{ + if (gui_current_window->buffer->dcc) + { + if (buffer_before_dcc) + { + gui_switch_to_buffer (gui_current_window, + buffer_before_dcc); + gui_redraw_buffer (gui_current_window->buffer); + } + } + else + { + buffer_before_dcc = gui_current_window->buffer; + gui_switch_to_dcc_buffer (); + } +} + +/* + * gui_input_jump_server: jump to server buffer + */ + +void +gui_input_jump_server () +{ + if (!gui_current_window->buffer->dcc) + { + if (SERVER(gui_current_window->buffer)->buffer != + gui_current_window->buffer) + { + gui_switch_to_buffer (gui_current_window, + SERVER(gui_current_window->buffer)->buffer); + gui_redraw_buffer (gui_current_window->buffer); + } + } +} + +/* + * gui_input_jump_next_server: jump to next server + */ + +void +gui_input_jump_next_server () +{ + t_irc_server *ptr_server; + t_gui_buffer *ptr_buffer; - length = strlen (string); + if (!gui_current_window->buffer->dcc) + { + ptr_server = SERVER(gui_current_window->buffer)->next_server; + if (!ptr_server) + ptr_server = irc_servers; + while (ptr_server != SERVER(gui_current_window->buffer)) + { + if (ptr_server->buffer) + break; + ptr_server = (ptr_server->next_server) ? + ptr_server->next_server : irc_servers; + } + if (ptr_server != SERVER(gui_current_window->buffer)) + { + ptr_buffer = (ptr_server->channels) ? + ptr_server->channels->buffer : ptr_server->buffer; + gui_switch_to_buffer (gui_current_window, ptr_buffer); + gui_redraw_buffer (gui_current_window->buffer); + } + } +} + +/* + * gui_input_hotlist_clear: clear hotlist + */ + +void +gui_input_hotlist_clear () +{ + if (hotlist) + { + hotlist_free_all (); + gui_redraw_buffer (gui_current_window->buffer); + } + hotlist_initial_buffer = gui_current_window->buffer; +} + +/* + * gui_input_infobar_clear: clear infobar + */ + +void +gui_input_infobar_clear () +{ + gui_infobar_remove (); + gui_draw_buffer_infobar (gui_current_window->buffer, 1); +} + +/* + * gui_switch_to_previous_buffer: switch to previous buffer + */ + +void +gui_switch_to_previous_buffer () +{ + if (!gui_ok) + return; - /* increase buffer size */ - buffer->input_buffer_size += length; - gui_optimize_input_buffer_size (buffer); - buffer->input_buffer[buffer->input_buffer_size] = '\0'; + /* if only one buffer then return */ + if (gui_buffers == last_gui_buffer) + return; - /* move end of string to the right */ - start = pos + length; - end = buffer->input_buffer_size - 1; - for (i = end; i >= start; i--) - buffer->input_buffer[i] = - buffer->input_buffer[i - length]; + if (gui_current_window->buffer->prev_buffer) + gui_switch_to_buffer (gui_current_window, gui_current_window->buffer->prev_buffer); + else + gui_switch_to_buffer (gui_current_window, last_gui_buffer); - /* insert new string */ - strncpy (buffer->input_buffer + pos, string, length); + gui_redraw_buffer (gui_current_window->buffer); +} + +/* + * gui_switch_to_next_buffer: switch to next buffer + */ + +void +gui_switch_to_next_buffer () +{ + if (!gui_ok) + return; + + /* if only one buffer then return */ + if (gui_buffers == last_gui_buffer) + return; + + if (gui_current_window->buffer->next_buffer) + gui_switch_to_buffer (gui_current_window, gui_current_window->buffer->next_buffer); + else + gui_switch_to_buffer (gui_current_window, gui_buffers); + + gui_redraw_buffer (gui_current_window->buffer); +} + +/* + * gui_switch_to_previous_window: switch to previous window + */ + +void +gui_switch_to_previous_window () +{ + if (!gui_ok) + return; + + /* if only one window then return */ + if (gui_windows == last_gui_window) + return; + + gui_current_window = (gui_current_window->prev_window) ? gui_current_window->prev_window : last_gui_window; + gui_switch_to_buffer (gui_current_window, gui_current_window->buffer); + gui_redraw_buffer (gui_current_window->buffer); +} + +/* + * gui_switch_to_next_window: switch to next window + */ + +void +gui_switch_to_next_window () +{ + if (!gui_ok) + return; + + /* if only one window then return */ + if (gui_windows == last_gui_window) + return; + + gui_current_window = (gui_current_window->next_window) ? gui_current_window->next_window : gui_windows; + gui_switch_to_buffer (gui_current_window, gui_current_window->buffer); + gui_redraw_buffer (gui_current_window->buffer); } /* @@ -716,6 +1477,10 @@ gui_switch_to_buffer_by_number (t_gui_window *window, int number) { t_gui_buffer *ptr_buffer; + /* invalid buffer */ + if (number < 0) + return NULL; + /* buffer is currently displayed ? */ if (number == window->buffer->number) return window->buffer; diff --git a/weechat/src/gui/gui-keyboard.c b/weechat/src/gui/gui-keyboard.c new file mode 100644 index 000000000..79bc44c79 --- /dev/null +++ b/weechat/src/gui/gui-keyboard.c @@ -0,0 +1,528 @@ +/* + * Copyright (c) 2003-2005 by FlashCode <flashcode@flashtux.org> + * See README for License detail, AUTHORS for developers list. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ + +/* gui-keyboard: keyboard functions (GUI independant) */ + + +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + +#include <stdlib.h> +#include <string.h> +#include <ctype.h> + +#include "../common/weechat.h" +#include "gui.h" +#include "../common/command.h" + + +t_gui_key *gui_keys = NULL; +t_gui_key *last_gui_key = NULL; + +char gui_key_buffer[128]; + +t_gui_key_function gui_key_functions[] = +{ { "return", gui_input_return, + N_("terminate line") }, + { "tab", gui_input_tab, + N_("complete word") }, + { "backspace", gui_input_backspace, + N_("delete previous char") }, + { "delete", gui_input_delete, + N_("delete next char") }, + { "delete_end_line", gui_input_delete_end_of_line, + N_("delete until end of line") }, + { "delete_beginning_line", gui_input_delete_begin_of_line, + N_("delete until beginning of line") }, + { "delete_line", gui_input_delete_line, + N_("delete entire line") }, + { "delete_previous_word", gui_input_delete_previous_word, + N_("delete previous word") }, + { "delete_next_word", gui_input_delete_next_word, + N_("delete next word") }, + { "home", gui_input_home, + N_("go to beginning of line") }, + { "end", gui_input_end, + N_("go to end of line") }, + { "left", gui_input_left, + N_("move one char left") }, + { "previous_word", gui_input_previous_word, + N_("move to previous word") }, + { "right", gui_input_right, + N_("move one char right") }, + { "next_word", gui_input_next_word, + N_("move to next word") }, + { "up", gui_input_up, + N_("call previous command in history") }, + { "down", gui_input_down, + N_("call next command in history") }, + { "page_up", gui_input_page_up, + N_("scroll one page up") }, + { "page_down", gui_input_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, + N_("display beginning of nicklist") }, + { "nick_end", gui_input_nick_end, + N_("display end of nicklist") }, + { "refresh", gui_curses_resize_handler, + N_("refresh screen") }, + { "jump_smart", gui_input_jump_smart, + N_("jump to buffer with activity") }, + { "jump_dcc", gui_input_jump_dcc, + N_("jump to DCC buffer") }, + { "jump_server", gui_input_jump_server, + N_("jump to server buffer") }, + { "jump_next_server", gui_input_jump_next_server, + N_("jump to next server") }, + { "hotlist_clear", gui_input_hotlist_clear, + N_("clear hotlist") }, + { NULL, NULL, NULL } +}; + + +/* + * gui_key_init: init keyboard (create default key bindings) + */ + +void +gui_key_init () +{ + gui_key_buffer[0] = '\0'; + + gui_input_default_key_bindings (); +} + +/* + * gui_key_get_internal_code: get internal code from user key name + * for example: return "^R" for "ctrl-R" + */ + +char * +gui_key_get_internal_code (char *key) +{ + char *result; + + if ((result = (char *) malloc (strlen (key) + 1))) + { + result[0] = '\0'; + while (key[0]) + { + if (strncasecmp (key, "meta2-", 6) == 0) + { + strcat (result, "^[["); + key += 6; + } + if (strncasecmp (key, "meta-", 5) == 0) + { + strcat (result, "^["); + key += 5; + } + else if (strncasecmp (key, "ctrl-", 5) == 0) + { + strcat (result, "^"); + key += 5; + } + else + { + strncat (result, key, 1); + key++; + } + } + } + else + return NULL; + + return result; +} + +/* + * gui_key_get_expanded_name: get expanded name from internal key code + * for example: return "ctrl-R" for "^R" + */ + +char * +gui_key_get_expanded_name (char *key) +{ + char *result; + + if ((result = (char *) malloc ((strlen (key) * 5) + 1))) + { + result[0] = '\0'; + while (key[0]) + { + if (strncasecmp (key, "^[[", 3) == 0) + { + strcat (result, "meta2-"); + key += 3; + } + if (strncasecmp (key, "^[", 2) == 0) + { + strcat (result, "meta-"); + key += 2; + } + else if (key[0] == '^') + { + strcat (result, "ctrl-"); + key++; + } + else + { + strncat (result, key, 1); + key++; + } + } + } + else + return NULL; + + return result; +} + +/* + * gui_key_find_pos: find position for a key (for sorting keys list) + */ + +t_gui_key * +gui_key_find_pos (t_gui_key *key) +{ + t_gui_key *ptr_key; + + for (ptr_key = gui_keys; ptr_key; ptr_key = ptr_key->next_key) + { + if (strcasecmp (key->key, ptr_key->key) < 0) + return ptr_key; + } + return NULL; +} + +/* + * gui_key_insert_sorted: insert key into sorted list + */ + +void +gui_key_insert_sorted (t_gui_key *key) +{ + t_gui_key *pos_key; + + if (gui_keys) + { + pos_key = gui_key_find_pos (key); + + if (pos_key) + { + /* insert key into the list (before key found) */ + key->prev_key = pos_key->prev_key; + key->next_key = pos_key; + if (pos_key->prev_key) + pos_key->prev_key->next_key = key; + else + gui_keys = key; + pos_key->prev_key = key; + } + else + { + /* add key to the end */ + key->prev_key = last_gui_key; + key->next_key = NULL; + last_gui_key->next_key = key; + last_gui_key = key; + } + } + else + { + key->prev_key = NULL; + key->next_key = NULL; + gui_keys = key; + last_gui_key = key; + } +} + +/* + * gui_key_new: add a new key in keys list + */ + +t_gui_key * +gui_key_new (char *key, char *command, void *function) +{ + t_gui_key *new_key; + char *internal_code; + + if ((new_key = (t_gui_key *) malloc (sizeof (t_gui_key)))) + { + internal_code = gui_key_get_internal_code (key); + new_key->key = (internal_code) ? strdup (internal_code) : strdup (key); + if (internal_code) + free (internal_code); + new_key->command = (command) ? strdup (command) : NULL; + new_key->function = function; + gui_key_insert_sorted (new_key); + } + else + return NULL; + + return new_key; +} + +/* + * gui_key_search: search a key + */ + +t_gui_key * +gui_key_search (char *key) +{ + t_gui_key *ptr_key; + + for (ptr_key = gui_keys; ptr_key; ptr_key = ptr_key->next_key) + { + if (strcasecmp (ptr_key->key, key) == 0) + return ptr_key; + } + + /* key not found */ + return NULL; +} + +/* + * gui_key_cmp: compares 2 keys + */ + +int +gui_key_cmp (char *key, char *search) +{ + while (search[0]) + { + if (toupper(key[0]) != toupper(search[0])) + return search[0] - key[0]; + key++; + search++; + } + + return 0; +} + +/* + * gui_key_search_part: search a key (maybe part of string) + */ + +t_gui_key * +gui_key_search_part (char *key) +{ + t_gui_key *ptr_key; + + for (ptr_key = gui_keys; ptr_key; ptr_key = ptr_key->next_key) + { + if (gui_key_cmp (ptr_key->key, key) == 0) + return ptr_key; + } + + /* key not found */ + return NULL; +} + +/* + * gui_key_function_search_by_name: search a function by name + */ + +void * +gui_key_function_search_by_name (char *name) +{ + int i; + + i = 0; + while (gui_key_functions[i].function_name) + { + if (strcasecmp (gui_key_functions[i].function_name, name) == 0) + return gui_key_functions[i].function; + i++; + } + + /* function not found */ + return NULL; +} + +/* + * gui_key_function_search_by_ptr: search a function by pointer + */ + +char * +gui_key_function_search_by_ptr (void *function) +{ + int i; + + i = 0; + while (gui_key_functions[i].function_name) + { + if (gui_key_functions[i].function == function) + return gui_key_functions[i].function_name; + i++; + } + + /* function not found */ + return NULL; +} + +/* + * gui_key_bind: bind a key to a function (command or special function) + */ + +t_gui_key * +gui_key_bind (char *key, char *command) +{ + t_gui_key_function *ptr_function; + t_gui_key *new_key; + + if (!key || !command) + { + wee_log_printf (_("%s unable to bind key \"%s\"\n"), + WEECHAT_ERROR, key); + return NULL; + } + + ptr_function = NULL; + if (command[0] != '/') + { + ptr_function = gui_key_function_search_by_name (command); + if (!ptr_function) + { + wee_log_printf (_("%s unable to bind key \"%s\" (invalid function name: \"%s\")\n"), + WEECHAT_ERROR, key, command); + return NULL; + } + } + + gui_key_unbind (key); + + new_key = gui_key_new (key, + (ptr_function) ? NULL : command, + ptr_function); + if (!new_key) + { + wee_log_printf (_("%s not enough memory for key binding\n"), + WEECHAT_ERROR); + return NULL; + } + + return new_key; +} + +/* + * gui_key_unbind: remove a key binding + */ + +int +gui_key_unbind (char *key) +{ + t_gui_key *ptr_key; + char *internal_code; + + internal_code = gui_key_get_internal_code (key); + + ptr_key = gui_key_search ((internal_code) ? internal_code : key); + if (ptr_key) + gui_key_free (ptr_key); + + if (internal_code) + free (internal_code); + + return (ptr_key != NULL); +} + +/* + * gui_key_pressed: treat new key pressed + * return: 1 if key should be added to input buffer + * 0 otherwise + */ + +int +gui_key_pressed (char *key_str) +{ + int first_key; + t_gui_key *ptr_key; + + first_key = (gui_key_buffer[0] == '\0'); + strcat (gui_key_buffer, key_str); + ptr_key = gui_key_search_part (gui_key_buffer); + if (ptr_key) + { + if (strcasecmp (ptr_key->key, gui_key_buffer) == 0) + { + /* exact combo found => execute function or command */ + gui_key_buffer[0] = '\0'; + if (ptr_key->command) + user_command (SERVER(gui_current_window->buffer), + gui_current_window->buffer, + ptr_key->command); + else + (void)(ptr_key->function)(); + } + //else + // gui_printf (gui_current_window->buffer, "partial key found\n"); + return 0; + } + + gui_key_buffer[0] = '\0'; + + /* if this is first key and not found (even partial) => return 1 + else return 0 (= silently discard sequence of bad keys) */ + return first_key; +} + +/* + * key_free: delete a key binding + */ + +void +gui_key_free (t_gui_key *key) +{ + /* free memory */ + if (key->key) + free (key->key); + if (key->command) + free (key->command); + + /* remove key from keys list */ + if (key->prev_key) + key->prev_key->next_key = key->next_key; + if (key->next_key) + key->next_key->prev_key = key->prev_key; + if (gui_keys == key) + gui_keys = key->next_key; + if (last_gui_key == key) + last_gui_key = key->prev_key; + + free (key); +} + +/* + * gui_key_free_all: delete all key bindings + */ + +void +gui_key_free_all () +{ + while (gui_keys) + gui_key_free (gui_keys); +} diff --git a/weechat/src/gui/gui.h b/weechat/src/gui/gui.h index 63d5ab50c..ec1dc8bae 100644 --- a/weechat/src/gui/gui.h +++ b/weechat/src/gui/gui.h @@ -26,7 +26,7 @@ #define INPUT_BUFFER_BLOCK_SIZE 256 -#define NUM_COLORS 50 +#define NUM_COLORS 51 #define COLOR_WIN_TITLE 1 #define COLOR_WIN_CHAT 2 #define COLOR_WIN_CHAT_TIME 3 @@ -45,31 +45,32 @@ #define COLOR_WIN_STATUS_DATA_OTHER 16 #define COLOR_WIN_STATUS_MORE 17 #define COLOR_WIN_INFOBAR 18 -#define COLOR_WIN_INFOBAR_HIGHLIGHT 19 -#define COLOR_WIN_INPUT 20 -#define COLOR_WIN_INPUT_CHANNEL 21 -#define COLOR_WIN_INPUT_NICK 22 -#define COLOR_WIN_NICK 23 -#define COLOR_WIN_NICK_AWAY 24 -#define COLOR_WIN_NICK_CHANOWNER 25 -#define COLOR_WIN_NICK_CHANADMIN 26 -#define COLOR_WIN_NICK_OP 27 -#define COLOR_WIN_NICK_HALFOP 28 -#define COLOR_WIN_NICK_VOICE 29 -#define COLOR_WIN_NICK_MORE 30 -#define COLOR_WIN_NICK_SEP 31 -#define COLOR_WIN_NICK_SELF 32 -#define COLOR_WIN_NICK_PRIVATE 33 -#define COLOR_WIN_NICK_FIRST 34 -#define COLOR_WIN_NICK_LAST 43 +#define COLOR_WIN_INFOBAR_DELIMITERS 19 +#define COLOR_WIN_INFOBAR_HIGHLIGHT 20 +#define COLOR_WIN_INPUT 21 +#define COLOR_WIN_INPUT_CHANNEL 22 +#define COLOR_WIN_INPUT_NICK 23 +#define COLOR_WIN_NICK 24 +#define COLOR_WIN_NICK_AWAY 25 +#define COLOR_WIN_NICK_CHANOWNER 26 +#define COLOR_WIN_NICK_CHANADMIN 27 +#define COLOR_WIN_NICK_OP 28 +#define COLOR_WIN_NICK_HALFOP 29 +#define COLOR_WIN_NICK_VOICE 30 +#define COLOR_WIN_NICK_MORE 31 +#define COLOR_WIN_NICK_SEP 32 +#define COLOR_WIN_NICK_SELF 33 +#define COLOR_WIN_NICK_PRIVATE 34 +#define COLOR_WIN_NICK_FIRST 35 +#define COLOR_WIN_NICK_LAST 44 #define COLOR_WIN_NICK_NUMBER (COLOR_WIN_NICK_LAST - COLOR_WIN_NICK_FIRST + 1) -#define COLOR_DCC_SELECTED 44 -#define COLOR_DCC_WAITING 45 -#define COLOR_DCC_CONNECTING 46 -#define COLOR_DCC_ACTIVE 47 -#define COLOR_DCC_DONE 48 -#define COLOR_DCC_FAILED 49 -#define COLOR_DCC_ABORTED 50 +#define COLOR_DCC_SELECTED 45 +#define COLOR_DCC_WAITING 46 +#define COLOR_DCC_CONNECTING 47 +#define COLOR_DCC_ACTIVE 48 +#define COLOR_DCC_DONE 49 +#define COLOR_DCC_FAILED 40 +#define COLOR_DCC_ABORTED 51 #define SERVER(buffer) ((t_irc_server *)(buffer->server)) #define CHANNEL(buffer) ((t_irc_channel *)(buffer->channel)) @@ -219,6 +220,9 @@ struct t_gui_window int win_nick_height; /* height of nick window */ int win_nick_start; /* # of 1st nick for display (scroll) */ + /* input window settings */ + int win_input_x; /* position of cursor in input window */ + /* windows for Curses GUI */ void *win_title; /* title window */ void *win_chat; /* chat window (example: channel) */ @@ -252,6 +256,26 @@ struct t_gui_window t_gui_window *next_window; /* link to next window */ }; +typedef struct t_gui_key t_gui_key; + +struct t_gui_key +{ + char *key; /* key combo (ex: a, ^W, ^W^C, meta-a) */ + char *command; /* associated command (may be NULL) */ + void (*function)(); /* associated function (if cmd is NULL) */ + t_gui_key *prev_key; /* link to previous key */ + t_gui_key *next_key; /* link to next key */ +}; + +typedef struct t_gui_key_function t_gui_key_function; + +struct t_gui_key_function +{ + char *function_name; /* name of function */ + void (*function)(); /* associated function */ + char *description; /* description of function */ +}; + /* variables */ extern int gui_init_ok; @@ -264,8 +288,11 @@ extern t_gui_buffer *gui_buffers; extern t_gui_buffer *last_gui_buffer; extern t_gui_buffer *buffer_before_dcc; extern t_gui_infobar *gui_infobar; +extern t_gui_key *gui_keys; +extern t_gui_key *last_gui_key; +extern t_gui_key_function gui_key_functions[]; -/* GUI independent functions */ +/* GUI independent functions: windows & buffers */ extern t_gui_window *gui_window_new (int, int, int, int); extern t_gui_buffer *gui_buffer_new (t_gui_window *, void *, void *, int, int); @@ -277,17 +304,53 @@ 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_optimize_input_buffer_size (t_gui_buffer *); -extern void gui_delete_previous_word (t_gui_buffer *); -extern void gui_move_previous_word (t_gui_buffer *); -extern void gui_move_next_word (t_gui_buffer *); -extern void gui_buffer_insert_string (t_gui_buffer *, char *, int); +extern void gui_input_insert_char (); +extern void gui_input_return (); +extern void gui_input_tab (); +extern void gui_input_backspace (); +extern void gui_input_delete (); +extern void gui_input_delete_previous_word (); +extern void gui_input_delete_next_word (); +extern void gui_input_delete_begin_of_line (); +extern void gui_input_delete_end_of_line (); +extern void gui_input_delete_line (); +extern void gui_input_home (); +extern void gui_input_end (); +extern void gui_input_left (); +extern void gui_input_previous_word (); +extern void gui_input_right (); +extern void gui_input_next_word (); +extern void gui_input_up (); +extern void gui_input_down (); +extern void gui_input_jump_smart (); +extern void gui_input_jump_dcc (); +extern void gui_input_jump_server (); +extern void gui_input_jump_next_server (); +extern void gui_input_hotlist_clear (); +extern void gui_input_infobar_clear (); +extern void gui_switch_to_previous_buffer (); +extern void gui_switch_to_next_buffer (); +extern void gui_switch_to_previous_window (); +extern void gui_switch_to_next_window (); extern t_gui_buffer *gui_switch_to_buffer_by_number (t_gui_window *, int); 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 dependant functions */ +/* GUI independent functions: keys */ + +extern void gui_key_init (); +extern char *gui_key_get_internal_code (char *); +extern char *gui_key_get_expanded_name (char *); +extern void *gui_key_function_search_by_name (char *); +extern char *gui_key_function_search_by_ptr (void *); +extern t_gui_key *gui_key_bind (char *, char *); +extern int gui_key_unbind (char *); +extern int gui_key_pressed (char *); +extern void gui_key_free (t_gui_key *); +extern void gui_key_free_all (); + +/* GUI dependant functions: display */ extern int gui_assign_color (int *, char *); extern int gui_get_color_by_name (char *); @@ -298,22 +361,19 @@ extern void gui_draw_buffer_title (t_gui_buffer *, int); extern void gui_draw_buffer_chat (t_gui_buffer *, int); extern void gui_draw_buffer_nick (t_gui_buffer *, int); extern void gui_draw_buffer_status (t_gui_buffer *, int); +extern void gui_draw_buffer_infobar_time (t_gui_buffer *); extern void gui_draw_buffer_infobar (t_gui_buffer *, int); 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 (); extern void gui_switch_to_dcc_buffer (); -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 *); -extern void gui_switch_to_next_window (t_gui_window *); -extern void gui_move_page_up (t_gui_window *); -extern void gui_move_page_down (t_gui_window *); -extern void gui_nick_move_beginning (t_gui_window *); -extern void gui_nick_move_end (t_gui_window *); -extern void gui_nick_move_page_up (t_gui_window *); -extern void gui_nick_move_page_down (t_gui_window *); +extern void gui_input_page_up (); +extern void gui_input_page_down (); +extern void gui_input_nick_beginning (); +extern void gui_input_nick_end (); +extern void gui_input_nick_page_up (); +extern void gui_input_nick_page_down (); extern void gui_curses_resize_handler (); extern void gui_window_init_subwindows (t_gui_window *); extern void gui_window_split_horiz (t_gui_window *); @@ -330,6 +390,7 @@ extern void gui_set_window_title (); extern void gui_init (); extern void gui_end (); extern void gui_printf_type_color (/*@null@*/ t_gui_buffer *, int, int, char *, ...); +extern void gui_input_default_key_bindings (); extern void gui_main_loop (); #endif /* gui.h */ |