1
0
mirror of https://github.com/weechat/weechat.git synced 2026-06-19 17:44:47 +02:00

Compare commits

...

20 Commits

Author SHA1 Message Date
Sebastien Helleu 14e833c257 Version 0.0.9 2005-01-01 12:31:19 +00:00
Sebastien Helleu de5af8a3b1 Added /buffer close, new keys: Alt-S (switch to server buffer), Alt-X (switch to first channel of next server) 2004-12-31 15:59:58 +00:00
Sebastien Helleu 37a2f80fae Fixed bug when parsing messages, now looking for for \r\n and \n to cut messages 2004-12-28 08:21:53 +00:00
Sebastien Helleu 0f95a48854 Fixed bug in notice display when no '!' is found in host 2004-12-28 07:52:56 +00:00
Sebastien Helleu 39b5f07d6f Inline help is now translated with gettext 2004-12-27 17:15:59 +00:00
Sebastien Helleu f4f2ec3668 auto-reconnection to server (new options: server_autoreconnect (on/off), server_autoreconnect_delay (in seconds)), disconnections are now managed without problem by WeeChat 2004-12-27 16:22:39 +00:00
Sebastien Helleu 486e55be02 Updated french translation 2004-12-27 12:53:58 +00:00
Sebastien Helleu c35f841b58 Major bug fixed when socket is closed by server (100% CPU usage fixed) 2004-12-27 12:50:51 +00:00
Sebastien Helleu 209fe89d27 Fixed bug when resizing window (input not displayed after resize) 2004-12-24 12:46:00 +00:00
Sebastien Helleu fca4840c4a Colors suppression in incoming messages is now ok (option look_remove_colors_from_msgs) 2004-12-23 11:31:34 +00:00
Sebastien Helleu 97ef63e2e6 Updated ChangeLog 2004-12-22 13:39:39 +00:00
Sebastien Helleu 17b409afe8 Fixed notice command (to server and display when received), fixed display of nick mode changes 2004-12-22 13:34:24 +00:00
Sebastien Helleu bf4bcd3b8c Updated doc for version 0.0.9-pre1 2004-12-22 10:57:45 +00:00
Sebastien Helleu 5233063825 Added keys: Ctrl+A (=home), Ctrl+E (=end), Ctrl+W (=ctrl+backspace) 2004-12-22 09:31:08 +00:00
Sebastien Helleu 9eeece2ccb Fixed typo 2004-12-22 01:16:27 +00:00
Sebastien Helleu 9e8f42c141 French translation for new config option "server_command_delay" 2004-12-21 19:55:21 +00:00
Sebastien Helleu 996343fc1d Added server_command_delay config option (delay in seconds after startup command) 2004-12-21 19:35:09 +00:00
Sebastien Helleu ecafff21ce Changes in main event loop: treats keyboard input & servers messages at same time 2004-12-21 19:11:38 +00:00
Sebastien Helleu cf9d394e3a Modified CFLAGS management (can now be customized) 2004-11-05 21:05:32 +00:00
Sebastien Helleu 0955167b6b Version 0.0.9-pre1 2004-10-30 12:14:14 +00:00
120 changed files with 3214 additions and 2162 deletions
+2 -3
View File
@@ -1,7 +1,7 @@
WeeChat - Wee Enhanced Environment for Chat
===========================================
WeeChat known bugs, 2004-10-30
WeeChat known bugs, 2005-01-01
- ./configure does not check that Curses headers are installed
- ./configure does not check that Gtk 2.0 libraries are installed
@@ -10,10 +10,9 @@ WeeChat known bugs, 2004-10-30
- problem when resizing terminal and that some windows are outside new term size
- some IRC commands are marked as 'unknown' when received
(IRC protocol is under dev!)
- when function key (non used by WeeChat) is pressed, prompt is deleted
- when quitting WeeChat term title is not restored (if look_set_title is ON)
- command name for /server can not contain spaces
- wrong alias is not created and not saved when quitting WeeChat
- when many WeeChat are launched, log file is not properly written (cleared by
each WeeChat at startup)
- display problems with old Konsole versions (Kde terminal)
- display problems with old Konsole versions (Kde terminal) (???)
+17 -1
View File
@@ -1,9 +1,25 @@
WeeChat - Wee Enhanced Environment for Chat
===========================================
ChangeLog - 2004-10-30
ChangeLog - 2005-01-01
Version 0.0.9 (2005-01-01):
* auto-reconnection to server (new options: server_autoreconnect (on/off),
server_autoreconnect_delay (in seconds))
* major bug fixed when socket is closed by server (100% CPU usage fixed),
and disconnections are now ok (all channels are "closed", history is still
visible, and buffer will be used again if reconnection to server)
* option "look_remove_colors_from_msgs" is now working
* fixed display of nick mode changes
* new command "/buffer close" (close any server/channel/private buffer)
* /notice command fixed (and display when received from server)
* new keys: Ctrl+A (=home), Ctrl+E (=end), Ctrl+W (=Ctrl+Backspace),
Alt-S (switch to server buffer), Alt-X (switch to first channel of next
server)
* added new config option: "server_command_delay" (delay in seconds after
startup command for each server)
Version 0.0.8 (2004-10-30):
* /kick command fixed: now ok with many words as reason
* nickserv passwords hidden (new config option: log_hide_nickserv_pwd on/off)
+1 -1
View File
@@ -2,7 +2,7 @@ WeeChat - Installation instructions
===================================
1) Run './configure'
options: --enble-perl : enable Perl scripts
options: --enable-perl : enable Perl scripts
--disable-curses : do not build Curses interface
--enable-gtk : build Gtk+ interface (under development!)
--enable-qt : build Qt interface (not developed!)
+1 -1
View File
@@ -1,4 +1,4 @@
# Copyright (c) 2004 FlashCode <flashcode@flashtux.org>
# Copyright (c) 2003-2005 FlashCode <flashcode@flashtux.org>
#
# 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
+4
View File
@@ -1,6 +1,10 @@
WeeChat - Wee Enhanced Environment for Chat
===========================================
* FlashCode, 2005-01-01
WeeChat 0.0.9 released.
* FlashCode, 2004-10-30
WeeChat 0.0.8 released.
+2 -5
View File
@@ -1,7 +1,7 @@
WeeChat - Wee Enhanced Environment for Chat
===========================================
TODO - 2004-10-30
TODO - 2005-01-01
Legend:
# done
@@ -10,7 +10,7 @@ Legend:
? is this really necessary?
v0.0.8:
v0.0.9:
------
* General:
@@ -21,9 +21,6 @@ v0.0.8:
+ "/dcc" command (for chat and sending/receiving files)
* Interface:
# log chats to file
# "/buffer" command, buffers ordered by number, auto-jump to active
buffers (alt-a), jump to buffers by number (alt-number)
+ "/window" command, split terminal in multiple windows
(horizontally/vertically)
+ internationalization (traduce WeeChat in many languages)
+9 -5
View File
@@ -1,4 +1,4 @@
# Copyright (c) 2004 FlashCode <flashcode@flashtux.org>
# Copyright (c) 2003-2005 FlashCode <flashcode@flashtux.org>
#
# 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
@@ -19,10 +19,10 @@
# Process this file with autoconf to produce a configure script.
AC_PREREQ(2.56)
AC_INIT(WeeChat, 0.0.8, flashcode@flashtux.org)
AC_INIT(WeeChat, 0.0.9, flashcode@flashtux.org)
AC_CONFIG_SRCDIR([src/common/weechat.c])
AM_CONFIG_HEADER(config.h)
AM_INIT_AUTOMAKE([weechat], [0.0.8])
AM_INIT_AUTOMAKE([weechat], [0.0.9])
# Checks for programs.
AC_PROG_CC
@@ -108,10 +108,14 @@ fi
AC_SUBST(PLUGINS_LIBS)
CFLAGS=`echo $CFLAGS | sed s/-g//g`
if test "x$CFLAGS" = "x" ; then
CFLAGS="-O2"
fi
if test "x$debug" = "x1" || test "x$debug" = "x2" ; then
CFLAGS="-Wall -W -pipe -O2 -g"
CFLAGS="-Wall -W $CFLAGS -pipe -g"
else
CFLAGS="-Wall -W -pipe -O2"
CFLAGS="-Wall -W $CFLAGS -pipe"
fi
if test "x$debug" = "x2" ; then
+6
View File
@@ -1,3 +1,9 @@
weechat (0.0.9-1) unstable; urgency=low
* WeeChat version 0.0.9, see ChangeLog for detail.
-- FlashCode <flashcode@flashtux.org> Sat, 01 Jan 2005 13:00:00 +0200
weechat (0.0.8-1) unstable; urgency=low
* WeeChat version 0.0.8, see ChangeLog for detail.
+1 -1
View File
@@ -1,5 +1,5 @@
This package was debianized by FlashCode <flashcode@flashtux.org> on
Sat, 30 Oct 2004 11:40:00 +0200.
Sat, 01 Jan 2005 13:00:00 +0200.
It was downloaded from http://weechat.flashtux.org/download
+34 -10
View File
@@ -6,7 +6,7 @@
@c WeeChat documentation (english version)
@c
@c Copyright (c) 2004 by FlashCode <flashcode@flashtux.org>
@c Copyright (c) 2005 by FlashCode <flashcode@flashtux.org>
@c
@c This manual is free software; you can redistribute it and/or modify
@c it under the terms of the GNU General Public License as published by
@@ -35,7 +35,7 @@
@title WeeChat - User guide
@subtitle Fast, light and extensible IRC client
@subtitle Documentation for WeeChat v0.0.8-pre2 - October, 03 2004
@subtitle Documentation for WeeChat v0.0.9 - January, 01 2005
@image{weechat_image}
@@ -48,7 +48,7 @@ This manual documents WeeChat IRC client, it is part of WeeChat.@*
Latest version of this document can be found on this page:@*
@uref{http://weechat.flashtux.org/doc.php?lang=en}@*
@*
Copyright @copyright{} 2004 FlashCode
Copyright @copyright{} 2005 FlashCode
<@email{flashcode@@flashtux.org, flashcode AT flashtux.org}>@*
@*
This document may be used under the terms the GNU General Public License
@@ -451,6 +451,9 @@ Type: string (any string), default value: '~/.weechat/logs/'@*
@item log_timestamp
Timestamp for log (see man strftime for date/time specifiers)@*
Type: string (any string), default value: '%Y %b %d %H:%M:%S'@*
@item log_hide_nickserv_pwd
Hide password displayed by nickserv@*
Type: boolean (values: 'on' or 'off'), default value: 'on'@*
@item dcc_auto_accept_files
Automatically accept incoming dcc files@*
Type: boolean (values: 'on' or 'off'), default value: 'off'@*
@@ -493,6 +496,12 @@ Type: string (any string), default value: ''@*
@item server_autoconnect
Automatically connect to server when WeeChat is starting@*
Type: boolean (values: 'on' or 'off'), default value: 'on'@*
@item server_autoreconnect
Automatically reconnect to server when disconnected@*
Type: boolean (values: 'on' or 'off'), default value: 'on'@*
@item server_autoreconnect_delay
Delay (in deconds) before trying again to reconnect to server@*
Type: integer (values: between 0 and 65535), default value: 30@*
@item server_address
IP address or hostname of IRC server@*
Type: string (any string), default value: ''@*
@@ -520,9 +529,15 @@ Type: string (any string), default value: ''@*
@item server_command
First command to run when connected to server@*
Type: string (any string), default value: ''@*
@item server_command_delay
Delay (in seconds) after command was executed (example: give some time for authentication)@*
Type: integer (values: between 0 and 3600), default value: 1@*
@item server_autojoin
Comma separated list of channels to join when connected to server@*
Type: string (any string), default value: ''@*
@item server_autorejoin
Automatically rejoin channels when kicked@*
Type: boolean (values: 'on' or 'off'), default value: 'on'@*
@end table
Colors for Curses GUI are:@*
@@ -571,13 +586,16 @@ Go to previous / next char in command line@*
@item Ctrl + left arrow / Ctrl + right arrow
Go to previous / next word in command line@*
@*
@item Home / End
Go to the beginning / end of command line@*
@item Home / Ctrl + A
Go to the beginning of command line@*
@*
@item End / Ctrl + E
Go to the end of command line@*
@*
@item Backspace / Delete
Erase previous / next char of command line@*
@*
@item Ctrl + Backspace
@item Ctrl + Backspace / Ctrl + W
Erase previous word of command line@*
@*
@item Tab
@@ -603,6 +621,9 @@ Switch to next window@*
@*
@item F10
Remove last infobar message@*
@*
@item Ctrl + L
Redraw whole window@*
@*
@item Alt + left arrow / Alt + right arrow
Same as F6 / F7@*
@@ -616,6 +637,12 @@ Display current DCC@*
@item Alt + R
Clear hotlist (activity notification on other buffers)@*
@*
@item Alt + S
Switch to server buffer@*
@*
@item Alt + X
Switch to first channel of next server (or server buffer if no channel is opened)@*
@*
@item Alt + digit (1-9)
Switch to buffer by number@*
@*
@@ -847,9 +874,6 @@ Bounga
@item
Xahlexx
<@email{xahlexx@@tuxfamily.org, xahlexx AT tuxfamily.org}>
@item
Crevetor
<@email{crevetor@@caramail.com, crevetor AT caramail.com}>
@end itemize
@@ -892,7 +916,7 @@ Look for WeeChat support page for detail:@*
This manual documents WeeChat IRC client, it is part of WeeChat.@*
Copyright @copyright{} 2004 FlashCode
Copyright @copyright{} 2005 FlashCode
<@email{flashcode@@flashtux.org, flashcode AT flashtux.org}>@*
@*
This document may be used under the terms the GNU General Public License
+34 -10
View File
@@ -6,7 +6,7 @@
@c WeeChat documentation (french version)
@c
@c Copyright (c) 2004 by FlashCode <flashcode@flashtux.org>
@c Copyright (c) 2005 by FlashCode <flashcode@flashtux.org>
@c
@c This manual is free software; you can redistribute it and/or modify
@c it under the terms of the GNU General Public License as published by
@@ -35,7 +35,7 @@
@title WeeChat - Guide utilisateur
@subtitle Client IRC rapide, l@'eger et extensible
@subtitle Documentation pour WeeChat v0.0.8-pre2 - 03 Octobre 2004
@subtitle Documentation pour WeeChat v0.0.9 - 1er Janvier 2005
@image{weechat_image}
@@ -48,7 +48,7 @@ Ce manuel documente le client IRC WeeChat, il fait partie de WeeChat.@*
La derni@`ere version de ce document peut @^etre t@'el@'echarg@'ee sur cette page :@*
@uref{http://weechat.flashtux.org/doc.php}@*
@*
Copyright @copyright{} 2004 FlashCode
Copyright @copyright{} 2005 FlashCode
<@email{flashcode@@flashtux.org, flashcode AT flashtux.org}>@*
@*
Ce document peut @^etre utilis@'e sous les termes de la licence GNU General Public
@@ -451,6 +451,9 @@ Type: cha@^ine (toute cha@^ine), valeur par d@'efaut: '~/.weechat/logs/'@*
@item log_timestamp
Horodatage pour les conversations sauvegard@'ees (voir man strftime pour le format de date/heure)@*
Type: cha@^ine (toute cha@^ine), valeur par d@'efaut: '%Y %b %d %H:%M:%S'@*
@item log_hide_nickserv_pwd
Masquer le mot de passe affich@'e par nickserv@*
Type: bool@'een (valeurs: 'on' ou 'off'), valeur par d@'efaut: 'on'@*
@item dcc_auto_accept_files
Accepte automatiquement les fichiers dcc entrants@*
Type: bool@'een (valeurs: 'on' ou 'off'), valeur par d@'efaut: 'off'@*
@@ -493,6 +496,12 @@ Type: cha@^ine (toute cha@^ine), valeur par d@'efaut: ''@*
@item server_autoconnect
Connexion automatique au serveur quand WeeChat d@'emarre@*
Type: bool@'een (valeurs: 'on' ou 'off'), valeur par d@'efaut: 'on'@*
@item server_autoreconnect
Reconnexion automatique au serveur apr@`es une d@'econnexion@*
Type: bool@'een (valeurs: 'on' ou 'off'), valeur par d@'efaut: 'on'@*
@item server_autoreconnect_delay
D@'elai (en secondes) avant de tenter une reconnexion au serveur@*
Type: entier (valeurs: entre 0 et 65535), valeur par d@'efaut: 30@*
@item server_address
Adresse IP ou nom du serveur IRC@*
Type: cha@^ine (toute cha@^ine), valeur par d@'efaut: ''@*
@@ -520,9 +529,15 @@ Type: cha@^ine (toute cha@^ine), valeur par d@'efaut: ''@*
@item server_command
Commande @`a ex@'ecuter en premier lorsque connect@'e au serveur@*
Type: cha@^ine (toute cha@^ine), valeur par d@'efaut: ''@*
@item server_command_delay
D@'elai (en secondes) apr@`es ex@'ecution de la commande (exemple: donner du temps pour l'authentification)@*
Type: entier (valeurs: entre 0 et 3600), valeur par d@'efaut: 1@*
@item server_autojoin
Liste des canaux (s@'epar@'es par des virgules) @`a rejoindre lorsque connect@'e au serveur@*
Type: cha@^ine (toute cha@^ine), valeur par d@'efaut: ''@*
@item server_autorejoin
Rejoindre automatiquement les canaux quand mis dehors@*
Type: bool@'een (valeurs: 'on' ou 'off'), valeur par d@'efaut: 'on'@*
@end table
Les couleurs pour l'interface Curses sont :@*
@@ -571,13 +586,16 @@ Aller au caract@`ere pr@'ec@'edent / suivant sur la ligne de commande@*
@item Ctrl + fl@`eche gauche / Ctrl + fl@`eche droite
Aller au mot pr@'ec@'edent / suivant sur la ligne de commande@*
@*
@item Home / End
Aller au d@'ebut / @`a la fin de la ligne de commande@*
@item Home / Ctrl + A
Aller au d@'ebut de la ligne de commande@*
@*
@item End / Ctrl + E
Aller @`a la fin de la ligne de commande@*
@*
@item Backspace / Delete
Effacer le mot pr@'ec@'edent / suivant sur la ligne de commande@*
@*
@item Ctrl + Backspace
@item Ctrl + Backspace / Ctrl + W
Effacer le mot pr@'ec@'edent sur la ligne de commande@*
@*
@item Tab
@@ -604,6 +622,9 @@ Aller @`a la fen@^etre suivante@*
@item F10
Effacer le dernier message de la barre d'infos@*
@*
@item Ctrl + L
R@'eaffiche toute la fen@^etre@*
@*
@item Alt + fl@`eche gauche / Alt + fl@`eche droite
Identique @`a F6 / F7@*
@*
@@ -616,6 +637,12 @@ Afficher les DCC en cours@*
@item Alt + R
Vide la hotlist (notification d'activité sur les autres tampons)@*
@*
@item Alt + S
Sauter au tampon du serveur@*
@*
@item Alt + X
Sauter au premier canal du serveur suivant (ou tampon du serveur si aucun canal ouvert)@*
@*
@item Alt + chiffre (1-9)
Sauter au tampon avec ce num@'ero@*
@*
@@ -847,9 +874,6 @@ Bounga
@item
Xahlexx
<@email{xahlexx@@tuxfamily.org, xahlexx AT tuxfamily.org}>
@item
Crevetor
<@email{crevetor@@caramail.com, crevetor AT caramail.com}>
@end itemize
@@ -892,7 +916,7 @@ Voir la page support WeeChat pour plus de d@'etails :@*
Ce manuel documente le client IRC WeeChat, il fait partie de WeeChat.@*
Copyright @copyright{} 2004 FlashCode
Copyright @copyright{} 2005 FlashCode
<@email{flashcode@@flashtux.org, flashcode AT flashtux.org}>@*
@*
Ce document peut @^etre utilis@'e sous les termes de la licence GNU General Public
+55 -13
View File
@@ -6,7 +6,7 @@
@c WeeChat documentation (vers@~ao partuguesa)
@c
@c Copyright (c) 2004 by FlashCode <flashcode@flashtux.org>
@c Copyright (c) 2005 by FlashCode <flashcode@flashtux.org>
@c
@c This manual is free software; you can redistribute it and/or modify
@c it under the terms of the GNU General Public License as published by
@@ -35,7 +35,7 @@
@title WeeChat - Guia do Utilizador
@subtitle Cliente de IRC rapido, leve e extencivel
@subtitle Documenta@,{c}@~ao do WeeChat v0.0.7 - 27 de Agosto de 2004
@subtitle Documenta@,{c}@~ao do WeeChat v0.0.9 - 1 de Janeiro de 2005
@image{weechat_image}
@@ -48,7 +48,7 @@ Este manual documenta o cliente de IRC WeeChat, ele faz parte do WeeChat.@*
A ultima versĂŁo deste documento pode ser descarregada de :@*
@uref{http://weechat.flashtux.org/doc.php}@*
@*
Copyright @copyright{} 2004 FlashCode
Copyright @copyright{} 2005 FlashCode
<@email{flashcode@@flashtux.org, flashcode AT flashtux.org}>@*
@*
Este documento pode ser utilizado sobre os termos da Licen@,{c}a P@'ublica geral GNU (GNU General Public
@@ -247,13 +247,16 @@ Ir um caractere para traz / para a frente na linha de comando@*
@item Ctrl + Seta esquerda / Ctrl + Seta Direita
Ir uma palavra para traz / para a frente na linha de comando@*
@*
@item Home / End
Ir para o in@'icio / para o fim da linha de comando@*
@item Home / Ctrl + A
Ir para o in@'icio da linha de comando@*
@*
@item End / Ctrl + E
Ir para o fim da linha de comando@*
@*
@item Backspace / Delete
Apagar o caractere anterior / seguinte na linha de comando@*
@*
@item Ctrl + Backspace
@item Ctrl + Backspace / Ctrl + W
Apagar a palavra anterior na linha de comando
@*
@item Tab
@@ -274,18 +277,36 @@ Navegar no hist@'orico da janela@*
@item F6 / F7
Ir para a janela anterior/seguinte@*
@*
@item F8
Comute @`a janela seguinte@*
@*
@item F10
Apagar a @'ultima mensagem da barra do info@*
@*
@item Ctrl + L
Redesenhe a janela inteira@*
@*
@item Alt + Seta da esquerda / Alt + Seta da direita
Identico a F6 / F7@*
@*
@item Alt + A
Comute ao amortecedor seguinte com atividade (com prioridade: destaque, mensagem, outra)@*
@*
@item Alt + D
Exposi@,{c}@~ao DCC atual@*
@*
@item Alt + R
Hotlist desobstru@'ido (notifica@,{c}@~ao da atividade em outros amortecedores)@*
@*
@item Alt + S
Comute ao amortecedor do servidor@*
@*
@item Alt + X
Comute @`a primeira canaleta do servidor seguinte (ou do amortecedor do servidor se nenhuma canaleta for aberta)@*
@*
@item Alt + d@'igito (1-9)
Comute ao amortecedor pelo n@'umero@*
@*
@item F10
Apagar a @'ultima mensagem da barra do info@*
@*
@end table
@node Comandos do WeeChat, , Recursos de teclado, Utilizacao
@@ -438,6 +459,30 @@ Este nome pode pertencer a um comando j
@code{@} }@*
@*
@item
@command{IRC::get_info ( [servidor,] nome );}@*
@*
Comece o v@'ario info sobre WeeChat, servidor ou usu@'ario.@*
@emph{Argumentos:}
@itemize @minus
@item @option{servidor}: nome interno da servidor
@item @option{nome}: nome do info a recuperar:
@itemize @minus
@item @option{0 ou version}: comece a vers@~ao de WeeChat
@item @option{1 ou nick}: comece o nickname
@item @option{2 ou channel}: comece o nome da canal
@item @option{3 ou server}: comece o nome do servidor
@item @option{4 ou weechatdir}: comece a WeeChat o diret@'orio home
@item @option{5 ou away}: comece a bandeira ausente para o servidor
@end itemize
@end itemize
@*
@emph{Exemplos:}@*
@code{$version = get_info("version");}@*
@code{$nick = get_info("freenode", "nick");}@*
@*
@end itemize
@node Scripts Python, Scripts Ruby, Scripts Perl, Extencoes
@@ -485,9 +530,6 @@ Bounga
@item
Xahlexx
<@email{xahlexx@@tuxfamily.org, xahlexx AT tuxfamily.org}>
@item
Crevetor
<@email{crevetor@@caramail.com, crevetor AT caramail.com}>
@end itemize
@@ -528,7 +570,7 @@ Para mais detalhes, v@^e tamb@'em a p@'agina de suporte do WeeChat :@*
Este manual documenta o cliente de IRC WeeChat, Ele faz parte do WeeChat.@*
Copyright @copyright{} 2004 FlashCode
Copyright @copyright{} 2005 FlashCode
<@email{flashcode@@flashtux.org, flashcode AT flashtux.org}>@*
Tradu@,{c}@~ao portuguesa de Jo@~ao Jer@'onimo <@email{j_j_b_o@@sapo.pt, j_j_b_o AT sapo.pt}>@*
@*
+506 -451
View File
File diff suppressed because it is too large Load Diff
+514 -443
View File
File diff suppressed because it is too large Load Diff
+1 -1
View File
@@ -1,4 +1,4 @@
# Copyright (c) 2004 FlashCode <flashcode@flashtux.org>
# Copyright (c) 2003-2005 FlashCode <flashcode@flashtux.org>
#
# 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
+1 -1
View File
@@ -1,4 +1,4 @@
# Copyright (c) 2004 FlashCode <flashcode@flashtux.org>
# Copyright (c) 2003-2005 FlashCode <flashcode@flashtux.org>
#
# 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
+53 -24
View File
@@ -1,5 +1,5 @@
/*
* Copyright (c) 2004 by FlashCode <flashcode@flashtux.org>
* 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
@@ -47,6 +47,7 @@ t_weechat_command weechat_commands[] =
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"),
@@ -834,6 +835,7 @@ int
weechat_cmd_buffer (int argc, char **argv)
{
t_gui_buffer *ptr_buffer;
t_irc_server *ptr_server;
long number;
char *error;
@@ -916,6 +918,36 @@ weechat_cmd_buffer (int argc, char **argv)
return -1;
}
}
else if (strcasecmp (argv[0], "close") == 0)
{
/* close buffer (server or channel/private) */
if ((!gui_current_window->buffer->next_buffer)
&& (gui_current_window->buffer == gui_buffers))
{
gui_printf (gui_current_window->buffer,
_("%s can not close the single buffer\n"),
WEECHAT_ERROR);
return -1;
}
if (BUFFER_IS_SERVER(gui_current_window->buffer))
{
if (SERVER(gui_current_window->buffer)->channels)
{
gui_printf (gui_current_window->buffer,
_("%s can not close server buffer while channels "
"are opened\n"),
WEECHAT_ERROR);
return -1;
}
server_disconnect (SERVER(gui_current_window->buffer), 0);
ptr_server = SERVER(gui_current_window->buffer);
gui_buffer_free (gui_current_window->buffer, 1);
ptr_server->buffer = NULL;
}
else
irc_cmd_send_part (SERVER(gui_current_window->buffer), NULL);
}
else if (strcasecmp (argv[0], "notify") == 0)
{
/* set notify level for buffer */
@@ -1026,7 +1058,6 @@ int
weechat_cmd_connect (int argc, char **argv)
{
t_irc_server *ptr_server;
t_irc_channel *ptr_channel;
/* make gcc happy */
(void) argc;
@@ -1048,13 +1079,9 @@ weechat_cmd_connect (int argc, char **argv)
}
if (server_connect (ptr_server))
{
ptr_server->reconnect_start = 0;
ptr_server->reconnect_join = (ptr_server->channels) ? 1 : 0;
irc_login (ptr_server);
for (ptr_channel = ptr_server->channels; ptr_channel;
ptr_channel = ptr_channel->next_channel)
{
if (ptr_channel->type == CHAT_CHANNEL)
server_sendf (ptr_server, "JOIN %s\r\n", ptr_channel->name);
}
}
}
else
@@ -1082,14 +1109,17 @@ weechat_cmd_disconnect (int argc, char **argv)
ptr_server = server_search (argv[0]);
if (ptr_server)
{
if (!ptr_server->is_connected)
if ((!ptr_server->is_connected) && (ptr_server->reconnect_start == 0))
{
gui_printf (NULL,
gui_printf (ptr_server->buffer,
_("%s not connected to server \"%s\"!\n"),
WEECHAT_ERROR, argv[0]);
return -1;
}
server_disconnect (ptr_server);
if (ptr_server->reconnect_start > 0)
gui_printf (ptr_server->buffer,
_("Auto-reconnection is cancelled\n"));
server_disconnect (ptr_server, 0);
gui_draw_buffer_status (gui_current_window->buffer, 1);
}
else
@@ -1118,13 +1148,13 @@ weechat_cmd_help (int argc, char **argv)
for (i = 0; weechat_commands[i].command_name; i++)
gui_printf (NULL, " %s - %s\n",
weechat_commands[i].command_name,
weechat_commands[i].command_description);
_(weechat_commands[i].command_description));
gui_printf (NULL, _("> List of IRC commands:\n"));
for (i = 0; irc_commands[i].command_name; i++)
if (irc_commands[i].cmd_function_args || irc_commands[i].cmd_function_1arg)
gui_printf (NULL, " %s - %s\n",
irc_commands[i].command_name,
irc_commands[i].command_description);
_(irc_commands[i].command_description));
}
if (argc == 1)
{
@@ -1139,14 +1169,12 @@ weechat_cmd_help (int argc, char **argv)
gui_printf (NULL,
_("Syntax: /%s %s\n"),
weechat_commands[i].command_name,
(weechat_commands[i].
arguments) ? weechat_commands[i].
arguments : "");
(weechat_commands[i].arguments) ?
_(weechat_commands[i].arguments) : "");
if (weechat_commands[i].arguments_description)
{
gui_printf (NULL, "%s\n",
weechat_commands[i].
arguments_description);
_(weechat_commands[i].arguments_description));
}
return 0;
}
@@ -1161,12 +1189,11 @@ weechat_cmd_help (int argc, char **argv)
gui_printf (NULL, _("Syntax: /%s %s\n"),
irc_commands[i].command_name,
(irc_commands[i].arguments) ?
irc_commands[i].arguments : "");
_(irc_commands[i].arguments) : "");
if (irc_commands[i].arguments_description)
{
gui_printf (NULL, "%s\n",
irc_commands[i].
arguments_description);
_(irc_commands[i].arguments_description));
}
return 0;
}
@@ -1603,11 +1630,13 @@ weechat_cmd_server (int argc, char **argv)
}
/* create new server */
new_server = server_new (server.name, server.autoconnect, 0,
server.address, server.port, server.password,
new_server = server_new (server.name, server.autoconnect,
server.autoreconnect,
server.autoreconnect_delay,
0, server.address, server.port, server.password,
server.nick1, server.nick2, server.nick3,
server.username, server.realname,
server.command, server.autojoin, 1);
server.command, 1, server.autojoin, 1);
if (new_server)
{
irc_display_prefix (NULL, PREFIX_INFO);
+1 -1
View File
@@ -1,5 +1,5 @@
/*
* Copyright (c) 2004 by FlashCode <flashcode@flashtux.org>
* 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
+1 -1
View File
@@ -1,5 +1,5 @@
/*
* Copyright (c) 2004 by FlashCode <flashcode@flashtux.org>
* 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
+1 -1
View File
@@ -1,5 +1,5 @@
/*
* Copyright (c) 2004 by FlashCode <flashcode@flashtux.org>
* 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
+1 -1
View File
@@ -1,5 +1,5 @@
/*
* Copyright (c) 2004 by FlashCode <flashcode@flashtux.org>
* 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
+1 -1
View File
@@ -1,5 +1,5 @@
/*
* Copyright (c) 2004 by FlashCode <flashcode@flashtux.org>
* 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
+1 -1
View File
@@ -1,5 +1,5 @@
/*
* Copyright (c) 2004 by FlashCode <flashcode@flashtux.org>
* 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
+1 -1
View File
@@ -1,5 +1,5 @@
/*
* Copyright (c) 2004 by FlashCode <flashcode@flashtux.org>
* 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
+1 -1
View File
@@ -1,5 +1,5 @@
/*
* Copyright (c) 2004 by FlashCode <flashcode@flashtux.org>
* 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
+1 -1
View File
@@ -1,5 +1,5 @@
/*
* Copyright (c) 2004 by FlashCode <flashcode@flashtux.org>
* 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
+6 -4
View File
@@ -16,7 +16,7 @@
* ### ###
* ############################################################################
*
* Copyright (c) 2004 by FlashCode <flashcode@flashtux.org>
* 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
@@ -228,11 +228,13 @@ wee_parse_args (int argc, char *argv[])
}
else
{
if (!server_new (server_tmp.name, 0, 1,
server_tmp.address, server_tmp.port,
if (!server_new (server_tmp.name, server_tmp.autoconnect,
server_tmp.autoreconnect,
server_tmp.autoreconnect_delay,
1, server_tmp.address, server_tmp.port,
server_tmp.password, server_tmp.nick1,
server_tmp.nick2, server_tmp.nick3,
NULL, NULL, NULL, server_tmp.autojoin, 1))
NULL, NULL, NULL, 0, server_tmp.autojoin, 1))
fprintf (stderr, _("%s unable to create server ('%s'), ignored\n"),
WEECHAT_WARNING, argv[i]);
server_destroy (&server_tmp);
+4 -4
View File
@@ -1,5 +1,5 @@
/*
* Copyright (c) 2004 by FlashCode <flashcode@flashtux.org>
* 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
@@ -43,7 +43,7 @@
#endif
#define WEECHAT_COPYRIGHT PACKAGE_NAME " (c) 2004 by Wee Team"
#define WEECHAT_COPYRIGHT PACKAGE_NAME " (c) 2003-2005 by Wee Team"
#define WEECHAT_WEBSITE "http://weechat.flashtux.org"
#define WEECHAT_ERROR _(PACKAGE_NAME " Error:")
@@ -56,7 +56,7 @@
/* license */
#define WEE_LICENSE \
PACKAGE_STRING " (c) Copyright 2004, compiled on " __DATE__ " " __TIME__ \
PACKAGE_STRING " (c) Copyright 2003-2005, compiled on " __DATE__ " " __TIME__ \
"\nDeveloped by FlashCode <flashcode@flashtux.org>\n" \
" Bounga <bounga@altern.org>\n" \
" Xahlexx <xahlexx@weeland.org>\n" \
@@ -77,7 +77,7 @@
"Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA\n\n"
#define WEE_USAGE1 \
PACKAGE_STRING " (c) Copyright 2004, compiled on " __DATE__ " " __TIME__ \
PACKAGE_STRING " (c) Copyright 2003-2005, compiled on " __DATE__ " " __TIME__ \
"\nDeveloped by FlashCode, Bounga and Xahlexx - " WEECHAT_WEBSITE "\n\n" \
"Usage: %s [options ...]\n" \
" or: %s [irc://[nickname[:password]@]irc.example.org[:port][/channel] ...]\n\n"
+24 -4
View File
@@ -1,5 +1,5 @@
/*
* Copyright (c) 2004 by FlashCode <flashcode@flashtux.org>
* 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
@@ -152,7 +152,7 @@ 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 %G - %H:%M", NULL, NULL, &cfg_look_infobar_timestamp, config_change_buffer_content },
"%B, %A %d %Y - %H:%M", NULL, NULL, &cfg_look_infobar_timestamp, 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)"),
@@ -534,6 +534,14 @@ t_config_option weechat_options_server[] =
N_("automatically connect to server when WeeChat is starting"),
OPTION_TYPE_BOOLEAN, BOOL_FALSE, BOOL_TRUE, BOOL_TRUE,
NULL, NULL, &(cfg_server.autoconnect), NULL, NULL },
{ "server_autoreconnect", N_("automatically reconnect to server"),
N_("automatically reconnect to server when disconnected"),
OPTION_TYPE_BOOLEAN, BOOL_FALSE, BOOL_TRUE, BOOL_TRUE,
NULL, NULL, &(cfg_server.autoreconnect), NULL, NULL },
{ "server_autoreconnect_delay", N_("delay before trying again to reconnect"),
N_("delay (in deconds) before trying again to reconnect to server"),
OPTION_TYPE_INT, 0, 65535, 30,
NULL, NULL, &(cfg_server.autoreconnect_delay), NULL, NULL },
{ "server_address", N_("server address or hostname"),
N_("IP address or hostname of IRC server"),
OPTION_TYPE_STRING, 0, 0, 0,
@@ -570,6 +578,10 @@ t_config_option weechat_options_server[] =
N_("first command to run when connected to server"),
OPTION_TYPE_STRING, 0, 0, 0,
"", NULL, NULL, &(cfg_server.command), NULL },
{ "server_command_delay", N_("delay (in seconds) after command was executed"),
N_("delay (in seconds) after command was executed (example: give some time for authentication)"),
OPTION_TYPE_INT, 0, 3600, 1,
NULL, NULL, &(cfg_server.command_delay), NULL, NULL },
{ "server_autojoin", N_("list of channels to join when connected to server"),
N_("comma separated list of channels to join when connected to server"),
OPTION_TYPE_STRING, 0, 0, 0,
@@ -811,10 +823,12 @@ config_allocate_server (char *filename, int line_number)
return 0;
}
if (!server_new (cfg_server.name,
cfg_server.autoconnect, 0, cfg_server.address, cfg_server.port,
cfg_server.autoconnect, cfg_server.autoreconnect,
cfg_server.autoreconnect_delay, 0, cfg_server.address, cfg_server.port,
cfg_server.password, cfg_server.nick1, cfg_server.nick2,
cfg_server.nick3, cfg_server.username, cfg_server.realname,
cfg_server.command, cfg_server.autojoin, cfg_server.autorejoin))
cfg_server.command, cfg_server.command_delay, cfg_server.autojoin,
cfg_server.autorejoin))
{
server_free_all ();
gui_printf (NULL,
@@ -1175,6 +1189,7 @@ config_create_default ()
fprintf (file, "SIGNOFF=quit\n");
fprintf (file, "C=clear\n");
fprintf (file, "CL=clear\n");
fprintf (file, "CLOSE=buffer close\n");
fprintf (file, "# CHAT=dcc chat\n");
fprintf (file, "# GET=dcc get\n");
fprintf (file, "# IG=ignore\n");
@@ -1369,6 +1384,10 @@ config_write (char *config_name)
fprintf (file, "server_name=%s\n", ptr_server->name);
fprintf (file, "server_autoconnect=%s\n",
(ptr_server->autoconnect) ? "on" : "off");
fprintf (file, "server_autoreconnect=%s\n",
(ptr_server->autoreconnect) ? "on" : "off");
fprintf (file, "server_autoreconnect_delay=%d\n",
ptr_server->autoreconnect_delay);
fprintf (file, "server_address=%s\n", ptr_server->address);
fprintf (file, "server_port=%d\n", ptr_server->port);
fprintf (file, "server_password=%s\n",
@@ -1380,6 +1399,7 @@ config_write (char *config_name)
fprintf (file, "server_realname=%s\n", ptr_server->realname);
fprintf (file, "server_command=%s\n",
(ptr_server->command) ? ptr_server->command : "");
fprintf (file, "server_command_delay=%d\n", ptr_server->command_delay);
fprintf (file, "server_autojoin=%s\n",
(ptr_server->autojoin) ? ptr_server->autojoin : "");
fprintf (file, "server_autorejoin=%s\n",
+1 -1
View File
@@ -1,5 +1,5 @@
/*
* Copyright (c) 2004 by FlashCode <flashcode@flashtux.org>
* 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
+1 -1
View File
@@ -1,4 +1,4 @@
# Copyright (c) 2004 FlashCode <flashcode@flashtux.org>
# Copyright (c) 2003-2005 FlashCode <flashcode@flashtux.org>
#
# 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
+1 -1
View File
@@ -1,4 +1,4 @@
# Copyright (c) 2004 FlashCode <flashcode@flashtux.org>
# Copyright (c) 2003-2005 FlashCode <flashcode@flashtux.org>
#
# 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
+35 -4
View File
@@ -1,5 +1,5 @@
/*
* Copyright (c) 2004 by FlashCode <flashcode@flashtux.org>
* 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
@@ -1993,7 +1993,8 @@ gui_printf_color_type (t_gui_buffer *buffer, int type, int color, char *message,
{
static char buf[8192];
char timestamp[16];
char *pos;
char *pos, *buf2;
int i, j;
va_list argptr;
static time_t seconds;
struct tm *date_tmp;
@@ -2022,12 +2023,40 @@ gui_printf_color_type (t_gui_buffer *buffer, int type, int color, char *message,
vsnprintf (buf, sizeof (buf) - 1, message, argptr);
va_end (argptr);
if (cfg_look_remove_colors_from_msgs)
{
buf2 = (char *) malloc (strlen (buf) + 2);
i = 0;
j = 0;
while (buf[i])
{
if (buf[i] == 0x02)
i++;
else
{
if (buf[i] == 0x03)
{
if ((buf[i+1] >= '0') && (buf[i+1] <= '9')
&& (buf[i+2] >= '0') && (buf[i+2] <= '9'))
i += 3;
else
i++;
}
else
buf2[j++] = buf[i++];
}
}
buf2[j] = '\0';
}
else
buf2 = strdup (buf);
if (gui_init_ok)
{
seconds = time (NULL);
date_tmp = localtime (&seconds);
pos = buf - 1;
pos = buf2 - 1;
while (pos)
{
/* TODO: read timestamp format from config! */
@@ -2058,5 +2087,7 @@ gui_printf_color_type (t_gui_buffer *buffer, int type, int color, char *message,
refresh ();*/
}
else
printf ("%s", buf);
printf ("%s", buf2);
free (buf2);
}
+52 -10
View File
@@ -1,5 +1,5 @@
/*
* Copyright (c) 2004 by FlashCode <flashcode@flashtux.org>
* 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
@@ -51,6 +51,7 @@ gui_read_keyb ()
{
int key, i;
t_gui_buffer *ptr_buffer;
t_irc_server *ptr_server;
char new_char[2];
t_dcc *dcc_selected;
@@ -210,8 +211,9 @@ gui_read_keyb ()
}
}
break;
/* home key */
/* 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)
@@ -221,8 +223,9 @@ gui_read_keyb ()
}
}
break;
/* end key */
/* end key or Control + E */
case KEY_END:
case 0x05:
if (!gui_current_window->buffer->dcc)
{
if (gui_current_window->buffer->input_buffer_pos <
@@ -267,8 +270,9 @@ gui_read_keyb ()
}
}
break;
/* Control + Backspace */
/* Control + Backspace or Control + W */
case 0x08:
case 0x17:
if (!gui_current_window->buffer->dcc)
gui_delete_previous_word (gui_current_window->buffer);
break;
@@ -414,7 +418,7 @@ gui_read_keyb ()
}
}
break;
/* Alt-number */
/* Alt-number: jump to window by number */
case 48: /* Alt-0 */
case 49: /* Alt-1 */
case 50: /* Alt-2 */
@@ -427,7 +431,7 @@ gui_read_keyb ()
case 57: /* Alt-9 */
gui_switch_to_buffer_by_number (gui_current_window, (key == 48) ? 10 : key - 48);
break;
/* Alt-A */
/* Alt-A: jump to buffer with activity */
case 'a':
case 'A':
if (hotlist)
@@ -447,7 +451,7 @@ gui_read_keyb ()
}
}
break;
/* Alt-D */
/* Alt-D: jump to DCC buffer */
case 'd':
case 'D':
if (gui_current_window->buffer->dcc)
@@ -465,7 +469,7 @@ gui_read_keyb ()
gui_switch_to_dcc_buffer ();
}
break;
/* Alt-R */
/* Alt-R: clear hotlist */
case 'r':
case 'R':
if (hotlist)
@@ -475,6 +479,38 @@ gui_read_keyb ()
}
hotlist_initial_buffer = gui_current_window->buffer;
break;
/* Alt-S: jump to server buffer */
case 's':
case 'S':
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':
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;
@@ -624,8 +660,14 @@ gui_main_loop ()
for (ptr_server = irc_servers; ptr_server;
ptr_server = ptr_server->next_server)
{
if (ptr_server->sock4 >= 0)
FD_SET (ptr_server->sock4, &read_fd);
/* check if reconnection is pending */
if ((!ptr_server->is_connected)
&& (ptr_server->reconnect_start > 0)
&& (new_time >= (ptr_server->reconnect_start + ptr_server->autoreconnect_delay)))
server_reconnect (ptr_server);
else
if (ptr_server->sock4 >= 0)
FD_SET (ptr_server->sock4, &read_fd);
}
if (select (FD_SETSIZE, &read_fd, NULL, NULL, &timeout))
{
+1 -1
View File
@@ -1,4 +1,4 @@
# Copyright (c) 2004 FlashCode <flashcode@flashtux.org>
# Copyright (c) 2003-2005 FlashCode <flashcode@flashtux.org>
#
# 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
+1 -1
View File
@@ -1,5 +1,5 @@
/*
* Copyright (c) 2004 by FlashCode <flashcode@flashtux.org>
* 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
+1 -1
View File
@@ -1,5 +1,5 @@
/*
* Copyright (c) 2004 by FlashCode <flashcode@flashtux.org>
* 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
+1 -1
View File
@@ -1,5 +1,5 @@
/*
* Copyright (c) 2004 by FlashCode <flashcode@flashtux.org>
* 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
+1 -1
View File
@@ -1,5 +1,5 @@
/*
* Copyright (c) 2004 by FlashCode <flashcode@flashtux.org>
* 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
+1 -1
View File
@@ -1,4 +1,4 @@
# Copyright (c) 2004 FlashCode <flashcode@flashtux.org>
# Copyright (c) 2003-2005 FlashCode <flashcode@flashtux.org>
#
# 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
+1 -1
View File
@@ -1,5 +1,5 @@
/*
* Copyright (c) 2004 by FlashCode <flashcode@flashtux.org>
* 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
+1 -1
View File
@@ -1,5 +1,5 @@
/*
* Copyright (c) 2004 by FlashCode <flashcode@flashtux.org>
* 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
+1 -1
View File
@@ -1,4 +1,4 @@
# Copyright (c) 2004 FlashCode <flashcode@flashtux.org>
# Copyright (c) 2003-2005 FlashCode <flashcode@flashtux.org>
#
# 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
+1 -1
View File
@@ -1,5 +1,5 @@
/*
* Copyright (c) 2004 by FlashCode <flashcode@flashtux.org>
* 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
+4 -3
View File
@@ -1,5 +1,5 @@
/*
* Copyright (c) 2004 by FlashCode <flashcode@flashtux.org>
* 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
@@ -142,7 +142,7 @@ t_irc_command irc_commands[] =
1, 1, 1, irc_cmd_send_nick, NULL, irc_cmd_recv_nick },
{ "notice", N_("send notice message to user"),
N_("nickname text"), N_("nickname: user to send notice to\ntext: text to send"),
1, MAX_ARGS, 1, NULL, irc_cmd_send_notice, irc_cmd_recv_notice },
2, MAX_ARGS, 1, NULL, irc_cmd_send_notice, irc_cmd_recv_notice },
{ "op", N_("gives channel operator status to nickname(s)"),
N_("nickname [nickname]"), "",
1, 1, 1, irc_cmd_send_op, NULL, NULL },
@@ -151,7 +151,8 @@ t_irc_command irc_commands[] =
N_("user/password: used to get privileges on current IRC server"),
2, 2, 1, NULL, irc_cmd_send_oper, NULL },
{ "part", N_("leave a channel"),
N_("[channel[,channel]]"), N_("channel: channel name to leave"),
N_("[channel[,channel]] [part_message]"), N_("channel: channel name to leave\n"
"part_message: part message (displayed to other users)"),
0, MAX_ARGS, 1, NULL, irc_cmd_send_part, irc_cmd_recv_part },
{ "ping", N_("ping server"),
N_("server1 [server2]"),
+1 -1
View File
@@ -1,5 +1,5 @@
/*
* Copyright (c) 2004 by FlashCode <flashcode@flashtux.org>
* 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
+1 -1
View File
@@ -1,5 +1,5 @@
/*
* Copyright (c) 2004 by FlashCode <flashcode@flashtux.org>
* 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
+1 -1
View File
@@ -1,5 +1,5 @@
/*
* Copyright (c) 2004 by FlashCode <flashcode@flashtux.org>
* 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
+71 -14
View File
@@ -1,5 +1,5 @@
/*
* Copyright (c) 2004 by FlashCode <flashcode@flashtux.org>
* 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
@@ -99,7 +99,7 @@ irc_cmd_recv_error (t_irc_server *server, char *host, char *arguments)
if (strncmp (arguments, "Closing Link", 12) == 0)
{
server_disconnect (server);
server_disconnect (server, 1);
return 0;
}
@@ -598,7 +598,14 @@ irc_cmd_recv_mode (t_irc_server *server, char *host, char *arguments)
else
{
/* nickname modes */
gui_printf (server->buffer, "(TODO!) nickname modes: channel=%s, args=%s\n", arguments, pos);
gui_printf_color (server->buffer, COLOR_WIN_CHAT_DARK, "[");
gui_printf_color (server->buffer, COLOR_WIN_CHAT_NICK, "%s", arguments);
gui_printf_color (server->buffer, COLOR_WIN_CHAT, "/");
gui_printf_color (server->buffer, COLOR_WIN_CHAT_NICK,
"%s", (pos[0] == ':') ? pos + 1 : pos);
gui_printf_color (server->buffer, COLOR_WIN_CHAT_DARK, "] ");
gui_printf_color (server->buffer, COLOR_WIN_CHAT, _("mode changed by"));
gui_printf_color (server->buffer, COLOR_WIN_CHAT_NICK, " %s\n", host);
}
return 0;
}
@@ -697,16 +704,22 @@ irc_cmd_recv_nick (t_irc_server *server, char *host, char *arguments)
int
irc_cmd_recv_notice (t_irc_server *server, char *host, char *arguments)
{
char *pos, *pos2, *pos_usec;
char *host2, *pos, *pos2, *pos_usec;
struct timeval tv;
struct timezone tz;
long sec1, usec1, sec2, usec2, difftime;
host2 = NULL;
if (host)
{
pos = strchr (host, '!');
if (pos)
{
pos[0] = '\0';
host2 = pos + 1;
}
else
host2 = NULL;
}
pos = strchr (arguments, ' ');
@@ -778,7 +791,20 @@ irc_cmd_recv_notice (t_irc_server *server, char *host, char *arguments)
}
else
{
irc_display_prefix (server->buffer, PREFIX_SERVER);
if (host)
{
gui_printf_color (server->buffer, COLOR_WIN_CHAT_NICK, "%s", host);
if (host2)
{
gui_printf_color (server->buffer,
COLOR_WIN_CHAT_DARK, " (");
gui_printf_color (server->buffer,
COLOR_WIN_CHAT_HOST, "%s", host2);
gui_printf_color (server->buffer,
COLOR_WIN_CHAT_DARK, ")");
}
gui_printf_color (server->buffer, COLOR_WIN_CHAT, ": ");
}
gui_printf_color (server->buffer, COLOR_WIN_CHAT, "%s\n", pos);
}
}
@@ -1478,6 +1504,7 @@ int
irc_cmd_recv_004 (t_irc_server *server, char *host, char *arguments)
{
char *pos;
t_irc_channel *ptr_channel;
/* make gcc happy */
(void) host;
@@ -1500,11 +1527,29 @@ irc_cmd_recv_004 (t_irc_server *server, char *host, char *arguments)
/* execute command once connected */
if (server->command && server->command[0])
{
user_command(server, server->command);
if (server->command_delay > 0)
sleep (server->command_delay);
}
/* autojoin */
if (server->autojoin && server->autojoin[0])
return irc_cmd_send_join (server, server->autojoin);
/* auto-join after disconnection (only rejoins opened channels) */
if (server->reconnect_join)
{
for (ptr_channel = server->channels; ptr_channel;
ptr_channel = ptr_channel->next_channel)
{
if (ptr_channel->type == CHAT_CHANNEL)
server_sendf (server, "JOIN %s\r\n", ptr_channel->name);
}
server->reconnect_join = 0;
}
else
{
/* auto-join when connecting to server for first time */
if (server->autojoin && server->autojoin[0])
return irc_cmd_send_join (server, server->autojoin);
}
return 0;
}
@@ -2893,12 +2938,24 @@ irc_cmd_recv_433 (t_irc_server *server, char *host, char *arguments)
}
else
{
gui_printf (server->buffer,
_("%s: all declared nicknames are already in use, "
"closing connection with server!\n"),
PACKAGE_NAME);
server_disconnect (server);
return 0;
if (strcmp (server->nick, server->nick3) == 0)
{
gui_printf (server->buffer,
_("%s: all declared nicknames are already in use, "
"closing connection with server!\n"),
PACKAGE_NAME);
server_disconnect (server, 1);
return 0;
}
else
{
gui_printf (server->buffer,
_("%s: nickname \"%s\" is already in use, "
"trying 1st nickname \"%s\"\n"),
PACKAGE_NAME, server->nick, server->nick1);
free (server->nick);
server->nick = strdup (server->nick1);
}
}
}
+24 -2
View File
@@ -1,5 +1,5 @@
/*
* Copyright (c) 2004 by FlashCode <flashcode@flashtux.org>
* 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
@@ -719,7 +719,29 @@ irc_cmd_send_nick (t_irc_server *server, int argc, char **argv)
int
irc_cmd_send_notice (t_irc_server *server, char *arguments)
{
server_sendf (server, "NOTICE %s\r\n", arguments);
char *pos;
pos = strchr (arguments, ' ');
if (pos)
{
pos[0] = '\0';
pos++;
while (pos[0] == ' ')
pos++;
server_sendf (server, "NOTICE %s :%s\r\n", arguments, pos);
gui_printf_color (server->buffer, COLOR_WIN_CHAT, "notice");
gui_printf_color (server->buffer, COLOR_WIN_CHAT_DARK, "(");
gui_printf_color (server->buffer, COLOR_WIN_CHAT_NICK, "%s", arguments);
gui_printf_color (server->buffer, COLOR_WIN_CHAT_DARK, ")");
gui_printf_color (server->buffer, COLOR_WIN_CHAT, ": %s\n", pos);
}
else
{
gui_printf (server->buffer,
_("%s wrong argument count for \"%s\" command\n"),
WEECHAT_ERROR, "notice");
return -1;
}
return 0;
}
+100 -28
View File
@@ -1,5 +1,5 @@
/*
* Copyright (c) 2004 by FlashCode <flashcode@flashtux.org>
* 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
@@ -59,7 +59,9 @@ void
server_init (t_irc_server *server)
{
server->name = NULL;
server->autoconnect = 0;
server->autoconnect = 1;
server->autoreconnect = 1;
server->autoreconnect_delay = 30;
server->command_line = 0;
server->address = NULL;
server->port = -1;
@@ -70,9 +72,12 @@ server_init (t_irc_server *server)
server->username = NULL;
server->realname = NULL;
server->command = NULL;
server->command_delay = 1;
server->autojoin = NULL;
server->nick = NULL;
server->is_connected = 0;
server->reconnect_start = 0;
server->reconnect_join = 0;
server->sock4 = -1;
server->is_away = 0;
server->server_read = -1;
@@ -290,9 +295,10 @@ server_free_all ()
*/
t_irc_server *
server_new (char *name, int autoconnect, int command_line, char *address,
int port, char *password, char *nick1, char *nick2, char *nick3,
char *username, char *realname, char *command, char *autojoin,
server_new (char *name, int autoconnect, int autoreconnect, int autoreconnect_delay,
int command_line, char *address, int port, char *password,
char *nick1, char *nick2, char *nick3, char *username,
char *realname, char *command, int command_delay, char *autojoin,
int autorejoin)
{
t_irc_server *new_server;
@@ -315,6 +321,8 @@ server_new (char *name, int autoconnect, int command_line, char *address,
{
new_server->name = strdup (name);
new_server->autoconnect = autoconnect;
new_server->autoreconnect = autoreconnect;
new_server->autoreconnect_delay = autoreconnect_delay;
new_server->command_line = command_line;
new_server->address = strdup (address);
new_server->port = port;
@@ -328,6 +336,7 @@ server_new (char *name, int autoconnect, int command_line, char *address,
(realname) ? strdup (realname) : strdup ("realname");
new_server->command =
(command) ? strdup (command) : NULL;
new_server->command_delay = command_delay;
new_server->autojoin =
(autojoin) ? strdup (autojoin) : NULL;
new_server->autorejoin = autorejoin;
@@ -455,23 +464,33 @@ server_msgq_add_buffer (t_irc_server * server, char *buffer)
}
else
{
pos = strchr (buffer, '\0');
pos = strstr (buffer, "\n");
if (pos)
{
unterminated_message =
(char *) realloc (unterminated_message,
strlen (buffer) + 1);
if (!unterminated_message)
gui_printf (server->buffer,
_("%s not enough memory for received IRC message\n"),
WEECHAT_ERROR);
else
strcpy (unterminated_message, buffer);
return;
pos[0] = '\0';
server_msgq_add_msg (server, buffer);
buffer = pos + 1;
}
else
{
pos = strchr (buffer, '\0');
if (pos)
{
unterminated_message =
(char *) realloc (unterminated_message,
strlen (buffer) + 1);
if (!unterminated_message)
gui_printf (server->buffer,
_("%s not enough memory for received IRC message\n"),
WEECHAT_ERROR);
else
strcpy (unterminated_message, buffer);
return;
}
gui_printf (server->buffer,
_("%s unable to explode received buffer\n"),
WEECHAT_ERROR);
}
gui_printf (server->buffer,
_("%s unable to explode received buffer\n"),
WEECHAT_ERROR);
}
}
}
@@ -586,6 +605,13 @@ server_recv (t_irc_server *server)
server_msgq_add_buffer (server, buffer);
server_msgq_flush ();
}
else
{
gui_printf (server->buffer,
_("%s cannot read data from socket, disconnecting from server...\n"),
WEECHAT_ERROR);
server_disconnect (server, 1);
}
}
/*
@@ -692,6 +718,30 @@ server_connect (t_irc_server *server)
return 1;
}
/*
* server_reconnect: reconnect to a server (after disconnection)
*/
void
server_reconnect (t_irc_server *server)
{
gui_printf (server->buffer, _("%s: Reconnecting to server...\n"),
PACKAGE_NAME);
server->reconnect_start = 0;
if (server_connect (server))
{
server->reconnect_join = 1;
irc_login (server);
}
else
{
server->reconnect_start = time (NULL);
gui_printf (server->buffer, _("%s: Reconnecting to server in %d seconds\n"),
PACKAGE_NAME, server->autoreconnect_delay);
}
}
/*
* server_auto_connect: auto-connect to servers (called at startup)
*/
@@ -719,7 +769,7 @@ server_auto_connect (int command_line)
*/
void
server_disconnect (t_irc_server *server)
server_disconnect (t_irc_server *server, int reconnect)
{
t_irc_channel *ptr_channel;
@@ -729,17 +779,39 @@ server_disconnect (t_irc_server *server)
for (ptr_channel = server->channels; ptr_channel;
ptr_channel = ptr_channel->next_channel)
{
nick_free_all (ptr_channel);
irc_display_prefix (ptr_channel->buffer, PREFIX_INFO);
gui_printf (ptr_channel->buffer, _("Disconnected from server!\n"));
}
/* close communication with server */
close (server->server_read);
close (server->server_write);
close (server->sock4);
server->is_connected = 0;
server->sock4 = -1;
gui_draw_buffer_nick (gui_current_window->buffer, 1);
gui_draw_buffer_status (gui_current_window->buffer, 1);
}
/* close communication with server */
if (server->server_read >= 0)
close (server->server_read);
server->server_read = -1;
if (server->server_write >= 0)
close (server->server_write);
server->server_write = -1;
if (server->sock4 >= 0)
close (server->sock4);
server->sock4 = -1;
server->is_connected = 0;
server->is_away = 0;
if ((reconnect) && (server->autoreconnect))
{
server->reconnect_start = time (NULL);
gui_printf (server->buffer, _("%s: Reconnecting to server in %d seconds\n"),
PACKAGE_NAME, server->autoreconnect_delay);
}
else
server->reconnect_start = 0;
}
/*
@@ -752,7 +824,7 @@ server_disconnect_all ()
t_irc_server *ptr_server;
for (ptr_server = irc_servers; ptr_server; ptr_server = ptr_server->next_server)
server_disconnect (ptr_server);
server_disconnect (ptr_server, 0);
}
/*
+11 -5
View File
@@ -1,5 +1,5 @@
/*
* Copyright (c) 2004 by FlashCode <flashcode@flashtux.org>
* 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
@@ -116,6 +116,8 @@ struct t_irc_server
/* user choices */
char *name; /* name of server (only for display) */
int autoconnect; /* = 1 if auto connect at startup */
int autoreconnect; /* = 1 if auto reco when disconnected */
int autoreconnect_delay; /* delay before trying again reconnect */
int command_line; /* server was given on command line */
char *address; /* address of server (IP or name) */
int port; /* port for server (6667 by default) */
@@ -126,12 +128,15 @@ struct t_irc_server
char *username; /* user name */
char *realname; /* real name */
char *command; /* command to run once connected */
int command_delay; /* delay after execution of command */
char *autojoin; /* channels to automatically join */
int autorejoin; /* auto rejoin channels when kicked */
/* internal vars */
char *nick; /* current nickname */
int is_connected; /* 1 if WeeChat is connected to server */
time_t reconnect_start; /* this time + delay = reconnect time */
int reconnect_join; /* 1 if channels opened to rejoin */
int sock4; /* socket for server */
int is_away; /* 1 is user is marker as away */
time_t away_time; /* time() when user marking as away */
@@ -213,15 +218,16 @@ extern t_irc_server *server_alloc ();
extern void server_destroy (t_irc_server *);
extern void server_free (t_irc_server *);
extern void server_free_all ();
extern t_irc_server *server_new (char *, int, int, char *, int, char *, char *,
extern t_irc_server *server_new (char *, int, int, int, int, char *, int, char *,
char *, char *, char *, char *, char *, char *,
int);
int, char *, int);
extern int server_send (t_irc_server *, char *, int);
extern void server_sendf (t_irc_server *, char *, ...);
extern void server_recv (t_irc_server *);
extern int server_connect ();
extern int server_connect (t_irc_server *);
extern void server_reconnect (t_irc_server *);
extern void server_auto_connect (int);
extern void server_disconnect (t_irc_server *);
extern void server_disconnect (t_irc_server *, int);
extern void server_disconnect_all ();
extern t_irc_server *server_search (char *);
extern int server_get_number_connected ();
+1 -1
View File
@@ -1,4 +1,4 @@
# Copyright (c) 2004 FlashCode <flashcode@flashtux.org>
# Copyright (c) 2003-2005 FlashCode <flashcode@flashtux.org>
#
# 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
+1 -1
View File
@@ -1,4 +1,4 @@
# Copyright (c) 2004 FlashCode <flashcode@flashtux.org>
# Copyright (c) 2003-2005 FlashCode <flashcode@flashtux.org>
#
# 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
+1 -1
View File
@@ -1,5 +1,5 @@
/*
* Copyright (c) 2004 by FlashCode <flashcode@flashtux.org>
* 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
+1 -1
View File
@@ -1,5 +1,5 @@
/*
* Copyright (c) 2004 by FlashCode <flashcode@flashtux.org>
* 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
+1 -1
View File
@@ -1,5 +1,5 @@
/*
* Copyright (c) 2004 by FlashCode <flashcode@flashtux.org>
* 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
+1 -1
View File
@@ -1,5 +1,5 @@
/*
* Copyright (c) 2004 by FlashCode <flashcode@flashtux.org>
* 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
+1 -1
View File
@@ -1,4 +1,4 @@
.TH WEECHAT 1 "October 2004" "FlashCode"
.TH WEECHAT 1 "January 2005" "FlashCode"
.SH NAME
weechat-curses \- Wee Enhanced Environment for Chat (Curses version)
+3 -1
View File
@@ -1,5 +1,5 @@
%define name weechat
%define version 0.0.8
%define version 0.0.9
%define release 1
Name: %{name}
@@ -41,6 +41,8 @@ rm -rf $RPM_BUILD_ROOT
/usr/local/bin/weechat-curses
%changelog
* Sat Jan 01 2005 FlashCode <flashcode@flashtux.org> 0.0.9-1
- Released version 0.0.9
* Sat Oct 30 2004 FlashCode <flashcode@flashtux.org> 0.0.8-1
- Released version 0.0.8
* Sat Aug 08 2004 FlashCode <flashcode@flashtux.org> 0.0.7-1
+2 -3
View File
@@ -1,7 +1,7 @@
WeeChat - Wee Enhanced Environment for Chat
===========================================
WeeChat known bugs, 2004-10-30
WeeChat known bugs, 2005-01-01
- ./configure does not check that Curses headers are installed
- ./configure does not check that Gtk 2.0 libraries are installed
@@ -10,10 +10,9 @@ WeeChat known bugs, 2004-10-30
- problem when resizing terminal and that some windows are outside new term size
- some IRC commands are marked as 'unknown' when received
(IRC protocol is under dev!)
- when function key (non used by WeeChat) is pressed, prompt is deleted
- when quitting WeeChat term title is not restored (if look_set_title is ON)
- command name for /server can not contain spaces
- wrong alias is not created and not saved when quitting WeeChat
- when many WeeChat are launched, log file is not properly written (cleared by
each WeeChat at startup)
- display problems with old Konsole versions (Kde terminal)
- display problems with old Konsole versions (Kde terminal) (???)
+17 -1
View File
@@ -1,9 +1,25 @@
WeeChat - Wee Enhanced Environment for Chat
===========================================
ChangeLog - 2004-10-30
ChangeLog - 2005-01-01
Version 0.0.9 (2005-01-01):
* auto-reconnection to server (new options: server_autoreconnect (on/off),
server_autoreconnect_delay (in seconds))
* major bug fixed when socket is closed by server (100% CPU usage fixed),
and disconnections are now ok (all channels are "closed", history is still
visible, and buffer will be used again if reconnection to server)
* option "look_remove_colors_from_msgs" is now working
* fixed display of nick mode changes
* new command "/buffer close" (close any server/channel/private buffer)
* /notice command fixed (and display when received from server)
* new keys: Ctrl+A (=home), Ctrl+E (=end), Ctrl+W (=Ctrl+Backspace),
Alt-S (switch to server buffer), Alt-X (switch to first channel of next
server)
* added new config option: "server_command_delay" (delay in seconds after
startup command for each server)
Version 0.0.8 (2004-10-30):
* /kick command fixed: now ok with many words as reason
* nickserv passwords hidden (new config option: log_hide_nickserv_pwd on/off)
+1 -1
View File
@@ -2,7 +2,7 @@ WeeChat - Installation instructions
===================================
1) Run './configure'
options: --enble-perl : enable Perl scripts
options: --enable-perl : enable Perl scripts
--disable-curses : do not build Curses interface
--enable-gtk : build Gtk+ interface (under development!)
--enable-qt : build Qt interface (not developed!)
+1 -1
View File
@@ -1,4 +1,4 @@
# Copyright (c) 2004 FlashCode <flashcode@flashtux.org>
# Copyright (c) 2003-2005 FlashCode <flashcode@flashtux.org>
#
# 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
+4
View File
@@ -1,6 +1,10 @@
WeeChat - Wee Enhanced Environment for Chat
===========================================
* FlashCode, 2005-01-01
WeeChat 0.0.9 released.
* FlashCode, 2004-10-30
WeeChat 0.0.8 released.
+2 -5
View File
@@ -1,7 +1,7 @@
WeeChat - Wee Enhanced Environment for Chat
===========================================
TODO - 2004-10-30
TODO - 2005-01-01
Legend:
# done
@@ -10,7 +10,7 @@ Legend:
? is this really necessary?
v0.0.8:
v0.0.9:
------
* General:
@@ -21,9 +21,6 @@ v0.0.8:
+ "/dcc" command (for chat and sending/receiving files)
* Interface:
# log chats to file
# "/buffer" command, buffers ordered by number, auto-jump to active
buffers (alt-a), jump to buffers by number (alt-number)
+ "/window" command, split terminal in multiple windows
(horizontally/vertically)
+ internationalization (traduce WeeChat in many languages)
+9 -5
View File
@@ -1,4 +1,4 @@
# Copyright (c) 2004 FlashCode <flashcode@flashtux.org>
# Copyright (c) 2003-2005 FlashCode <flashcode@flashtux.org>
#
# 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
@@ -19,10 +19,10 @@
# Process this file with autoconf to produce a configure script.
AC_PREREQ(2.56)
AC_INIT(WeeChat, 0.0.8, flashcode@flashtux.org)
AC_INIT(WeeChat, 0.0.9, flashcode@flashtux.org)
AC_CONFIG_SRCDIR([src/common/weechat.c])
AM_CONFIG_HEADER(config.h)
AM_INIT_AUTOMAKE([weechat], [0.0.8])
AM_INIT_AUTOMAKE([weechat], [0.0.9])
# Checks for programs.
AC_PROG_CC
@@ -108,10 +108,14 @@ fi
AC_SUBST(PLUGINS_LIBS)
CFLAGS=`echo $CFLAGS | sed s/-g//g`
if test "x$CFLAGS" = "x" ; then
CFLAGS="-O2"
fi
if test "x$debug" = "x1" || test "x$debug" = "x2" ; then
CFLAGS="-Wall -W -pipe -O2 -g"
CFLAGS="-Wall -W $CFLAGS -pipe -g"
else
CFLAGS="-Wall -W -pipe -O2"
CFLAGS="-Wall -W $CFLAGS -pipe"
fi
if test "x$debug" = "x2" ; then
+6
View File
@@ -1,3 +1,9 @@
weechat (0.0.9-1) unstable; urgency=low
* WeeChat version 0.0.9, see ChangeLog for detail.
-- FlashCode <flashcode@flashtux.org> Sat, 01 Jan 2005 13:00:00 +0200
weechat (0.0.8-1) unstable; urgency=low
* WeeChat version 0.0.8, see ChangeLog for detail.
+1 -1
View File
@@ -1,5 +1,5 @@
This package was debianized by FlashCode <flashcode@flashtux.org> on
Sat, 30 Oct 2004 11:40:00 +0200.
Sat, 01 Jan 2005 13:00:00 +0200.
It was downloaded from http://weechat.flashtux.org/download
+34 -10
View File
@@ -6,7 +6,7 @@
@c WeeChat documentation (english version)
@c
@c Copyright (c) 2004 by FlashCode <flashcode@flashtux.org>
@c Copyright (c) 2005 by FlashCode <flashcode@flashtux.org>
@c
@c This manual is free software; you can redistribute it and/or modify
@c it under the terms of the GNU General Public License as published by
@@ -35,7 +35,7 @@
@title WeeChat - User guide
@subtitle Fast, light and extensible IRC client
@subtitle Documentation for WeeChat v0.0.8-pre2 - October, 03 2004
@subtitle Documentation for WeeChat v0.0.9 - January, 01 2005
@image{weechat_image}
@@ -48,7 +48,7 @@ This manual documents WeeChat IRC client, it is part of WeeChat.@*
Latest version of this document can be found on this page:@*
@uref{http://weechat.flashtux.org/doc.php?lang=en}@*
@*
Copyright @copyright{} 2004 FlashCode
Copyright @copyright{} 2005 FlashCode
<@email{flashcode@@flashtux.org, flashcode AT flashtux.org}>@*
@*
This document may be used under the terms the GNU General Public License
@@ -451,6 +451,9 @@ Type: string (any string), default value: '~/.weechat/logs/'@*
@item log_timestamp
Timestamp for log (see man strftime for date/time specifiers)@*
Type: string (any string), default value: '%Y %b %d %H:%M:%S'@*
@item log_hide_nickserv_pwd
Hide password displayed by nickserv@*
Type: boolean (values: 'on' or 'off'), default value: 'on'@*
@item dcc_auto_accept_files
Automatically accept incoming dcc files@*
Type: boolean (values: 'on' or 'off'), default value: 'off'@*
@@ -493,6 +496,12 @@ Type: string (any string), default value: ''@*
@item server_autoconnect
Automatically connect to server when WeeChat is starting@*
Type: boolean (values: 'on' or 'off'), default value: 'on'@*
@item server_autoreconnect
Automatically reconnect to server when disconnected@*
Type: boolean (values: 'on' or 'off'), default value: 'on'@*
@item server_autoreconnect_delay
Delay (in deconds) before trying again to reconnect to server@*
Type: integer (values: between 0 and 65535), default value: 30@*
@item server_address
IP address or hostname of IRC server@*
Type: string (any string), default value: ''@*
@@ -520,9 +529,15 @@ Type: string (any string), default value: ''@*
@item server_command
First command to run when connected to server@*
Type: string (any string), default value: ''@*
@item server_command_delay
Delay (in seconds) after command was executed (example: give some time for authentication)@*
Type: integer (values: between 0 and 3600), default value: 1@*
@item server_autojoin
Comma separated list of channels to join when connected to server@*
Type: string (any string), default value: ''@*
@item server_autorejoin
Automatically rejoin channels when kicked@*
Type: boolean (values: 'on' or 'off'), default value: 'on'@*
@end table
Colors for Curses GUI are:@*
@@ -571,13 +586,16 @@ Go to previous / next char in command line@*
@item Ctrl + left arrow / Ctrl + right arrow
Go to previous / next word in command line@*
@*
@item Home / End
Go to the beginning / end of command line@*
@item Home / Ctrl + A
Go to the beginning of command line@*
@*
@item End / Ctrl + E
Go to the end of command line@*
@*
@item Backspace / Delete
Erase previous / next char of command line@*
@*
@item Ctrl + Backspace
@item Ctrl + Backspace / Ctrl + W
Erase previous word of command line@*
@*
@item Tab
@@ -603,6 +621,9 @@ Switch to next window@*
@*
@item F10
Remove last infobar message@*
@*
@item Ctrl + L
Redraw whole window@*
@*
@item Alt + left arrow / Alt + right arrow
Same as F6 / F7@*
@@ -616,6 +637,12 @@ Display current DCC@*
@item Alt + R
Clear hotlist (activity notification on other buffers)@*
@*
@item Alt + S
Switch to server buffer@*
@*
@item Alt + X
Switch to first channel of next server (or server buffer if no channel is opened)@*
@*
@item Alt + digit (1-9)
Switch to buffer by number@*
@*
@@ -847,9 +874,6 @@ Bounga
@item
Xahlexx
<@email{xahlexx@@tuxfamily.org, xahlexx AT tuxfamily.org}>
@item
Crevetor
<@email{crevetor@@caramail.com, crevetor AT caramail.com}>
@end itemize
@@ -892,7 +916,7 @@ Look for WeeChat support page for detail:@*
This manual documents WeeChat IRC client, it is part of WeeChat.@*
Copyright @copyright{} 2004 FlashCode
Copyright @copyright{} 2005 FlashCode
<@email{flashcode@@flashtux.org, flashcode AT flashtux.org}>@*
@*
This document may be used under the terms the GNU General Public License
+34 -10
View File
@@ -6,7 +6,7 @@
@c WeeChat documentation (french version)
@c
@c Copyright (c) 2004 by FlashCode <flashcode@flashtux.org>
@c Copyright (c) 2005 by FlashCode <flashcode@flashtux.org>
@c
@c This manual is free software; you can redistribute it and/or modify
@c it under the terms of the GNU General Public License as published by
@@ -35,7 +35,7 @@
@title WeeChat - Guide utilisateur
@subtitle Client IRC rapide, l@'eger et extensible
@subtitle Documentation pour WeeChat v0.0.8-pre2 - 03 Octobre 2004
@subtitle Documentation pour WeeChat v0.0.9 - 1er Janvier 2005
@image{weechat_image}
@@ -48,7 +48,7 @@ Ce manuel documente le client IRC WeeChat, il fait partie de WeeChat.@*
La derni@`ere version de ce document peut @^etre t@'el@'echarg@'ee sur cette page :@*
@uref{http://weechat.flashtux.org/doc.php}@*
@*
Copyright @copyright{} 2004 FlashCode
Copyright @copyright{} 2005 FlashCode
<@email{flashcode@@flashtux.org, flashcode AT flashtux.org}>@*
@*
Ce document peut @^etre utilis@'e sous les termes de la licence GNU General Public
@@ -451,6 +451,9 @@ Type: cha@^ine (toute cha@^ine), valeur par d@'efaut: '~/.weechat/logs/'@*
@item log_timestamp
Horodatage pour les conversations sauvegard@'ees (voir man strftime pour le format de date/heure)@*
Type: cha@^ine (toute cha@^ine), valeur par d@'efaut: '%Y %b %d %H:%M:%S'@*
@item log_hide_nickserv_pwd
Masquer le mot de passe affich@'e par nickserv@*
Type: bool@'een (valeurs: 'on' ou 'off'), valeur par d@'efaut: 'on'@*
@item dcc_auto_accept_files
Accepte automatiquement les fichiers dcc entrants@*
Type: bool@'een (valeurs: 'on' ou 'off'), valeur par d@'efaut: 'off'@*
@@ -493,6 +496,12 @@ Type: cha@^ine (toute cha@^ine), valeur par d@'efaut: ''@*
@item server_autoconnect
Connexion automatique au serveur quand WeeChat d@'emarre@*
Type: bool@'een (valeurs: 'on' ou 'off'), valeur par d@'efaut: 'on'@*
@item server_autoreconnect
Reconnexion automatique au serveur apr@`es une d@'econnexion@*
Type: bool@'een (valeurs: 'on' ou 'off'), valeur par d@'efaut: 'on'@*
@item server_autoreconnect_delay
D@'elai (en secondes) avant de tenter une reconnexion au serveur@*
Type: entier (valeurs: entre 0 et 65535), valeur par d@'efaut: 30@*
@item server_address
Adresse IP ou nom du serveur IRC@*
Type: cha@^ine (toute cha@^ine), valeur par d@'efaut: ''@*
@@ -520,9 +529,15 @@ Type: cha@^ine (toute cha@^ine), valeur par d@'efaut: ''@*
@item server_command
Commande @`a ex@'ecuter en premier lorsque connect@'e au serveur@*
Type: cha@^ine (toute cha@^ine), valeur par d@'efaut: ''@*
@item server_command_delay
D@'elai (en secondes) apr@`es ex@'ecution de la commande (exemple: donner du temps pour l'authentification)@*
Type: entier (valeurs: entre 0 et 3600), valeur par d@'efaut: 1@*
@item server_autojoin
Liste des canaux (s@'epar@'es par des virgules) @`a rejoindre lorsque connect@'e au serveur@*
Type: cha@^ine (toute cha@^ine), valeur par d@'efaut: ''@*
@item server_autorejoin
Rejoindre automatiquement les canaux quand mis dehors@*
Type: bool@'een (valeurs: 'on' ou 'off'), valeur par d@'efaut: 'on'@*
@end table
Les couleurs pour l'interface Curses sont :@*
@@ -571,13 +586,16 @@ Aller au caract@`ere pr@'ec@'edent / suivant sur la ligne de commande@*
@item Ctrl + fl@`eche gauche / Ctrl + fl@`eche droite
Aller au mot pr@'ec@'edent / suivant sur la ligne de commande@*
@*
@item Home / End
Aller au d@'ebut / @`a la fin de la ligne de commande@*
@item Home / Ctrl + A
Aller au d@'ebut de la ligne de commande@*
@*
@item End / Ctrl + E
Aller @`a la fin de la ligne de commande@*
@*
@item Backspace / Delete
Effacer le mot pr@'ec@'edent / suivant sur la ligne de commande@*
@*
@item Ctrl + Backspace
@item Ctrl + Backspace / Ctrl + W
Effacer le mot pr@'ec@'edent sur la ligne de commande@*
@*
@item Tab
@@ -604,6 +622,9 @@ Aller @`a la fen@^etre suivante@*
@item F10
Effacer le dernier message de la barre d'infos@*
@*
@item Ctrl + L
R@'eaffiche toute la fen@^etre@*
@*
@item Alt + fl@`eche gauche / Alt + fl@`eche droite
Identique @`a F6 / F7@*
@*
@@ -616,6 +637,12 @@ Afficher les DCC en cours@*
@item Alt + R
Vide la hotlist (notification d'activité sur les autres tampons)@*
@*
@item Alt + S
Sauter au tampon du serveur@*
@*
@item Alt + X
Sauter au premier canal du serveur suivant (ou tampon du serveur si aucun canal ouvert)@*
@*
@item Alt + chiffre (1-9)
Sauter au tampon avec ce num@'ero@*
@*
@@ -847,9 +874,6 @@ Bounga
@item
Xahlexx
<@email{xahlexx@@tuxfamily.org, xahlexx AT tuxfamily.org}>
@item
Crevetor
<@email{crevetor@@caramail.com, crevetor AT caramail.com}>
@end itemize
@@ -892,7 +916,7 @@ Voir la page support WeeChat pour plus de d@'etails :@*
Ce manuel documente le client IRC WeeChat, il fait partie de WeeChat.@*
Copyright @copyright{} 2004 FlashCode
Copyright @copyright{} 2005 FlashCode
<@email{flashcode@@flashtux.org, flashcode AT flashtux.org}>@*
@*
Ce document peut @^etre utilis@'e sous les termes de la licence GNU General Public
+55 -13
View File
@@ -6,7 +6,7 @@
@c WeeChat documentation (vers@~ao partuguesa)
@c
@c Copyright (c) 2004 by FlashCode <flashcode@flashtux.org>
@c Copyright (c) 2005 by FlashCode <flashcode@flashtux.org>
@c
@c This manual is free software; you can redistribute it and/or modify
@c it under the terms of the GNU General Public License as published by
@@ -35,7 +35,7 @@
@title WeeChat - Guia do Utilizador
@subtitle Cliente de IRC rapido, leve e extencivel
@subtitle Documenta@,{c}@~ao do WeeChat v0.0.7 - 27 de Agosto de 2004
@subtitle Documenta@,{c}@~ao do WeeChat v0.0.9 - 1 de Janeiro de 2005
@image{weechat_image}
@@ -48,7 +48,7 @@ Este manual documenta o cliente de IRC WeeChat, ele faz parte do WeeChat.@*
A ultima versĂŁo deste documento pode ser descarregada de :@*
@uref{http://weechat.flashtux.org/doc.php}@*
@*
Copyright @copyright{} 2004 FlashCode
Copyright @copyright{} 2005 FlashCode
<@email{flashcode@@flashtux.org, flashcode AT flashtux.org}>@*
@*
Este documento pode ser utilizado sobre os termos da Licen@,{c}a P@'ublica geral GNU (GNU General Public
@@ -247,13 +247,16 @@ Ir um caractere para traz / para a frente na linha de comando@*
@item Ctrl + Seta esquerda / Ctrl + Seta Direita
Ir uma palavra para traz / para a frente na linha de comando@*
@*
@item Home / End
Ir para o in@'icio / para o fim da linha de comando@*
@item Home / Ctrl + A
Ir para o in@'icio da linha de comando@*
@*
@item End / Ctrl + E
Ir para o fim da linha de comando@*
@*
@item Backspace / Delete
Apagar o caractere anterior / seguinte na linha de comando@*
@*
@item Ctrl + Backspace
@item Ctrl + Backspace / Ctrl + W
Apagar a palavra anterior na linha de comando
@*
@item Tab
@@ -274,18 +277,36 @@ Navegar no hist@'orico da janela@*
@item F6 / F7
Ir para a janela anterior/seguinte@*
@*
@item F8
Comute @`a janela seguinte@*
@*
@item F10
Apagar a @'ultima mensagem da barra do info@*
@*
@item Ctrl + L
Redesenhe a janela inteira@*
@*
@item Alt + Seta da esquerda / Alt + Seta da direita
Identico a F6 / F7@*
@*
@item Alt + A
Comute ao amortecedor seguinte com atividade (com prioridade: destaque, mensagem, outra)@*
@*
@item Alt + D
Exposi@,{c}@~ao DCC atual@*
@*
@item Alt + R
Hotlist desobstru@'ido (notifica@,{c}@~ao da atividade em outros amortecedores)@*
@*
@item Alt + S
Comute ao amortecedor do servidor@*
@*
@item Alt + X
Comute @`a primeira canaleta do servidor seguinte (ou do amortecedor do servidor se nenhuma canaleta for aberta)@*
@*
@item Alt + d@'igito (1-9)
Comute ao amortecedor pelo n@'umero@*
@*
@item F10
Apagar a @'ultima mensagem da barra do info@*
@*
@end table
@node Comandos do WeeChat, , Recursos de teclado, Utilizacao
@@ -438,6 +459,30 @@ Este nome pode pertencer a um comando j
@code{@} }@*
@*
@item
@command{IRC::get_info ( [servidor,] nome );}@*
@*
Comece o v@'ario info sobre WeeChat, servidor ou usu@'ario.@*
@emph{Argumentos:}
@itemize @minus
@item @option{servidor}: nome interno da servidor
@item @option{nome}: nome do info a recuperar:
@itemize @minus
@item @option{0 ou version}: comece a vers@~ao de WeeChat
@item @option{1 ou nick}: comece o nickname
@item @option{2 ou channel}: comece o nome da canal
@item @option{3 ou server}: comece o nome do servidor
@item @option{4 ou weechatdir}: comece a WeeChat o diret@'orio home
@item @option{5 ou away}: comece a bandeira ausente para o servidor
@end itemize
@end itemize
@*
@emph{Exemplos:}@*
@code{$version = get_info("version");}@*
@code{$nick = get_info("freenode", "nick");}@*
@*
@end itemize
@node Scripts Python, Scripts Ruby, Scripts Perl, Extencoes
@@ -485,9 +530,6 @@ Bounga
@item
Xahlexx
<@email{xahlexx@@tuxfamily.org, xahlexx AT tuxfamily.org}>
@item
Crevetor
<@email{crevetor@@caramail.com, crevetor AT caramail.com}>
@end itemize
@@ -528,7 +570,7 @@ Para mais detalhes, v@^e tamb@'em a p@'agina de suporte do WeeChat :@*
Este manual documenta o cliente de IRC WeeChat, Ele faz parte do WeeChat.@*
Copyright @copyright{} 2004 FlashCode
Copyright @copyright{} 2005 FlashCode
<@email{flashcode@@flashtux.org, flashcode AT flashtux.org}>@*
Tradu@,{c}@~ao portuguesa de Jo@~ao Jer@'onimo <@email{j_j_b_o@@sapo.pt, j_j_b_o AT sapo.pt}>@*
@*
+506 -451
View File
File diff suppressed because it is too large Load Diff
+514 -443
View File
File diff suppressed because it is too large Load Diff
+1 -1
View File
@@ -1,4 +1,4 @@
# Copyright (c) 2004 FlashCode <flashcode@flashtux.org>
# Copyright (c) 2003-2005 FlashCode <flashcode@flashtux.org>
#
# 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
+1 -1
View File
@@ -1,4 +1,4 @@
# Copyright (c) 2004 FlashCode <flashcode@flashtux.org>
# Copyright (c) 2003-2005 FlashCode <flashcode@flashtux.org>
#
# 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
+53 -24
View File
@@ -1,5 +1,5 @@
/*
* Copyright (c) 2004 by FlashCode <flashcode@flashtux.org>
* 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
@@ -47,6 +47,7 @@ t_weechat_command weechat_commands[] =
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"),
@@ -834,6 +835,7 @@ int
weechat_cmd_buffer (int argc, char **argv)
{
t_gui_buffer *ptr_buffer;
t_irc_server *ptr_server;
long number;
char *error;
@@ -916,6 +918,36 @@ weechat_cmd_buffer (int argc, char **argv)
return -1;
}
}
else if (strcasecmp (argv[0], "close") == 0)
{
/* close buffer (server or channel/private) */
if ((!gui_current_window->buffer->next_buffer)
&& (gui_current_window->buffer == gui_buffers))
{
gui_printf (gui_current_window->buffer,
_("%s can not close the single buffer\n"),
WEECHAT_ERROR);
return -1;
}
if (BUFFER_IS_SERVER(gui_current_window->buffer))
{
if (SERVER(gui_current_window->buffer)->channels)
{
gui_printf (gui_current_window->buffer,
_("%s can not close server buffer while channels "
"are opened\n"),
WEECHAT_ERROR);
return -1;
}
server_disconnect (SERVER(gui_current_window->buffer), 0);
ptr_server = SERVER(gui_current_window->buffer);
gui_buffer_free (gui_current_window->buffer, 1);
ptr_server->buffer = NULL;
}
else
irc_cmd_send_part (SERVER(gui_current_window->buffer), NULL);
}
else if (strcasecmp (argv[0], "notify") == 0)
{
/* set notify level for buffer */
@@ -1026,7 +1058,6 @@ int
weechat_cmd_connect (int argc, char **argv)
{
t_irc_server *ptr_server;
t_irc_channel *ptr_channel;
/* make gcc happy */
(void) argc;
@@ -1048,13 +1079,9 @@ weechat_cmd_connect (int argc, char **argv)
}
if (server_connect (ptr_server))
{
ptr_server->reconnect_start = 0;
ptr_server->reconnect_join = (ptr_server->channels) ? 1 : 0;
irc_login (ptr_server);
for (ptr_channel = ptr_server->channels; ptr_channel;
ptr_channel = ptr_channel->next_channel)
{
if (ptr_channel->type == CHAT_CHANNEL)
server_sendf (ptr_server, "JOIN %s\r\n", ptr_channel->name);
}
}
}
else
@@ -1082,14 +1109,17 @@ weechat_cmd_disconnect (int argc, char **argv)
ptr_server = server_search (argv[0]);
if (ptr_server)
{
if (!ptr_server->is_connected)
if ((!ptr_server->is_connected) && (ptr_server->reconnect_start == 0))
{
gui_printf (NULL,
gui_printf (ptr_server->buffer,
_("%s not connected to server \"%s\"!\n"),
WEECHAT_ERROR, argv[0]);
return -1;
}
server_disconnect (ptr_server);
if (ptr_server->reconnect_start > 0)
gui_printf (ptr_server->buffer,
_("Auto-reconnection is cancelled\n"));
server_disconnect (ptr_server, 0);
gui_draw_buffer_status (gui_current_window->buffer, 1);
}
else
@@ -1118,13 +1148,13 @@ weechat_cmd_help (int argc, char **argv)
for (i = 0; weechat_commands[i].command_name; i++)
gui_printf (NULL, " %s - %s\n",
weechat_commands[i].command_name,
weechat_commands[i].command_description);
_(weechat_commands[i].command_description));
gui_printf (NULL, _("> List of IRC commands:\n"));
for (i = 0; irc_commands[i].command_name; i++)
if (irc_commands[i].cmd_function_args || irc_commands[i].cmd_function_1arg)
gui_printf (NULL, " %s - %s\n",
irc_commands[i].command_name,
irc_commands[i].command_description);
_(irc_commands[i].command_description));
}
if (argc == 1)
{
@@ -1139,14 +1169,12 @@ weechat_cmd_help (int argc, char **argv)
gui_printf (NULL,
_("Syntax: /%s %s\n"),
weechat_commands[i].command_name,
(weechat_commands[i].
arguments) ? weechat_commands[i].
arguments : "");
(weechat_commands[i].arguments) ?
_(weechat_commands[i].arguments) : "");
if (weechat_commands[i].arguments_description)
{
gui_printf (NULL, "%s\n",
weechat_commands[i].
arguments_description);
_(weechat_commands[i].arguments_description));
}
return 0;
}
@@ -1161,12 +1189,11 @@ weechat_cmd_help (int argc, char **argv)
gui_printf (NULL, _("Syntax: /%s %s\n"),
irc_commands[i].command_name,
(irc_commands[i].arguments) ?
irc_commands[i].arguments : "");
_(irc_commands[i].arguments) : "");
if (irc_commands[i].arguments_description)
{
gui_printf (NULL, "%s\n",
irc_commands[i].
arguments_description);
_(irc_commands[i].arguments_description));
}
return 0;
}
@@ -1603,11 +1630,13 @@ weechat_cmd_server (int argc, char **argv)
}
/* create new server */
new_server = server_new (server.name, server.autoconnect, 0,
server.address, server.port, server.password,
new_server = server_new (server.name, server.autoconnect,
server.autoreconnect,
server.autoreconnect_delay,
0, server.address, server.port, server.password,
server.nick1, server.nick2, server.nick3,
server.username, server.realname,
server.command, server.autojoin, 1);
server.command, 1, server.autojoin, 1);
if (new_server)
{
irc_display_prefix (NULL, PREFIX_INFO);
+1 -1
View File
@@ -1,5 +1,5 @@
/*
* Copyright (c) 2004 by FlashCode <flashcode@flashtux.org>
* 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
+1 -1
View File
@@ -1,5 +1,5 @@
/*
* Copyright (c) 2004 by FlashCode <flashcode@flashtux.org>
* 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
+1 -1
View File
@@ -1,5 +1,5 @@
/*
* Copyright (c) 2004 by FlashCode <flashcode@flashtux.org>
* 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
+1 -1
View File
@@ -1,5 +1,5 @@
/*
* Copyright (c) 2004 by FlashCode <flashcode@flashtux.org>
* 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
+1 -1
View File
@@ -1,5 +1,5 @@
/*
* Copyright (c) 2004 by FlashCode <flashcode@flashtux.org>
* 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
+1 -1
View File
@@ -1,5 +1,5 @@
/*
* Copyright (c) 2004 by FlashCode <flashcode@flashtux.org>
* 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
+1 -1
View File
@@ -1,5 +1,5 @@
/*
* Copyright (c) 2004 by FlashCode <flashcode@flashtux.org>
* 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
+1 -1
View File
@@ -1,5 +1,5 @@
/*
* Copyright (c) 2004 by FlashCode <flashcode@flashtux.org>
* 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
+1 -1
View File
@@ -1,5 +1,5 @@
/*
* Copyright (c) 2004 by FlashCode <flashcode@flashtux.org>
* 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
+6 -4
View File
@@ -16,7 +16,7 @@
* ### ###
* ############################################################################
*
* Copyright (c) 2004 by FlashCode <flashcode@flashtux.org>
* 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
@@ -228,11 +228,13 @@ wee_parse_args (int argc, char *argv[])
}
else
{
if (!server_new (server_tmp.name, 0, 1,
server_tmp.address, server_tmp.port,
if (!server_new (server_tmp.name, server_tmp.autoconnect,
server_tmp.autoreconnect,
server_tmp.autoreconnect_delay,
1, server_tmp.address, server_tmp.port,
server_tmp.password, server_tmp.nick1,
server_tmp.nick2, server_tmp.nick3,
NULL, NULL, NULL, server_tmp.autojoin, 1))
NULL, NULL, NULL, 0, server_tmp.autojoin, 1))
fprintf (stderr, _("%s unable to create server ('%s'), ignored\n"),
WEECHAT_WARNING, argv[i]);
server_destroy (&server_tmp);
+4 -4
View File
@@ -1,5 +1,5 @@
/*
* Copyright (c) 2004 by FlashCode <flashcode@flashtux.org>
* 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
@@ -43,7 +43,7 @@
#endif
#define WEECHAT_COPYRIGHT PACKAGE_NAME " (c) 2004 by Wee Team"
#define WEECHAT_COPYRIGHT PACKAGE_NAME " (c) 2003-2005 by Wee Team"
#define WEECHAT_WEBSITE "http://weechat.flashtux.org"
#define WEECHAT_ERROR _(PACKAGE_NAME " Error:")
@@ -56,7 +56,7 @@
/* license */
#define WEE_LICENSE \
PACKAGE_STRING " (c) Copyright 2004, compiled on " __DATE__ " " __TIME__ \
PACKAGE_STRING " (c) Copyright 2003-2005, compiled on " __DATE__ " " __TIME__ \
"\nDeveloped by FlashCode <flashcode@flashtux.org>\n" \
" Bounga <bounga@altern.org>\n" \
" Xahlexx <xahlexx@weeland.org>\n" \
@@ -77,7 +77,7 @@
"Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA\n\n"
#define WEE_USAGE1 \
PACKAGE_STRING " (c) Copyright 2004, compiled on " __DATE__ " " __TIME__ \
PACKAGE_STRING " (c) Copyright 2003-2005, compiled on " __DATE__ " " __TIME__ \
"\nDeveloped by FlashCode, Bounga and Xahlexx - " WEECHAT_WEBSITE "\n\n" \
"Usage: %s [options ...]\n" \
" or: %s [irc://[nickname[:password]@]irc.example.org[:port][/channel] ...]\n\n"
+24 -4
View File
@@ -1,5 +1,5 @@
/*
* Copyright (c) 2004 by FlashCode <flashcode@flashtux.org>
* 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
@@ -152,7 +152,7 @@ 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 %G - %H:%M", NULL, NULL, &cfg_look_infobar_timestamp, config_change_buffer_content },
"%B, %A %d %Y - %H:%M", NULL, NULL, &cfg_look_infobar_timestamp, 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)"),
@@ -534,6 +534,14 @@ t_config_option weechat_options_server[] =
N_("automatically connect to server when WeeChat is starting"),
OPTION_TYPE_BOOLEAN, BOOL_FALSE, BOOL_TRUE, BOOL_TRUE,
NULL, NULL, &(cfg_server.autoconnect), NULL, NULL },
{ "server_autoreconnect", N_("automatically reconnect to server"),
N_("automatically reconnect to server when disconnected"),
OPTION_TYPE_BOOLEAN, BOOL_FALSE, BOOL_TRUE, BOOL_TRUE,
NULL, NULL, &(cfg_server.autoreconnect), NULL, NULL },
{ "server_autoreconnect_delay", N_("delay before trying again to reconnect"),
N_("delay (in deconds) before trying again to reconnect to server"),
OPTION_TYPE_INT, 0, 65535, 30,
NULL, NULL, &(cfg_server.autoreconnect_delay), NULL, NULL },
{ "server_address", N_("server address or hostname"),
N_("IP address or hostname of IRC server"),
OPTION_TYPE_STRING, 0, 0, 0,
@@ -570,6 +578,10 @@ t_config_option weechat_options_server[] =
N_("first command to run when connected to server"),
OPTION_TYPE_STRING, 0, 0, 0,
"", NULL, NULL, &(cfg_server.command), NULL },
{ "server_command_delay", N_("delay (in seconds) after command was executed"),
N_("delay (in seconds) after command was executed (example: give some time for authentication)"),
OPTION_TYPE_INT, 0, 3600, 1,
NULL, NULL, &(cfg_server.command_delay), NULL, NULL },
{ "server_autojoin", N_("list of channels to join when connected to server"),
N_("comma separated list of channels to join when connected to server"),
OPTION_TYPE_STRING, 0, 0, 0,
@@ -811,10 +823,12 @@ config_allocate_server (char *filename, int line_number)
return 0;
}
if (!server_new (cfg_server.name,
cfg_server.autoconnect, 0, cfg_server.address, cfg_server.port,
cfg_server.autoconnect, cfg_server.autoreconnect,
cfg_server.autoreconnect_delay, 0, cfg_server.address, cfg_server.port,
cfg_server.password, cfg_server.nick1, cfg_server.nick2,
cfg_server.nick3, cfg_server.username, cfg_server.realname,
cfg_server.command, cfg_server.autojoin, cfg_server.autorejoin))
cfg_server.command, cfg_server.command_delay, cfg_server.autojoin,
cfg_server.autorejoin))
{
server_free_all ();
gui_printf (NULL,
@@ -1175,6 +1189,7 @@ config_create_default ()
fprintf (file, "SIGNOFF=quit\n");
fprintf (file, "C=clear\n");
fprintf (file, "CL=clear\n");
fprintf (file, "CLOSE=buffer close\n");
fprintf (file, "# CHAT=dcc chat\n");
fprintf (file, "# GET=dcc get\n");
fprintf (file, "# IG=ignore\n");
@@ -1369,6 +1384,10 @@ config_write (char *config_name)
fprintf (file, "server_name=%s\n", ptr_server->name);
fprintf (file, "server_autoconnect=%s\n",
(ptr_server->autoconnect) ? "on" : "off");
fprintf (file, "server_autoreconnect=%s\n",
(ptr_server->autoreconnect) ? "on" : "off");
fprintf (file, "server_autoreconnect_delay=%d\n",
ptr_server->autoreconnect_delay);
fprintf (file, "server_address=%s\n", ptr_server->address);
fprintf (file, "server_port=%d\n", ptr_server->port);
fprintf (file, "server_password=%s\n",
@@ -1380,6 +1399,7 @@ config_write (char *config_name)
fprintf (file, "server_realname=%s\n", ptr_server->realname);
fprintf (file, "server_command=%s\n",
(ptr_server->command) ? ptr_server->command : "");
fprintf (file, "server_command_delay=%d\n", ptr_server->command_delay);
fprintf (file, "server_autojoin=%s\n",
(ptr_server->autojoin) ? ptr_server->autojoin : "");
fprintf (file, "server_autorejoin=%s\n",
+1 -1
View File
@@ -1,5 +1,5 @@
/*
* Copyright (c) 2004 by FlashCode <flashcode@flashtux.org>
* 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
+1 -1
View File
@@ -1,4 +1,4 @@
# Copyright (c) 2004 FlashCode <flashcode@flashtux.org>
# Copyright (c) 2003-2005 FlashCode <flashcode@flashtux.org>
#
# 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
+1 -1
View File
@@ -1,4 +1,4 @@
# Copyright (c) 2004 FlashCode <flashcode@flashtux.org>
# Copyright (c) 2003-2005 FlashCode <flashcode@flashtux.org>
#
# 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
+35 -4
View File
@@ -1,5 +1,5 @@
/*
* Copyright (c) 2004 by FlashCode <flashcode@flashtux.org>
* 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
@@ -1993,7 +1993,8 @@ gui_printf_color_type (t_gui_buffer *buffer, int type, int color, char *message,
{
static char buf[8192];
char timestamp[16];
char *pos;
char *pos, *buf2;
int i, j;
va_list argptr;
static time_t seconds;
struct tm *date_tmp;
@@ -2022,12 +2023,40 @@ gui_printf_color_type (t_gui_buffer *buffer, int type, int color, char *message,
vsnprintf (buf, sizeof (buf) - 1, message, argptr);
va_end (argptr);
if (cfg_look_remove_colors_from_msgs)
{
buf2 = (char *) malloc (strlen (buf) + 2);
i = 0;
j = 0;
while (buf[i])
{
if (buf[i] == 0x02)
i++;
else
{
if (buf[i] == 0x03)
{
if ((buf[i+1] >= '0') && (buf[i+1] <= '9')
&& (buf[i+2] >= '0') && (buf[i+2] <= '9'))
i += 3;
else
i++;
}
else
buf2[j++] = buf[i++];
}
}
buf2[j] = '\0';
}
else
buf2 = strdup (buf);
if (gui_init_ok)
{
seconds = time (NULL);
date_tmp = localtime (&seconds);
pos = buf - 1;
pos = buf2 - 1;
while (pos)
{
/* TODO: read timestamp format from config! */
@@ -2058,5 +2087,7 @@ gui_printf_color_type (t_gui_buffer *buffer, int type, int color, char *message,
refresh ();*/
}
else
printf ("%s", buf);
printf ("%s", buf2);
free (buf2);
}
+52 -10
View File
@@ -1,5 +1,5 @@
/*
* Copyright (c) 2004 by FlashCode <flashcode@flashtux.org>
* 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
@@ -51,6 +51,7 @@ gui_read_keyb ()
{
int key, i;
t_gui_buffer *ptr_buffer;
t_irc_server *ptr_server;
char new_char[2];
t_dcc *dcc_selected;
@@ -210,8 +211,9 @@ gui_read_keyb ()
}
}
break;
/* home key */
/* 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)
@@ -221,8 +223,9 @@ gui_read_keyb ()
}
}
break;
/* end key */
/* end key or Control + E */
case KEY_END:
case 0x05:
if (!gui_current_window->buffer->dcc)
{
if (gui_current_window->buffer->input_buffer_pos <
@@ -267,8 +270,9 @@ gui_read_keyb ()
}
}
break;
/* Control + Backspace */
/* Control + Backspace or Control + W */
case 0x08:
case 0x17:
if (!gui_current_window->buffer->dcc)
gui_delete_previous_word (gui_current_window->buffer);
break;
@@ -414,7 +418,7 @@ gui_read_keyb ()
}
}
break;
/* Alt-number */
/* Alt-number: jump to window by number */
case 48: /* Alt-0 */
case 49: /* Alt-1 */
case 50: /* Alt-2 */
@@ -427,7 +431,7 @@ gui_read_keyb ()
case 57: /* Alt-9 */
gui_switch_to_buffer_by_number (gui_current_window, (key == 48) ? 10 : key - 48);
break;
/* Alt-A */
/* Alt-A: jump to buffer with activity */
case 'a':
case 'A':
if (hotlist)
@@ -447,7 +451,7 @@ gui_read_keyb ()
}
}
break;
/* Alt-D */
/* Alt-D: jump to DCC buffer */
case 'd':
case 'D':
if (gui_current_window->buffer->dcc)
@@ -465,7 +469,7 @@ gui_read_keyb ()
gui_switch_to_dcc_buffer ();
}
break;
/* Alt-R */
/* Alt-R: clear hotlist */
case 'r':
case 'R':
if (hotlist)
@@ -475,6 +479,38 @@ gui_read_keyb ()
}
hotlist_initial_buffer = gui_current_window->buffer;
break;
/* Alt-S: jump to server buffer */
case 's':
case 'S':
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':
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;
@@ -624,8 +660,14 @@ gui_main_loop ()
for (ptr_server = irc_servers; ptr_server;
ptr_server = ptr_server->next_server)
{
if (ptr_server->sock4 >= 0)
FD_SET (ptr_server->sock4, &read_fd);
/* check if reconnection is pending */
if ((!ptr_server->is_connected)
&& (ptr_server->reconnect_start > 0)
&& (new_time >= (ptr_server->reconnect_start + ptr_server->autoreconnect_delay)))
server_reconnect (ptr_server);
else
if (ptr_server->sock4 >= 0)
FD_SET (ptr_server->sock4, &read_fd);
}
if (select (FD_SETSIZE, &read_fd, NULL, NULL, &timeout))
{
+1 -1
View File
@@ -1,4 +1,4 @@
# Copyright (c) 2004 FlashCode <flashcode@flashtux.org>
# Copyright (c) 2003-2005 FlashCode <flashcode@flashtux.org>
#
# 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
+1 -1
View File
@@ -1,5 +1,5 @@
/*
* Copyright (c) 2004 by FlashCode <flashcode@flashtux.org>
* 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
+1 -1
View File
@@ -1,5 +1,5 @@
/*
* Copyright (c) 2004 by FlashCode <flashcode@flashtux.org>
* 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
+1 -1
View File
@@ -1,5 +1,5 @@
/*
* Copyright (c) 2004 by FlashCode <flashcode@flashtux.org>
* 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
+1 -1
View File
@@ -1,5 +1,5 @@
/*
* Copyright (c) 2004 by FlashCode <flashcode@flashtux.org>
* 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
+1 -1
View File
@@ -1,4 +1,4 @@
# Copyright (c) 2004 FlashCode <flashcode@flashtux.org>
# Copyright (c) 2003-2005 FlashCode <flashcode@flashtux.org>
#
# 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

Some files were not shown because too many files have changed in this diff Show More