diff --git a/ChangeLog b/ChangeLog index 817919817..86d169cdc 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,11 +1,11 @@ WeeChat - Wee Enhanced Environment for Chat =========================================== -ChangeLog - 2003-11-30 +ChangeLog - 2003-12-26 Version 0.0.4 (under dev!): - * Perl plugin + * Perl plugin, with auto-load * Ctrl-C now intercepted (ignored) * debug messages can be enabled via ./configure --enbale-debug option diff --git a/TODO b/TODO index a788d5a98..d3670ee0b 100644 --- a/TODO +++ b/TODO @@ -1,7 +1,7 @@ WeeChat - Wee Enhanced Environment for Chat =========================================== -TODO - 2003-11-23 +TODO - 2003-12-26 Legend: # done @@ -12,17 +12,8 @@ Legend: v0.0.4: ------ - - * IRC protocol: - + "/mode" command: change the user/channels modes - - * WeeChat commands: - + "/set" command: allow the user to set the WeeChat variables - under WeeChat without editing the config file (colours, time - format, etc) * Interface: - + Gtk GUI + internationalization (traduce WeeChat in many languages) * Configuration: @@ -31,16 +22,17 @@ v0.0.4: * Plugins: + Perl plugin # "/perl load" and "/perl unload" commands to (un)load Perl scripts - - auto-load Perl scripts at startup + # auto-load Perl scripts at startup Future versions: --------------- - * General + * General: - Windows version * IRC protocol: + + "/mode" command: change the user/channels modes - "/dcc" command (for chat and sending/receiving files) - complete "/list" command: add regexp search, display only channels that match regexp @@ -52,6 +44,9 @@ Future versions: nick/host connect to the given irc network * WeeChat commands: + + "/set" command: allow the user to set the WeeChat variables + under WeeChat without editing the config file (colours, time + format, etc) - "/reload" command: reload the WeeChat's config file - "/highlight" command: highlight a given word when it appears on channels/privates @@ -63,6 +58,7 @@ Future versions: channel/private * Interface: + + Gtk GUI - display current channel modes (example : #weechat(+nt)) - interpret special chars in messages (color & bold for example) - many channel windows in one window/term (window split) diff --git a/po/fr.po b/po/fr.po index c660e5fe9..f650e7df0 100644 --- a/po/fr.po +++ b/po/fr.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: WeeChat 0.0.4-pre1\n" "Report-Msgid-Bugs-To: flashcode@flashtux.org\n" -"POT-Creation-Date: 2003-11-30 14:38+0100\n" +"POT-Creation-Date: 2003-12-26 13:50+0100\n" "PO-Revision-Date: 2003-10-04 21:21+0200\n" "Last-Translator: FlashCode \n" "Language-Team: weechat-dev \n" @@ -89,7 +89,7 @@ msgstr "%s: l'adresse IP du serveur est : %s\n" msgid "%s cannot connect to irc server\n" msgstr "%s connexion au serveur irc impossible\n" -#: src/irc/irc-server.c:590 +#: src/irc/irc-server.c:611 msgid "Disconnected from server!\n" msgstr "Déconnecté du serveur !\n" @@ -1077,7 +1077,7 @@ msgstr "drapeau de mode inconnu" msgid "can't change mode for other users" msgstr "impossible de changer le mode pour les autres utilisateurs" -#: src/irc/irc-send.c:60 src/irc/irc-recv.c:2482 +#: src/irc/irc-send.c:60 src/irc/irc-recv.c:2532 msgid "unknown" msgstr "inconnu" @@ -1112,7 +1112,7 @@ msgstr "%s utilisateur non trouv 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:524 src/common/command.c:1092 +#: src/irc/irc-send.c:524 src/common/command.c:1105 #, c-format msgid "%s wrong argument count for \"%s\" command\n" msgstr "%s nombre de paramètres erroné pour la commande \"%s\"\n" @@ -1132,7 +1132,7 @@ msgid " has joined " msgstr " a rejoint " #: src/irc/irc-recv.c:231 src/irc/irc-recv.c:447 src/irc/irc-recv.c:713 -#: src/irc/irc-recv.c:820 src/irc/irc-recv.c:1983 src/irc/irc-recv.c:2048 +#: src/irc/irc-recv.c:820 src/irc/irc-recv.c:2033 src/irc/irc-recv.c:2098 #, c-format msgid "%s channel not found for \"%s\" command\n" msgstr "%s canal non trouvé pour la commande \"%s\"\n" @@ -1284,7 +1284,7 @@ msgstr "CTCP VERSION " msgid "from" msgstr "de" -#: src/irc/irc-recv.c:927 src/irc/irc-recv.c:2269 src/irc/irc-recv.c:2309 +#: src/irc/irc-recv.c:927 src/irc/irc-recv.c:2319 src/irc/irc-recv.c:2359 #, c-format msgid "%s cannot parse \"%s\" command\n" msgstr "%s impossible d'analyser la commande \"%s\"\n" @@ -1320,151 +1320,151 @@ msgstr " est absent: %s\n" msgid "Users online: " msgstr "Utilisateurs en ligne: " -#: src/irc/irc-recv.c:1619 +#: src/irc/irc-recv.c:1669 msgid "idle: " msgstr "inactivité: " -#: src/irc/irc-recv.c:1627 +#: src/irc/irc-recv.c:1677 msgid "days" msgstr "jours" -#: src/irc/irc-recv.c:1627 +#: src/irc/irc-recv.c:1677 msgid "day" msgstr "jour" -#: src/irc/irc-recv.c:1637 +#: src/irc/irc-recv.c:1687 msgid "hours" msgstr "heures" -#: src/irc/irc-recv.c:1637 +#: src/irc/irc-recv.c:1687 msgid "hour" msgstr "heure" -#: src/irc/irc-recv.c:1643 +#: src/irc/irc-recv.c:1693 msgid "minutes" msgstr "minutes" -#: src/irc/irc-recv.c:1643 +#: src/irc/irc-recv.c:1693 msgid "minute" msgstr "minute" -#: src/irc/irc-recv.c:1649 +#: src/irc/irc-recv.c:1699 msgid "seconds" msgstr "secondes" -#: src/irc/irc-recv.c:1649 +#: src/irc/irc-recv.c:1699 msgid "second" msgstr "seconde" -#: src/irc/irc-recv.c:1654 +#: src/irc/irc-recv.c:1704 msgid "signon at: " msgstr "signé le: " -#: src/irc/irc-recv.c:1742 +#: src/irc/irc-recv.c:1792 msgid "Channels: " msgstr "Canauxs: " -#: src/irc/irc-recv.c:1930 +#: src/irc/irc-recv.c:1980 msgid "No topic set for " msgstr "Pas de titre défini pour " -#: src/irc/irc-recv.c:1972 +#: src/irc/irc-recv.c:2022 msgid "Topic for " msgstr "Le titre pour " -#: src/irc/irc-recv.c:1976 +#: src/irc/irc-recv.c:2026 #, c-format msgid " is: \"%s\"\n" msgstr " est: \"%s\"\n" -#: src/irc/irc-recv.c:1992 src/irc/irc-recv.c:2072 +#: src/irc/irc-recv.c:2042 src/irc/irc-recv.c:2122 #, c-format msgid "%s cannot identify channel for \"%s\" command\n" msgstr "%s impossible de déterminer le canal pour la commande \"%s\"\n" -#: src/irc/irc-recv.c:2038 +#: src/irc/irc-recv.c:2088 msgid "Topic set by " msgstr "Titre défini par " -#: src/irc/irc-recv.c:2056 +#: src/irc/irc-recv.c:2106 #, c-format msgid "%s cannot identify date/time for \"%s\" command\n" msgstr "%s impossible d'identifier la date/heure pour la commande \"%s\"\n" -#: src/irc/irc-recv.c:2064 +#: src/irc/irc-recv.c:2114 #, c-format msgid "%s cannot identify nickname for \"%s\" command\n" msgstr "" "%s impossible de déterminer le nom d'utilisateur pour la commande \"%s\"\n" -#: src/irc/irc-recv.c:2193 +#: src/irc/irc-recv.c:2243 msgid " on " msgstr " sur " -#: src/irc/irc-recv.c:2300 +#: src/irc/irc-recv.c:2350 #, c-format msgid "%s cannot create nick \"%s\" for channel \"%s\"\n" msgstr "%s impossible de créer l'utilisateur \"%s\" pour le canal \"%s\"\n" -#: src/irc/irc-recv.c:2353 +#: src/irc/irc-recv.c:2403 msgid "Nicks " msgstr "Utilisateurs " -#: src/irc/irc-recv.c:2373 +#: src/irc/irc-recv.c:2423 msgid "Channel " msgstr "Canal " -#: src/irc/irc-recv.c:2384 +#: src/irc/irc-recv.c:2434 msgid "nicks" msgstr "utilisateurs" -#: src/irc/irc-recv.c:2384 +#: src/irc/irc-recv.c:2434 msgid "nick" msgstr "utilisateur" -#: src/irc/irc-recv.c:2392 +#: src/irc/irc-recv.c:2442 msgid "ops" msgstr "ops" -#: src/irc/irc-recv.c:2392 +#: src/irc/irc-recv.c:2442 msgid "op" msgstr "op" -#: src/irc/irc-recv.c:2401 +#: src/irc/irc-recv.c:2451 msgid "halfops" msgstr "halfops" -#: src/irc/irc-recv.c:2401 +#: src/irc/irc-recv.c:2451 msgid "halfop" msgstr "halfop" -#: src/irc/irc-recv.c:2410 +#: src/irc/irc-recv.c:2460 msgid "voices" msgstr "voices" -#: src/irc/irc-recv.c:2410 +#: src/irc/irc-recv.c:2460 msgid "voice" msgstr "voice" -#: src/irc/irc-recv.c:2419 +#: src/irc/irc-recv.c:2469 msgid "normal" msgstr "normal" -#: src/irc/irc-recv.c:2451 +#: src/irc/irc-recv.c:2501 #, c-format msgid "%s: nickname \"%s\" is already in use, trying 2nd nickname \"%s\"\n" msgstr "" "%s: l'utilisateur \"%s\" est déjà en cours d'utilisation, essai avec le 2nd " "nom d'utilisateur \"%s\"\n" -#: src/irc/irc-recv.c:2462 +#: src/irc/irc-recv.c:2512 #, c-format msgid "%s: nickname \"%s\" is already in use, trying 3rd nickname \"%s\"\n" msgstr "" "%s: l'utilisateur \"%s\" est déjà en cours d'utilisation, essai du 3ème nom " "d'utilisateur \"%s\"\n" -#: src/irc/irc-recv.c:2471 +#: src/irc/irc-recv.c:2521 #, c-format msgid "" "%s: all declared nicknames are already in use, closing connection with " @@ -1473,7 +1473,7 @@ msgstr "" "%s: tous les noms d'utilisateurs déclarés sont déjà en cours d'utilisation, " "fermeture de la connexion avec le serveur !\n" -#: src/plugins/perl/wee-perl.c:81 +#: src/plugins/perl/wee-perl.c:85 #, c-format msgid "" "Perl error: unable to register Perl script \"%s\" (another script already " @@ -1482,42 +1482,47 @@ msgstr "" "Erreur Perl: impossible d'enregistrer le script Perl \"%s\" (un autre script " "existe déjà avec ce nom)\n" -#: src/plugins/perl/wee-perl.c:105 +#: src/plugins/perl/wee-perl.c:109 #, c-format msgid "registered Perl script: \"%s\", version %s (%s)\n" msgstr "script Perl enregistré: \"%s\", version %s (%s)\n" -#: src/plugins/perl/wee-perl.c:112 +#: src/plugins/perl/wee-perl.c:116 #, c-format msgid "%s unable to load Perl script \"%s\" (not enough memory)\n" msgstr "" "%s impossible de charger le script Perl \"%s\" (mémoire insuffisante)\n" -#: src/plugins/perl/wee-perl.c:352 +#: src/plugins/perl/wee-perl.c:427 #, c-format msgid "Perl error: %s\n" msgstr "Erreur Perl: %s\n" -#: src/plugins/perl/wee-perl.c:362 +#: src/plugins/perl/wee-perl.c:437 #, c-format msgid "Perl error: too much values from \"%s\" (%d). Expected: 1.\n" msgstr "Erreur Perl: trop de valeurs de \"%s\" (%d). Attendue: 1.\n" -#: src/plugins/perl/wee-perl.c:384 +#: src/plugins/perl/wee-perl.c:459 #, c-format msgid "loading Perl script \"%s\"\n" msgstr "chargement du script Perl \"%s\"\n" -#: src/plugins/perl/wee-perl.c:433 +#: src/plugins/perl/wee-perl.c:508 #, c-format msgid "unloading Perl script \"%s\"\n" msgstr "déchargement du script Perl \"%s\"\n" -#: src/plugins/perl/wee-perl.c:450 +#: src/plugins/perl/wee-perl.c:525 msgid "unloading all Perl scripts...\n" msgstr "déchargement de tous les scripts Perl...\n" -#: src/plugins/plugins.c:136 +#: src/plugins/plugins.c:89 +#, c-format +msgid "auto-loading %s script: %s%s%s\n" +msgstr "chargement automatique du script %s : %s%s%s\n" + +#: src/plugins/plugins.c:195 #, c-format msgid "%s unable to add handler for \"%s\" message (not enough memory)\n" msgstr "" @@ -1842,43 +1847,43 @@ msgstr "> Aide sur la commande IRC \"%s\":\n" 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:1003 +#: src/common/command.c:1004 msgid "Registered Perl scripts:\n" msgstr "Scripts Perl enregistrés :\n" -#: src/common/command.c:1020 src/common/command.c:1042 -#: src/common/command.c:1064 +#: src/common/command.c:1021 src/common/command.c:1043 +#: src/common/command.c:1065 msgid " (none)\n" msgstr " (aucun)\n" -#: src/common/command.c:1025 +#: src/common/command.c:1026 msgid "Perl message handlers:\n" msgstr "Fonctions Perl pour messages :\n" -#: src/common/command.c:1034 +#: src/common/command.c:1035 #, c-format msgid " IRC(%s) => Perl(%s)\n" msgstr " IRC(%s) => Perl(%s)\n" -#: src/common/command.c:1047 +#: src/common/command.c:1048 msgid "Perl command handlers:\n" msgstr "Commandes Perl :\n" -#: src/common/command.c:1056 +#: src/common/command.c:1057 #, c-format msgid " Command /%s => Perl(%s)\n" msgstr " Commande /%s => Perl(%s)\n" -#: src/common/command.c:1074 +#: src/common/command.c:1075 msgid "Perl scripts unloaded\n" msgstr "Scripts Perl déchargés\n" -#: src/common/command.c:1086 +#: src/common/command.c:1099 #, c-format msgid "%s unknown option for \"%s\" command\n" msgstr "%s option inconnue pour la commande \"%s\"\n" -#: src/common/command.c:1097 +#: src/common/command.c:1110 msgid "" "WeeChat was build without Perl support.\n" "Please rebuild WeeChat with \"--enable-perl\" option for ./configure script\n" @@ -1887,179 +1892,179 @@ msgstr "" "Merci de reconstruire WeeChat avec l'option \"--enable-perl\" pour le " "script ./configure\n" -#: src/common/command.c:1141 +#: src/common/command.c:1154 msgid "Server: " msgstr "Serveur: " -#: src/common/command.c:1152 +#: src/common/command.c:1165 msgid "connected" msgstr "connecté" -#: src/common/command.c:1152 +#: src/common/command.c:1165 msgid "not connected" msgstr "non connecté" -#: src/common/command.c:1159 +#: src/common/command.c:1172 #, c-format msgid " Autoconnect: %s\n" msgstr " Autoconnect: %s\n" -#: src/common/command.c:1160 +#: src/common/command.c:1173 msgid "yes" msgstr "oui" -#: src/common/command.c:1160 +#: src/common/command.c:1173 msgid "no" msgstr "non" -#: src/common/command.c:1164 +#: src/common/command.c:1177 #, c-format msgid " Hostname : %s\n" msgstr " Nom/IP : %s\n" -#: src/common/command.c:1169 +#: src/common/command.c:1182 #, c-format msgid " Port : %d\n" msgstr " Port : %d\n" -#: src/common/command.c:1175 +#: src/common/command.c:1188 msgid " Password : (hidden)\n" msgstr " Mot passe : (caché)\n" -#: src/common/command.c:1179 +#: src/common/command.c:1192 msgid " Password : (none)\n" msgstr " Mot passe : (aucun)\n" -#: src/common/command.c:1183 +#: src/common/command.c:1196 #, c-format msgid " Nicks : %s" msgstr " Pseudos : %s" -#: src/common/command.c:1200 +#: src/common/command.c:1213 #, c-format msgid " Username : %s\n" msgstr " Nom utilis.: %s\n" -#: src/common/command.c:1205 +#: src/common/command.c:1218 #, c-format msgid " Realname : %s\n" msgstr " Nom réel : %s\n" -#: src/common/command.c:1211 +#: src/common/command.c:1224 #, c-format msgid " Command : %s\n" msgstr " Commande : %s\n" -#: src/common/command.c:1216 +#: src/common/command.c:1229 msgid " Command : (none)\n" msgstr " Commande : (aucune)\n" -#: src/common/command.c:1221 +#: src/common/command.c:1234 #, c-format msgid " Auto-join : %s\n" msgstr " Auto-join : %s\n" -#: src/common/command.c:1226 +#: src/common/command.c:1239 msgid " Auto-join : (none)\n" msgstr " Auto-join : (aucun)\n" -#: src/common/command.c:1230 +#: src/common/command.c:1243 msgid "No server.\n" msgstr "Pas de serveur.\n" -#: src/common/command.c:1239 +#: src/common/command.c:1252 #, 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:1245 +#: src/common/command.c:1258 #, 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:1262 +#: src/common/command.c:1275 #, 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:1268 src/common/command.c:1399 +#: src/common/command.c:1281 src/common/command.c:1412 msgid "Server" msgstr "Serveur" -#: src/common/command.c:1271 +#: src/common/command.c:1284 msgid "has been deleted\n" msgstr "a été supprimé\n" -#: src/common/command.c:1285 +#: src/common/command.c:1298 #, c-format msgid "%s missing parameters for \"%s\" command\n" msgstr "%s paramètres manquants pour la commande \"%s\"\n" -#: src/common/command.c:1294 +#: src/common/command.c:1307 #, 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:1318 src/common/command.c:1344 -#: src/common/command.c:1356 src/common/command.c:1380 +#: src/common/command.c:1331 src/common/command.c:1357 +#: src/common/command.c:1369 src/common/command.c:1393 #, 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:1330 +#: src/common/command.c:1343 #, 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:1368 +#: src/common/command.c:1381 #, c-format msgid "%s missing command for \"%s\" parameter\n" msgstr "%s commande manquante pour le paramètre \"%s\"\n" -#: src/common/command.c:1402 +#: src/common/command.c:1415 msgid "created\n" msgstr "créé\n" -#: src/common/command.c:1407 +#: src/common/command.c:1420 #, c-format msgid "%s unable to create server\n" msgstr "%s impossible de créer le serveur\n" -#: src/common/command.c:1479 +#: src/common/command.c:1492 msgid "(unknown)" msgstr "(inconnu)" -#: src/common/command.c:1512 +#: src/common/command.c:1525 #, c-format msgid "%s alias or command \"%s\" not found\n" msgstr "%s alias ou commande \"%s\" non trouvé\n" -#: src/common/command.c:1521 +#: src/common/command.c:1534 #, c-format msgid "Alias \"%s\" removed\n" msgstr "Alias \"%s\" supprimé\n" -#: src/common/weechat.c:151 +#: src/common/weechat.c:139 #, c-format msgid "%s unknown parameter '%s', ignored\n" msgstr "%s paramètre inconnu '%s', ignoré\n" -#: src/common/weechat.c:175 +#: src/common/weechat.c:159 #, c-format msgid "%s cannot create directory \"%s\"\n" msgstr "%s impossible de créer le répertoire \"%s\"\n" -#: src/common/weechat.c:215 +#: src/common/weechat.c:255 #, c-format -msgid "%s unable to create/append to log file (~/.weechat/" -msgstr "%s impossible de créer/ajouter dans le fichier de log (~/.weechat/" +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:303 +#: src/common/weechat.c:279 #, c-format msgid "%sWelcome to " msgstr "%sBienvenue dans " -#: src/common/weechat.c:316 +#: src/common/weechat.c:292 msgid "compiled on" msgstr "compilé le" diff --git a/po/weechat.pot b/po/weechat.pot index 24d3c6daa..59074ed12 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: 2003-11-30 14:38+0100\n" +"POT-Creation-Date: 2003-12-26 13:50+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -89,7 +89,7 @@ msgstr "" msgid "%s cannot connect to irc server\n" msgstr "" -#: src/irc/irc-server.c:590 +#: src/irc/irc-server.c:611 msgid "Disconnected from server!\n" msgstr "" @@ -991,7 +991,7 @@ msgstr "" msgid "can't change mode for other users" msgstr "" -#: src/irc/irc-send.c:60 src/irc/irc-recv.c:2482 +#: src/irc/irc-send.c:60 src/irc/irc-recv.c:2532 msgid "unknown" msgstr "" @@ -1023,7 +1023,7 @@ msgstr "" msgid "%s cannot create new private window \"%s\"\n" msgstr "" -#: src/irc/irc-send.c:524 src/common/command.c:1092 +#: src/irc/irc-send.c:524 src/common/command.c:1105 #, c-format msgid "%s wrong argument count for \"%s\" command\n" msgstr "" @@ -1043,7 +1043,7 @@ msgid " has joined " msgstr "" #: src/irc/irc-recv.c:231 src/irc/irc-recv.c:447 src/irc/irc-recv.c:713 -#: src/irc/irc-recv.c:820 src/irc/irc-recv.c:1983 src/irc/irc-recv.c:2048 +#: src/irc/irc-recv.c:820 src/irc/irc-recv.c:2033 src/irc/irc-recv.c:2098 #, c-format msgid "%s channel not found for \"%s\" command\n" msgstr "" @@ -1193,7 +1193,7 @@ msgstr "" msgid "from" msgstr "" -#: src/irc/irc-recv.c:927 src/irc/irc-recv.c:2269 src/irc/irc-recv.c:2309 +#: src/irc/irc-recv.c:927 src/irc/irc-recv.c:2319 src/irc/irc-recv.c:2359 #, c-format msgid "%s cannot parse \"%s\" command\n" msgstr "" @@ -1229,194 +1229,199 @@ msgstr "" msgid "Users online: " msgstr "" -#: src/irc/irc-recv.c:1619 +#: src/irc/irc-recv.c:1669 msgid "idle: " msgstr "" -#: src/irc/irc-recv.c:1627 +#: src/irc/irc-recv.c:1677 msgid "days" msgstr "" -#: src/irc/irc-recv.c:1627 +#: src/irc/irc-recv.c:1677 msgid "day" msgstr "" -#: src/irc/irc-recv.c:1637 +#: src/irc/irc-recv.c:1687 msgid "hours" msgstr "" -#: src/irc/irc-recv.c:1637 +#: src/irc/irc-recv.c:1687 msgid "hour" msgstr "" -#: src/irc/irc-recv.c:1643 +#: src/irc/irc-recv.c:1693 msgid "minutes" msgstr "" -#: src/irc/irc-recv.c:1643 +#: src/irc/irc-recv.c:1693 msgid "minute" msgstr "" -#: src/irc/irc-recv.c:1649 +#: src/irc/irc-recv.c:1699 msgid "seconds" msgstr "" -#: src/irc/irc-recv.c:1649 +#: src/irc/irc-recv.c:1699 msgid "second" msgstr "" -#: src/irc/irc-recv.c:1654 +#: src/irc/irc-recv.c:1704 msgid "signon at: " msgstr "" -#: src/irc/irc-recv.c:1742 +#: src/irc/irc-recv.c:1792 msgid "Channels: " msgstr "" -#: src/irc/irc-recv.c:1930 +#: src/irc/irc-recv.c:1980 msgid "No topic set for " msgstr "" -#: src/irc/irc-recv.c:1972 +#: src/irc/irc-recv.c:2022 msgid "Topic for " msgstr "" -#: src/irc/irc-recv.c:1976 +#: src/irc/irc-recv.c:2026 #, c-format msgid " is: \"%s\"\n" msgstr "" -#: src/irc/irc-recv.c:1992 src/irc/irc-recv.c:2072 +#: src/irc/irc-recv.c:2042 src/irc/irc-recv.c:2122 #, c-format msgid "%s cannot identify channel for \"%s\" command\n" msgstr "" -#: src/irc/irc-recv.c:2038 +#: src/irc/irc-recv.c:2088 msgid "Topic set by " msgstr "" -#: src/irc/irc-recv.c:2056 +#: src/irc/irc-recv.c:2106 #, c-format msgid "%s cannot identify date/time for \"%s\" command\n" msgstr "" -#: src/irc/irc-recv.c:2064 +#: src/irc/irc-recv.c:2114 #, c-format msgid "%s cannot identify nickname for \"%s\" command\n" msgstr "" -#: src/irc/irc-recv.c:2193 +#: src/irc/irc-recv.c:2243 msgid " on " msgstr "" -#: src/irc/irc-recv.c:2300 +#: src/irc/irc-recv.c:2350 #, c-format msgid "%s cannot create nick \"%s\" for channel \"%s\"\n" msgstr "" -#: src/irc/irc-recv.c:2353 +#: src/irc/irc-recv.c:2403 msgid "Nicks " msgstr "" -#: src/irc/irc-recv.c:2373 +#: src/irc/irc-recv.c:2423 msgid "Channel " msgstr "" -#: src/irc/irc-recv.c:2384 +#: src/irc/irc-recv.c:2434 msgid "nicks" msgstr "" -#: src/irc/irc-recv.c:2384 +#: src/irc/irc-recv.c:2434 msgid "nick" msgstr "" -#: src/irc/irc-recv.c:2392 +#: src/irc/irc-recv.c:2442 msgid "ops" msgstr "" -#: src/irc/irc-recv.c:2392 +#: src/irc/irc-recv.c:2442 msgid "op" msgstr "" -#: src/irc/irc-recv.c:2401 +#: src/irc/irc-recv.c:2451 msgid "halfops" msgstr "" -#: src/irc/irc-recv.c:2401 +#: src/irc/irc-recv.c:2451 msgid "halfop" msgstr "" -#: src/irc/irc-recv.c:2410 +#: src/irc/irc-recv.c:2460 msgid "voices" msgstr "" -#: src/irc/irc-recv.c:2410 +#: src/irc/irc-recv.c:2460 msgid "voice" msgstr "" -#: src/irc/irc-recv.c:2419 +#: src/irc/irc-recv.c:2469 msgid "normal" msgstr "" -#: src/irc/irc-recv.c:2451 +#: src/irc/irc-recv.c:2501 #, c-format msgid "%s: nickname \"%s\" is already in use, trying 2nd nickname \"%s\"\n" msgstr "" -#: src/irc/irc-recv.c:2462 +#: src/irc/irc-recv.c:2512 #, c-format msgid "%s: nickname \"%s\" is already in use, trying 3rd nickname \"%s\"\n" msgstr "" -#: src/irc/irc-recv.c:2471 +#: src/irc/irc-recv.c:2521 #, c-format msgid "" "%s: all declared nicknames are already in use, closing connection with " "server!\n" msgstr "" -#: src/plugins/perl/wee-perl.c:81 +#: src/plugins/perl/wee-perl.c:85 #, c-format msgid "" "Perl error: unable to register Perl script \"%s\" (another script already " "exists with this name)\n" msgstr "" -#: src/plugins/perl/wee-perl.c:105 +#: src/plugins/perl/wee-perl.c:109 #, c-format msgid "registered Perl script: \"%s\", version %s (%s)\n" msgstr "" -#: src/plugins/perl/wee-perl.c:112 +#: src/plugins/perl/wee-perl.c:116 #, c-format msgid "%s unable to load Perl script \"%s\" (not enough memory)\n" msgstr "" -#: src/plugins/perl/wee-perl.c:352 +#: src/plugins/perl/wee-perl.c:427 #, c-format msgid "Perl error: %s\n" msgstr "" -#: src/plugins/perl/wee-perl.c:362 +#: src/plugins/perl/wee-perl.c:437 #, c-format msgid "Perl error: too much values from \"%s\" (%d). Expected: 1.\n" msgstr "" -#: src/plugins/perl/wee-perl.c:384 +#: src/plugins/perl/wee-perl.c:459 #, c-format msgid "loading Perl script \"%s\"\n" msgstr "" -#: src/plugins/perl/wee-perl.c:433 +#: src/plugins/perl/wee-perl.c:508 #, c-format msgid "unloading Perl script \"%s\"\n" msgstr "" -#: src/plugins/perl/wee-perl.c:450 +#: src/plugins/perl/wee-perl.c:525 msgid "unloading all Perl scripts...\n" msgstr "" -#: src/plugins/plugins.c:136 +#: src/plugins/plugins.c:89 +#, c-format +msgid "auto-loading %s script: %s%s%s\n" +msgstr "" + +#: src/plugins/plugins.c:195 #, c-format msgid "%s unable to add handler for \"%s\" message (not enough memory)\n" msgstr "" @@ -1712,221 +1717,221 @@ msgstr "" msgid "No help available, \"%s\" is an unknown command\n" msgstr "" -#: src/common/command.c:1003 +#: src/common/command.c:1004 msgid "Registered Perl scripts:\n" msgstr "" -#: src/common/command.c:1020 src/common/command.c:1042 -#: src/common/command.c:1064 +#: src/common/command.c:1021 src/common/command.c:1043 +#: src/common/command.c:1065 msgid " (none)\n" msgstr "" -#: src/common/command.c:1025 +#: src/common/command.c:1026 msgid "Perl message handlers:\n" msgstr "" -#: src/common/command.c:1034 +#: src/common/command.c:1035 #, c-format msgid " IRC(%s) => Perl(%s)\n" msgstr "" -#: src/common/command.c:1047 +#: src/common/command.c:1048 msgid "Perl command handlers:\n" msgstr "" -#: src/common/command.c:1056 +#: src/common/command.c:1057 #, c-format msgid " Command /%s => Perl(%s)\n" msgstr "" -#: src/common/command.c:1074 +#: src/common/command.c:1075 msgid "Perl scripts unloaded\n" msgstr "" -#: src/common/command.c:1086 +#: src/common/command.c:1099 #, c-format msgid "%s unknown option for \"%s\" command\n" msgstr "" -#: src/common/command.c:1097 +#: src/common/command.c:1110 msgid "" "WeeChat was build without Perl support.\n" "Please rebuild WeeChat with \"--enable-perl\" option for ./configure script\n" msgstr "" -#: src/common/command.c:1141 +#: src/common/command.c:1154 msgid "Server: " msgstr "" -#: src/common/command.c:1152 +#: src/common/command.c:1165 msgid "connected" msgstr "" -#: src/common/command.c:1152 +#: src/common/command.c:1165 msgid "not connected" msgstr "" -#: src/common/command.c:1159 +#: src/common/command.c:1172 #, c-format msgid " Autoconnect: %s\n" msgstr "" -#: src/common/command.c:1160 +#: src/common/command.c:1173 msgid "yes" msgstr "" -#: src/common/command.c:1160 +#: src/common/command.c:1173 msgid "no" msgstr "" -#: src/common/command.c:1164 +#: src/common/command.c:1177 #, c-format msgid " Hostname : %s\n" msgstr "" -#: src/common/command.c:1169 +#: src/common/command.c:1182 #, c-format msgid " Port : %d\n" msgstr "" -#: src/common/command.c:1175 +#: src/common/command.c:1188 msgid " Password : (hidden)\n" msgstr "" -#: src/common/command.c:1179 +#: src/common/command.c:1192 msgid " Password : (none)\n" msgstr "" -#: src/common/command.c:1183 +#: src/common/command.c:1196 #, c-format msgid " Nicks : %s" msgstr "" -#: src/common/command.c:1200 +#: src/common/command.c:1213 #, c-format msgid " Username : %s\n" msgstr "" -#: src/common/command.c:1205 +#: src/common/command.c:1218 #, c-format msgid " Realname : %s\n" msgstr "" -#: src/common/command.c:1211 +#: src/common/command.c:1224 #, c-format msgid " Command : %s\n" msgstr "" -#: src/common/command.c:1216 +#: src/common/command.c:1229 msgid " Command : (none)\n" msgstr "" -#: src/common/command.c:1221 +#: src/common/command.c:1234 #, c-format msgid " Auto-join : %s\n" msgstr "" -#: src/common/command.c:1226 +#: src/common/command.c:1239 msgid " Auto-join : (none)\n" msgstr "" -#: src/common/command.c:1230 +#: src/common/command.c:1243 msgid "No server.\n" msgstr "" -#: src/common/command.c:1239 +#: src/common/command.c:1252 #, c-format msgid "%s missing servername for \"%s\" command\n" msgstr "" -#: src/common/command.c:1245 +#: src/common/command.c:1258 #, c-format msgid "%s too much arguments for \"%s\" command, ignoring arguments\n" msgstr "" -#: src/common/command.c:1262 +#: src/common/command.c:1275 #, c-format msgid "%s server \"%s\" not found for \"%s\" command\n" msgstr "" -#: src/common/command.c:1268 src/common/command.c:1399 +#: src/common/command.c:1281 src/common/command.c:1412 msgid "Server" msgstr "" -#: src/common/command.c:1271 +#: src/common/command.c:1284 msgid "has been deleted\n" msgstr "" -#: src/common/command.c:1285 +#: src/common/command.c:1298 #, c-format msgid "%s missing parameters for \"%s\" command\n" msgstr "" -#: src/common/command.c:1294 +#: src/common/command.c:1307 #, c-format msgid "%s server \"%s\" already exists, can't create it!\n" msgstr "" -#: src/common/command.c:1318 src/common/command.c:1344 -#: src/common/command.c:1356 src/common/command.c:1380 +#: src/common/command.c:1331 src/common/command.c:1357 +#: src/common/command.c:1369 src/common/command.c:1393 #, c-format msgid "%s missing password for \"%s\" parameter\n" msgstr "" -#: src/common/command.c:1330 +#: src/common/command.c:1343 #, c-format msgid "%s missing nick(s) for \"%s\" parameter\n" msgstr "" -#: src/common/command.c:1368 +#: src/common/command.c:1381 #, c-format msgid "%s missing command for \"%s\" parameter\n" msgstr "" -#: src/common/command.c:1402 +#: src/common/command.c:1415 msgid "created\n" msgstr "" -#: src/common/command.c:1407 +#: src/common/command.c:1420 #, c-format msgid "%s unable to create server\n" msgstr "" -#: src/common/command.c:1479 +#: src/common/command.c:1492 msgid "(unknown)" msgstr "" -#: src/common/command.c:1512 +#: src/common/command.c:1525 #, c-format msgid "%s alias or command \"%s\" not found\n" msgstr "" -#: src/common/command.c:1521 +#: src/common/command.c:1534 #, c-format msgid "Alias \"%s\" removed\n" msgstr "" -#: src/common/weechat.c:151 +#: src/common/weechat.c:139 #, c-format msgid "%s unknown parameter '%s', ignored\n" msgstr "" -#: src/common/weechat.c:175 +#: src/common/weechat.c:159 #, c-format msgid "%s cannot create directory \"%s\"\n" msgstr "" -#: src/common/weechat.c:215 +#: src/common/weechat.c:255 #, c-format -msgid "%s unable to create/append to log file (~/.weechat/" +msgid "%s unable to create/append to log file (~/.weechat/%s)" msgstr "" -#: src/common/weechat.c:303 +#: src/common/weechat.c:279 #, c-format msgid "%sWelcome to " msgstr "" -#: src/common/weechat.c:316 +#: src/common/weechat.c:292 msgid "compiled on" msgstr "" diff --git a/src/common/command.c b/src/common/command.c index bcf8e8156..8e8cc91ea 100644 --- a/src/common/command.c +++ b/src/common/command.c @@ -993,6 +993,7 @@ weechat_cmd_perl (int argc, char **argv) t_plugin_script *ptr_plugin_script; t_plugin_handler *ptr_plugin_handler; int handler_found; + char *path_script; #ifdef PLUGIN_PERL switch (argc) @@ -1078,7 +1079,19 @@ weechat_cmd_perl (int argc, char **argv) if (strcmp (argv[0], "load") == 0) { /* load Perl script */ - plugin_load (PLUGIN_TYPE_PERL, argv[1]); + if (strstr(argv[1], DIR_SEPARATOR)) + path_script = NULL; + else + { + path_script = (char *) malloc ((strlen (weechat_home) + + strlen (argv[1]) + 7) * sizeof (char)); + sprintf (path_script, "%s%s%s%s%s", weechat_home, + DIR_SEPARATOR, "perl", DIR_SEPARATOR, argv[1]); + } + plugin_load (PLUGIN_TYPE_PERL, + (path_script) ? path_script : argv[1]); + if (path_script) + free (path_script); } else { diff --git a/src/common/weechat.c b/src/common/weechat.c index 0d822732c..2da7b32b0 100644 --- a/src/common/weechat.c +++ b/src/common/weechat.c @@ -62,7 +62,7 @@ int quit_weechat; /* = 1 if quit request from user... why ? :'( */ char *weechat_home; /* WeeChat home dir. (example: /home/toto/.weechat) */ -FILE *log_file; /* WeeChat log file (~/.weechat/weechat.log */ +FILE *log_file; /* WeeChat log file (~/.weechat/weechat.log) */ /* @@ -73,6 +73,7 @@ FILE *log_file; /* WeeChat log file (~/.weechat/weechat.log */ void my_sigint () { + /* do nothing */ } /* @@ -142,31 +143,82 @@ wee_parse_args (int argc, char *argv[]) } /* - * wee_create_home_dir: create weechat home directory (if not found) + * wee_create_dir: create a directory + * return: 1 if ok (or directory already exists) + * 0 if error */ -void -wee_create_home_dir () +int +wee_create_dir (char *directory) { - int return_code; - - /* TODO: rewrite this code for Windows version */ - weechat_home = - (char *) malloc ((strlen (getenv ("HOME")) + 10) * sizeof (char)); - sprintf (weechat_home, "%s/.weechat", getenv ("HOME")); - - /* try to create home directory */ - return_code = mkdir (weechat_home, 0755); - if (return_code < 0) + if (mkdir (directory, 0755) < 0) { /* exit if error (except if directory already exists) */ if (errno != EEXIST) { fprintf (stderr, _("%s cannot create directory \"%s\"\n"), - WEECHAT_ERROR, weechat_home); - exit (1); + WEECHAT_ERROR, directory); + return 0; } } + return 1; +} + +/* + * wee_create_home_dirs: create (if not found): + * - WeeChat home directory ("~/.weechat") + * - "perl" directory (and "autoload") + * - "ruby" directory (and "autoload") + * - "python" directory (and "autoload") + */ + +void +wee_create_home_dirs () +{ + char *dir_name; + + /* TODO: rewrite this code for Windows version */ + weechat_home = + (char *) malloc ((strlen (getenv ("HOME")) + 10) * sizeof (char)); + sprintf (weechat_home, "%s%s.weechat", getenv ("HOME"), DIR_SEPARATOR); + + /* create home directory "~/.weechat" ; error is fatal */ + if (!wee_create_dir (weechat_home)) + exit (1); + + dir_name = (char *) malloc ((strlen (weechat_home) + 64) * sizeof (char)); + + /* create "~/.weechat/perl" */ + sprintf (dir_name, "%s%s%s", weechat_home, DIR_SEPARATOR, "perl"); + if (wee_create_dir (dir_name)) + { + /* create "~/.weechat/perl/autoload" */ + sprintf (dir_name, "%s%s%s%s%s", weechat_home, DIR_SEPARATOR, "perl", + DIR_SEPARATOR, "autoload"); + wee_create_dir (dir_name); + } + + /* create "~/.weechat/python" */ + sprintf (dir_name, "%s%s%s", weechat_home, DIR_SEPARATOR, "python"); + if (wee_create_dir (dir_name)) + { + /* create "~/.weechat/python/autoload" */ + sprintf (dir_name, "%s%s%s%s%s", weechat_home, DIR_SEPARATOR, "python", + DIR_SEPARATOR, "autoload"); + wee_create_dir (dir_name); + } + + /* create "~/.weechat/ruby" */ + sprintf (dir_name, "%s%s%s", weechat_home, DIR_SEPARATOR, "ruby"); + if (wee_create_dir (dir_name)) + { + /* create "~/.weechat/ruby/autoload" */ + sprintf (dir_name, "%s%s%s%s%s", weechat_home, DIR_SEPARATOR, "ruby", + DIR_SEPARATOR, "autoload"); + wee_create_dir (dir_name); + } + + free (dir_name); } /* @@ -200,8 +252,8 @@ wee_init_log () { free (filename); fprintf (stderr, - _("%s unable to create/append to log file (~/.weechat/" - WEECHAT_LOG_NAME), WEECHAT_ERROR); + _("%s unable to create/append to log file (~/.weechat/%s)"), + WEECHAT_ERROR, WEECHAT_LOG_NAME); } free (filename); } @@ -277,7 +329,7 @@ main (int argc, char *argv[]) gui_pre_init (&argc, &argv); /* pre-initiliaze interface */ wee_init_vars (); /* initialize some variables */ wee_parse_args (argc, argv); /* parse command line args */ - wee_create_home_dir (); /* create weechat home directory */ + wee_create_home_dirs (); /* create WeeChat directories */ wee_init_log (); /* init log file */ index_command_build (); /* build commands index for completion */ diff --git a/src/common/weechat.h b/src/common/weechat.h index 53fc0dc21..47b9e12ed 100644 --- a/src/common/weechat.h +++ b/src/common/weechat.h @@ -86,6 +86,15 @@ " -l, --license display WeeChat license\n" \ " -v, --version display WeeChat version\n\n" +/* directory separator, depending on OS */ + +#ifdef _WIN32 + #define DIR_SEPARATOR "\\" +#else + #define DIR_SEPARATOR "/" +#endif + +/* global variables and functions */ extern int quit_weechat; extern char *weechat_home; diff --git a/src/common/weeconfig.c b/src/common/weeconfig.c index 91fcc792f..4ddbe8d60 100644 --- a/src/common/weeconfig.c +++ b/src/common/weeconfig.c @@ -722,7 +722,7 @@ config_read () filename = (char *) malloc ((strlen (weechat_home) + 64) * sizeof (char)); - sprintf (filename, "%s/" WEECHAT_CONFIG_NAME, weechat_home); + sprintf (filename, "%s%s" WEECHAT_CONFIG_NAME, weechat_home, DIR_SEPARATOR); if ((file = fopen (filename, "rt")) == NULL) { gui_printf (NULL, _("%s config file \"%s\" not found.\n"), @@ -938,7 +938,7 @@ config_create_default () filename = (char *) malloc ((strlen (weechat_home) + 64) * sizeof (char)); - sprintf (filename, "%s/" WEECHAT_CONFIG_NAME, weechat_home); + sprintf (filename, "%s%s" WEECHAT_CONFIG_NAME, weechat_home, DIR_SEPARATOR); if ((file = fopen (filename, "wt")) == NULL) { gui_printf (NULL, _("%s cannot create file \"%s\"\n"), @@ -1070,7 +1070,7 @@ config_write (char *config_name) { filename = (char *) malloc ((strlen (weechat_home) + 64) * sizeof (char)); - sprintf (filename, "%s/" WEECHAT_CONFIG_NAME, weechat_home); + sprintf (filename, "%s%s" WEECHAT_CONFIG_NAME, weechat_home, DIR_SEPARATOR); } if ((file = fopen (filename, "wt")) == NULL) diff --git a/src/plugins/plugins.c b/src/plugins/plugins.c index 431dab27c..85d28c93f 100644 --- a/src/plugins/plugins.c +++ b/src/plugins/plugins.c @@ -27,7 +27,11 @@ #endif #include +#include #include +#include +#include +#include #include "../common/weechat.h" #include "plugins.h" #include "../irc/irc.h" @@ -38,6 +42,8 @@ #endif +char *plugin_name[3] = { "Perl", "Python", "Ruby" }; + t_plugin_handler *plugin_msg_handlers = NULL; t_plugin_handler *last_plugin_msg_handler = NULL; @@ -45,6 +51,58 @@ t_plugin_handler *plugin_cmd_handlers = NULL; t_plugin_handler *last_plugin_cmd_handler = NULL; +/* + * plugin_auto_load: auto-load all scripts in a directory + */ + +void +plugin_auto_load (int plugin_type, char *directory) +{ + char *dir_name, *current_dir; + DIR *dir; + struct dirent *entry; + struct stat statbuf; + + /* build directory, adding WeeChat home */ + dir_name = + (char *) malloc ((strlen (weechat_home) + strlen (directory) + 2) * sizeof (char)); + sprintf (dir_name, "%s%s%s", weechat_home, DIR_SEPARATOR, directory); + + /* save working directory */ + current_dir = (char *) malloc (1024 * sizeof (char)); + if (!getcwd (current_dir, 1024 - 1)) + { + free (current_dir); + current_dir = NULL; + } + + /* browse autoload directory */ + dir = opendir (dir_name); + chdir (dir_name); + if (dir) + { + while ((entry = readdir (dir))) + { + lstat (entry->d_name, &statbuf); + if (! S_ISDIR(statbuf.st_mode)) + { + wee_log_printf (_("auto-loading %s script: %s%s%s\n"), + plugin_name[plugin_type], + dir_name, DIR_SEPARATOR, entry->d_name); + plugin_load (plugin_type, entry->d_name); + } + } + } + + /* restore working directory */ + if (current_dir) + { + chdir (current_dir); + free (current_dir); + } + free (dir_name); +} + /* * plugin_init: initialize all plugins */ @@ -54,6 +112,7 @@ plugin_init () { #ifdef PLUGIN_PERL wee_perl_init(); + plugin_auto_load (PLUGIN_TYPE_PERL, "perl/autoload"); #endif } diff --git a/weechat/ChangeLog b/weechat/ChangeLog index 817919817..86d169cdc 100644 --- a/weechat/ChangeLog +++ b/weechat/ChangeLog @@ -1,11 +1,11 @@ WeeChat - Wee Enhanced Environment for Chat =========================================== -ChangeLog - 2003-11-30 +ChangeLog - 2003-12-26 Version 0.0.4 (under dev!): - * Perl plugin + * Perl plugin, with auto-load * Ctrl-C now intercepted (ignored) * debug messages can be enabled via ./configure --enbale-debug option diff --git a/weechat/TODO b/weechat/TODO index a788d5a98..d3670ee0b 100644 --- a/weechat/TODO +++ b/weechat/TODO @@ -1,7 +1,7 @@ WeeChat - Wee Enhanced Environment for Chat =========================================== -TODO - 2003-11-23 +TODO - 2003-12-26 Legend: # done @@ -12,17 +12,8 @@ Legend: v0.0.4: ------ - - * IRC protocol: - + "/mode" command: change the user/channels modes - - * WeeChat commands: - + "/set" command: allow the user to set the WeeChat variables - under WeeChat without editing the config file (colours, time - format, etc) * Interface: - + Gtk GUI + internationalization (traduce WeeChat in many languages) * Configuration: @@ -31,16 +22,17 @@ v0.0.4: * Plugins: + Perl plugin # "/perl load" and "/perl unload" commands to (un)load Perl scripts - - auto-load Perl scripts at startup + # auto-load Perl scripts at startup Future versions: --------------- - * General + * General: - Windows version * IRC protocol: + + "/mode" command: change the user/channels modes - "/dcc" command (for chat and sending/receiving files) - complete "/list" command: add regexp search, display only channels that match regexp @@ -52,6 +44,9 @@ Future versions: nick/host connect to the given irc network * WeeChat commands: + + "/set" command: allow the user to set the WeeChat variables + under WeeChat without editing the config file (colours, time + format, etc) - "/reload" command: reload the WeeChat's config file - "/highlight" command: highlight a given word when it appears on channels/privates @@ -63,6 +58,7 @@ Future versions: channel/private * Interface: + + Gtk GUI - display current channel modes (example : #weechat(+nt)) - interpret special chars in messages (color & bold for example) - many channel windows in one window/term (window split) diff --git a/weechat/po/fr.po b/weechat/po/fr.po index c660e5fe9..f650e7df0 100644 --- a/weechat/po/fr.po +++ b/weechat/po/fr.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: WeeChat 0.0.4-pre1\n" "Report-Msgid-Bugs-To: flashcode@flashtux.org\n" -"POT-Creation-Date: 2003-11-30 14:38+0100\n" +"POT-Creation-Date: 2003-12-26 13:50+0100\n" "PO-Revision-Date: 2003-10-04 21:21+0200\n" "Last-Translator: FlashCode \n" "Language-Team: weechat-dev \n" @@ -89,7 +89,7 @@ msgstr "%s: l'adresse IP du serveur est : %s\n" msgid "%s cannot connect to irc server\n" msgstr "%s connexion au serveur irc impossible\n" -#: src/irc/irc-server.c:590 +#: src/irc/irc-server.c:611 msgid "Disconnected from server!\n" msgstr "Déconnecté du serveur !\n" @@ -1077,7 +1077,7 @@ msgstr "drapeau de mode inconnu" msgid "can't change mode for other users" msgstr "impossible de changer le mode pour les autres utilisateurs" -#: src/irc/irc-send.c:60 src/irc/irc-recv.c:2482 +#: src/irc/irc-send.c:60 src/irc/irc-recv.c:2532 msgid "unknown" msgstr "inconnu" @@ -1112,7 +1112,7 @@ msgstr "%s utilisateur non trouv 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:524 src/common/command.c:1092 +#: src/irc/irc-send.c:524 src/common/command.c:1105 #, c-format msgid "%s wrong argument count for \"%s\" command\n" msgstr "%s nombre de paramètres erroné pour la commande \"%s\"\n" @@ -1132,7 +1132,7 @@ msgid " has joined " msgstr " a rejoint " #: src/irc/irc-recv.c:231 src/irc/irc-recv.c:447 src/irc/irc-recv.c:713 -#: src/irc/irc-recv.c:820 src/irc/irc-recv.c:1983 src/irc/irc-recv.c:2048 +#: src/irc/irc-recv.c:820 src/irc/irc-recv.c:2033 src/irc/irc-recv.c:2098 #, c-format msgid "%s channel not found for \"%s\" command\n" msgstr "%s canal non trouvé pour la commande \"%s\"\n" @@ -1284,7 +1284,7 @@ msgstr "CTCP VERSION " msgid "from" msgstr "de" -#: src/irc/irc-recv.c:927 src/irc/irc-recv.c:2269 src/irc/irc-recv.c:2309 +#: src/irc/irc-recv.c:927 src/irc/irc-recv.c:2319 src/irc/irc-recv.c:2359 #, c-format msgid "%s cannot parse \"%s\" command\n" msgstr "%s impossible d'analyser la commande \"%s\"\n" @@ -1320,151 +1320,151 @@ msgstr " est absent: %s\n" msgid "Users online: " msgstr "Utilisateurs en ligne: " -#: src/irc/irc-recv.c:1619 +#: src/irc/irc-recv.c:1669 msgid "idle: " msgstr "inactivité: " -#: src/irc/irc-recv.c:1627 +#: src/irc/irc-recv.c:1677 msgid "days" msgstr "jours" -#: src/irc/irc-recv.c:1627 +#: src/irc/irc-recv.c:1677 msgid "day" msgstr "jour" -#: src/irc/irc-recv.c:1637 +#: src/irc/irc-recv.c:1687 msgid "hours" msgstr "heures" -#: src/irc/irc-recv.c:1637 +#: src/irc/irc-recv.c:1687 msgid "hour" msgstr "heure" -#: src/irc/irc-recv.c:1643 +#: src/irc/irc-recv.c:1693 msgid "minutes" msgstr "minutes" -#: src/irc/irc-recv.c:1643 +#: src/irc/irc-recv.c:1693 msgid "minute" msgstr "minute" -#: src/irc/irc-recv.c:1649 +#: src/irc/irc-recv.c:1699 msgid "seconds" msgstr "secondes" -#: src/irc/irc-recv.c:1649 +#: src/irc/irc-recv.c:1699 msgid "second" msgstr "seconde" -#: src/irc/irc-recv.c:1654 +#: src/irc/irc-recv.c:1704 msgid "signon at: " msgstr "signé le: " -#: src/irc/irc-recv.c:1742 +#: src/irc/irc-recv.c:1792 msgid "Channels: " msgstr "Canauxs: " -#: src/irc/irc-recv.c:1930 +#: src/irc/irc-recv.c:1980 msgid "No topic set for " msgstr "Pas de titre défini pour " -#: src/irc/irc-recv.c:1972 +#: src/irc/irc-recv.c:2022 msgid "Topic for " msgstr "Le titre pour " -#: src/irc/irc-recv.c:1976 +#: src/irc/irc-recv.c:2026 #, c-format msgid " is: \"%s\"\n" msgstr " est: \"%s\"\n" -#: src/irc/irc-recv.c:1992 src/irc/irc-recv.c:2072 +#: src/irc/irc-recv.c:2042 src/irc/irc-recv.c:2122 #, c-format msgid "%s cannot identify channel for \"%s\" command\n" msgstr "%s impossible de déterminer le canal pour la commande \"%s\"\n" -#: src/irc/irc-recv.c:2038 +#: src/irc/irc-recv.c:2088 msgid "Topic set by " msgstr "Titre défini par " -#: src/irc/irc-recv.c:2056 +#: src/irc/irc-recv.c:2106 #, c-format msgid "%s cannot identify date/time for \"%s\" command\n" msgstr "%s impossible d'identifier la date/heure pour la commande \"%s\"\n" -#: src/irc/irc-recv.c:2064 +#: src/irc/irc-recv.c:2114 #, c-format msgid "%s cannot identify nickname for \"%s\" command\n" msgstr "" "%s impossible de déterminer le nom d'utilisateur pour la commande \"%s\"\n" -#: src/irc/irc-recv.c:2193 +#: src/irc/irc-recv.c:2243 msgid " on " msgstr " sur " -#: src/irc/irc-recv.c:2300 +#: src/irc/irc-recv.c:2350 #, c-format msgid "%s cannot create nick \"%s\" for channel \"%s\"\n" msgstr "%s impossible de créer l'utilisateur \"%s\" pour le canal \"%s\"\n" -#: src/irc/irc-recv.c:2353 +#: src/irc/irc-recv.c:2403 msgid "Nicks " msgstr "Utilisateurs " -#: src/irc/irc-recv.c:2373 +#: src/irc/irc-recv.c:2423 msgid "Channel " msgstr "Canal " -#: src/irc/irc-recv.c:2384 +#: src/irc/irc-recv.c:2434 msgid "nicks" msgstr "utilisateurs" -#: src/irc/irc-recv.c:2384 +#: src/irc/irc-recv.c:2434 msgid "nick" msgstr "utilisateur" -#: src/irc/irc-recv.c:2392 +#: src/irc/irc-recv.c:2442 msgid "ops" msgstr "ops" -#: src/irc/irc-recv.c:2392 +#: src/irc/irc-recv.c:2442 msgid "op" msgstr "op" -#: src/irc/irc-recv.c:2401 +#: src/irc/irc-recv.c:2451 msgid "halfops" msgstr "halfops" -#: src/irc/irc-recv.c:2401 +#: src/irc/irc-recv.c:2451 msgid "halfop" msgstr "halfop" -#: src/irc/irc-recv.c:2410 +#: src/irc/irc-recv.c:2460 msgid "voices" msgstr "voices" -#: src/irc/irc-recv.c:2410 +#: src/irc/irc-recv.c:2460 msgid "voice" msgstr "voice" -#: src/irc/irc-recv.c:2419 +#: src/irc/irc-recv.c:2469 msgid "normal" msgstr "normal" -#: src/irc/irc-recv.c:2451 +#: src/irc/irc-recv.c:2501 #, c-format msgid "%s: nickname \"%s\" is already in use, trying 2nd nickname \"%s\"\n" msgstr "" "%s: l'utilisateur \"%s\" est déjà en cours d'utilisation, essai avec le 2nd " "nom d'utilisateur \"%s\"\n" -#: src/irc/irc-recv.c:2462 +#: src/irc/irc-recv.c:2512 #, c-format msgid "%s: nickname \"%s\" is already in use, trying 3rd nickname \"%s\"\n" msgstr "" "%s: l'utilisateur \"%s\" est déjà en cours d'utilisation, essai du 3ème nom " "d'utilisateur \"%s\"\n" -#: src/irc/irc-recv.c:2471 +#: src/irc/irc-recv.c:2521 #, c-format msgid "" "%s: all declared nicknames are already in use, closing connection with " @@ -1473,7 +1473,7 @@ msgstr "" "%s: tous les noms d'utilisateurs déclarés sont déjà en cours d'utilisation, " "fermeture de la connexion avec le serveur !\n" -#: src/plugins/perl/wee-perl.c:81 +#: src/plugins/perl/wee-perl.c:85 #, c-format msgid "" "Perl error: unable to register Perl script \"%s\" (another script already " @@ -1482,42 +1482,47 @@ msgstr "" "Erreur Perl: impossible d'enregistrer le script Perl \"%s\" (un autre script " "existe déjà avec ce nom)\n" -#: src/plugins/perl/wee-perl.c:105 +#: src/plugins/perl/wee-perl.c:109 #, c-format msgid "registered Perl script: \"%s\", version %s (%s)\n" msgstr "script Perl enregistré: \"%s\", version %s (%s)\n" -#: src/plugins/perl/wee-perl.c:112 +#: src/plugins/perl/wee-perl.c:116 #, c-format msgid "%s unable to load Perl script \"%s\" (not enough memory)\n" msgstr "" "%s impossible de charger le script Perl \"%s\" (mémoire insuffisante)\n" -#: src/plugins/perl/wee-perl.c:352 +#: src/plugins/perl/wee-perl.c:427 #, c-format msgid "Perl error: %s\n" msgstr "Erreur Perl: %s\n" -#: src/plugins/perl/wee-perl.c:362 +#: src/plugins/perl/wee-perl.c:437 #, c-format msgid "Perl error: too much values from \"%s\" (%d). Expected: 1.\n" msgstr "Erreur Perl: trop de valeurs de \"%s\" (%d). Attendue: 1.\n" -#: src/plugins/perl/wee-perl.c:384 +#: src/plugins/perl/wee-perl.c:459 #, c-format msgid "loading Perl script \"%s\"\n" msgstr "chargement du script Perl \"%s\"\n" -#: src/plugins/perl/wee-perl.c:433 +#: src/plugins/perl/wee-perl.c:508 #, c-format msgid "unloading Perl script \"%s\"\n" msgstr "déchargement du script Perl \"%s\"\n" -#: src/plugins/perl/wee-perl.c:450 +#: src/plugins/perl/wee-perl.c:525 msgid "unloading all Perl scripts...\n" msgstr "déchargement de tous les scripts Perl...\n" -#: src/plugins/plugins.c:136 +#: src/plugins/plugins.c:89 +#, c-format +msgid "auto-loading %s script: %s%s%s\n" +msgstr "chargement automatique du script %s : %s%s%s\n" + +#: src/plugins/plugins.c:195 #, c-format msgid "%s unable to add handler for \"%s\" message (not enough memory)\n" msgstr "" @@ -1842,43 +1847,43 @@ msgstr "> Aide sur la commande IRC \"%s\":\n" 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:1003 +#: src/common/command.c:1004 msgid "Registered Perl scripts:\n" msgstr "Scripts Perl enregistrés :\n" -#: src/common/command.c:1020 src/common/command.c:1042 -#: src/common/command.c:1064 +#: src/common/command.c:1021 src/common/command.c:1043 +#: src/common/command.c:1065 msgid " (none)\n" msgstr " (aucun)\n" -#: src/common/command.c:1025 +#: src/common/command.c:1026 msgid "Perl message handlers:\n" msgstr "Fonctions Perl pour messages :\n" -#: src/common/command.c:1034 +#: src/common/command.c:1035 #, c-format msgid " IRC(%s) => Perl(%s)\n" msgstr " IRC(%s) => Perl(%s)\n" -#: src/common/command.c:1047 +#: src/common/command.c:1048 msgid "Perl command handlers:\n" msgstr "Commandes Perl :\n" -#: src/common/command.c:1056 +#: src/common/command.c:1057 #, c-format msgid " Command /%s => Perl(%s)\n" msgstr " Commande /%s => Perl(%s)\n" -#: src/common/command.c:1074 +#: src/common/command.c:1075 msgid "Perl scripts unloaded\n" msgstr "Scripts Perl déchargés\n" -#: src/common/command.c:1086 +#: src/common/command.c:1099 #, c-format msgid "%s unknown option for \"%s\" command\n" msgstr "%s option inconnue pour la commande \"%s\"\n" -#: src/common/command.c:1097 +#: src/common/command.c:1110 msgid "" "WeeChat was build without Perl support.\n" "Please rebuild WeeChat with \"--enable-perl\" option for ./configure script\n" @@ -1887,179 +1892,179 @@ msgstr "" "Merci de reconstruire WeeChat avec l'option \"--enable-perl\" pour le " "script ./configure\n" -#: src/common/command.c:1141 +#: src/common/command.c:1154 msgid "Server: " msgstr "Serveur: " -#: src/common/command.c:1152 +#: src/common/command.c:1165 msgid "connected" msgstr "connecté" -#: src/common/command.c:1152 +#: src/common/command.c:1165 msgid "not connected" msgstr "non connecté" -#: src/common/command.c:1159 +#: src/common/command.c:1172 #, c-format msgid " Autoconnect: %s\n" msgstr " Autoconnect: %s\n" -#: src/common/command.c:1160 +#: src/common/command.c:1173 msgid "yes" msgstr "oui" -#: src/common/command.c:1160 +#: src/common/command.c:1173 msgid "no" msgstr "non" -#: src/common/command.c:1164 +#: src/common/command.c:1177 #, c-format msgid " Hostname : %s\n" msgstr " Nom/IP : %s\n" -#: src/common/command.c:1169 +#: src/common/command.c:1182 #, c-format msgid " Port : %d\n" msgstr " Port : %d\n" -#: src/common/command.c:1175 +#: src/common/command.c:1188 msgid " Password : (hidden)\n" msgstr " Mot passe : (caché)\n" -#: src/common/command.c:1179 +#: src/common/command.c:1192 msgid " Password : (none)\n" msgstr " Mot passe : (aucun)\n" -#: src/common/command.c:1183 +#: src/common/command.c:1196 #, c-format msgid " Nicks : %s" msgstr " Pseudos : %s" -#: src/common/command.c:1200 +#: src/common/command.c:1213 #, c-format msgid " Username : %s\n" msgstr " Nom utilis.: %s\n" -#: src/common/command.c:1205 +#: src/common/command.c:1218 #, c-format msgid " Realname : %s\n" msgstr " Nom réel : %s\n" -#: src/common/command.c:1211 +#: src/common/command.c:1224 #, c-format msgid " Command : %s\n" msgstr " Commande : %s\n" -#: src/common/command.c:1216 +#: src/common/command.c:1229 msgid " Command : (none)\n" msgstr " Commande : (aucune)\n" -#: src/common/command.c:1221 +#: src/common/command.c:1234 #, c-format msgid " Auto-join : %s\n" msgstr " Auto-join : %s\n" -#: src/common/command.c:1226 +#: src/common/command.c:1239 msgid " Auto-join : (none)\n" msgstr " Auto-join : (aucun)\n" -#: src/common/command.c:1230 +#: src/common/command.c:1243 msgid "No server.\n" msgstr "Pas de serveur.\n" -#: src/common/command.c:1239 +#: src/common/command.c:1252 #, 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:1245 +#: src/common/command.c:1258 #, 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:1262 +#: src/common/command.c:1275 #, 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:1268 src/common/command.c:1399 +#: src/common/command.c:1281 src/common/command.c:1412 msgid "Server" msgstr "Serveur" -#: src/common/command.c:1271 +#: src/common/command.c:1284 msgid "has been deleted\n" msgstr "a été supprimé\n" -#: src/common/command.c:1285 +#: src/common/command.c:1298 #, c-format msgid "%s missing parameters for \"%s\" command\n" msgstr "%s paramètres manquants pour la commande \"%s\"\n" -#: src/common/command.c:1294 +#: src/common/command.c:1307 #, 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:1318 src/common/command.c:1344 -#: src/common/command.c:1356 src/common/command.c:1380 +#: src/common/command.c:1331 src/common/command.c:1357 +#: src/common/command.c:1369 src/common/command.c:1393 #, 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:1330 +#: src/common/command.c:1343 #, 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:1368 +#: src/common/command.c:1381 #, c-format msgid "%s missing command for \"%s\" parameter\n" msgstr "%s commande manquante pour le paramètre \"%s\"\n" -#: src/common/command.c:1402 +#: src/common/command.c:1415 msgid "created\n" msgstr "créé\n" -#: src/common/command.c:1407 +#: src/common/command.c:1420 #, c-format msgid "%s unable to create server\n" msgstr "%s impossible de créer le serveur\n" -#: src/common/command.c:1479 +#: src/common/command.c:1492 msgid "(unknown)" msgstr "(inconnu)" -#: src/common/command.c:1512 +#: src/common/command.c:1525 #, c-format msgid "%s alias or command \"%s\" not found\n" msgstr "%s alias ou commande \"%s\" non trouvé\n" -#: src/common/command.c:1521 +#: src/common/command.c:1534 #, c-format msgid "Alias \"%s\" removed\n" msgstr "Alias \"%s\" supprimé\n" -#: src/common/weechat.c:151 +#: src/common/weechat.c:139 #, c-format msgid "%s unknown parameter '%s', ignored\n" msgstr "%s paramètre inconnu '%s', ignoré\n" -#: src/common/weechat.c:175 +#: src/common/weechat.c:159 #, c-format msgid "%s cannot create directory \"%s\"\n" msgstr "%s impossible de créer le répertoire \"%s\"\n" -#: src/common/weechat.c:215 +#: src/common/weechat.c:255 #, c-format -msgid "%s unable to create/append to log file (~/.weechat/" -msgstr "%s impossible de créer/ajouter dans le fichier de log (~/.weechat/" +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:303 +#: src/common/weechat.c:279 #, c-format msgid "%sWelcome to " msgstr "%sBienvenue dans " -#: src/common/weechat.c:316 +#: src/common/weechat.c:292 msgid "compiled on" msgstr "compilé le" diff --git a/weechat/po/weechat.pot b/weechat/po/weechat.pot index 24d3c6daa..59074ed12 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: 2003-11-30 14:38+0100\n" +"POT-Creation-Date: 2003-12-26 13:50+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -89,7 +89,7 @@ msgstr "" msgid "%s cannot connect to irc server\n" msgstr "" -#: src/irc/irc-server.c:590 +#: src/irc/irc-server.c:611 msgid "Disconnected from server!\n" msgstr "" @@ -991,7 +991,7 @@ msgstr "" msgid "can't change mode for other users" msgstr "" -#: src/irc/irc-send.c:60 src/irc/irc-recv.c:2482 +#: src/irc/irc-send.c:60 src/irc/irc-recv.c:2532 msgid "unknown" msgstr "" @@ -1023,7 +1023,7 @@ msgstr "" msgid "%s cannot create new private window \"%s\"\n" msgstr "" -#: src/irc/irc-send.c:524 src/common/command.c:1092 +#: src/irc/irc-send.c:524 src/common/command.c:1105 #, c-format msgid "%s wrong argument count for \"%s\" command\n" msgstr "" @@ -1043,7 +1043,7 @@ msgid " has joined " msgstr "" #: src/irc/irc-recv.c:231 src/irc/irc-recv.c:447 src/irc/irc-recv.c:713 -#: src/irc/irc-recv.c:820 src/irc/irc-recv.c:1983 src/irc/irc-recv.c:2048 +#: src/irc/irc-recv.c:820 src/irc/irc-recv.c:2033 src/irc/irc-recv.c:2098 #, c-format msgid "%s channel not found for \"%s\" command\n" msgstr "" @@ -1193,7 +1193,7 @@ msgstr "" msgid "from" msgstr "" -#: src/irc/irc-recv.c:927 src/irc/irc-recv.c:2269 src/irc/irc-recv.c:2309 +#: src/irc/irc-recv.c:927 src/irc/irc-recv.c:2319 src/irc/irc-recv.c:2359 #, c-format msgid "%s cannot parse \"%s\" command\n" msgstr "" @@ -1229,194 +1229,199 @@ msgstr "" msgid "Users online: " msgstr "" -#: src/irc/irc-recv.c:1619 +#: src/irc/irc-recv.c:1669 msgid "idle: " msgstr "" -#: src/irc/irc-recv.c:1627 +#: src/irc/irc-recv.c:1677 msgid "days" msgstr "" -#: src/irc/irc-recv.c:1627 +#: src/irc/irc-recv.c:1677 msgid "day" msgstr "" -#: src/irc/irc-recv.c:1637 +#: src/irc/irc-recv.c:1687 msgid "hours" msgstr "" -#: src/irc/irc-recv.c:1637 +#: src/irc/irc-recv.c:1687 msgid "hour" msgstr "" -#: src/irc/irc-recv.c:1643 +#: src/irc/irc-recv.c:1693 msgid "minutes" msgstr "" -#: src/irc/irc-recv.c:1643 +#: src/irc/irc-recv.c:1693 msgid "minute" msgstr "" -#: src/irc/irc-recv.c:1649 +#: src/irc/irc-recv.c:1699 msgid "seconds" msgstr "" -#: src/irc/irc-recv.c:1649 +#: src/irc/irc-recv.c:1699 msgid "second" msgstr "" -#: src/irc/irc-recv.c:1654 +#: src/irc/irc-recv.c:1704 msgid "signon at: " msgstr "" -#: src/irc/irc-recv.c:1742 +#: src/irc/irc-recv.c:1792 msgid "Channels: " msgstr "" -#: src/irc/irc-recv.c:1930 +#: src/irc/irc-recv.c:1980 msgid "No topic set for " msgstr "" -#: src/irc/irc-recv.c:1972 +#: src/irc/irc-recv.c:2022 msgid "Topic for " msgstr "" -#: src/irc/irc-recv.c:1976 +#: src/irc/irc-recv.c:2026 #, c-format msgid " is: \"%s\"\n" msgstr "" -#: src/irc/irc-recv.c:1992 src/irc/irc-recv.c:2072 +#: src/irc/irc-recv.c:2042 src/irc/irc-recv.c:2122 #, c-format msgid "%s cannot identify channel for \"%s\" command\n" msgstr "" -#: src/irc/irc-recv.c:2038 +#: src/irc/irc-recv.c:2088 msgid "Topic set by " msgstr "" -#: src/irc/irc-recv.c:2056 +#: src/irc/irc-recv.c:2106 #, c-format msgid "%s cannot identify date/time for \"%s\" command\n" msgstr "" -#: src/irc/irc-recv.c:2064 +#: src/irc/irc-recv.c:2114 #, c-format msgid "%s cannot identify nickname for \"%s\" command\n" msgstr "" -#: src/irc/irc-recv.c:2193 +#: src/irc/irc-recv.c:2243 msgid " on " msgstr "" -#: src/irc/irc-recv.c:2300 +#: src/irc/irc-recv.c:2350 #, c-format msgid "%s cannot create nick \"%s\" for channel \"%s\"\n" msgstr "" -#: src/irc/irc-recv.c:2353 +#: src/irc/irc-recv.c:2403 msgid "Nicks " msgstr "" -#: src/irc/irc-recv.c:2373 +#: src/irc/irc-recv.c:2423 msgid "Channel " msgstr "" -#: src/irc/irc-recv.c:2384 +#: src/irc/irc-recv.c:2434 msgid "nicks" msgstr "" -#: src/irc/irc-recv.c:2384 +#: src/irc/irc-recv.c:2434 msgid "nick" msgstr "" -#: src/irc/irc-recv.c:2392 +#: src/irc/irc-recv.c:2442 msgid "ops" msgstr "" -#: src/irc/irc-recv.c:2392 +#: src/irc/irc-recv.c:2442 msgid "op" msgstr "" -#: src/irc/irc-recv.c:2401 +#: src/irc/irc-recv.c:2451 msgid "halfops" msgstr "" -#: src/irc/irc-recv.c:2401 +#: src/irc/irc-recv.c:2451 msgid "halfop" msgstr "" -#: src/irc/irc-recv.c:2410 +#: src/irc/irc-recv.c:2460 msgid "voices" msgstr "" -#: src/irc/irc-recv.c:2410 +#: src/irc/irc-recv.c:2460 msgid "voice" msgstr "" -#: src/irc/irc-recv.c:2419 +#: src/irc/irc-recv.c:2469 msgid "normal" msgstr "" -#: src/irc/irc-recv.c:2451 +#: src/irc/irc-recv.c:2501 #, c-format msgid "%s: nickname \"%s\" is already in use, trying 2nd nickname \"%s\"\n" msgstr "" -#: src/irc/irc-recv.c:2462 +#: src/irc/irc-recv.c:2512 #, c-format msgid "%s: nickname \"%s\" is already in use, trying 3rd nickname \"%s\"\n" msgstr "" -#: src/irc/irc-recv.c:2471 +#: src/irc/irc-recv.c:2521 #, c-format msgid "" "%s: all declared nicknames are already in use, closing connection with " "server!\n" msgstr "" -#: src/plugins/perl/wee-perl.c:81 +#: src/plugins/perl/wee-perl.c:85 #, c-format msgid "" "Perl error: unable to register Perl script \"%s\" (another script already " "exists with this name)\n" msgstr "" -#: src/plugins/perl/wee-perl.c:105 +#: src/plugins/perl/wee-perl.c:109 #, c-format msgid "registered Perl script: \"%s\", version %s (%s)\n" msgstr "" -#: src/plugins/perl/wee-perl.c:112 +#: src/plugins/perl/wee-perl.c:116 #, c-format msgid "%s unable to load Perl script \"%s\" (not enough memory)\n" msgstr "" -#: src/plugins/perl/wee-perl.c:352 +#: src/plugins/perl/wee-perl.c:427 #, c-format msgid "Perl error: %s\n" msgstr "" -#: src/plugins/perl/wee-perl.c:362 +#: src/plugins/perl/wee-perl.c:437 #, c-format msgid "Perl error: too much values from \"%s\" (%d). Expected: 1.\n" msgstr "" -#: src/plugins/perl/wee-perl.c:384 +#: src/plugins/perl/wee-perl.c:459 #, c-format msgid "loading Perl script \"%s\"\n" msgstr "" -#: src/plugins/perl/wee-perl.c:433 +#: src/plugins/perl/wee-perl.c:508 #, c-format msgid "unloading Perl script \"%s\"\n" msgstr "" -#: src/plugins/perl/wee-perl.c:450 +#: src/plugins/perl/wee-perl.c:525 msgid "unloading all Perl scripts...\n" msgstr "" -#: src/plugins/plugins.c:136 +#: src/plugins/plugins.c:89 +#, c-format +msgid "auto-loading %s script: %s%s%s\n" +msgstr "" + +#: src/plugins/plugins.c:195 #, c-format msgid "%s unable to add handler for \"%s\" message (not enough memory)\n" msgstr "" @@ -1712,221 +1717,221 @@ msgstr "" msgid "No help available, \"%s\" is an unknown command\n" msgstr "" -#: src/common/command.c:1003 +#: src/common/command.c:1004 msgid "Registered Perl scripts:\n" msgstr "" -#: src/common/command.c:1020 src/common/command.c:1042 -#: src/common/command.c:1064 +#: src/common/command.c:1021 src/common/command.c:1043 +#: src/common/command.c:1065 msgid " (none)\n" msgstr "" -#: src/common/command.c:1025 +#: src/common/command.c:1026 msgid "Perl message handlers:\n" msgstr "" -#: src/common/command.c:1034 +#: src/common/command.c:1035 #, c-format msgid " IRC(%s) => Perl(%s)\n" msgstr "" -#: src/common/command.c:1047 +#: src/common/command.c:1048 msgid "Perl command handlers:\n" msgstr "" -#: src/common/command.c:1056 +#: src/common/command.c:1057 #, c-format msgid " Command /%s => Perl(%s)\n" msgstr "" -#: src/common/command.c:1074 +#: src/common/command.c:1075 msgid "Perl scripts unloaded\n" msgstr "" -#: src/common/command.c:1086 +#: src/common/command.c:1099 #, c-format msgid "%s unknown option for \"%s\" command\n" msgstr "" -#: src/common/command.c:1097 +#: src/common/command.c:1110 msgid "" "WeeChat was build without Perl support.\n" "Please rebuild WeeChat with \"--enable-perl\" option for ./configure script\n" msgstr "" -#: src/common/command.c:1141 +#: src/common/command.c:1154 msgid "Server: " msgstr "" -#: src/common/command.c:1152 +#: src/common/command.c:1165 msgid "connected" msgstr "" -#: src/common/command.c:1152 +#: src/common/command.c:1165 msgid "not connected" msgstr "" -#: src/common/command.c:1159 +#: src/common/command.c:1172 #, c-format msgid " Autoconnect: %s\n" msgstr "" -#: src/common/command.c:1160 +#: src/common/command.c:1173 msgid "yes" msgstr "" -#: src/common/command.c:1160 +#: src/common/command.c:1173 msgid "no" msgstr "" -#: src/common/command.c:1164 +#: src/common/command.c:1177 #, c-format msgid " Hostname : %s\n" msgstr "" -#: src/common/command.c:1169 +#: src/common/command.c:1182 #, c-format msgid " Port : %d\n" msgstr "" -#: src/common/command.c:1175 +#: src/common/command.c:1188 msgid " Password : (hidden)\n" msgstr "" -#: src/common/command.c:1179 +#: src/common/command.c:1192 msgid " Password : (none)\n" msgstr "" -#: src/common/command.c:1183 +#: src/common/command.c:1196 #, c-format msgid " Nicks : %s" msgstr "" -#: src/common/command.c:1200 +#: src/common/command.c:1213 #, c-format msgid " Username : %s\n" msgstr "" -#: src/common/command.c:1205 +#: src/common/command.c:1218 #, c-format msgid " Realname : %s\n" msgstr "" -#: src/common/command.c:1211 +#: src/common/command.c:1224 #, c-format msgid " Command : %s\n" msgstr "" -#: src/common/command.c:1216 +#: src/common/command.c:1229 msgid " Command : (none)\n" msgstr "" -#: src/common/command.c:1221 +#: src/common/command.c:1234 #, c-format msgid " Auto-join : %s\n" msgstr "" -#: src/common/command.c:1226 +#: src/common/command.c:1239 msgid " Auto-join : (none)\n" msgstr "" -#: src/common/command.c:1230 +#: src/common/command.c:1243 msgid "No server.\n" msgstr "" -#: src/common/command.c:1239 +#: src/common/command.c:1252 #, c-format msgid "%s missing servername for \"%s\" command\n" msgstr "" -#: src/common/command.c:1245 +#: src/common/command.c:1258 #, c-format msgid "%s too much arguments for \"%s\" command, ignoring arguments\n" msgstr "" -#: src/common/command.c:1262 +#: src/common/command.c:1275 #, c-format msgid "%s server \"%s\" not found for \"%s\" command\n" msgstr "" -#: src/common/command.c:1268 src/common/command.c:1399 +#: src/common/command.c:1281 src/common/command.c:1412 msgid "Server" msgstr "" -#: src/common/command.c:1271 +#: src/common/command.c:1284 msgid "has been deleted\n" msgstr "" -#: src/common/command.c:1285 +#: src/common/command.c:1298 #, c-format msgid "%s missing parameters for \"%s\" command\n" msgstr "" -#: src/common/command.c:1294 +#: src/common/command.c:1307 #, c-format msgid "%s server \"%s\" already exists, can't create it!\n" msgstr "" -#: src/common/command.c:1318 src/common/command.c:1344 -#: src/common/command.c:1356 src/common/command.c:1380 +#: src/common/command.c:1331 src/common/command.c:1357 +#: src/common/command.c:1369 src/common/command.c:1393 #, c-format msgid "%s missing password for \"%s\" parameter\n" msgstr "" -#: src/common/command.c:1330 +#: src/common/command.c:1343 #, c-format msgid "%s missing nick(s) for \"%s\" parameter\n" msgstr "" -#: src/common/command.c:1368 +#: src/common/command.c:1381 #, c-format msgid "%s missing command for \"%s\" parameter\n" msgstr "" -#: src/common/command.c:1402 +#: src/common/command.c:1415 msgid "created\n" msgstr "" -#: src/common/command.c:1407 +#: src/common/command.c:1420 #, c-format msgid "%s unable to create server\n" msgstr "" -#: src/common/command.c:1479 +#: src/common/command.c:1492 msgid "(unknown)" msgstr "" -#: src/common/command.c:1512 +#: src/common/command.c:1525 #, c-format msgid "%s alias or command \"%s\" not found\n" msgstr "" -#: src/common/command.c:1521 +#: src/common/command.c:1534 #, c-format msgid "Alias \"%s\" removed\n" msgstr "" -#: src/common/weechat.c:151 +#: src/common/weechat.c:139 #, c-format msgid "%s unknown parameter '%s', ignored\n" msgstr "" -#: src/common/weechat.c:175 +#: src/common/weechat.c:159 #, c-format msgid "%s cannot create directory \"%s\"\n" msgstr "" -#: src/common/weechat.c:215 +#: src/common/weechat.c:255 #, c-format -msgid "%s unable to create/append to log file (~/.weechat/" +msgid "%s unable to create/append to log file (~/.weechat/%s)" msgstr "" -#: src/common/weechat.c:303 +#: src/common/weechat.c:279 #, c-format msgid "%sWelcome to " msgstr "" -#: src/common/weechat.c:316 +#: src/common/weechat.c:292 msgid "compiled on" msgstr "" diff --git a/weechat/src/common/command.c b/weechat/src/common/command.c index bcf8e8156..8e8cc91ea 100644 --- a/weechat/src/common/command.c +++ b/weechat/src/common/command.c @@ -993,6 +993,7 @@ weechat_cmd_perl (int argc, char **argv) t_plugin_script *ptr_plugin_script; t_plugin_handler *ptr_plugin_handler; int handler_found; + char *path_script; #ifdef PLUGIN_PERL switch (argc) @@ -1078,7 +1079,19 @@ weechat_cmd_perl (int argc, char **argv) if (strcmp (argv[0], "load") == 0) { /* load Perl script */ - plugin_load (PLUGIN_TYPE_PERL, argv[1]); + if (strstr(argv[1], DIR_SEPARATOR)) + path_script = NULL; + else + { + path_script = (char *) malloc ((strlen (weechat_home) + + strlen (argv[1]) + 7) * sizeof (char)); + sprintf (path_script, "%s%s%s%s%s", weechat_home, + DIR_SEPARATOR, "perl", DIR_SEPARATOR, argv[1]); + } + plugin_load (PLUGIN_TYPE_PERL, + (path_script) ? path_script : argv[1]); + if (path_script) + free (path_script); } else { diff --git a/weechat/src/common/weechat.c b/weechat/src/common/weechat.c index 0d822732c..2da7b32b0 100644 --- a/weechat/src/common/weechat.c +++ b/weechat/src/common/weechat.c @@ -62,7 +62,7 @@ int quit_weechat; /* = 1 if quit request from user... why ? :'( */ char *weechat_home; /* WeeChat home dir. (example: /home/toto/.weechat) */ -FILE *log_file; /* WeeChat log file (~/.weechat/weechat.log */ +FILE *log_file; /* WeeChat log file (~/.weechat/weechat.log) */ /* @@ -73,6 +73,7 @@ FILE *log_file; /* WeeChat log file (~/.weechat/weechat.log */ void my_sigint () { + /* do nothing */ } /* @@ -142,31 +143,82 @@ wee_parse_args (int argc, char *argv[]) } /* - * wee_create_home_dir: create weechat home directory (if not found) + * wee_create_dir: create a directory + * return: 1 if ok (or directory already exists) + * 0 if error */ -void -wee_create_home_dir () +int +wee_create_dir (char *directory) { - int return_code; - - /* TODO: rewrite this code for Windows version */ - weechat_home = - (char *) malloc ((strlen (getenv ("HOME")) + 10) * sizeof (char)); - sprintf (weechat_home, "%s/.weechat", getenv ("HOME")); - - /* try to create home directory */ - return_code = mkdir (weechat_home, 0755); - if (return_code < 0) + if (mkdir (directory, 0755) < 0) { /* exit if error (except if directory already exists) */ if (errno != EEXIST) { fprintf (stderr, _("%s cannot create directory \"%s\"\n"), - WEECHAT_ERROR, weechat_home); - exit (1); + WEECHAT_ERROR, directory); + return 0; } } + return 1; +} + +/* + * wee_create_home_dirs: create (if not found): + * - WeeChat home directory ("~/.weechat") + * - "perl" directory (and "autoload") + * - "ruby" directory (and "autoload") + * - "python" directory (and "autoload") + */ + +void +wee_create_home_dirs () +{ + char *dir_name; + + /* TODO: rewrite this code for Windows version */ + weechat_home = + (char *) malloc ((strlen (getenv ("HOME")) + 10) * sizeof (char)); + sprintf (weechat_home, "%s%s.weechat", getenv ("HOME"), DIR_SEPARATOR); + + /* create home directory "~/.weechat" ; error is fatal */ + if (!wee_create_dir (weechat_home)) + exit (1); + + dir_name = (char *) malloc ((strlen (weechat_home) + 64) * sizeof (char)); + + /* create "~/.weechat/perl" */ + sprintf (dir_name, "%s%s%s", weechat_home, DIR_SEPARATOR, "perl"); + if (wee_create_dir (dir_name)) + { + /* create "~/.weechat/perl/autoload" */ + sprintf (dir_name, "%s%s%s%s%s", weechat_home, DIR_SEPARATOR, "perl", + DIR_SEPARATOR, "autoload"); + wee_create_dir (dir_name); + } + + /* create "~/.weechat/python" */ + sprintf (dir_name, "%s%s%s", weechat_home, DIR_SEPARATOR, "python"); + if (wee_create_dir (dir_name)) + { + /* create "~/.weechat/python/autoload" */ + sprintf (dir_name, "%s%s%s%s%s", weechat_home, DIR_SEPARATOR, "python", + DIR_SEPARATOR, "autoload"); + wee_create_dir (dir_name); + } + + /* create "~/.weechat/ruby" */ + sprintf (dir_name, "%s%s%s", weechat_home, DIR_SEPARATOR, "ruby"); + if (wee_create_dir (dir_name)) + { + /* create "~/.weechat/ruby/autoload" */ + sprintf (dir_name, "%s%s%s%s%s", weechat_home, DIR_SEPARATOR, "ruby", + DIR_SEPARATOR, "autoload"); + wee_create_dir (dir_name); + } + + free (dir_name); } /* @@ -200,8 +252,8 @@ wee_init_log () { free (filename); fprintf (stderr, - _("%s unable to create/append to log file (~/.weechat/" - WEECHAT_LOG_NAME), WEECHAT_ERROR); + _("%s unable to create/append to log file (~/.weechat/%s)"), + WEECHAT_ERROR, WEECHAT_LOG_NAME); } free (filename); } @@ -277,7 +329,7 @@ main (int argc, char *argv[]) gui_pre_init (&argc, &argv); /* pre-initiliaze interface */ wee_init_vars (); /* initialize some variables */ wee_parse_args (argc, argv); /* parse command line args */ - wee_create_home_dir (); /* create weechat home directory */ + wee_create_home_dirs (); /* create WeeChat directories */ wee_init_log (); /* init log file */ index_command_build (); /* build commands index for completion */ diff --git a/weechat/src/common/weechat.h b/weechat/src/common/weechat.h index 53fc0dc21..47b9e12ed 100644 --- a/weechat/src/common/weechat.h +++ b/weechat/src/common/weechat.h @@ -86,6 +86,15 @@ " -l, --license display WeeChat license\n" \ " -v, --version display WeeChat version\n\n" +/* directory separator, depending on OS */ + +#ifdef _WIN32 + #define DIR_SEPARATOR "\\" +#else + #define DIR_SEPARATOR "/" +#endif + +/* global variables and functions */ extern int quit_weechat; extern char *weechat_home; diff --git a/weechat/src/common/weeconfig.c b/weechat/src/common/weeconfig.c index 91fcc792f..4ddbe8d60 100644 --- a/weechat/src/common/weeconfig.c +++ b/weechat/src/common/weeconfig.c @@ -722,7 +722,7 @@ config_read () filename = (char *) malloc ((strlen (weechat_home) + 64) * sizeof (char)); - sprintf (filename, "%s/" WEECHAT_CONFIG_NAME, weechat_home); + sprintf (filename, "%s%s" WEECHAT_CONFIG_NAME, weechat_home, DIR_SEPARATOR); if ((file = fopen (filename, "rt")) == NULL) { gui_printf (NULL, _("%s config file \"%s\" not found.\n"), @@ -938,7 +938,7 @@ config_create_default () filename = (char *) malloc ((strlen (weechat_home) + 64) * sizeof (char)); - sprintf (filename, "%s/" WEECHAT_CONFIG_NAME, weechat_home); + sprintf (filename, "%s%s" WEECHAT_CONFIG_NAME, weechat_home, DIR_SEPARATOR); if ((file = fopen (filename, "wt")) == NULL) { gui_printf (NULL, _("%s cannot create file \"%s\"\n"), @@ -1070,7 +1070,7 @@ config_write (char *config_name) { filename = (char *) malloc ((strlen (weechat_home) + 64) * sizeof (char)); - sprintf (filename, "%s/" WEECHAT_CONFIG_NAME, weechat_home); + sprintf (filename, "%s%s" WEECHAT_CONFIG_NAME, weechat_home, DIR_SEPARATOR); } if ((file = fopen (filename, "wt")) == NULL) diff --git a/weechat/src/plugins/plugins.c b/weechat/src/plugins/plugins.c index 431dab27c..85d28c93f 100644 --- a/weechat/src/plugins/plugins.c +++ b/weechat/src/plugins/plugins.c @@ -27,7 +27,11 @@ #endif #include +#include #include +#include +#include +#include #include "../common/weechat.h" #include "plugins.h" #include "../irc/irc.h" @@ -38,6 +42,8 @@ #endif +char *plugin_name[3] = { "Perl", "Python", "Ruby" }; + t_plugin_handler *plugin_msg_handlers = NULL; t_plugin_handler *last_plugin_msg_handler = NULL; @@ -45,6 +51,58 @@ t_plugin_handler *plugin_cmd_handlers = NULL; t_plugin_handler *last_plugin_cmd_handler = NULL; +/* + * plugin_auto_load: auto-load all scripts in a directory + */ + +void +plugin_auto_load (int plugin_type, char *directory) +{ + char *dir_name, *current_dir; + DIR *dir; + struct dirent *entry; + struct stat statbuf; + + /* build directory, adding WeeChat home */ + dir_name = + (char *) malloc ((strlen (weechat_home) + strlen (directory) + 2) * sizeof (char)); + sprintf (dir_name, "%s%s%s", weechat_home, DIR_SEPARATOR, directory); + + /* save working directory */ + current_dir = (char *) malloc (1024 * sizeof (char)); + if (!getcwd (current_dir, 1024 - 1)) + { + free (current_dir); + current_dir = NULL; + } + + /* browse autoload directory */ + dir = opendir (dir_name); + chdir (dir_name); + if (dir) + { + while ((entry = readdir (dir))) + { + lstat (entry->d_name, &statbuf); + if (! S_ISDIR(statbuf.st_mode)) + { + wee_log_printf (_("auto-loading %s script: %s%s%s\n"), + plugin_name[plugin_type], + dir_name, DIR_SEPARATOR, entry->d_name); + plugin_load (plugin_type, entry->d_name); + } + } + } + + /* restore working directory */ + if (current_dir) + { + chdir (current_dir); + free (current_dir); + } + free (dir_name); +} + /* * plugin_init: initialize all plugins */ @@ -54,6 +112,7 @@ plugin_init () { #ifdef PLUGIN_PERL wee_perl_init(); + plugin_auto_load (PLUGIN_TYPE_PERL, "perl/autoload"); #endif }