1
0
mirror of https://github.com/weechat/weechat.git synced 2026-06-16 16:14:46 +02:00

Compare commits

..

1 Commits

Author SHA1 Message Date
Sebastien Helleu 0f3efd732c Fix compilation errors/warnings
Just for fun :)
2014-02-07 14:15:04 +01:00
562 changed files with 22315 additions and 231328 deletions
-52
View File
@@ -1,52 +0,0 @@
# ignored files for Git
*.a
*.css
*.gmo
*.html
*.la
*.lai
*.lo
*.m4
*.o
*.Plo
*.Po
*.so
*.so.0
*.so.0.0.0
ABOUT-NLS
autom4te*
build*/*
config.guess
config.h*
config.log
config.rpath
config.status
config.sub
configure
debian/*.log
depcomp
insert-header.sin
install-sh
intl/*
libtool
ltmain.sh
Makefile
Makefile.in*
Makevars.template
missing
po/*quot*
POTFILES
remove-potcdate.sed
Rules-quot
weechat.pc
doc/de/build/*
doc/en/build/*
doc/fr/build/*
*stamp
stamp*
src/gui/curses/weechat-curses
src/gui/gtk/weechat-gtk
+23 -43
View File
@@ -1,49 +1,29 @@
WeeChat Authors
===============
WeeChat - Wee Enhanced Environment for Chat
===========================================
Developers
Developers:
----------
* General code
All developers are connected to IRC:
server: irc.freenode.net, channel: #weechat
** FlashCode <flashcode@flashtux.org>
*** Web: http://www.weechat.org/
*** IRC: 'FlashCode' on irc.freenode.net
FlashCode <flashcode@flashtux.org>
Web : http://www.flashtux.org
IRC : nick is "FlashCode"
Jabber: flashcode@jabber.org
ICQ : 160677660
AIM : FlashCode AIM
Yahoo : FlashCode_Y
Bounga <bounga@altern.org>
Web : http://bounga.ath.cx
IRC : nick is "Bounga"
Jabber: Bounga@jabber.org
ICQ : 178297842
Xahlexx <xahlexx@tuxisland.org>
Web : http://www.tuxisland.org
IRC : nick is "xahlexx"
* Scripts plugins, debian packager
** kolter <kolter@openics.org>
*** IRC: 'kolter' on irc.freenode.net
Contributors
------------
* Julien Louis <ptitlouis@sysif.net>, IRC: 'ptitlouis'
* Rudolf Polzer <rpolzer-rp@durchnull.de>, IRC: 'divVerent'
* Jiri Golembiovsky <golemj@gmail.com>, IRC: 'GolemJ'
* Jim Ramsay <i.am@jimramsay.com>, IRC: 'lack'
* Odin <odin@dtdm.org>, IRC: 'Odin'
* Pistos, IRC: 'pistos'
* Gwenn, IRC: 'gwenn'
* Voroskoi, IRC: 'voroskoi'
* Frank Zacharias
* Pavel Shevchuk, IRC: 'Stalwart'
* soltys
* Nils Görs
* rettub
* m4v
* Marco Paolone
* Dmitry Kobylin
* Dominik Honnef
Contact
-------
Whole team is connected to IRC:
server: 'irc.freenode.net', channels: '#weechat' (english) and '#weechat-fr' (french)
See README file for license detail.
See README file for licence detail.
+17
View File
@@ -0,0 +1,17 @@
WeeChat - Wee Enhanced Environment for Chat
===========================================
WeeChat known bugs, 2003-09-27
- too much nicks in the channel (> height of window) => display bug
- some IRC commands are marked as 'unknown' when received
(irc protocol is under dev!)
- bug in nicklist resize (sometimes resize doesn't work and there is display
problem)
- alias/unalias commands doesn't work
- config is not saved (to ~/.weechat/weechatrc)
- intercept Ctrl-C (do not quit immediately if Ctrl-C pressed!)
- program is stopped when bad option in config file (it should not, only display
warning)
- too much opened channel => display bug
- when kicked, channel is not prefixed by '(' and sufixed by ')'
-141
View File
@@ -1,141 +0,0 @@
# Copyright (c) 2003-2010 by 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
# the Free Software Foundation; either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
PROJECT(weechat C)
cmake_minimum_required(VERSION 2.4)
SET(CMAKE_VERBOSE_MAKEFILE OFF)
SET(CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake ${CMAKE_MODULE_PATH})
SET(CMAKE_SKIP_RPATH ON)
SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -W -Werror-implicit-function-declaration")
IF(PREFIX)
SET(CMAKE_INSTALL_PREFIX ${PREFIX} CACHE PATH "Install path prefix" FORCE)
ENDIF(PREFIX)
SET(VERSION_MAJOR "0")
SET(VERSION_MINOR "3")
SET(VERSION_PATCH "1.1")
SET(VERSION ${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_PATCH})
SET(PKG_STRING "${PROJECT_NAME} ${VERSION}")
STRING(REPLACE "\";\"" "\ " PKG_STRING ${PKG_STRING})
IF(DEFINED LIBDIR)
SET(LIBDIR ${LIBDIR}/${PROJECT_NAME})
ELSE(DEFINED LIBDIR)
SET(LIBDIR ${CMAKE_INSTALL_PREFIX}/lib/${PROJECT_NAME})
ENDIF(DEFINED LIBDIR)
IF(NOT DEFINED SHAREDIR)
SET(SHAREDIR ${CMAKE_INSTALL_PREFIX}/share)
ENDIF(NOT DEFINED SHAREDIR)
IF(NOT DEFINED LOCALEDIR)
SET(LOCALEDIR ${SHAREDIR}/locale)
ENDIF(NOT DEFINED LOCALEDIR)
IF(DEFINED INCLUDEDIR)
SET(INCLUDEDIR ${INCLUDEDIR}/${PROJECT_NAME})
ELSE(DEFINED INCLUDEDIR)
SET(INCLUDEDIR ${CMAKE_INSTALL_PREFIX}/include/${PROJECT_NAME})
ENDIF(DEFINED INCLUDEDIR)
OPTION(DISABLE_NCURSES "Disable Ncurses interface")
OPTION(ENABLE_GTK "Enable GTK interface")
OPTION(DISABLE_NLS "Disable Native Language Support")
OPTION(DISABLE_GNUTLS "Disable SSLv3/TLS connection support")
OPTION(DISABLE_LARGEFILE "Disable Large File Support")
OPTION(DISABLE_ALIAS "Disable Alias plugin")
OPTION(DISABLE_ASPELL "Disable Aspell plugin")
OPTION(DISABLE_CHARSET "Disable Charset plugin")
OPTION(ENABLE_DEMO "Enable Demo plugin")
OPTION(DISABLE_FIFO "Disable FIFO plugin")
OPTION(DISABLE_IRC "Disable IRC plugin")
OPTION(DISABLE_LOGGER "Disable Logger plugin")
OPTION(ENABLE_RELAY "Enable Relay plugin")
OPTION(DISABLE_SCRIPTS "Disable script plugins")
OPTION(DISABLE_PERL "Disable Perl scripting language")
OPTION(DISABLE_PYTHON "Disable Python scripting language")
OPTION(DISABLE_RUBY "Disable Ruby scripting language")
OPTION(DISABLE_LUA "Disable Lua scripting language")
OPTION(DISABLE_TCL "Disable Tcl scripting language")
OPTION(DISABLE_XFER "Disable Xfer plugin (file transfer and direct chat)")
OPTION(DISABLE_DOC "Disable Doc")
IF(NOT DISABLE_NLS)
ADD_SUBDIRECTORY( po )
ENDIF(NOT DISABLE_NLS)
ADD_SUBDIRECTORY( src )
ADD_SUBDIRECTORY( doc )
CONFIGURE_FILE(config.h.cmake config.h @ONLY)
CONFIGURE_FILE(
"${CMAKE_CURRENT_SOURCE_DIR}/cmake/makedist.sh.in"
"${CMAKE_CURRENT_BINARY_DIR}/makedist.sh" IMMEDIATE
@ONLY)
CONFIGURE_FILE(
"${CMAKE_CURRENT_SOURCE_DIR}/cmake/cmake_uninstall.cmake.in"
"${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake"
IMMEDIATE @ONLY)
ADD_CUSTOM_TARGET(uninstall
"${CMAKE_COMMAND}" -P "${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake")
ADD_CUSTOM_TARGET(dist
"${CMAKE_BINARY_DIR}/makedist.sh"
DEPENDS doc
WORKING_DIRECTORY ${CMAKE_BINARY_DIR})
# pkgconfig file
SET(PACKAGE "${PROJECT_NAME}")
SET(prefix "${CMAKE_INSTALL_PREFIX}")
SET(exec_prefix "\${prefix}")
SET(libdir "\${exec_prefix}/lib")
SET(includedir "\${prefix}/include")
CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/weechat.pc.in ${CMAKE_CURRENT_BINARY_DIR}/weechat.pc @ONLY)
INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/weechat.pc DESTINATION ${LIBDIR}/../pkgconfig)
# packages
SET(CPACK_PACKAGE_DESCRIPTION_SUMMARY "Fast, light and extensible chat client")
SET(CPACK_PACKAGE_VENDOR "FlashCode")
SET(CPACK_PACKAGE_DESCRIPTION_FILE "${CMAKE_CURRENT_SOURCE_DIR}/README")
SET(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_CURRENT_SOURCE_DIR}/COPYING")
SET(CPACK_PACKAGE_VERSION_MAJOR ${VERSION_MAJOR})
SET(CPACK_PACKAGE_VERSION_MINOR ${VERSION_MINOR})
SET(CPACK_PACKAGE_VERSION_PATCH ${VERSION_PATCH})
# binary package
SET(CPACK_GENERATOR "STGZ;TGZ;TBZ2")
SET(CPACK_PACKAGE_FILE_NAME weechat-binary-${VERSION})
# source package
SET(CPACK_SOURCE_GENERATOR "TGZ;TBZ2")
SET(CPACK_SOURCE_PACKAGE_FILE_NAME weechat-${VERSION})
SET(CPACK_SOURCE_IGNORE_FILES "/\\\\.git" "/build/" "/m4/"
"/autom4te\\\\.cache/" "/ABOUT-NLS$" "/config\\\\.guess$" "/config\\\\.h$"
"/config\\\\.h.in$" "/config\\\\.log$" "/config\\\\.rpath$"
"/config\\\\.status$" "/config\\\\.sub$" "/configure$" "/depcomp$"
"/install-sh$" "/missing$" "/intl/" "/libtool$" "/\\\\.libs/"
"/ltmain\\\\.sh$" "/\\\\.deps/" "/html/" "/html1/" "/Makefile$"
"/Makefile\\\\.in$" "stamp" "/po/.*\\\\.header$" "\\\\.gmo$" "~$" "\\\\.o$"
"\\\\.lo$" "\\\\.a$" "\\\\.la$" "\\\\.lai$" "\\\\.Plo$" "/weechat-curses$"
"/weechat-gtk$"
)
INCLUDE(CPack)
+275 -609
View File
@@ -1,626 +1,285 @@
GNU GENERAL PUBLIC LICENSE
Version 3, 29 June 2007
GNU GENERAL PUBLIC LICENSE
Version 2, June 1991
Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
Copyright (C) 1989, 1991 Free Software Foundation, Inc.
59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
Preamble
Preamble
The GNU General Public License is a free, copyleft license for
software and other kinds of works.
The licenses for most software and other practical works are designed
to take away your freedom to share and change the works. By contrast,
the GNU General Public License is intended to guarantee your freedom to
share and change all versions of a program--to make sure it remains free
software for all its users. We, the Free Software Foundation, use the
GNU General Public License for most of our software; it applies also to
any other work released this way by its authors. You can apply it to
The licenses for most software are designed to take away your
freedom to share and change it. By contrast, the GNU General Public
License is intended to guarantee your freedom to share and change free
software--to make sure the software is free for all its users. This
General Public License applies to most of the Free Software
Foundation's software and to any other program whose authors commit to
using it. (Some other Free Software Foundation software is covered by
the GNU Library General Public License instead.) You can apply it to
your programs, too.
When we speak of free software, we are referring to freedom, not
price. Our General Public Licenses are designed to make sure that you
have the freedom to distribute copies of free software (and charge for
them if you wish), that you receive source code or can get it if you
want it, that you can change the software or use pieces of it in new
free programs, and that you know you can do these things.
this service if you wish), that you receive source code or can get it
if you want it, that you can change the software or use pieces of it
in new free programs; and that you know you can do these things.
To protect your rights, we need to prevent others from denying you
these rights or asking you to surrender the rights. Therefore, you have
certain responsibilities if you distribute copies of the software, or if
you modify it: responsibilities to respect the freedom of others.
To protect your rights, we need to make restrictions that forbid
anyone to deny you these rights or to ask you to surrender the rights.
These restrictions translate to certain responsibilities for you if you
distribute copies of the software, or if you modify it.
For example, if you distribute copies of such a program, whether
gratis or for a fee, you must pass on to the recipients the same
freedoms that you received. You must make sure that they, too, receive
or can get the source code. And you must show them these terms so they
know their rights.
gratis or for a fee, you must give the recipients all the rights that
you have. You must make sure that they, too, receive or can get the
source code. And you must show them these terms so they know their
rights.
Developers that use the GNU GPL protect your rights with two steps:
(1) assert copyright on the software, and (2) offer you this License
giving you legal permission to copy, distribute and/or modify it.
We protect your rights with two steps: (1) copyright the software, and
(2) offer you this license which gives you legal permission to copy,
distribute and/or modify the software.
For the developers' and authors' protection, the GPL clearly explains
that there is no warranty for this free software. For both users' and
authors' sake, the GPL requires that modified versions be marked as
changed, so that their problems will not be attributed erroneously to
authors of previous versions.
Also, for each author's protection and ours, we want to make certain
that everyone understands that there is no warranty for this free
software. If the software is modified by someone else and passed on, we
want its recipients to know that what they have is not the original, so
that any problems introduced by others will not reflect on the original
authors' reputations.
Some devices are designed to deny users access to install or run
modified versions of the software inside them, although the manufacturer
can do so. This is fundamentally incompatible with the aim of
protecting users' freedom to change the software. The systematic
pattern of such abuse occurs in the area of products for individuals to
use, which is precisely where it is most unacceptable. Therefore, we
have designed this version of the GPL to prohibit the practice for those
products. If such problems arise substantially in other domains, we
stand ready to extend this provision to those domains in future versions
of the GPL, as needed to protect the freedom of users.
Finally, every program is threatened constantly by software patents.
States should not allow patents to restrict development and use of
software on general-purpose computers, but in those that do, we wish to
avoid the special danger that patents applied to a free program could
make it effectively proprietary. To prevent this, the GPL assures that
patents cannot be used to render the program non-free.
Finally, any free program is threatened constantly by software
patents. We wish to avoid the danger that redistributors of a free
program will individually obtain patent licenses, in effect making the
program proprietary. To prevent this, we have made it clear that any
patent must be licensed for everyone's free use or not licensed at all.
The precise terms and conditions for copying, distribution and
modification follow.
TERMS AND CONDITIONS
0. Definitions.
"This License" refers to version 3 of the GNU General Public License.
"Copyright" also means copyright-like laws that apply to other kinds of
works, such as semiconductor masks.
"The Program" refers to any copyrightable work licensed under this
License. Each licensee is addressed as "you". "Licensees" and
"recipients" may be individuals or organizations.
To "modify" a work means to copy from or adapt all or part of the work
in a fashion requiring copyright permission, other than the making of an
exact copy. The resulting work is called a "modified version" of the
earlier work or a work "based on" the earlier work.
A "covered work" means either the unmodified Program or a work based
on the Program.
To "propagate" a work means to do anything with it that, without
permission, would make you directly or secondarily liable for
infringement under applicable copyright law, except executing it on a
computer or modifying a private copy. Propagation includes copying,
distribution (with or without modification), making available to the
public, and in some countries other activities as well.
To "convey" a work means any kind of propagation that enables other
parties to make or receive copies. Mere interaction with a user through
a computer network, with no transfer of a copy, is not conveying.
An interactive user interface displays "Appropriate Legal Notices"
to the extent that it includes a convenient and prominently visible
feature that (1) displays an appropriate copyright notice, and (2)
tells the user that there is no warranty for the work (except to the
extent that warranties are provided), that licensees may convey the
work under this License, and how to view a copy of this License. If
the interface presents a list of user commands or options, such as a
menu, a prominent item in the list meets this criterion.
1. Source Code.
The "source code" for a work means the preferred form of the work
for making modifications to it. "Object code" means any non-source
form of a work.
A "Standard Interface" means an interface that either is an official
standard defined by a recognized standards body, or, in the case of
interfaces specified for a particular programming language, one that
is widely used among developers working in that language.
The "System Libraries" of an executable work include anything, other
than the work as a whole, that (a) is included in the normal form of
packaging a Major Component, but which is not part of that Major
Component, and (b) serves only to enable use of the work with that
Major Component, or to implement a Standard Interface for which an
implementation is available to the public in source code form. A
"Major Component", in this context, means a major essential component
(kernel, window system, and so on) of the specific operating system
(if any) on which the executable work runs, or a compiler used to
produce the work, or an object code interpreter used to run it.
The "Corresponding Source" for a work in object code form means all
the source code needed to generate, install, and (for an executable
work) run the object code and to modify the work, including scripts to
control those activities. However, it does not include the work's
System Libraries, or general-purpose tools or generally available free
programs which are used unmodified in performing those activities but
which are not part of the work. For example, Corresponding Source
includes interface definition files associated with source files for
the work, and the source code for shared libraries and dynamically
linked subprograms that the work is specifically designed to require,
such as by intimate data communication or control flow between those
subprograms and other parts of the work.
The Corresponding Source need not include anything that users
can regenerate automatically from other parts of the Corresponding
Source.
The Corresponding Source for a work in source code form is that
same work.
2. Basic Permissions.
All rights granted under this License are granted for the term of
copyright on the Program, and are irrevocable provided the stated
conditions are met. This License explicitly affirms your unlimited
permission to run the unmodified Program. The output from running a
covered work is covered by this License only if the output, given its
content, constitutes a covered work. This License acknowledges your
rights of fair use or other equivalent, as provided by copyright law.
You may make, run and propagate covered works that you do not
convey, without conditions so long as your license otherwise remains
in force. You may convey covered works to others for the sole purpose
of having them make modifications exclusively for you, or provide you
with facilities for running those works, provided that you comply with
the terms of this License in conveying all material for which you do
not control copyright. Those thus making or running the covered works
for you must do so exclusively on your behalf, under your direction
and control, on terms that prohibit them from making any copies of
your copyrighted material outside their relationship with you.
Conveying under any other circumstances is permitted solely under
the conditions stated below. Sublicensing is not allowed; section 10
makes it unnecessary.
3. Protecting Users' Legal Rights From Anti-Circumvention Law.
No covered work shall be deemed part of an effective technological
measure under any applicable law fulfilling obligations under article
11 of the WIPO copyright treaty adopted on 20 December 1996, or
similar laws prohibiting or restricting circumvention of such
measures.
When you convey a covered work, you waive any legal power to forbid
circumvention of technological measures to the extent such circumvention
is effected by exercising rights under this License with respect to
the covered work, and you disclaim any intention to limit operation or
modification of the work as a means of enforcing, against the work's
users, your or third parties' legal rights to forbid circumvention of
technological measures.
4. Conveying Verbatim Copies.
You may convey verbatim copies of the Program's source code as you
receive it, in any medium, provided that you conspicuously and
appropriately publish on each copy an appropriate copyright notice;
keep intact all notices stating that this License and any
non-permissive terms added in accord with section 7 apply to the code;
keep intact all notices of the absence of any warranty; and give all
recipients a copy of this License along with the Program.
You may charge any price or no price for each copy that you convey,
and you may offer support or warranty protection for a fee.
5. Conveying Modified Source Versions.
You may convey a work based on the Program, or the modifications to
produce it from the Program, in the form of source code under the
terms of section 4, provided that you also meet all of these conditions:
a) The work must carry prominent notices stating that you modified
it, and giving a relevant date.
b) The work must carry prominent notices stating that it is
released under this License and any conditions added under section
7. This requirement modifies the requirement in section 4 to
"keep intact all notices".
c) You must license the entire work, as a whole, under this
License to anyone who comes into possession of a copy. This
License will therefore apply, along with any applicable section 7
additional terms, to the whole of the work, and all its parts,
regardless of how they are packaged. This License gives no
permission to license the work in any other way, but it does not
invalidate such permission if you have separately received it.
d) If the work has interactive user interfaces, each must display
Appropriate Legal Notices; however, if the Program has interactive
interfaces that do not display Appropriate Legal Notices, your
work need not make them do so.
A compilation of a covered work with other separate and independent
works, which are not by their nature extensions of the covered work,
and which are not combined with it such as to form a larger program,
in or on a volume of a storage or distribution medium, is called an
"aggregate" if the compilation and its resulting copyright are not
used to limit the access or legal rights of the compilation's users
beyond what the individual works permit. Inclusion of a covered work
in an aggregate does not cause this License to apply to the other
parts of the aggregate.
6. Conveying Non-Source Forms.
You may convey a covered work in object code form under the terms
of sections 4 and 5, provided that you also convey the
machine-readable Corresponding Source under the terms of this License,
in one of these ways:
a) Convey the object code in, or embodied in, a physical product
(including a physical distribution medium), accompanied by the
Corresponding Source fixed on a durable physical medium
customarily used for software interchange.
b) Convey the object code in, or embodied in, a physical product
(including a physical distribution medium), accompanied by a
written offer, valid for at least three years and valid for as
long as you offer spare parts or customer support for that product
model, to give anyone who possesses the object code either (1) a
copy of the Corresponding Source for all the software in the
product that is covered by this License, on a durable physical
medium customarily used for software interchange, for a price no
more than your reasonable cost of physically performing this
conveying of source, or (2) access to copy the
Corresponding Source from a network server at no charge.
c) Convey individual copies of the object code with a copy of the
written offer to provide the Corresponding Source. This
alternative is allowed only occasionally and noncommercially, and
only if you received the object code with such an offer, in accord
with subsection 6b.
d) Convey the object code by offering access from a designated
place (gratis or for a charge), and offer equivalent access to the
Corresponding Source in the same way through the same place at no
further charge. You need not require recipients to copy the
Corresponding Source along with the object code. If the place to
copy the object code is a network server, the Corresponding Source
may be on a different server (operated by you or a third party)
that supports equivalent copying facilities, provided you maintain
clear directions next to the object code saying where to find the
Corresponding Source. Regardless of what server hosts the
Corresponding Source, you remain obligated to ensure that it is
available for as long as needed to satisfy these requirements.
e) Convey the object code using peer-to-peer transmission, provided
you inform other peers where the object code and Corresponding
Source of the work are being offered to the general public at no
charge under subsection 6d.
A separable portion of the object code, whose source code is excluded
from the Corresponding Source as a System Library, need not be
included in conveying the object code work.
A "User Product" is either (1) a "consumer product", which means any
tangible personal property which is normally used for personal, family,
or household purposes, or (2) anything designed or sold for incorporation
into a dwelling. In determining whether a product is a consumer product,
doubtful cases shall be resolved in favor of coverage. For a particular
product received by a particular user, "normally used" refers to a
typical or common use of that class of product, regardless of the status
of the particular user or of the way in which the particular user
actually uses, or expects or is expected to use, the product. A product
is a consumer product regardless of whether the product has substantial
commercial, industrial or non-consumer uses, unless such uses represent
the only significant mode of use of the product.
"Installation Information" for a User Product means any methods,
procedures, authorization keys, or other information required to install
and execute modified versions of a covered work in that User Product from
a modified version of its Corresponding Source. The information must
suffice to ensure that the continued functioning of the modified object
code is in no case prevented or interfered with solely because
modification has been made.
If you convey an object code work under this section in, or with, or
specifically for use in, a User Product, and the conveying occurs as
part of a transaction in which the right of possession and use of the
User Product is transferred to the recipient in perpetuity or for a
fixed term (regardless of how the transaction is characterized), the
Corresponding Source conveyed under this section must be accompanied
by the Installation Information. But this requirement does not apply
if neither you nor any third party retains the ability to install
modified object code on the User Product (for example, the work has
been installed in ROM).
The requirement to provide Installation Information does not include a
requirement to continue to provide support service, warranty, or updates
for a work that has been modified or installed by the recipient, or for
the User Product in which it has been modified or installed. Access to a
network may be denied when the modification itself materially and
adversely affects the operation of the network or violates the rules and
protocols for communication across the network.
Corresponding Source conveyed, and Installation Information provided,
in accord with this section must be in a format that is publicly
documented (and with an implementation available to the public in
source code form), and must require no special password or key for
unpacking, reading or copying.
7. Additional Terms.
"Additional permissions" are terms that supplement the terms of this
License by making exceptions from one or more of its conditions.
Additional permissions that are applicable to the entire Program shall
be treated as though they were included in this License, to the extent
that they are valid under applicable law. If additional permissions
apply only to part of the Program, that part may be used separately
under those permissions, but the entire Program remains governed by
this License without regard to the additional permissions.
When you convey a copy of a covered work, you may at your option
remove any additional permissions from that copy, or from any part of
it. (Additional permissions may be written to require their own
removal in certain cases when you modify the work.) You may place
additional permissions on material, added by you to a covered work,
for which you have or can give appropriate copyright permission.
Notwithstanding any other provision of this License, for material you
add to a covered work, you may (if authorized by the copyright holders of
that material) supplement the terms of this License with terms:
a) Disclaiming warranty or limiting liability differently from the
terms of sections 15 and 16 of this License; or
b) Requiring preservation of specified reasonable legal notices or
author attributions in that material or in the Appropriate Legal
Notices displayed by works containing it; or
c) Prohibiting misrepresentation of the origin of that material, or
requiring that modified versions of such material be marked in
reasonable ways as different from the original version; or
d) Limiting the use for publicity purposes of names of licensors or
authors of the material; or
e) Declining to grant rights under trademark law for use of some
trade names, trademarks, or service marks; or
f) Requiring indemnification of licensors and authors of that
material by anyone who conveys the material (or modified versions of
it) with contractual assumptions of liability to the recipient, for
any liability that these contractual assumptions directly impose on
those licensors and authors.
All other non-permissive additional terms are considered "further
restrictions" within the meaning of section 10. If the Program as you
received it, or any part of it, contains a notice stating that it is
governed by this License along with a term that is a further
restriction, you may remove that term. If a license document contains
a further restriction but permits relicensing or conveying under this
License, you may add to a covered work material governed by the terms
of that license document, provided that the further restriction does
not survive such relicensing or conveying.
If you add terms to a covered work in accord with this section, you
must place, in the relevant source files, a statement of the
additional terms that apply to those files, or a notice indicating
where to find the applicable terms.
Additional terms, permissive or non-permissive, may be stated in the
form of a separately written license, or stated as exceptions;
the above requirements apply either way.
8. Termination.
You may not propagate or modify a covered work except as expressly
provided under this License. Any attempt otherwise to propagate or
modify it is void, and will automatically terminate your rights under
this License (including any patent licenses granted under the third
paragraph of section 11).
However, if you cease all violation of this License, then your
license from a particular copyright holder is reinstated (a)
provisionally, unless and until the copyright holder explicitly and
finally terminates your license, and (b) permanently, if the copyright
holder fails to notify you of the violation by some reasonable means
prior to 60 days after the cessation.
Moreover, your license from a particular copyright holder is
reinstated permanently if the copyright holder notifies you of the
violation by some reasonable means, this is the first time you have
received notice of violation of this License (for any work) from that
copyright holder, and you cure the violation prior to 30 days after
your receipt of the notice.
Termination of your rights under this section does not terminate the
licenses of parties who have received copies or rights from you under
this License. If your rights have been terminated and not permanently
reinstated, you do not qualify to receive new licenses for the same
material under section 10.
9. Acceptance Not Required for Having Copies.
You are not required to accept this License in order to receive or
run a copy of the Program. Ancillary propagation of a covered work
occurring solely as a consequence of using peer-to-peer transmission
to receive a copy likewise does not require acceptance. However,
nothing other than this License grants you permission to propagate or
modify any covered work. These actions infringe copyright if you do
not accept this License. Therefore, by modifying or propagating a
covered work, you indicate your acceptance of this License to do so.
10. Automatic Licensing of Downstream Recipients.
Each time you convey a covered work, the recipient automatically
receives a license from the original licensors, to run, modify and
propagate that work, subject to this License. You are not responsible
for enforcing compliance by third parties with this License.
An "entity transaction" is a transaction transferring control of an
organization, or substantially all assets of one, or subdividing an
organization, or merging organizations. If propagation of a covered
work results from an entity transaction, each party to that
transaction who receives a copy of the work also receives whatever
licenses to the work the party's predecessor in interest had or could
give under the previous paragraph, plus a right to possession of the
Corresponding Source of the work from the predecessor in interest, if
the predecessor has it or can get it with reasonable efforts.
You may not impose any further restrictions on the exercise of the
rights granted or affirmed under this License. For example, you may
not impose a license fee, royalty, or other charge for exercise of
rights granted under this License, and you may not initiate litigation
(including a cross-claim or counterclaim in a lawsuit) alleging that
any patent claim is infringed by making, using, selling, offering for
sale, or importing the Program or any portion of it.
11. Patents.
A "contributor" is a copyright holder who authorizes use under this
License of the Program or a work on which the Program is based. The
work thus licensed is called the contributor's "contributor version".
A contributor's "essential patent claims" are all patent claims
owned or controlled by the contributor, whether already acquired or
hereafter acquired, that would be infringed by some manner, permitted
by this License, of making, using, or selling its contributor version,
but do not include claims that would be infringed only as a
consequence of further modification of the contributor version. For
purposes of this definition, "control" includes the right to grant
patent sublicenses in a manner consistent with the requirements of
GNU GENERAL PUBLIC LICENSE
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
0. This License applies to any program or other work which contains
a notice placed by the copyright holder saying it may be distributed
under the terms of this General Public License. The "Program", below,
refers to any such program or work, and a "work based on the Program"
means either the Program or any derivative work under copyright law:
that is to say, a work containing the Program or a portion of it,
either verbatim or with modifications and/or translated into another
language. (Hereinafter, translation is included without limitation in
the term "modification".) Each licensee is addressed as "you".
Activities other than copying, distribution and modification are not
covered by this License; they are outside its scope. The act of
running the Program is not restricted, and the output from the Program
is covered only if its contents constitute a work based on the
Program (independent of having been made by running the Program).
Whether that is true depends on what the Program does.
1. You may copy and distribute verbatim copies of the Program's
source code as you receive it, in any medium, provided that you
conspicuously and appropriately publish on each copy an appropriate
copyright notice and disclaimer of warranty; keep intact all the
notices that refer to this License and to the absence of any warranty;
and give any other recipients of the Program a copy of this License
along with the Program.
You may charge a fee for the physical act of transferring a copy, and
you may at your option offer warranty protection in exchange for a fee.
2. You may modify your copy or copies of the Program or any portion
of it, thus forming a work based on the Program, and copy and
distribute such modifications or work under the terms of Section 1
above, provided that you also meet all of these conditions:
a) You must cause the modified files to carry prominent notices
stating that you changed the files and the date of any change.
b) You must cause any work that you distribute or publish, that in
whole or in part contains or is derived from the Program or any
part thereof, to be licensed as a whole at no charge to all third
parties under the terms of this License.
c) If the modified program normally reads commands interactively
when run, you must cause it, when started running for such
interactive use in the most ordinary way, to print or display an
announcement including an appropriate copyright notice and a
notice that there is no warranty (or else, saying that you provide
a warranty) and that users may redistribute the program under
these conditions, and telling the user how to view a copy of this
License. (Exception: if the Program itself is interactive but
does not normally print such an announcement, your work based on
the Program is not required to print an announcement.)
These requirements apply to the modified work as a whole. If
identifiable sections of that work are not derived from the Program,
and can be reasonably considered independent and separate works in
themselves, then this License, and its terms, do not apply to those
sections when you distribute them as separate works. But when you
distribute the same sections as part of a whole which is a work based
on the Program, the distribution of the whole must be on the terms of
this License, whose permissions for other licensees extend to the
entire whole, and thus to each and every part regardless of who wrote it.
Thus, it is not the intent of this section to claim rights or contest
your rights to work written entirely by you; rather, the intent is to
exercise the right to control the distribution of derivative or
collective works based on the Program.
In addition, mere aggregation of another work not based on the Program
with the Program (or with a work based on the Program) on a volume of
a storage or distribution medium does not bring the other work under
the scope of this License.
3. You may copy and distribute the Program (or a work based on it,
under Section 2) in object code or executable form under the terms of
Sections 1 and 2 above provided that you also do one of the following:
a) Accompany it with the complete corresponding machine-readable
source code, which must be distributed under the terms of Sections
1 and 2 above on a medium customarily used for software interchange; or,
b) Accompany it with a written offer, valid for at least three
years, to give any third party, for a charge no more than your
cost of physically performing source distribution, a complete
machine-readable copy of the corresponding source code, to be
distributed under the terms of Sections 1 and 2 above on a medium
customarily used for software interchange; or,
c) Accompany it with the information you received as to the offer
to distribute corresponding source code. (This alternative is
allowed only for noncommercial distribution and only if you
received the program in object code or executable form with such
an offer, in accord with Subsection b above.)
The source code for a work means the preferred form of the work for
making modifications to it. For an executable work, complete source
code means all the source code for all modules it contains, plus any
associated interface definition files, plus the scripts used to
control compilation and installation of the executable. However, as a
special exception, the source code distributed need not include
anything that is normally distributed (in either source or binary
form) with the major components (compiler, kernel, and so on) of the
operating system on which the executable runs, unless that component
itself accompanies the executable.
If distribution of executable or object code is made by offering
access to copy from a designated place, then offering equivalent
access to copy the source code from the same place counts as
distribution of the source code, even though third parties are not
compelled to copy the source along with the object code.
4. You may not copy, modify, sublicense, or distribute the Program
except as expressly provided under this License. Any attempt
otherwise to copy, modify, sublicense or distribute the Program is
void, and will automatically terminate your rights under this License.
However, parties who have received copies, or rights, from you under
this License will not have their licenses terminated so long as such
parties remain in full compliance.
5. You are not required to accept this License, since you have not
signed it. However, nothing else grants you permission to modify or
distribute the Program or its derivative works. These actions are
prohibited by law if you do not accept this License. Therefore, by
modifying or distributing the Program (or any work based on the
Program), you indicate your acceptance of this License to do so, and
all its terms and conditions for copying, distributing or modifying
the Program or works based on it.
6. Each time you redistribute the Program (or any work based on the
Program), the recipient automatically receives a license from the
original licensor to copy, distribute or modify the Program subject to
these terms and conditions. You may not impose any further
restrictions on the recipients' exercise of the rights granted herein.
You are not responsible for enforcing compliance by third parties to
this License.
Each contributor grants you a non-exclusive, worldwide, royalty-free
patent license under the contributor's essential patent claims, to
make, use, sell, offer for sale, import and otherwise run, modify and
propagate the contents of its contributor version.
In the following three paragraphs, a "patent license" is any express
agreement or commitment, however denominated, not to enforce a patent
(such as an express permission to practice a patent or covenant not to
sue for patent infringement). To "grant" such a patent license to a
party means to make such an agreement or commitment not to enforce a
patent against the party.
If you convey a covered work, knowingly relying on a patent license,
and the Corresponding Source of the work is not available for anyone
to copy, free of charge and under the terms of this License, through a
publicly available network server or other readily accessible means,
then you must either (1) cause the Corresponding Source to be so
available, or (2) arrange to deprive yourself of the benefit of the
patent license for this particular work, or (3) arrange, in a manner
consistent with the requirements of this License, to extend the patent
license to downstream recipients. "Knowingly relying" means you have
actual knowledge that, but for the patent license, your conveying the
covered work in a country, or your recipient's use of the covered work
in a country, would infringe one or more identifiable patents in that
country that you have reason to believe are valid.
If, pursuant to or in connection with a single transaction or
arrangement, you convey, or propagate by procuring conveyance of, a
covered work, and grant a patent license to some of the parties
receiving the covered work authorizing them to use, propagate, modify
or convey a specific copy of the covered work, then the patent license
you grant is automatically extended to all recipients of the covered
work and works based on it.
A patent license is "discriminatory" if it does not include within
the scope of its coverage, prohibits the exercise of, or is
conditioned on the non-exercise of one or more of the rights that are
specifically granted under this License. You may not convey a covered
work if you are a party to an arrangement with a third party that is
in the business of distributing software, under which you make payment
to the third party based on the extent of your activity of conveying
the work, and under which the third party grants, to any of the
parties who would receive the covered work from you, a discriminatory
patent license (a) in connection with copies of the covered work
conveyed by you (or copies made from those copies), or (b) primarily
for and in connection with specific products or compilations that
contain the covered work, unless you entered into that arrangement,
or that patent license was granted, prior to 28 March 2007.
Nothing in this License shall be construed as excluding or limiting
any implied license or other defenses to infringement that may
otherwise be available to you under applicable patent law.
12. No Surrender of Others' Freedom.
If conditions are imposed on you (whether by court order, agreement or
7. If, as a consequence of a court judgment or allegation of patent
infringement or for any other reason (not limited to patent issues),
conditions are imposed on you (whether by court order, agreement or
otherwise) that contradict the conditions of this License, they do not
excuse you from the conditions of this License. If you cannot convey a
covered work so as to satisfy simultaneously your obligations under this
License and any other pertinent obligations, then as a consequence you may
not convey it at all. For example, if you agree to terms that obligate you
to collect a royalty for further conveying from those to whom you convey
the Program, the only way you could satisfy both those terms and this
License would be to refrain entirely from conveying the Program.
excuse you from the conditions of this License. If you cannot
distribute so as to satisfy simultaneously your obligations under this
License and any other pertinent obligations, then as a consequence you
may not distribute the Program at all. For example, if a patent
license would not permit royalty-free redistribution of the Program by
all those who receive copies directly or indirectly through you, then
the only way you could satisfy both it and this License would be to
refrain entirely from distribution of the Program.
13. Use with the GNU Affero General Public License.
If any portion of this section is held invalid or unenforceable under
any particular circumstance, the balance of the section is intended to
apply and the section as a whole is intended to apply in other
circumstances.
Notwithstanding any other provision of this License, you have
permission to link or combine any covered work with a work licensed
under version 3 of the GNU Affero General Public License into a single
combined work, and to convey the resulting work. The terms of this
License will continue to apply to the part which is the covered work,
but the special requirements of the GNU Affero General Public License,
section 13, concerning interaction through a network will apply to the
combination as such.
It is not the purpose of this section to induce you to infringe any
patents or other property right claims or to contest validity of any
such claims; this section has the sole purpose of protecting the
integrity of the free software distribution system, which is
implemented by public license practices. Many people have made
generous contributions to the wide range of software distributed
through that system in reliance on consistent application of that
system; it is up to the author/donor to decide if he or she is willing
to distribute software through any other system and a licensee cannot
impose that choice.
14. Revised Versions of this License.
This section is intended to make thoroughly clear what is believed to
be a consequence of the rest of this License.
8. If the distribution and/or use of the Program is restricted in
certain countries either by patents or by copyrighted interfaces, the
original copyright holder who places the Program under this License
may add an explicit geographical distribution limitation excluding
those countries, so that distribution is permitted only in or among
countries not thus excluded. In such case, this License incorporates
the limitation as if written in the body of this License.
The Free Software Foundation may publish revised and/or new versions of
the GNU General Public License from time to time. Such new versions will
9. The Free Software Foundation may publish revised and/or new versions
of the General Public License from time to time. Such new versions will
be similar in spirit to the present version, but may differ in detail to
address new problems or concerns.
Each version is given a distinguishing version number. If the
Program specifies that a certain numbered version of the GNU General
Public License "or any later version" applies to it, you have the
option of following the terms and conditions either of that numbered
version or of any later version published by the Free Software
Foundation. If the Program does not specify a version number of the
GNU General Public License, you may choose any version ever published
by the Free Software Foundation.
Each version is given a distinguishing version number. If the Program
specifies a version number of this License which applies to it and "any
later version", you have the option of following the terms and conditions
either of that version or of any later version published by the Free
Software Foundation. If the Program does not specify a version number of
this License, you may choose any version ever published by the Free Software
Foundation.
If the Program specifies that a proxy can decide which future
versions of the GNU General Public License can be used, that proxy's
public statement of acceptance of a version permanently authorizes you
to choose that version for the Program.
10. If you wish to incorporate parts of the Program into other free
programs whose distribution conditions are different, write to the author
to ask for permission. For software which is copyrighted by the Free
Software Foundation, write to the Free Software Foundation; we sometimes
make exceptions for this. Our decision will be guided by the two goals
of preserving the free status of all derivatives of our free software and
of promoting the sharing and reuse of software generally.
Later license versions may give you additional or different
permissions. However, no additional obligations are imposed on any
author or copyright holder as a result of your choosing to follow a
later version.
NO WARRANTY
15. Disclaimer of Warranty.
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
REPAIR OR CORRECTION.
THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
POSSIBILITY OF SUCH DAMAGES.
16. Limitation of Liability.
IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
SUCH DAMAGES.
17. Interpretation of Sections 15 and 16.
If the disclaimer of warranty and limitation of liability provided
above cannot be given local legal effect according to their terms,
reviewing courts shall apply local law that most closely approximates
an absolute waiver of all civil liability in connection with the
Program, unless a warranty or assumption of liability accompanies a
copy of the Program in return for a fee.
END OF TERMS AND CONDITIONS
How to Apply These Terms to Your New Programs
END OF TERMS AND CONDITIONS
How to Apply These Terms to Your New Programs
If you develop a new program, and you want it to be of the greatest
possible use to the public, the best way to achieve this is to make it
@@ -628,15 +287,15 @@ free software which everyone can redistribute and change under these terms.
To do so, attach the following notices to the program. It is safest
to attach them to the start of each source file to most effectively
state the exclusion of warranty; and each file should have at least
convey the exclusion of warranty; and each file should have at least
the "copyright" line and a pointer to where the full notice is found.
<one line to give the program's name and a brief idea of what it does.>
Copyright (C) <year> <name of author>
This program is free software: you can redistribute it and/or modify
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
@@ -645,30 +304,37 @@ the "copyright" line and a pointer to where the full notice is found.
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
Also add information on how to contact you by electronic and paper mail.
If the program does terminal interaction, make it output a short
notice like this when it starts in an interactive mode:
If the program is interactive, make it output a short notice like this
when it starts in an interactive mode:
<program> Copyright (C) <year> <name of author>
This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
Gnomovision version 69, Copyright (C) year name of author
Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
This is free software, and you are welcome to redistribute it
under certain conditions; type `show c' for details.
The hypothetical commands `show w' and `show c' should show the appropriate
parts of the General Public License. Of course, your program's commands
might be different; for a GUI interface, you would use an "about box".
parts of the General Public License. Of course, the commands you use may
be called something other than `show w' and `show c'; they could even be
mouse-clicks or menu items--whatever suits your program.
You should also get your employer (if you work as a programmer) or school,
if any, to sign a "copyright disclaimer" for the program, if necessary.
For more information on this, and how to apply and follow the GNU GPL, see
<http://www.gnu.org/licenses/>.
You should also get your employer (if you work as a programmer) or your
school, if any, to sign a "copyright disclaimer" for the program, if
necessary. Here is a sample; alter the names:
The GNU General Public License does not permit incorporating your program
into proprietary programs. If your program is a subroutine library, you
may consider it more useful to permit linking proprietary applications with
the library. If this is what you want to do, use the GNU Lesser General
Public License instead of this License. But first, please read
<http://www.gnu.org/philosophy/why-not-lgpl.html>.
Yoyodyne, Inc., hereby disclaims all copyright interest in the program
`Gnomovision' (which makes passes at compilers) written by James Hacker.
<signature of Ty Coon>, 1 April 1989
Ty Coon, President of Vice
This General Public License does not permit incorporating your program into
proprietary programs. If your program is a subroutine library, you may
consider it more useful to permit linking proprietary applications with the
library. If this is what you want to do, use the GNU Library General
Public License instead of this License.
+74 -855
View File
@@ -1,869 +1,88 @@
WeeChat ChangeLog
=================
FlashCode <flashcode@flashtux.org>
v0.3.1.1, 2010-01-31
WeeChat - Wee Enhanced Environment for Chat
===========================================
ChangeLog - 2003-09-27
Version 0.3.1.1 (2010-01-31)
----------------------------
* irc: fix crash with SSL connection if option ssl_cert is set (bug #28752)
* irc: fix bug with SSL connection (fails sometimes when ssl_verify is on)
(bug #28741)
* irc: fix compilation with old GnuTLS versions (bug #28723)
* xfer: fix crash when purging old xfer chats (bug #28764)
* 2003-09-27:
- WeeChat 0.0.1 released!
Version 0.3.1 (2010-01-23)
--------------------------
* 2003-09-26:
- added completor prefix (in config: look_nick_completor)
- fixef log_printf command (bug with year & month)
- added "/kill" command
- fixed /version and /ctcp commands (missing ":" before message)
* core: fix bug with script installation on BSD/OSX (patch #6980)
* core: add option grab_key_command for /input (bound by default to alt-k)
* core: fix compilation under Cygwin (patch #6916)
* core: fix cmake directories: let user customize lib, share, locale and include
directories (patch #6922)
* core: fix plural form in translation files (bug #27430)
* core: fix terminal title bug: do not reset it when option
weechat.look.set_title is off (bug #27399)
* core: fix buffer used by some input functions called via plugin API with
buffer pointer (bug #28152)
* alias: new expansions for alias arguments ($n, $-m, $n-, $n-m, $*, $~)
(patch #6917)
* alias: allow use of wildcards for /alias list (patch #6925)
* alias: allow /unalias to remove multiple aliases (patch #6926)
* alias: fix bug with buffer for execution of alias, when called from plugin API
with function "command" (bug #27697)
* alias: fix bug with arguments (bug #27440)
* irc: add new commands /allchan and /allserv with excluding option, commands
/ame and /amsg are now aliases, new aliases /aaway and /anick
* irc: add options to customize target buffer for messages (task #7381)
* irc: add new output queue for messages with low priority (like automatic CTCP
replies), high priority is given to user messages or commands
* irc: use self-signed certificate to auto identify on IRC server (CertFP)
(task #7492, debian #453348)
* irc: check SSL certificates (task #7492)
* irc: add option "autorejoin_delay" for servers (task #8771)
* irc: add option to use same nick color in channel and private (task #9870)
* irc: add missing command 275 (patch #6952)
* irc: add commands /sajoin, /samode, /sanick, /sapart, /saquit (task #9770)
* irc: add options for CTCP, to block/customize CTCP reply (task #9693)
* irc: add missing CTCP: clientinfo, finger, source, time, userinfo (task #7270)
* irc: add all server options for commands /server and /connect
* irc: add arguments for command /rehash
* irc: improve error management on socket error (recv/send)
* irc: improve mask used by command /kickban
* irc: fix nick color for nicks with wide chars (bug #28547)
* irc: fix autorejoin on channels with key
* irc: fix command /connect (options -ssl, -ipv6 and -port) (bug #27486)
* xfer: add color for nicks in chat
* xfer: add missing command /me (bug #28658)
* xfer: add missing charset decoding/encoding for IRC DCC chat (bug #27482)
* ruby: support of Ruby >= 1.9.1 (patch #6989)
* fifo: remove old pipes before creating new pipe
* gui: add color "darkgray", add support for background with light color
* gui: fix color "black" (bug #23882, debian #512957)
* gui: fix message "Day changed to", sometimes displayed at wrong time
(bug #26959)
* gui: fix bug with URL selection in some terminals (caused by horizontal lines)
(bug #27700)
* gui: use default auto completion for arguments of unknown commands
* gui: fix alignment problem for buffer name when a merged buffer is closed
(bug #27617)
* gui: update hotlist when a buffer is closed (bug #27470), remove buffer from
hotlist when buffer is cleared (bug #27530)
* gui: fix /input history_global_next: reset input content when last command in
history is reached
* api: fix function weechat_bar_set for python/lua/ruby (patch #6912)
* 2003-09-25:
- added "/kick" command
- added IRC errors 402 to 407
- added "/invite" command
Version 0.3.0 (2009-09-06)
--------------------------
* 2003-09-24:
- "ctcp version" received is now correctly displayed
- "/version" command is ok
* irc: add irc plugin (replaces old IRC code in core) (task #6217)
* irc: add smart join/part/quit message filter (task #8503)
* irc: use of many addresses for servers (auto-switch when a connexion fails),
nicks are now set with one option "nicks" (task #6088)
* irc: add some colors in messages from server (for text and nicks)
(task #8926)
* irc: add color decoding in title for IRC channels (task #6030)
* irc: fix lock with SSL servers when connection fails, and when
disconnecting during connection problem (bug #17584)
* irc: command /whois is now authorized in private without argument
(task #7482)
* irc: fix private buffer name with irssi proxy (bug #26589)
* irc: remove kernel info in CTCP VERSION reply (task #7494)
* irc: add missing commands (328, 369)
* irc: fix mode parsing when receiving modes with arguments (bug #26793)
* aspell: improve plugin: use of many dictionaries, global dictionary, real
time checking (optional), fix bugs with utf-8
* xfer: add speed limit for DCC files sending (task #6178)
* xfer: add new option "xfer.file.use_nick_in_filename" for Xfer files
(task #7140)
* relay: add relay plugin (network communication between WeeChat and remote
application)
* logger: add logger plugin with new features: backlog, level for messages to
log (task #8592), level by buffer (task #6687), filename mask by buffer,
option "name_lower_case" (bug #19522)
* alias: fix bug with alias, use current buffer to run commands (bug #22876)
* plugins: add some other plugins: alias, demo, fifo, tcl, xfer
* scripts: new scripts: weeget.py (scripts manager), jabber.py (jabber/XMPP
protocol), go.py (quick jump to buffers), buffers.pl (sidebar with list of
buffers), iset.pl (set options interactively), weetris.pl (tetris-like game),
mastermind.pl, ...
* scripts: do not auto-load hidden files (bug #21390)
* api: add hooks: command, timer, file descriptor, process, connection, print,
signal, config, completion, modifier, info, infolist
* api: new plugin API with many new functions: hooks, buffer management and
nicklist, bars, configuration files, network, infos/infolists, lists,
upgrade
* gui: new display engine, with prefix and message for each line
* gui: add new type of buffer, with free content
* gui: add tags for lines and custom filtering by tags or regex (task #7674)
* gui: add buffer merging (task #7404)
* gui: add custom bars, with custom items
* gui: add key to zoom a window (task #7470)
* gui: add keys to move into last visited buffers: alt + "<" and alt + ">"
* gui: come back to last visited buffer when closing a buffer
* gui: add new option scroll_page_percent to choose percent of height to scroll
with page_up and page_down keys (task #8702)
* gui: add number of lines remaining after last line displayed in "-MORE-"
indicator (task #6702)
* gui: fix completion with non-latin nicks (bug #18993)
* gui: fix display bug with some weird UTF-8 chars (bug #19687)
* gui: fix bug with wide chars in input (bug #16356)
* gui: fix bug when switching window, scrollback is now preserved
(task #7680)
* network: add support for more than one proxy, with proxy selection for each
IRC server (task #6859)
* network: fix network connection for hostnames resolving to several IPs: try
all IPs in list until one succeeds (bug #21473, debian #498610)
* core: add group support in nicklist
* core: improve main loop: higher timout in select(), less CPU usage
* core: add /reload command to reload WeeChat and plugins config files (signal
SIGHUP is catched to reload config files)
* core: add new /layout command and save_layout_on_exit config option, to
save/restore windows and buffers order (task #5453)
* core: add new options for completion, optional stop instead of cycling with
words found (task #5909)
* core: new name for configuration files (*.conf instead of *.rc)
* core: improve /set command, new command /unset (task #6085)
* core: add new input action "set_unread_current_buffer" to set unread marker
for current buffer only (task #7286)
* core: add polish translation (thanks to Soltys)
* core: remove key functions, replaced by /input command
* core: add argument with buffer number/range for command "/buffer close"
(task #9390, task #7239)
* core: add new command /wait (schedule a command execution in future)
* core: fix nick completion bug (missing space after nick)
* 2003-09-23:
- log file (~/.weechat/weechat.log)
- renamed config file (~/.weechat/weechatrc to ~/.weechat/weechat.rc)
Version 0.2.6.3 (2009-06-13)
----------------------------
* 2003-09-21:
- "demi-highlight": 2 types of windows highlight: lightred for windows with
unread messages (from other users), lightmagenta for windows with other
unread data (join, part, quit, away, ...)
- "320" IRC message management
- "/clear" command
* fix gnutls detection (use pkg-config instead of libgnutls-config)
(bug #26790)
* 2003-09-19:
- préparation des sources pour l'internationalisation avec gettext
- "301" IRC command (away message)
- functions renamed in rc-commands.c, irc-server.c,
command.c and config.c (all functions are beginning with a prefix:
irc_cmd_recv_xxx, irc_cmd_send_xxx, server_xxx, weechat_cmd_xxx and
config_xxx). Moreover, all commands (sent and received) return a value
(success or not)
- "/quote" command
- "/whois" command (and colored display of /whois result in server window)
Version 0.2.6.2 (2009-04-18)
----------------------------
* 2003-09-18:
- use of alternate nickname (and 2nd alternate) if nick is already used
on server (changed/added in config file: options "nick1", "nick2", "nick3"
for a server, all are mandatory)
- "433" IRC error management (nickname already in use)
- "mode" command received correctly for "channel flags" and
op/deop/voice/devoice actions for a nick
- "401" IRC error management (no such nick/channel)
- private windows management (when received and opened, with /privmsg),
"/privmsg" completed consequently
* fix bug with charset decoding (for example with iso2022jp) (bug #26228)
* 2003-09-17:
- nickmode display ((half)op/voice) before nicks (as option, look at config
options beginning with "look_nickmode")
- windows history is now ok (pgup/pgdn on any window type)
- "/me" command (and OK when received)
- display nicks count when joining channel or with "/names" command
(total, ops, halfops, voices et normaux)
Version 0.2.6.1 (2009-03-14)
----------------------------
* 2003-09-16:
- added and normalized chat window colors
(new colors in config file)
- "/topic" command
- nicklist can be moved on top, bottom, left or right of window
* fix crash with some special chars in IRC messages (bug #25862)
* 2003-09-15:
- auto-resize of nicklist, according to nick max length
- IRC multi-servers is OK
Version 0.2.6 (2007-09-06)
--------------------------
* 2003-09-14:
- no hangup if "/part" command is executed on server window
- continue if no server is declared in config file
(empty window will be opened for executing WeeChat commands)
- string array for strings in config file
example: cfg_look_nicklist_position can take values "left", "right",
"top", "bottom", which are converted to int (from 0 for "left" to 3 for
"bottom")
- messages are aligned under time (server window) or under time + nick
(channel window)
* fix bug with log of plugin messages (option log_plugin_msg)
* add new option "deloutq" to /server command to delete all servers messages
out queues (task #7221)
* fix display bug with some special chars in messages (some words were
truncated on screen) (bug #20944)
* fix UTF-8 bug with color encoding/decoding
* fix crash when searching text in buffer with ctrl-R (bug #20938)
* add string length limit for setup file options
* fix bug with flock() when home is on NFS filesystem (bug #20913)
* add option to align text of messages (except first lines) (task #7246)
* fix user modes in nicklist when ban and nick mode are received in the same
MODE message (bug #20870)
* fix IRC message 333: silently ignore message if error when parsing it
* fix server option "command_delay": does not freeze WeeChat any more
* add paste detection, new options look_paste_max_lines and col_input_actions
(task #5442)
* fix bug with highlight and UTF-8 chars around word (bug #20753)
* add swedish quickstart guide
* add support of channel mode +u (channel user) (bug #20717)
* improve /connect command to connect to a host by creating a temporary server,
add option to /server to create temporary server (task #7095)
* add "copy", "rename" and "keep" options to /server command
* allow clear of multiple selected buffers with /clear (patch #6112)
* add key for setting unread marker on all buffers (default: ctrl-S + ctrl-U)
(task #7180)
* fix nick prefix display on servers that doesn't support all prefixes
(bug #20025)
* fix terminal encoding detection when NLS is disabled (bug #20646)
* fix crash when sending data to channel or pv on disconnected server
(bug #20524)
* improve command /server ant its output
* add 3 default new keys: ctrl-B (left), ctrl-F (right), ctrl-D (delete)
* add "buffer_move" event handler to plugins API (task #6708)
* add key function "jump_previous_buffer" to jump to buffer previously
displayed (new key: alt-J + alt-P) (task #7085)
* add "%*" to completion template, to repeat last completion
* add "-nojoin" option for /connect and /reconnect commands (task #7074)
* fix bugs with IRC color in messages, now color codes are inserted in command
line with ctrl-c, ctrl-b.. instead of %C,%B,.. (bug #20222, task #7060)
* fix bug with smart nick completion (last speakers first) when a nick is
changed
* fix charset bug with channel names in status bar (bug #20400)
* add "scroll" option to /buffer command
* down key now saves input to history and clears input line (task #7049)
* fix log file when channel name contains "/" (bug #20072)
* command /away allowed when not connected to server (internally stored and
AWAY command is sent when connecting to server) (task #7003)
* add argument for /upgrade command (path to binary)
* fix bug with /topic when channel not open and topic not defined (bug #20141)
* add hotlist sort with new option "look_hotlist_sort" (task #5870)
Version 0.2.5 (2007-06-07)
--------------------------
* fix QUOTE command: now allowed when socket is ok (even if IRC connection to
server is not ok) (bug #20113)
* add missing IRC commands (327, 378, 379) (bug #20091)
* fix hotlist when exiting search mode: current buffer is removed from hotlist
* add "%M" for completion with nicks of current server (nicks on open channels)
(task #6931)
* improve key bindings: now possible to bind a key on many commands, separated
by semicolon (task #5444)
* improve IRC long message split: use word boundary (task #6685)
* remove ":" for unknown IRC commands before arguments (bug #19929)
* fix "%C" completion: now completes with all channels of all servers
* fix bug with "/buffer query_name", add server and channel completion for
/buffer command (bug #19928)
* add cmake for weechat compile (patch #5943)
* fix IRC mode parsing when receiving modes with arguments (bug #19902)
* fix crash with IRC JOIN malformed message (bug #19891)
* fix bug with nick prefixes on some IRC servers (bug #19854)
* improve setup file save: now writes temporary file, then rename it
(task #6847)
* fix bug with $nick/$channel/$server variables in commands
* forget current nick when user manually disconnects from server
* fix nick display in input window
* fix bug with erroneous nickname when connecting to server (bug #19812)
* fix display bugs in IRC error messages
* add protocol priority for gnutls (patch #5915)
* add channel admin mode "!" for some IRC servers
* fix bug with iso2022jp locale (bug #18719)
* fix string format bug when displaying string thru plugin script API
* add /reconnect command (task #5448)
* add "-all" option for /connect and /disconnect commands (task #6232)
* improve nick completion: completion with last speakers first and self nick at
the end; add option look_nick_completion_smart, enabled by default
(task #5896)
* fix nick completion in command arguments (bug #19590)
* fix possible crash with nick completion when a nick leaves channel
(bug #19589)
* add color for input text not found in buffer history
* fix USER message when connecting to IRC server (patch #5835)
Version 0.2.4 (2007-03-29)
--------------------------
* fix color bug with IRC messages displayed by plugins (bug #19442)
* fix topic charset, now using channel charset if defined (bug #19386)
* rename log file for DCC chat (now <server>.dcc.<nick>.weechatlog)
* fix crash when closing a pv if a DCC chat is open on same nick (bug #19147)
* fix bug with channel topic after reconnection (not erased) (bug #19384)
* add current buffer in hotlist when scrolling up in buffer (task #6664)
* fix bug with explode_string / free_exploded_string when max_items > 0
* add new key (ctrl-R) for interactive and incremental search in buffer
history (task #6628)
* fix /topic completion when no topic set on current channel (bug #19322)
* improve password hiding, code cleanup (bug #19229)
* add new return code in plugin API to force highlight (for message handlers
only)
* fix bug with server buffer when "look_one_server_buffer" is ON and server
buffer is moved to any number > 1 (bug #19219)
* fix /help command: displays plugin help for redefined commands (bug #19166)
* prefix "/" disabled in commands (patch #5769)
* fix completion of redefined commands removed by plugins (bug #19176)
* fix memory leaks in perl and python plugins (bug #19163)
* add "call" option to /key command, add new key function "insert" to insert
text on command line (task #6468)
* fix permissions on "dcc" and "logs" directories (bug #18978)
* add event handler to plugin API
* add scots quickstart guide
* add numeric argument for /clear command (buffer number) (patch #5372)
* fix crash when /away command is issued with no server connection (bug #18839)
* fix crash when closing a buffer opened on many windows
* fix freeze with SSL server when disconnecting after connection loss
(bug #18735)
Version 0.2.3 (2007-01-10)
--------------------------
* fix display bugs with nicklist at top/bottom when look_nicklist_separator is
OFF (bug #18737)
* fix iconv problem, causing truncated words when using iso locale
* fix topic scroll when topic has multi-bytes chars
* fix compilation problem with iconv under FreeBSD
* fix bugs with charset: now decodes/encodes nicks and channels in IRC messages
(bug #18716)
Version 0.2.2 (2007-01-06)
--------------------------
* fix bug with status bar (missing refresh) when closing a buffer
* fix bug with use of first buffer for a channel if not connected to server
(now allowed only for a server buffer)
* fix refresh bug with private buffer title
* fix bug with nick completion in command args (now uses option
look_nick_completion_ignore)
* fix display bug with color for first line on screen (bug #17719)
* add anti-flood option (irc_anti_flood) (task #5442)
* fix bug with "set_config" function in plugins API (bug #18448)
* plugins: "add_message_handler" now accepts "*" for all IRC messages
* add keys (F9/F10) to scroll topic (task #6030)
* add auto completion with channels and filenames (task #5423)
* fix memleak in keyboard input
* fix refresh bug when changing config options if window is split
* add space between chat and nicklist when position is "right" (bug #17852)
* add option "look_nicklist_separator" (task #5437)
* fix bug with DCC SEND when filename begins with "~"
* add "irc_send_unknown_commands" option to send unknown commands to IRC server
(OFF by default) (task #5947)
* /charset command and charset conversions now made by "charset" plugin
* fix display bug in status bar, wrong length when using UTF-8
* fix bug with ignore: now any IRC command is allowed
* fix crash with Ctrl-T (transpose) and one char on line (bug #18153)
* add filename completion (task #5425)
* add "modifier" in plugins API
* improve /plugin command
* fix bug on ignore with "mode" IRC command (bug #18058)
* fix crash when loading ruby script if file does not exist, with Ruby >= 1.9
only (bug #18064)
* add date in plugin function get_buffer_data()
* fix some portability bugs (patch #5271)
* fix iconv detection for BSD (patch #5456)
* fix typo in configure.in (bash specific test) (patch #5450)
* mode changes with /op, /deop, /voice, /devoice, /halfop, /dehalfop are now
sent in one mode command to server (task #5968)
* add more values for config boolean values: y/true/t/1 and n/false/f/0
* fix bug with /alias and arguments (like $1), now text after argument(s) is
used (bug #17944)
* fix minor display bug with special chars on some arch like PPC
Version 0.2.1 (2006-10-01)
--------------------------
* fix crash for DCC receiver when resuming a file (bug #17885)
* fix DCC error for sender when receiver cancels DCC (bug #17838)
* fix random crash with /upgrade command (error when loading buffers)
* fix buffer search by server/channel: now if only channel is specified, a
channel of another server can be found
* fix highlight for DCC, invite and notice: when a window is displaying buffer,
there's no highlight
* command "/away -all" now allowed when not connected to current server
* new signals handled: SIGTERM and SIGHUP (received when terminal is closed):
clean WeeChat quit (send quit to irc servers then quit WeeChat)
* add some new default key bindings for existing keys (for some OS)
* command /key now ok with one arg (key name): display key if found
* fix bug with CTCP VERSION sent on channels (bug #17547)
* add current channel completion for /ctcp command
* fix bugs in get_buffer_data() which breaks the retrieval of buffer content
(perl, lua)
* fix nicklist display bug when top/bottom (not enough lines) (bug #17537)
* fix bug with auto-rejoin of keyed chans (bug #17534)
* add default nick completion when line starts with "//" (bug #17535)
* values yes/no accepted (as on/off) for config boolean values (task #5454)
* add server default notify level (set by /buffer notify on server buffer)
(task #5634)
* fix crashs with /buffer and /charset commands when not connected to any
server (bug #17525)
* add special vars $nick/$channel/$server for server_command, alias and plugin
command handlers
* add arguments $1,$2,..,$9 and $* for alias (task #5831)
* add hotlist in session file when using /upgrade command (task #5449)
* fix nick refresh problem with unrealircd specific modes: chan owner (~) and
chan admin (&) (bug #17340)
Version 0.2.0 (2006-08-19)
--------------------------
* add "C"lear option on IRC raw buffer
* IRC raw buffer now uses join/part prefix with color to display messages
* add send of "quit" message to server when using /disconnect
* fix "wallops" command when received, now displayed by WeeChat (bug #17441)
* fix /wallops command (now many words are correctly sent)
* fix command 348 (channel exception list, received by /mode #chan e)
* add missing modes (channel & user), now all modes are allowed (bug #16606)
* add "%m" for completion with self nick (on current server)
* add missing IRC commands (310, 326, 329, 338)
* fix DCC restore after /upgrade (order is now correctly saved)
* fix away after server disconnection (now away is set again when reconnecting)
(bug #16359)
* fix DCC file connection problem (connection from receiver to sender)
* improve DCC speed (up to x5 on LAN) by forking for DCC files and a new option
"dcc_fast_send" (does not wait for ACK) (task #5758)
* fix crash when purging DCC with high number of DCC (> window size)
* fix completion for command handlers (now empty completion_template means nick
completion, "-" string means no completion at all)
* fix nick alignment problem when look_nickmode is off
* add generic function for incoming numeric IRC commands (bug #16611)
* fix crash when doing "/part something" on a server buffer (bug #17201)
* charsets are now checked when set by /charset command
* add "look_save_on_exit" option (patch from Emanuele Giaquinta)
* fix crash on DCC buffer under Darwin 8 (bug #17115)
* add configure option for doc XSL prefix (bug #16991)
* fix bug with spaces in script names (bug #16957)
* fix random crash when "MODE #chan -l" is received
* fix bug in IRC parser (random crash with malformed IRC messages)
* fix refresh bugs when terminal is resized: too many refreshs, display bug
with split windows
* case ignored for channel names in charset options (bug #16858)
* fix crash when setting look_one_server_buffer to ON (bug #16932)
* add new functions in plugin/script API: get window info, get buffer info, get
buffer content
* add polish, russian and czech quickstart guide
* fix display bug with special char (bug #16732)
* add color encoding for some commands like /me
* add aspell plugin
* rename plugins names (remove "lib" prefix in name)
* fix crash when closing DCC/raw buffer if 2 are open (bug #16808)
* fix crashes with DCC chat remove/purge on DCC view (bug #16775)
* fix bug with connection to bnc (bug #16760)
* command /save now writes plugins options (~/.weechat/plugins.rc)
* fix crash with "register" function in plugin scripts (bug #16701)
* fix random crash at exit (/quit or /upgrade) with split windows
Version 0.1.9 (2006-05-25)
--------------------------
* fix /squery command (message sent to server, now ok with # args > 2)
* fix /alias command (with an alias name, display content)
* improve lua plugin detection (bug #16574)
* add backtrace when WeeChat crashes, log file automatically renamed
* add lock for log file (~/.weechat/weechat.log), only one WeeChat process can
use this file (bug #16382)
* fix crash with malformed UTF-8 strings
* fix crash with ncurses color when too many colors defined in ncurses
(bug #16556)
* add new key to find previous completion (shift-tab by default)
* fix bug with long outgoing IRC messages (> 512 bytes) (bug #16358)
* fix Ruby crash when handler does not return OK or KO (bug #16552)
* fix UTF-8 display bug with chars using more than one cell on screen
(bug #16356)
* fix display bug with DCC file size when > 1 Gb
* fix refresh bug (deadlock in curses) when terminal is resized (bug #16542)
* fix nicklist sort bug
* add russian translations (thanks to Pavel Shevchuk)
* add german doc (thanks to Frank Zacharias)
* add missing IRC commands (006, 007, 290, 292, 310, 379, 437, 974)
* fix crash when multiple pv have same name: now it's forbidden and pv buffer
is not renamed (when a nick changes) if another exists with same name
(bug #16369)
* command /clear [-all] now clears hotlist
* fix crash after /upgrade if a line in history is empty (bug #16379)
* fix many crashes with DCC chat (bug #16416)
* add new option to customize input prompt
* add nick modes
* fix commands 332, 333 (/topic now ok when channel is not opened)
* remove color encoding and charset conversion for commands (only allowed in
text sent to channel/private)
* add hostnames associeted to nicks (available for /ban completion)
* add "+p" mode for channels, fix mode display in status bar
* add nick alignment options
* fix /names command: now displays result when not on a channel
* fix refresh bug (too many refresh) when terminal is resized
* fix nicklist display bugs when on top or bottom of chat window
* add keyboard handler to plugin API
* improve script plugin loader
* add hostname/IP option for connection to server
* fix --disable-plugins option in configure script
* add /setp command (set plugin options)
* fix high CPU usage when running under a screen that has been killed
* aliases are executed before WeeChat/IRC commands, add /builtin command
* add /cycle command, /part command does close buffer any more (use
/buffer close (or alias /close) to part and close buffer
Version 0.1.8 (2006-03-18)
--------------------------
* improve Ruby plugin
* fix /set command when internal server name contains one or many dots
* fix get_info plugin API function when no server at all is opened
* fix display bug when top of buffer is displayed and first line is removed
(according to "history_max_lines" setting)
* fix /mode command output
* improve alias completion (now uses target command for completion)
* fix completion problem in private with nicks
* add missing IRC command (487)
* add inactivity time, available for plugins via get_info("inactivity")
* keys alt-{home|end} to scroll top/bottom, alt-{f11-f12} to scroll nicklist
top/bottom
* add special names for plugin message handlers: weechat_pv, weechat_highlight,
weechat_ctcp, weechat_dcc
* script plugins now load scripts in WeeChat system share directory
* /msg command does not open any buffer any more
* fix crash when using global history (when older entry is removed)
* add IRC raw data buffer (new key: alt-J + alt-R)
* fix display bug with /kill command
* add new plugins functions: add_timer_handler, remove_timer_handler,
remove_infobar
* plugin messages handlers now called when message is ignored (by /ignore)
* new behaviour for messages ignored by a message handler: now WeeChat
executes standard handler, treating message as "ignored"
* many commands allowed for aliases
* many commands allowed when connecting to server
* add Lua script plugin
* add functions in plugins API: get_server_info, free_server_info,
get_channel_info, free_channel_info, get_nick_info, free_nick_info
* add option "look_nick_complete_first" (patch from Gwenn)
* add option "look_open_near_server" (patch from Gwenn)
* fix bug with /upgrade and servers buffer
* fix bug with "get_dcc_info" plugin interface function
* add new scroll keys for a few lines up/down (default: meta-pgup/pgdn)
(patch from Pistos)
* add new option "irc_away_check_max_nicks" to disable away check on channels
with high number of nicks (patch from Gwenn)
* add new command line argument for setting WeeChat homedir (-d or --dir)
(patch from Gwenn)
* fix bug with charset in infobar highlights
* fix bug with buffer detection in plugins/scripts commands
* fix bug with /history command
* add option "irc_show_away_once", to show away message only once in pv
* add partial hungarian translation
Version 0.1.7 (2006-01-14)
--------------------------
* fix msg command (now allowed in private buffer with "*" as target)
* remove "irc_default_msg_away" setting, for RFC 2812 conformity (/away command
wihtout argument only removes away status), new values for "irc_display_away"
(off, local, channel)
* fix refresh bug with Solaris when term size is changed
* replace Texinfo doc by XML Docbook
* add color for window separators (when split)
* add completion system for plugins/scripts commands
* fix plugins autoload
* add charset by server and channel, new command: /charset
* add Ruby script plugin
* add /upgrade command
* add ETA (Estimated Time of Arrival) for DCC files
* /nick command is now allowed when not connected to server
* add server/channel arg to /buffer command for jumping to buffer
* fix display bug in chat window when a message length equals to window width
* add new keys for switching to other windows: alt-W followed by alt-{arrow}
* add new keys for scrolling to previous/next highlight: alt-P / alt-N
* add "read marker": an indicator for first unread line in a server or channel
buffer (new key alt-U to scroll to marker)
* new window maganement: custom size for windows, auto resize when terminal is
resized
* fix infinite loop when resizing term to small size
* add /history command
Version 0.1.6 (2005-11-11)
--------------------------
* new color management system, IRC colors are now correctly displayed and can
be removed by new options irc_colors_receive and irc_colors_send
* fix scroll problem when one line is bigger than screen size
* add setting for having one server buffer for all servers
(look_one_server_buffer)
* add setting for ignoring some chars when completing nicks
* fix IRC message parser bug
* signal SIGPIPE is now ignored
* add partial match for highlights
* add dcc_own_ip and dcc_port_range settings
* full UTF-8 support, auto-detection of UTF-8 usage (locale)
* add "Day changed to [date]" message when day changes
* new plugin interface, rewritten from scratch: now loads dynamic C library,
and perl/python are script plugins
* log options (for server/channel/private) can now be set while WeeChat is
running
* add channel modes +e and +f
* add some missing IRC commands, fix command 367
* add colors for input buffer and current channel of status bar
* add online help for config options (with /set full_option_name)
* enhanced "smart" hotlist, with names (new options:
look_hotlist_names_{count|level|length})
Version 0.1.5 (2005-09-24)
--------------------------
* add /ame command (send CTCP action to all channels of all connected servers)
* add setting "irc_notice_as_pv" to see notices as pv
* add nicks colors in setup file
* fix DCC bug: delete failed file only if really empty (on disk)
* fix IRC message parser bug
* fix scroll problem (screen moving when scrolling and new line displayed)
* fix infinite loop when scrolling back and displaying long lines
* fix crash when closing a buffer used by more than one window
* add some missing IRC commands
* fix DCC display bug (now decodes string according to charset)
* add /ignore and /unignore commands
* fix bug with strings comparison (str[n]casecmp) and some locales (like
turkish), now using ASCII comparison (thanks to roktas)
* signal SIGQUIT is now ignored
* fix refresh bug when one line is bigger than screen size
* fix look_nicklist_min_size and look_nicklist_max_size options
* fix refresh bug when changing channel modes
* jump to next server now saves current channel buffer for each server
* add keys ctrl-up/ctrl-down to call previous/next command in global history
(common to all buffers)
Version 0.1.4 (2005-07-30)
--------------------------
* join and part/quit prefixes (arrows) now displayed with different colors
* add "irc_highlight" setting, to get highlight with any word
* fix auto-rejoin for channels with key
* fix /ctcp command (now any command/data allowed)
* add /amsg command (send text to all channels of all connected servers)
* fix SIGSEGV handler (now write a core file by aborting program)
* fix statusbar & infobar background refresh problem with some systems
* add color for private in hotlist (different than color for highlight)
* add DCC resume and timeout
* add function for Perl/Python to get DCC list
* fix FIFO pipe (command now authorized on a buffer not connected to an IRC
server)
* topic completion now decodes UTF-8 string
* fix bug with IRC URL on command line (irc://)
* new keyboard management: keys are setup in config file, add new command /key,
add some new default keys, alt-K key is used to grab key (useful for /key
command)
* add seconds in infobar time (optional thanks to new setting)
* fix some curses refreshs
* add auto-prefix with "#" for channels (if no prefix found), with /join
command
Version 0.1.3 (2005-07-02)
--------------------------
* proxy support (http, socks4, socks5) with authentification (http, socks5)
and ipv6 support (client to proxy)
* add completion for config option (with /set command)
* commands from users outside channel now authorized (if special user or
channel without "n" flag)
* add IPv6 support
* kill command now received and displayed
* add SSL support
* channel notify levels are saved in config file (new option
"server_notify_levels" for server sections)
* part message now accepts %v (replaced by WeeChat version), like quit message
* errors while loading perl scripts are now displayed in server buffer
(instead of current buffer)
* in python scripts, all messages written in stdin and stderr are redirected in
server buffer
* fix a filename error while loading a python script manually
* fix plugins "print" and "prnt" functions: now ok for writing on server
buffers
* fix color problem with new libcurses version
* fix crash when using alt-S or alt-X on DCC buffer (alt-D)
* fix startup crash when config file (~/.weechat/weechat.rc) is not found
* improve Perl/Python libs detection for ./configure script
Version 0.1.2 (2005-05-21)
--------------------------
* add Python plugin support, improve Perl interface (and now Perl/Python
libraries are checked by configure script)
* add nicklist scroll keys (alt+{home/end/pgup/pgdn} or F11/F12)
* add transfer rate for DCC files
* add "-all" option for /nick command
* buffers timestamp can now be changed (new option in config file)
* WeeChat now ok under *BSD and Mac OS X
* fix nicklist sort
* fix crash when purging old DCC
* fix crash with 64-bits arch (like AMD64) when converting UTF-8
* add missing IRC commands (307, 341, 485, 671)
Version 0.1.1 (2005-03-20)
--------------------------
* add nicks count for channel buffers
* add FIFO pipe for remote control
* add crash dump when WeeChat receives SIGSEGV (Segmentation fault)
* add new display engine: doesn't cut words at end of lines
* add DCC send and DCC chat
* add /halfop & /dehalfop commands, fix halfop display bug in nicklist
* add /ban, /unban and /kickban commands
* add spanish translation
* add --irc-commands and --weechat-commands command line options
* connection to IRC server is now made by child process (non blocking)
* add support for UnrealIrcd ("~" for chan owner, "&" for chan admin)
* new key for window switch (now: F5/F6=switch buffer, F7/F8=switch window)
* on server buffer, only server messages are logged
* improve /help command output
* plugins messages are logged with new config option (log_plugin_msg)
* fix /kick command
* fix /invite command (and now invite requests are displayed)
* fix /buffer close command (now ok when disconnected from server)
* fix display bugs when many windows are opened
Version 0.1.0 (2005-02-12)
--------------------------
* improve /window command: now split and merge are ok
* away nicks are now displayed with another color (new option:
"irc_away_check")
* add away indicator in status bar
* add lag indicator (and auto-disconnect after a delay if important lag)
* improve completion: now completes commands arguments (IRC and internal),
when only one completion matches, completion mechanism is stoped (to complete
command arg for example)
* improve /set command: empty strings are allowed, new colors, server options
can be changed while WeeChat is running
* add default away/part/quit messages in config file
* new [irc] section in config file, move option "look_display_away" to
"irc_display_away"
* server messages & errors are all prefixed (by 3 chars, like "-@-")
* add new options for charset (UTF-8 support): look_charset_decode,
look_charset_encode and look_charset_internal
* fix many memory leaks
* fix colors bug: remove "gray" color (replaced by "default"), colors are ok
when terminal has white (or light) background
* fix crash when resizing terminal to small size
* fix crash when multiple servers and big messages received from server
* fix crash when closing some private buffers
* fix crash when unknown section with option(s) in config file
* fix /op, /deop, /voice, /devoice (now ok with many nicks)
* fix /me command (now ok without parameter)
* fix /away command (now ok if not away)
* logs are now disabled by default (server/channel/private)
Version 0.0.9 (2005-01-01)
--------------------------
* auto-reconnection to server (new options: server_autoreconnect (on/off),
server_autoreconnect_delay (in seconds))
* fix major bug when socket is closed by server (100% CPU usage), 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
* fix display of nick mode changes
* new command "/buffer close" (close any server/channel/private buffer)
* fix /notice command (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)
* add new config option: "server_command_delay" (delay in seconds after startup
command for each server)
Version 0.0.8 (2004-10-30)
--------------------------
* fix /kick command: now ok with many words as reason
* nickserv passwords hidden (new config option: log_hide_nickserv_pwd on/off)
* auto-rejoin channels when kicked (new config option: server_autorejoin on/off)
* add IRC::command function for Perl scripts
* fix bug when adding alias with same name as other
* /buffer command developed (buffers list, move and notify)
* logging buffers to disk (server/channel/private according to user prefs)
* add config option "look_display_away" to announce away in channels
* fix crash when resizing terminal to very small size
* "-MORE-" message is now erased when switching to another buffer
* DCC file receive ok (alt-D for DCC view)
* /query command now reopens private buffer if already opened
* add key for redrawing terminal (ctrl-L)
* add key for clearing hotlist (alt-R)
Version 0.0.7 (2004-08-08)
--------------------------
* new "col_status_delimiters" config option
* add command /buffer , buffers ordered by number, auto-jump to active buffers
(alt-A), jump to buffers by number (alt-number)
* add command /window, split terminal horizontally/vertically
* unique color for each nick (based on nickname)
* action messages are now considered as messages, not crappy joins/parts
* fix display bug when nicklist is displayed at bottom of screen
* add history limit (text buffer and commands)
* replace --enable-debug with --with-debug option for ./configure, which is now
integer: 1 = compiler debug flag, 2 = same 1 with verbose debug messages in
WeeChat (default: 0 = no debug)
Version 0.0.6 (2004-06-05)
--------------------------
* improve channel highlight (priority to message vs join/part)
* fix bug when opened private win and remote user changes his nick
* add command /query (starts private conversation)
* add IRC messages 476, 477
* /mode command is now ok and channel flags are displayed in status bar
* fix display bug (text was blinking when scrolling)
* CTCP Version reply is now in english only and doesn't show host (security
reason)
Version 0.0.5 (2004-02-07)
--------------------------
* /set command to modify config options when WeeChat is running
* fix look_nicklist config option, now enables/disables nicklist
* secure code to prevent buffer overflows and memory leaks
* fix QUIT IRC command: now sent to all connected servers (not only current)
* URL command line parameter to connect to server(s)
* new Perl script function to display message in info bar ("IRC::print_infobar")
* info bar highlight notifications
* add info bar timestamp in config ("look_infobar_timestamp")
* add info bar (optional, "look_infobar" to enable it, "on" by default)
* fix crash with /oper command
* for default config file, nick is now based on un*x username (thanks to
Witukind)
* fix crash when config file cannot be written
* add -c (or --config) command line parameter to see config file options
* highlight action messages
Version 0.0.4 (2004-01-01)
--------------------------
* Perl plugin, with auto-load
* when private window is created (another user is talking), WeeChat does not
switch to this window
* highlight when our nick is written in a channel/private window
* catch ctrl-C (ignored)
* debug messages can be enabled via ./configure --enbale-debug option
Version 0.0.3 (2003-11-03)
--------------------------
* ./configure script to build WeeChat
* nicks are now correctly sorted (op, halfop, voice, other)
* fix problem with "353" IRC message (nicklist)
* fix problem when nick is truncated by server
* fix crash when entering text without any server connection
* fix crash when /set command is executed
* fix display bug (text was blinking when scrolling)
* french translation
* new IRC command: /stats, /service, /squit, /motd, /lusers, /links, /time,
/trace, /admin, /info, /servlist, /squery, /who, /whowas, /die, /summon,
/users, /wallops, /userhost, /ison, /ctcp ping
* code cleanup
Version 0.0.2 (2003-10-05)
--------------------------
* add commands /rehash and /restart
* and command and auto-join channels when connected to server
* new commands for alias: /alias, /unalias (new section in config file)
* config is now saved automatically when quitting WeeChat, add /save command
* new commands for servers: /server, /connect, /disconnect
* add autoconnect flag for each server in config file
* add "look_set_title" option in config file
* term window title is modified with WeeChat name and version
* fix nicklist display bug
* fix crash when sending command which can only be received
* CTCP version returns more info (about OS)
Version 0.0.1 (2003-09-27)
--------------------------
* ncurses GUI with color output
* multi-servers
* channel windows, with nicklist (position: top, bottom, left or right)
* private windows
* IRC commands: away, ctcp, deop, devoice, invite, join, kick, kill, list, me,
mode, msg, names, nick, notice, op, oper, part, ping, pong, quit, quote,
topic, version, voice, whois
* WeeChat commands: clear, help, set (partial)
* many config options
* log file (~/.weechat/weechat.log)
* nicklist can be moved on top, bottom, left or right of window
* 2003-09-13:
- sources exploded in many directories: ./irc, ./gui/curses, ./gui/gtk,
./gui/qt and ./gui/text
+6
View File
@@ -0,0 +1,6 @@
WeeChat - Wee Enhanced Environment for Chat
===========================================
WeeChat FAQ, 2003-09-19
<<< TO DO ! >>>
+6 -32
View File
@@ -1,36 +1,10 @@
WeeChat Installation instructions
=================================
WeeChat - Installation instructions
===================================
You can build WeeChat with cmake (recommended way) or autotools.
1) Run 'make'
2) As root, run 'make install'
With cmake
----------
3) Enjoy ! :-)
------------------------------------------------------------------
mkdir build
cd build
cmake .. -DPREFIX=/where/you/want/install -DCMAKE_BUILD_TYPE=Debug
make
make install (as root for installation in system directories)
------------------------------------------------------------------
With autotools
--------------
----------------------------------------------------------------------
./autogen.sh (for cloned git repository only, not .tar.XX package)
./configure --prefix=/where/you/want/install
make
make install (as root for installation in system directories)
----------------------------------------------------------------------
If you want to report bugs/crashs to developers, please:
- compile with debug info (type "Debug" for cmake build, default for autotools),
- enable core files (for bash shell, add "ulimit -c unlimited" to your ~/.bashrc).
See AUTHORS for support, feel free to contact us for any problem.
See AUTHORS for any support, feel free to contact us for any problem ;)
+31
View File
@@ -0,0 +1,31 @@
# Copyright (c) 2003 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
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
#
OUTPUT=weechat
all:
cd src && make
install:
@mkdir -v -p $(DESTDIR)/usr/$(LOCALRPM)/bin
@cp -v src/$(OUTPUT) $(DESTDIR)/usr/$(LOCALRPM)/bin/
@mkdir -v -p $(DESTDIR)/usr/share/man/man1
@cp -v weechat.1 $(DESTDIR)/usr/share/man/man1/
@echo -e "\n=== WeeChat installed!\n"
clean:
cd src && make clean
-51
View File
@@ -1,51 +0,0 @@
# Copyright (c) 2003-2010 by 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
# the Free Software Foundation; either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
if DOC
doc_dir = doc
endif
SUBDIRS = po $(doc_dir) intl src
EXTRA_DIST = CMakeLists.txt \
config.rpath \
config.h.cmake \
cmake/cmake_uninstall.cmake.in \
cmake/FindAsciidoc.cmake \
cmake/FindAspell.cmake \
cmake/FindGettext.cmake \
cmake/FindGnuTLS.cmake \
cmake/FindIconv.cmake \
cmake/FindLua.cmake \
cmake/FindNcurses.cmake \
cmake/FindPerl.cmake \
cmake/FindPkgConfig.cmake \
cmake/FindPython.cmake \
cmake/FindRuby.cmake \
cmake/FindSourcehighlight.cmake \
cmake/FindTCL.cmake \
cmake/makedist.sh.in \
po/CMakeLists.txt \
po/srcfiles.cmake \
weechat.spec \
weechat_icon_32.png \
weechat.pc.in \
UPGRADE_0.3
ACLOCAL_AMFLAGS = -I m4
pkgconfigdir = $(libdir)/pkgconfig
pkgconfig_DATA = weechat.pc
+4 -192
View File
@@ -1,194 +1,6 @@
WeeChat News
============
WeeChat - Wee Enhanced Environment for Chat
===========================================
FlashCode, 2010-01-31::
WeeChat 0.3.1.1 released.
+
This version fixes crashs with SSL connection and purge of old DCC chats.
FlashCode, 2003-09-27
FlashCode, 2010-01-23::
WeeChat 0.3.1 released.
+
IRC commands /ame and /amsg are now aliases, if you are upgrading from
version 0.3.0, you must create aliases with following commands:
* `/alias aaway allserv /away`
* `/alias ame allchan /me`
* `/alias amsg allchan /amsg *`
* `/alias anick allserv /nick`
FlashCode, 2009-09-06::
WeeChat 0.3.0 released.
+
This version brings major changes, especially for configuration files
and plugin API.
+
For more information about this version, please read file UPGRADE_0.3.
FlashCode, 2009-06-13::
WeeChat 0.2.6.3 released.
+
This version fixes gnutls detection.
FlashCode, 2009-04-18::
WeeChat 0.2.6.2 released.
+
This version fixes a bug with charset decoding (like iso2022jp).
FlashCode, 2009-03-14::
WeeChat 0.2.6.1 released.
+
This version fixes a major bug: crash with some special chars in IRC
messages.
FlashCode, 2007-09-06::
WeeChat 0.2.6 released.
FlashCode, 2007-06-07::
WeeChat 0.2.5 released.
FlashCode, 2007-03-29::
WeeChat 0.2.4 released.
FlashCode, 2007-01-10::
WeeChat 0.2.3 released.
+
This version fixes several major bugs of version 0.2.2.
All users of version 0.2.2 should upgrade to this version.
FlashCode, 2007-01-06::
WeeChat 0.2.2 released.
+
Important release notes:
* new charset plugin:
** for users of any previous version, all your charset settings
in weechat.rc will be LOST! You should save your weechat.rc
to keep your values and set them again with new "charset" plugin.
** for ISO users: history of channels may be without accents
(after /upgrade), this is not recoverable, but this is not a bug.
All new messages should be ok.
** be careful, now default encode is UTF-8 for all channels (before
it was terminal charset). If you still want to send messages as
ISO-8859-1, you should send either global encode or server specific
encode to ISO-8859-1.
For global encode: /setp charset.global.encode = "ISO-8859-1"
For server encode: (on server buffer) /charset encode ISO-8859-1
* new keys for topic scroll:
** new keys for scrolling topic: F9/F10
** key F10 was used for "infobar_clear" in previous WeeChat versions,
you have to manually rebind this key (except for new WeeChat users):
/key <press alt-k then F10> scroll_topic_right
which gives something like this:
/key meta2-21~ scroll_topic_right
FlashCode, 2006-10-01::
WeeChat 0.2.1 released.
FlashCode, 2006-08-19::
WeeChat 0.2.0 released.
+
Important release notes:
* if you upgraded with /upgrade in WeeChat, you should /disconnect and
then /reconnect on each server, to display properly channel/user modes
* if you're using plugins, you should remove some old plugins libraries
in WeeChat system library directory (commonly
/usr/local/lib/weechat/plugins): remove `lib*` files (like `libperl.*`,
`libpython.*`, ..) and keep only new libraries (`perl.*`, `python.*`, ..)
FlashCode, 2006-05-25::
WeeChat 0.1.9 released.
+
Important release notes:
* please close all DCC chat buffers before using /upgrade command,
otherwise you may experience problems with DCC chats.
* some changes in script API: now timer handlers functions takes exactly
0 (zero) argument (in version 0.1.8, two arguments were mandatory but
not used: server and args)
FlashCode, 2006-03-18::
WeeChat 0.1.8 released.
+
Important release notes:
* it is recommended for users of version 0.1.7 (or any older), to
replace values in setup file (~/.weechat/weechat.rc) :
** option: log_path: replace "~/.weechat/logs" by "%h/logs"
** option: plugins_path: replace "~/.weechat/plugins" by "%h/plugins"
+
"%h" is replaced by WeeChat home (default: ~/.weechat, may be overriden
by new command line arg --dir)
* after installing 0.1.8 (or with /upgrade), issue both commands (if you
didn't redefined these keys (alt-home/end):
/key unbind meta-meta2-1~
/key unbind meta-meta2-4~
then launch again WeeChat (or issue /upgrade).
Alt-home/end were used for nicklist scroll, they're now replaced by
Alt-F11/F12.
FlashCode, 2006-01-14::
WeeChat 0.1.7 released.
+
Important release notes:
* Ruby script plugin has been added but is experimental in this release.
You're warned!
* "/away" command was changed to be RFC 2812 compliant.
Now argument is required to set away, and no argument means
remove away ("back"). Setting "irc_default_msg_away" has been removed.
FlashCode, 2005-11-11::
WeeChat 0.1.6 released.
+
Important release notes:
* incompatibility with some old scripts: now all handlers have to return
a code for completion, and to do some actions about message to ignore
(please look at documentation for detail)
* on OpenBSD, the new option "plugins_extension" should be set to ".so.0.0"
since the plugins names are ending by ".so.0.0" and not ".so"
* with new and full UTF-8 support, the option "look_charset_internal"
should be set to blank for most cases. Forces it only if your locale is
not properly detected by WeeChat (you can set "UTF-8" or "ISO-8859-15"
for example, depending on your locale). WeeChat is looking for "UTF-8" in
your locale name at startup.
FlashCode, 2005-09-24::
WeeChat 0.1.5 released.
FlashCode, 2005-07-30::
WeeChat 0.1.4 released.
FlashCode, 2005-07-02::
WeeChat 0.1.3 released.
FlashCode, 2005-05-21::
WeeChat 0.1.2 released.
FlashCode, 2005-03-20::
WeeChat 0.1.1 released.
FlashCode, 2005-02-12::
WeeChat 0.1.0 released.
FlashCode, 2005-01-01::
WeeChat 0.0.9 released.
FlashCode, 2004-10-30::
WeeChat 0.0.8 released.
FlashCode, 2004-08-08::
WeeChat 0.0.7 released.
FlashCode, 2004-06-05::
WeeChat 0.0.6 released.
FlashCode, 2004-02-07::
WeeChat 0.0.5 released.
FlashCode, 2004-01-01::
WeeChat 0.0.4 released.
FlashCode, 2003-11-03::
WeeChat 0.0.3 released.
FlashCode, 2003-10-05::
WeeChat 0.0.2 released.
FlashCode, 2003-09-27::
WeeChat 0.0.1 released.
WeeChat 0.0.1 released.
+25 -18
View File
@@ -1,5 +1,5 @@
WeeChat Readme
==============
WeeChat - Wee Enhanced Environment for Chat
===========================================
WeeChat (Wee Enhanced Environment for Chat) is a fast and light chat
@@ -9,29 +9,29 @@ It is customizable and extensible with scripts.
Features
--------
* chat client with multi-protocols/servers connection
* many GUI (curses, Gtk, Qt) (1)
* small, fast and very light
* customizable and extensible with plugins (C, Perl, Python, Ruby, Lua, Tcl)
* compliant with IRC RFCs 1459, 2810, 2811, 2812 and 2813
* developed from scratch
* multi-platform (GNU/Linux, *BSD, Mac OS X, QNX, Windows & other) (2)
* free software, released under GPLv3
NOTE: (1) only Curses interface is available today
+
(2) Windows version is under construction
* IRC chat client with multi-server connection
* many GUI (curses, text, Gtk, QT) (1)
* small, fast and very light
* customizable and extensible with scripts (Perl, Python, Ruby) (2)
* compliant with RFC 1459,2810,2811,2812,2813
* multi-platform (GNU/Linux, *BSD, Windows & other) (3)
* 100% GPL & free
Copyright
---------
WeeChat (c) Copyright 2003-2010 by FlashCode <flashcode@flashtux.org>
WeeChat (c) Copyright 2003
by: FlashCode <flashcode@flashtux.org>
Xahlexx <xahlex@tuxisland.org>
Bounga <bounga@altern.org>
(see AUTHORS file if you want to contact authors)
WeeChat is distributed under GPL licence (see COPYING file for complete license):
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 3 of the License, or
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
@@ -40,4 +40,11 @@ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
---
(1) only curses & text interfaces are available today
(2) plugin interfaces are not yet developed
(3) only GNU/Linux version is available today
+130
View File
@@ -0,0 +1,130 @@
WeeChat - Wee Enhanced Environment for Chat
===========================================
TODO - 2003-09-27
Legend:
# done
+ currently in development
- pending
? is this really necessary?
v0.0.1:
* IRC protocol:
# "/quote" command: send a raw string to the server without parsing it
# "/me" command (for user actions description)
# "/away" command (to toggle the away status)
# "/op", "/deop", "/voice", "/devoice" commands
# "/invite" command
# "/kick", "/ban", "/unban" commands
# "/kill" command
# "/list" command: list of channels
# "/names" command: view who is on a given channel without being
on it (for example /names #weechat gives all the nicks present on
#weechat, except those who have the +i flag (server side))
# "/oper" command: become operator on the irc network
# "/topic" command: change the topic of a channel
# "/version" command: give the irc client version (CTCP VERSION)
of a given nick/channel (without parameter: gives WeeChat version)
# "/whois" command
* WeeChat commands:
# "/clear": to clear window content
* Interface:
# "demi-highlight" when joins/quits etc
# log messages/warning/errors to ~/.weechat/log file
# improve editing zone (left arrow <> backspace)
# sort nick list
# choose nick list position (top, left, right (default), bottom)
# auto-resize nicklist (when nick too long)
# do pretty cutting of long lines (align on the nick or after hour for server)
# keep history of commands and call them again with up/down arrow
# text GUI
# ncurses GUI:
# one window for each channel
# color display
# private windows
# redraw window when term size is modified
# chat history (pgup/pgdn for displaying history)
# switch to other channel window
* TCP/IP communication:
# IPv4 protocol implementation
* Configuration:
# write default config file
Future versions:
* IRC protocol:
- implement RFC 2812
+ "/mode" command: change the user/channels modes
- "/dcc" command (for chat and sending/receiving files)
- manage "halfop" status
- complete "/list" command: add regexp search, display only channels that
match regexp
- "/connect" and "/disconnect" commands (for multiservers use)
- "/ignore" and "/unignore" commands: hide all that is write by a given
nick/host
- when we're away, WeeChat should log all the lines begenning by our nick.
When we come back from our away it should print it to the current window
- "/rehash" command: tell the server to reload its config file
- "/restart" command: tell the server to restart itself
- "/notify" and "/unnotify" command to be warn by WeeChat when a given
nick/host connect to the given irc network
- "/wallops" command: write the same string to all the
persons with the flag +w enable
* WeeChat commands:
- "/completion" command: do shortcuts (for example when we type "u"
in the text bar it send it to the server as "you")
- "/exec" command: execute a command as if we was in shell
and show us the output on the current window. An option to exec
like -o could send the output to the server, on the current
channel/private
- "/reload" command: reload the WeeChat's config file
- "/set" command: allow the user to set the WeeChat variables
under WeeChat without editing the config file (colours, time
format, etc)
- "/highlight" command: highlight a given word when it appears on
channels/privates
* Interface:
- display current channel modes (example : #weechat(+nt))
- interpret ^B in messages (this means bold text)
- internationalization (traduce WeeChat in many languages)
- many channel windows in one window/term (window split)
- add lag indicator
- log chats to file
- forget some old lines that were displayed long time ago (now all is saved,
if WeeChat is running for long time, a lot of memory is used!)
- improve completion (for example complete command parameters when possible)
- understand incomplete commands if unambigous (for example: /he for /help is ok)
- add clock (in status bar?)
- Gtk GUI
? Qt GUI
* TCP/IP communication:
- IPv6 protocol implementation
* Configuration:
- add key bindings to config file
- add missing options for config file
- write config file
- add an option for each server in order to run commands on join
(example: /msg nickserv identify password)
- channel list for auto-join (for each server)
- do not stop program if problem with options in config file
- load config file after GUI (so init values by default (colors, ...) before
loading config)
* Plugins:
- add Perl plugin
- add Python plugin
- add Ruby plugin
- "/load" and "/unload" commands to (un)load extension scripts
(perl, python, ruby, ...)
-83
View File
@@ -1,83 +0,0 @@
WeeChat Upgrade to 0.3.x
========================
FlashCode <flashcode@flashtux.org>
v0.3.0, 2009-09-06
This document lists major changes introduced in version 0.3.0 and not compatible
with versions 0.2.x.
Upgrade to version 0.3.x
------------------------
It is *NOT POSSIBLE* to use command `/upgrade` from a version 0.2.x to 0.3.x.
You have to quit your old WeeChat, then run new version.
Of course, command `/upgrade` is working fine once you'll be with 0.3.x to
upgrade to another 0.3.x (unless this command is broken again, please look
at release notes (file 'NEWS') for version you're currently installing).
Configuration files
-------------------
Changes with previous versions
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
New configuration files (`*.conf`) are not compatible with old files (`*.rc`).
Name of options is similar to old versions, but there is now one configuration
file by plugin, and one file for WeeChat core.
There is *no automatic conversion* for your old options to new configuration files,
so you'll have to setup again your IRC servers and all other options.
In WeeChat, option names are now with format: `plugin.section.option` (for
WeeChat core, `plugin` is `weechat`).
Examples:
* WeeChat options: `weechat.xxx.yyy`
* IRC options: `irc.xxx.yyy`
You should read quickstart guide to be familiar with basic commands and syntax
(some commands like `/server` have changed): http://www.weechat.org/doc
List of configuration files
~~~~~~~~~~~~~~~~~~~~~~~~~~~
* Old configuration files:
** weechat.rc
** plugins.rc
* New configuration files are now (with default plugins):
** weechat.conf
** alias.conf
** aspell.conf
** charset.conf
** irc.conf
** jabber.conf
** logger.conf
** plugins.conf
** relay.conf
** xfer.conf
Plugin API
----------
Plugin API has been rewritten and is not compatible with previous versions.
Accordingly, scripts and plugins must have been designed for version 0.3.x to
be loaded into WeeChat.
There is no migration script today to convert old script to new API.
Therefore, if you plan to use old script, you'll have to wait for new version
or you can convert script yourself and send us new version ;)
You can download scripts for new API on plugins page:
http://www.weechat.org/plugins
More information about new API is available on wiki:
http://wiki.flashtux.org/wiki/WeeChat_0.3.0
and http://wiki.flashtux.org/wiki/WeeChat_0.3.0_API
-79
View File
@@ -1,79 +0,0 @@
#!/bin/sh
#
# Copyright (c) 2003-2010 by 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
# the Free Software Foundation; either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
###
### common stuff
###
OK="\\033[70G[\\033[1;32mOK\\033[1;00m]"
FAIL="\\033[70G[\\033[1;31mFAILED\\033[1;00m]"
AUTOGEN_LOG=autogen.log
err ()
{
echo "-------"
echo "Error :"
echo "---8<-----------------------------------"
cat $AUTOGEN_LOG
echo "----------------------------------->8---"
exit 1
}
run ()
{
echo -n "Running \"$@\""
eval $@ >$AUTOGEN_LOG 2>&1
if [ $? = 0 ] ; then
echo -e $OK
else
echo -e $FAIL
err
fi
}
###
### cleanning part
###
# remove autotools stuff
run "rm -rf config"
run "rm -f config.h.in"
run "rm -f aclocal.m4 configure config.log config.status"
run "rm -rf autom4te*.cache"
# remove libtool stuff
run "rm -f libtool"
# remove gettext stuff
run "rm -f ABOUT-NLS"
run "rm -rf intl"
###
### configuration part
###
# create the config directory
run "mkdir -p config/m4"
run "mkdir intl"
# execute autotools cmds
run "autopoint -f"
run "libtoolize --automake --force --copy"
run "aclocal --force -I config/m4"
run "autoheader"
run "autoconf"
run "automake --add-missing --copy --gnu"
# ending
rm -f $AUTOGEN_LOG
-43
View File
@@ -1,43 +0,0 @@
# Copyright (c) 2003-2010 by 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
# the Free Software Foundation; either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
# - Find Asciidoc
# This module finds if asciidoc (version 8 or newer) is installed.
IF (ASCIIDOC_FOUND)
# Already in cache, be silent
SET(ASCIIDOC_FIND_QUIETLY TRUE)
ENDIF (ASCIIDOC_FOUND)
FIND_PROGRAM(
ASCIIDOC_EXECUTABLE asciidoc
PATHS /bin /usr/bin /usr/local/bin /usr/pkg/bin
)
IF(ASCIIDOC_EXECUTABLE)
EXECUTE_PROCESS(
COMMAND ${ASCIIDOC_EXECUTABLE} --version
OUTPUT_VARIABLE ASCIIDOC_VERSION
)
IF(${ASCIIDOC_VERSION} MATCHES "asciidoc 8.*")
SET(ASCIIDOC_FOUND TRUE)
ENDIF(${ASCIIDOC_VERSION} MATCHES "asciidoc 8.*")
MARK_AS_ADVANCED(
ASCIIDOC_EXECUTABLE
)
ENDIF(ASCIIDOC_EXECUTABLE)
-48
View File
@@ -1,48 +0,0 @@
# Copyright (c) 2003-2010 by 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
# the Free Software Foundation; either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
# - Find Aspell
# This module finds if libaspell is installed and determines where
# the include files and libraries are.
#
# This code sets the following variables:
#
# ASPELL_INCLUDE_PATH = path to where aspell.h can be found
# ASPELL_LIBRARY = path to where libaspell.so* can be found
IF (ASPELL_FOUND)
# Already in cache, be silent
SET(ASPELL_FIND_QUIETLY TRUE)
ENDIF (ASPELL_FOUND)
FIND_PATH(ASPELL_INCLUDE_PATH
NAMES aspell.h
PATHS /usr/include /usr/local/include /usr/pkg/include
)
FIND_LIBRARY(ASPELL_LIBRARY
NAMES aspell aspell-15
PATHS /lib /usr/lib /usr/local/lib /usr/pkg/lib
)
IF (ASPELL_INCLUDE_PATH AND ASPELL_LIBRARY)
SET(ASPELL_FOUND TRUE)
ENDIF (ASPELL_INCLUDE_PATH AND ASPELL_LIBRARY)
MARK_AS_ADVANCED(
ASPELL_INCLUDE_PATH
ASPELL_LIBRARY
)
-67
View File
@@ -1,67 +0,0 @@
# Copyright (c) 2003-2010 by 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
# the Free Software Foundation; either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
# - Find Gettext
# This module finds if gettext is installed and determines where
# the include files and libraries are.
#
# This code sets the following variables:
#
# GETTEXT_FOUND = is gettext usable on system?
IF(GETTEXT_FOUND)
# Already in cache, be silent
SET(GETTEXT_FIND_QUIETLY TRUE)
ENDIF(GETTEXT_FOUND)
INCLUDE(CheckIncludeFiles)
INCLUDE(CheckLibraryExists)
INCLUDE(CheckFunctionExists)
FIND_PATH(LIBINTL_INCLUDE
NAMES libintl.h
PATH /usr/local/include /usr/pkg/include /usr/include
)
SET(CMAKE_REQUIRED_INCLUDES ${LIBINTL_INCLUDE})
CHECK_INCLUDE_FILES(libintl.h HAVE_LIBINTL_H)
IF(HAVE_LIBINTL_H)
CHECK_FUNCTION_EXISTS(dgettext LIBC_HAS_DGETTEXT)
IF(LIBC_HAS_DGETTEXT)
SET(GETTEXT_FOUND TRUE)
ELSE(LIBC_HAS_DGETTEXT)
FIND_LIBRARY(LIBINTL_LIBRARY NAMES intl
PATHS
/usr/local/lib
/usr/lib
)
IF(LIBINTL_LIBRARY)
IF(${CMAKE_SYSTEM_NAME} STREQUAL "OpenBSD")
SET(CMAKE_REQUIRED_LIBRARIES "iconv")
CHECK_LIBRARY_EXISTS(${LIBINTL_LIBRARY} "libintl_dgettext" "" LIBINTL_HAS_DGETTEXT)
ELSE(${CMAKE_SYSTEM_NAME} STREQUAL "OpenBSD")
CHECK_LIBRARY_EXISTS(${LIBINTL_LIBRARY} "dgettext" "" LIBINTL_HAS_DGETTEXT)
ENDIF(${CMAKE_SYSTEM_NAME} STREQUAL "OpenBSD")
IF(LIBINTL_HAS_DGETTEXT)
SET(GETTEXT_FOUND TRUE)
ENDIF(LIBINTL_HAS_DGETTEXT)
ENDIF(LIBINTL_LIBRARY)
ENDIF(LIBC_HAS_DGETTEXT)
ENDIF(HAVE_LIBINTL_H)
-71
View File
@@ -1,71 +0,0 @@
# Copyright (c) 2003-2010 by 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
# the Free Software Foundation; either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
# - Find GnuTLS
# This module finds if libgnutls is installed and determines where
# the include files and libraries are.
#
# This code sets the following variables:
#
# GNUTLS_INCLUDE_PATH = path to where <gnutls/gnutls.h> can be found
# GNUTLS_LIBRARY = path to where libgnutls.so* can be found
# GNUTLS_CFLAGS = cflags to use to compile
# GNUTLS_LDFLAGS = ldflags to use to compile
IF(GNUTLS_INCLUDE_PATH AND GNUTLS_LIBRARY)
# Already in cache, be silent
set(GNUTLS_FIND_QUIETLY TRUE)
ENDIF(GNUTLS_INCLUDE_PATH AND GNUTLS_LIBRARY)
FIND_PROGRAM(PKG_CONFIG_EXECUTABLE NAMES pkg-config)
EXECUTE_PROCESS(COMMAND ${PKG_CONFIG_EXECUTABLE} --variable=prefix gnutls
OUTPUT_VARIABLE GNUTLS_PREFIX
)
EXECUTE_PROCESS(COMMAND ${PKG_CONFIG_EXECUTABLE} --cflags gnutls
OUTPUT_VARIABLE GNUTLS_CFLAGS
)
STRING(REGEX REPLACE "[\r\n]" "" GNUTLS_CFLAGS "${GNUTLS_FLAGS}")
EXECUTE_PROCESS(COMMAND ${PKG_CONFIG_EXECUTABLE} --libs gnutls
OUTPUT_VARIABLE GNUTLS_LDFLAGS
)
STRING(REGEX REPLACE "[\r\n]" "" GNUTLS_LDFLAGS "${GNUTLS_LDFLAGS}")
SET(GNUTLS_POSSIBLE_INCLUDE_PATH "${GNUTLS_PREFIX}/include")
SET(GNUTLS_POSSIBLE_LIB_DIR "${GNUTLS_PREFIX}/lib")
FIND_PATH(GNUTLS_INCLUDE_PATH
NAMES gnutls/gnutls.h
PATHS GNUTLS_POSSIBLE_INCLUDE_PATH
)
FIND_LIBRARY(GNUTLS_LIBRARY
NAMES gnutls
PATHS GNUTLS_POSSIBLE_LIB_DIR
)
IF (GNUTLS_INCLUDE_PATH AND GNUTLS_LIBRARY)
SET(GNUTLS_FOUND TRUE)
ENDIF (GNUTLS_INCLUDE_PATH AND GNUTLS_LIBRARY)
MARK_AS_ADVANCED(
GNUTLS_INCLUDE_PATH
GNUTLS_LIBRARY
GNUTLS_CFLAGS
GNUTLS_LDFLAGS
)
-82
View File
@@ -1,82 +0,0 @@
# Copyright (c) 2003-2010 by 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
# the Free Software Foundation; either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
# - Find Iconv
# This module finds if libiconv is installed and determines where
# the include files and libraries are.
#
# This code sets the following variables:
#
# ICONV_INCLUDE_PATH = path to where <iconv.h> can be found
# ICONV_LIBRARY = path to where libiconv.so* can be found (on non glibc based systems)
#
# ICONV_FOUND = is iconv usable on system?
IF(ICONV_FOUND)
# Already in cache, be silent
set(ICONV_FIND_QUIETLY TRUE)
ENDIF(ICONV_FOUND)
INCLUDE(CheckLibraryExists)
INCLUDE(CheckFunctionExists)
FIND_PATH(ICONV_INCLUDE_PATH
NAMES iconv.h
PATHS /usr/include /usr/local/include /usr/pkg/include
)
FIND_LIBRARY(ICONV_LIBRARY
NAMES iconv
PATHS /lib /usr/lib /usr/local/lib /usr/pkg/lib
)
IF(ICONV_INCLUDE_PATH)
IF(ICONV_LIBRARY)
STRING(REGEX REPLACE "/[^/]*$" "" ICONV_LIB_PATH "${ICONV_LIBRARY}")
CHECK_LIBRARY_EXISTS(iconv libiconv_open ${ICONV_LIB_PATH} ICONV_FOUND)
IF(NOT ICONV_FOUND)
CHECK_LIBRARY_EXISTS(iconv iconv_open ${ICONV_LIB_PATH} ICONV_FOUND)
ENDIF(NOT ICONV_FOUND)
ELSE(ICONV_LIBRARY)
CHECK_FUNCTION_EXISTS(iconv_open ICONV_FOUND)
ENDIF(ICONV_LIBRARY)
ENDIF(ICONV_INCLUDE_PATH)
include(CheckCSourceCompiles)
IF(ICONV_LIBRARY)
SET(CMAKE_REQUIRED_LIBRARIES ${ICONV_LIBRARY})
SET(CMAKE_REQUIRED_INCLUDES ${ICONV_INCLUDE_PATH})
ENDIF(ICONV_LIBRARY)
SET(CMAKE_REQUIRED_FLAGS -Werror)
check_c_source_compiles("
#include <iconv.h>
int main(){
iconv_t conv = 0;
const char* in = 0;
size_t ilen = 0;
char* out = 0;
size_t olen = 0;
iconv(conv, &in, &ilen, &out, &olen);
return 0;
}
" ICONV_2ARG_IS_CONST)
MARK_AS_ADVANCED(
ICONV_INCLUDE_PATH
ICONV_LIBRARY
ICONV_FOUND
)
-84
View File
@@ -1,84 +0,0 @@
# Copyright (c) 2003-2010 by 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
# the Free Software Foundation; either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
# - Find Lua
# This module finds if liblua is installed and determines where
# the include files and libraries are.
#
# This code sets the following variables:
#
# LUA_INCLUDE_PATH = path to where <lua.h> can be found
# LUA_LIBRARY = path to where liblua.so* (and liblualib.so* for lua <can be found (on non glibc based systems)
#
# LUA_FOUND = is liblua usable on system?
IF(LUA_FOUND)
# Already in cache, be silent
SET(LUA_FIND_QUIETLY TRUE)
ENDIF(LUA_FOUND)
FIND_PATH(
LUA51_INCLUDE_PATH lua.h
PATHS /usr/include /usr/local/include /usr/pkg/include
PATH_SUFFIXES lua51 lua5.1 lua-5.1
)
FIND_LIBRARY(
LUA51_LIBRARY NAMES lua51 lua5.1 lua-5.1 lua
PATHS /lib /usr/lib /usr/local/lib /usr/pkg/lib
PATH_SUFFIXES lua51 lua5.1 lua-5.1
)
IF(LUA51_INCLUDE_PATH AND LUA51_LIBRARY)
SET(LUA_INCLUDE_PATH "${LUA51_INCLUDE_PATH}")
SET(LUA_LIBRARY "${LUA51_LIBRARY}")
SET(LUA_VERSION "5.1")
SET(LUA_FOUND TRUE)
ELSE(LUA51_INCLUDE_PATH AND LUA51_LIBRARY)
FIND_PATH(
LUA50_INCLUDE_PATH lua.h
PATHS /usr/include /usr/local/include /usr/pkg/include
PATH_SUFFIXES lua50 lua5.0 lua-5.0 lua
)
FIND_LIBRARY(
LUA50_LIBRARY NAMES lua50 lua5.0 lua-5.0 lua
PATHS /lib /usr/lib /usr/local/lib /usr/pkg/lib
PATH_SUFFIXES lua50 lua5.0 lua-5.0 lua
)
FIND_LIBRARY(
LUALIB50_LIBRARY NAMES lualib50 lualib5.0 lualib-5.0 lualib
PATHS /lib /usr/lib /usr/local/lib /usr/pkg/lib
PATH_SUFFIXES lua50 lua5.0 lua-5.0 lua
)
IF(LUA50_INCLUDE_PATH AND LUA50_LIBRARY AND LUALIB50_LIBRARY)
SET(LUA_INCLUDE_PATH "${LUA50_INCLUDE_PATH}")
SET(LUA_LIBRARY "${LUA50_LIBRARY}")
SET(LUALIB_LIBRARY "${LUALIB50_LIBRARY}")
SET(LUA_VERSION "5.0")
SET(LUA_FOUND TRUE)
ENDIF(LUA50_INCLUDE_PATH AND LUA50_LIBRARY AND LUALIB50_LIBRARY)
ENDIF(LUA51_INCLUDE_PATH AND LUA51_LIBRARY)
MARK_AS_ADVANCED(
LUA_INCLUDE_PATH
LUA_LIBRARY
LUALIB_LIBRARY
# LUA_VERSION
)
-38
View File
@@ -1,38 +0,0 @@
# Copyright (c) 2003-2010 by 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
# the Free Software Foundation; either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
IF(NCURSES_FOUND)
SET(NCURSES_FIND_QUIETLY TRUE)
ENDIF(NCURSES_FOUND)
FIND_PATH(NCURSES_INCLUDE_PATH
NAMES ncurses.h curses.h
PATHS /usr/include /usr/local/include /usr/pkg/include
)
FIND_LIBRARY(NCURSES_LIBRARY
NAMES ncursesw ncurses
PATHS /lib /usr/lib /usr/local/lib /usr/pkg/lib
)
IF (NCURSES_INCLUDE_PATH AND NCURSES_LIBRARY)
SET(NCURSES_FOUND TRUE)
ENDIF(NCURSES_INCLUDE_PATH AND NCURSES_LIBRARY)
MARK_AS_ADVANCED(
NCURSES_INCLUDE_PATH
NCURSES_LIBRARY
)
-82
View File
@@ -1,82 +0,0 @@
# Copyright (c) 2003-2010 by 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
# the Free Software Foundation; either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
# - Find Perl libraries
# This module finds if Perl is installed and determines where the include files
# and libraries are. It also determines what the name of the library is. This
# code sets the following variables:
#
# PERL_EXECUTABLE = full path to the perl binary
# PERL_INCLUDE_PATH = path to where perl.h can be found
# PERL_LIBRARY = path to where libperl.so* can be found
# PERL_CFLAGS = perl compiler options for compiling
# PERL_LFLAGS = perl compiler options for linking
IF(PERL_FOUND)
# Already in cache, be silent
SET(PERL_FIND_QUIETLY TRUE)
ENDIF(PERL_FOUND)
FIND_PROGRAM(PERL_EXECUTABLE
NAMES perl perl5
PATHS /usr/bin /usr/local/bin /usr/pkg/bin
)
IF(PERL_EXECUTABLE)
EXECUTE_PROCESS(
COMMAND ${PERL_EXECUTABLE} -MConfig -e "print \"\$Config{archlibexp}/CORE\""
OUTPUT_VARIABLE PERL_INTERNAL_DIR
)
EXECUTE_PROCESS(
COMMAND ${PERL_EXECUTABLE} -MExtUtils::Embed -e ccopts
OUTPUT_VARIABLE PERL_CFLAGS
)
EXECUTE_PROCESS(
COMMAND ${PERL_EXECUTABLE} -MExtUtils::Embed -e ldopts
OUTPUT_VARIABLE PERL_LFLAGS
)
# remove the new lines from the output by replacing them with empty strings
STRING(REPLACE "\n" "" PERL_INTERNAL_DIR "${PERL_INTERNAL_DIR}")
STRING(REPLACE "\n" "" PERL_CFLAGS "${PERL_CFLAGS}")
STRING(REPLACE "\n" "" PERL_LFLAGS "${PERL_LFLAGS}")
FIND_PATH(PERL_INCLUDE_PATH
NAMES perl.h
PATHS ${PERL_INTERNAL_DIR}
)
FIND_LIBRARY(PERL_LIBRARY
NAMES perl
PATHS /usr/lib /usr/local/lib /usr/pkg/lib ${PERL_INTERNAL_DIR}
)
IF(PERL_LIBRARY AND PERL_INCLUDE_PATH)
SET(PERL_FOUND TRUE)
ENDIF(PERL_LIBRARY AND PERL_INCLUDE_PATH)
MARK_AS_ADVANCED(
PERL_EXECUTABLE
PERL_INCLUDE_PATH
PERL_LIBRARY
PERL_CFLAGS
PERL_LFLAGS
)
ENDIF(PERL_EXECUTABLE)
-360
View File
@@ -1,360 +0,0 @@
# - a pkg-config module for CMake
#
# Usage:
# pkg_check_modules(<PREFIX> [REQUIRED] <MODULE> [<MODULE>]*)
# checks for all the given modules
#
# pkg_search_module(<PREFIX> [REQUIRED] <MODULE> [<MODULE>]*)
# checks for given modules and uses the first working one
#
# When the 'REQUIRED' argument was set, macros will fail with an error
# when module(s) could not be found
#
# It sets the following variables:
# PKG_CONFIG_FOUND ... true iff pkg-config works on the system
# PKG_CONFIG_EXECUTABLE ... pathname of the pkg-config program
# <PREFIX>_FOUND ... set to 1 iff module(s) exist
#
# For the following variables two sets of values exist; first one is the
# common one and has the given PREFIX. The second set contains flags
# which are given out when pkgconfig was called with the '--static'
# option.
# <XPREFIX>_LIBRARIES ... only the libraries (w/o the '-l')
# <XPREFIX>_LIBRARY_DIRS ... the paths of the libraries (w/o the '-L')
# <XPREFIX>_LDFLAGS ... all required linker flags
# <XPREFIX>_LDFLAGS_OTHER ... all other linker flags
# <XPREFIX>_INCLUDE_DIRS ... the '-I' preprocessor flags (w/o the '-I')
# <XPREFIX>_CFLAGS ... all required cflags
# <XPREFIX>_CFLAGS_OTHER ... the other compiler flags
#
# <XPREFIX> = <PREFIX> for common case
# <XPREFIX> = <PREFIX>_STATIC for static linking
#
# There are some special variables whose prefix depends on the count
# of given modules. When there is only one module, <PREFIX> stays
# unchanged. When there are multiple modules, the prefix will be
# changed to <PREFIX>_<MODNAME>:
# <XPREFIX>_VERSION ... version of the module
# <XPREFIX>_PREFIX ... prefix-directory of the module
# <XPREFIX>_INCLUDEDIR ... include-dir of the module
# <XPREFIX>_LIBDIR ... lib-dir of the module
#
# <XPREFIX> = <PREFIX> when |MODULES| == 1, else
# <XPREFIX> = <PREFIX>_<MODNAME>
#
# A <MODULE> parameter can have the following formats:
# {MODNAME} ... matches any version
# {MODNAME}>={VERSION} ... at least version <VERSION> is required
# {MODNAME}={VERSION} ... exactly version <VERSION> is required
# {MODNAME}<={VERSION} ... modules must not be newer than <VERSION>
#
# Examples
# pkg_check_modules (GLIB2 glib-2.0)
#
# pkg_check_modules (GLIB2 glib-2.0>=2.10)
# requires at least version 2.10 of glib2 and defines e.g.
# GLIB2_VERSION=2.10.3
#
# pkg_check_modules (FOO glib-2.0>=2.10 gtk+-2.0)
# requires both glib2 and gtk2, and defines e.g.
# FOO_glib-2.0_VERSION=2.10.3
# FOO_gtk+-2.0_VERSION=2.8.20
#
# pkg_check_modules (XRENDER REQUIRED xrender)
# defines e.g.:
# XRENDER_LIBRARIES=Xrender;X11
# XRENDER_STATIC_LIBRARIES=Xrender;X11;pthread;Xau;Xdmcp
#
# pkg_search_module (BAR libxml-2.0 libxml2 libxml>=2)
# Copyright (C) 2006 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
#
# Redistribution and use, with or without modification, are permitted
# provided that the following conditions are met:
#
# 1. Redistributions must retain the above copyright notice, this
# list of conditions and the following disclaimer.
# 2. The name of the author may not be used to endorse or promote
# products derived from this software without specific prior
# written permission.
#
# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
# DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
# GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
# IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
### Common stuff ####
set(PKG_CONFIG_VERSION 1)
set(PKG_CONFIG_FOUND 0)
find_program(PKG_CONFIG_EXECUTABLE NAMES pkg-config DOC "pkg-config executable")
mark_as_advanced(PKG_CONFIG_EXECUTABLE)
if(PKG_CONFIG_EXECUTABLE)
set(PKG_CONFIG_FOUND 1)
endif(PKG_CONFIG_EXECUTABLE)
# Unsets the given variables
macro(_pkgconfig_unset var)
set(${var} "" CACHE INTERNAL "")
endmacro(_pkgconfig_unset)
macro(_pkgconfig_set var value)
set(${var} ${value} CACHE INTERNAL "")
endmacro(_pkgconfig_set)
# Invokes pkgconfig, cleans up the result and sets variables
macro(_pkgconfig_invoke _pkglist _prefix _varname _regexp)
set(_pkgconfig_invoke_result)
execute_process(
COMMAND ${PKG_CONFIG_EXECUTABLE} ${ARGN} ${_pkglist}
OUTPUT_VARIABLE _pkgconfig_invoke_result
RESULT_VARIABLE _pkgconfig_failed)
if (_pkgconfig_failed)
set(_pkgconfig_${_varname} "")
_pkgconfig_unset(${_prefix}_${_varname})
else(_pkgconfig_failed)
string(REGEX REPLACE "[\r\n]" " " _pkgconfig_invoke_result "${_pkgconfig_invoke_result}")
string(REGEX REPLACE " +$" "" _pkgconfig_invoke_result "${_pkgconfig_invoke_result}")
if (NOT ${_regexp} STREQUAL "")
string(REGEX REPLACE "${_regexp}" " " _pkgconfig_invoke_result "${_pkgconfig_invoke_result}")
endif(NOT ${_regexp} STREQUAL "")
separate_arguments(_pkgconfig_invoke_result)
#message(STATUS " ${_varname} ... ${_pkgconfig_invoke_result}")
set(_pkgconfig_${_varname} ${_pkgconfig_invoke_result})
_pkgconfig_set(${_prefix}_${_varname} "${_pkgconfig_invoke_result}")
endif(_pkgconfig_failed)
endmacro(_pkgconfig_invoke)
# Invokes pkgconfig two times; once without '--static' and once with
# '--static'
macro(_pkgconfig_invoke_dyn _pkglist _prefix _varname cleanup_regexp)
_pkgconfig_invoke("${_pkglist}" ${_prefix} ${_varname} "${cleanup_regexp}" ${ARGN})
_pkgconfig_invoke("${_pkglist}" ${_prefix} STATIC_${_varname} "${cleanup_regexp}" --static ${ARGN})
endmacro(_pkgconfig_invoke_dyn)
# Splits given arguments into options and a package list
macro(_pkgconfig_parse_options _result _is_req)
set(${_is_req} 0)
foreach(_pkg ${ARGN})
if (_pkg STREQUAL "REQUIRED")
set(${_is_req} 1)
endif (_pkg STREQUAL "REQUIRED")
endforeach(_pkg ${ARGN})
set(${_result} ${ARGN})
list(REMOVE_ITEM ${_result} "REQUIRED")
endmacro(_pkgconfig_parse_options)
###
macro(_pkg_check_modules_internal _is_required _is_silent _prefix)
_pkgconfig_unset(${_prefix}_FOUND)
_pkgconfig_unset(${_prefix}_VERSION)
_pkgconfig_unset(${_prefix}_PREFIX)
_pkgconfig_unset(${_prefix}_INCLUDEDIR)
_pkgconfig_unset(${_prefix}_LIBDIR)
_pkgconfig_unset(${_prefix}_LIBS)
_pkgconfig_unset(${_prefix}_LIBS_L)
_pkgconfig_unset(${_prefix}_LIBS_PATHS)
_pkgconfig_unset(${_prefix}_LIBS_OTHER)
_pkgconfig_unset(${_prefix}_CFLAGS)
_pkgconfig_unset(${_prefix}_CFLAGS_I)
_pkgconfig_unset(${_prefix}_CFLAGS_OTHER)
_pkgconfig_unset(${_prefix}_STATIC_LIBDIR)
_pkgconfig_unset(${_prefix}_STATIC_LIBS)
_pkgconfig_unset(${_prefix}_STATIC_LIBS_L)
_pkgconfig_unset(${_prefix}_STATIC_LIBS_PATHS)
_pkgconfig_unset(${_prefix}_STATIC_LIBS_OTHER)
_pkgconfig_unset(${_prefix}_STATIC_CFLAGS)
_pkgconfig_unset(${_prefix}_STATIC_CFLAGS_I)
_pkgconfig_unset(${_prefix}_STATIC_CFLAGS_OTHER)
# create a better addressable variable of the modules and calculate its size
set(_pkg_check_modules_list ${ARGN})
list(LENGTH _pkg_check_modules_list _pkg_check_modules_cnt)
if(PKG_CONFIG_EXECUTABLE)
# give out status message telling checked module
if (NOT ${_is_silent})
if (_pkg_check_modules_cnt EQUAL 1)
message(STATUS "checking for module '${_pkg_check_modules_list}'")
else(_pkg_check_modules_cnt EQUAL 1)
message(STATUS "checking for modules '${_pkg_check_modules_list}'")
endif(_pkg_check_modules_cnt EQUAL 1)
endif(NOT ${_is_silent})
set(_pkg_check_modules_packages)
set(_pkg_check_modules_failed)
# iterate through module list and check whether they exist and match the required version
foreach (_pkg_check_modules_pkg ${_pkg_check_modules_list})
set(_pkg_check_modules_exist_query)
# check whether version is given
if (_pkg_check_modules_pkg MATCHES ".*(>=|=|<=).*")
string(REGEX REPLACE "(.*[^><])(>=|=|<=)(.*)" "\\1" _pkg_check_modules_pkg_name "${_pkg_check_modules_pkg}")
string(REGEX REPLACE "(.*[^><])(>=|=|<=)(.*)" "\\2" _pkg_check_modules_pkg_op "${_pkg_check_modules_pkg}")
string(REGEX REPLACE "(.*[^><])(>=|=|<=)(.*)" "\\3" _pkg_check_modules_pkg_ver "${_pkg_check_modules_pkg}")
else(_pkg_check_modules_pkg MATCHES ".*(>=|=|<=).*")
set(_pkg_check_modules_pkg_name "${_pkg_check_modules_pkg}")
set(_pkg_check_modules_pkg_op)
set(_pkg_check_modules_pkg_ver)
endif(_pkg_check_modules_pkg MATCHES ".*(>=|=|<=).*")
# handle the operands
if (_pkg_check_modules_pkg_op STREQUAL ">=")
list(APPEND _pkg_check_modules_exist_query --atleast-version)
endif(_pkg_check_modules_pkg_op STREQUAL ">=")
if (_pkg_check_modules_pkg_op STREQUAL "=")
list(APPEND _pkg_check_modules_exist_query --exact-version)
endif(_pkg_check_modules_pkg_op STREQUAL "=")
if (_pkg_check_modules_pkg_op STREQUAL "<=")
list(APPEND _pkg_check_modules_exist_query --max-version)
endif(_pkg_check_modules_pkg_op STREQUAL "<=")
# create the final query which is of the format:
# * --atleast-version <version> <pkg-name>
# * --exact-version <version> <pkg-name>
# * --max-version <version> <pkg-name>
# * --exists <pkg-name>
if (_pkg_check_modules_pkg_op)
list(APPEND _pkg_check_modules_exist_query "${_pkg_check_modules_pkg_ver}")
else(_pkg_check_modules_pkg_op)
list(APPEND _pkg_check_modules_exist_query --exists)
endif(_pkg_check_modules_pkg_op)
_pkgconfig_unset(${_prefix}_${_pkg_check_modules_pkg_name}_VERSION)
_pkgconfig_unset(${_prefix}_${_pkg_check_modules_pkg_name}_PREFIX)
_pkgconfig_unset(${_prefix}_${_pkg_check_modules_pkg_name}_INCLUDEDIR)
_pkgconfig_unset(${_prefix}_${_pkg_check_modules_pkg_name}_LIBDIR)
list(APPEND _pkg_check_modules_exist_query "${_pkg_check_modules_pkg_name}")
list(APPEND _pkg_check_modules_packages "${_pkg_check_modules_pkg_name}")
# execute the query
execute_process(
COMMAND ${PKG_CONFIG_EXECUTABLE} ${_pkg_check_modules_exist_query}
RESULT_VARIABLE _pkgconfig_retval)
# evaluate result and tell failures
if (_pkgconfig_retval)
if(NOT ${_is_silent})
message(STATUS " package '${_pkg_check_modules_pkg}' not found")
endif(NOT ${_is_silent})
set(_pkg_check_modules_failed 1)
endif(_pkgconfig_retval)
endforeach(_pkg_check_modules_pkg)
if(_pkg_check_modules_failed)
# fail when requested
if (${_is_required})
message(SEND_ERROR "A required package was not found")
endif (${_is_required})
else(_pkg_check_modules_failed)
# when we are here, we checked whether requested modules
# exist. Now, go through them and set variables
_pkgconfig_set(${_prefix}_FOUND 1)
list(LENGTH _pkg_check_modules_packages pkg_count)
# iterate through all modules again and set individual variables
foreach (_pkg_check_modules_pkg ${_pkg_check_modules_packages})
# handle case when there is only one package required
if (pkg_count EQUAL 1)
set(_pkg_check_prefix "${_prefix}")
else(pkg_count EQUAL 1)
set(_pkg_check_prefix "${_prefix}_${_pkg_check_modules_pkg}")
endif(pkg_count EQUAL 1)
_pkgconfig_invoke(${_pkg_check_modules_pkg} "${_pkg_check_prefix}" VERSION "" --modversion )
_pkgconfig_invoke(${_pkg_check_modules_pkg} "${_pkg_check_prefix}" PREFIX "" --variable=prefix )
_pkgconfig_invoke(${_pkg_check_modules_pkg} "${_pkg_check_prefix}" INCLUDEDIR "" --variable=includedir )
_pkgconfig_invoke(${_pkg_check_modules_pkg} "${_pkg_check_prefix}" LIBDIR "" --variable=libdir )
message(STATUS " found ${_pkg_check_modules_pkg}, version ${_pkgconfig_VERSION}")
endforeach(_pkg_check_modules_pkg)
# set variables which are combined for multiple modules
_pkgconfig_invoke_dyn("${_pkg_check_modules_packages}" "${_prefix}" LIBRARIES "(^| )-l" --libs-only-l )
_pkgconfig_invoke_dyn("${_pkg_check_modules_packages}" "${_prefix}" LIBRARY_DIRS "(^| )-L" --libs-only-L )
_pkgconfig_invoke_dyn("${_pkg_check_modules_packages}" "${_prefix}" LDFLAGS "" --libs )
_pkgconfig_invoke_dyn("${_pkg_check_modules_packages}" "${_prefix}" LDFLAGS_OTHER "" --libs-only-other )
_pkgconfig_invoke_dyn("${_pkg_check_modules_packages}" "${_prefix}" INCLUDE_DIRS "(^| )-I" --cflags-only-I )
_pkgconfig_invoke_dyn("${_pkg_check_modules_packages}" "${_prefix}" CFLAGS "" --cflags )
_pkgconfig_invoke_dyn("${_pkg_check_modules_packages}" "${_prefix}" CFLAGS_OTHER "" --cflags-only-other )
endif(_pkg_check_modules_failed)
else(PKG_CONFIG_EXECUTABLE)
if (${_is_required})
message(SEND_ERROR "pkg-config tool not found")
endif (${_is_required})
endif(PKG_CONFIG_EXECUTABLE)
endmacro(_pkg_check_modules_internal)
###
### User visible macros start here
###
###
macro(pkg_check_modules _prefix _module0)
# check cached value
if (NOT DEFINED __pkg_config_checked_${_prefix} OR __pkg_config_checked_${_prefix} LESS ${PKG_CONFIG_VERSION})
_pkgconfig_parse_options (_pkg_modules _pkg_is_required "${_module0}" ${ARGN})
_pkg_check_modules_internal("${_pkg_is_required}" 0 "${_prefix}" ${_pkg_modules})
_pkgconfig_set(__pkg_config_checked_${_prefix} ${PKG_CONFIG_VERSION})
endif(NOT DEFINED __pkg_config_checked_${_prefix} OR __pkg_config_checked_${_prefix} LESS ${PKG_CONFIG_VERSION})
endmacro(pkg_check_modules)
###
macro(pkg_search_module _prefix _module0)
# check cached value
if (NOT DEFINED __pkg_config_checked_${_prefix} OR __pkg_config_checked_${_prefix} LESS ${PKG_CONFIG_VERSION} OR NOT ${_prefix}_FOUND)
set(_pkg_modules_found 0)
_pkgconfig_parse_options(_pkg_modules_alt _pkg_is_required "${_module0}" ${ARGN})
message(STATUS "checking for one of the modules '${_pkg_modules_alt}'")
# iterate through all modules and stop at the first working one.
foreach(_pkg_alt ${_pkg_modules_alt})
if(NOT _pkg_modules_found)
_pkg_check_modules_internal(0 1 "${_prefix}" "${_pkg_alt}")
endif(NOT _pkg_modules_found)
if (${_prefix}_FOUND)
set(_pkg_modules_found 1)
endif(${_prefix}_FOUND)
endforeach(_pkg_alt)
if (NOT ${_prefix}_FOUND)
if(${_pkg_is_required})
message(SEND_ERROR "None of the required '${_pkg_modules_alt}' found")
endif(${_pkg_is_required})
endif(NOT ${_prefix}_FOUND)
_pkgconfig_set(__pkg_config_checked_${_prefix} ${PKG_CONFIG_VERSION})
endif(NOT DEFINED __pkg_config_checked_${_prefix} OR __pkg_config_checked_${_prefix} LESS ${PKG_CONFIG_VERSION} OR NOT ${_prefix}_FOUND)
endmacro(pkg_search_module)
### Local Variables:
### mode: cmake
### End:
-79
View File
@@ -1,79 +0,0 @@
# Copyright (c) 2003-2010 by 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
# the Free Software Foundation; either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
# - Find Python
# This module finds if Python is installed and determines where the include files
# and libraries are. It also determines what the name of the library is. This
# code sets the following variables:
#
# PYTHON_EXECUTABLE = full path to the python binary
# PYTHON_INCLUDE_PATH = path to where python.h can be found
# PYTHON_LIBRARY = path to where libpython.so* can be found
# PYTHON_LFLAGS = python compiler options for linking
IF(PYTHON_FOUND)
# Already in cache, be silent
SET(PYTHON_FIND_QUIETLY TRUE)
ENDIF(PYTHON_FOUND)
FIND_PROGRAM(PYTHON_EXECUTABLE
NAMES python python2.6 python2.5 python2.4 python2.3 python2.2
PATHS /usr/bin /usr/local/bin /usr/pkg/bin
)
IF(PYTHON_EXECUTABLE)
EXECUTE_PROCESS(
COMMAND ${PYTHON_EXECUTABLE} -c "from distutils.sysconfig import *; print get_config_var('CONFINCLUDEPY')"
OUTPUT_VARIABLE PYTHON_INC_DIR
)
EXECUTE_PROCESS(
COMMAND ${PYTHON_EXECUTABLE} -c "from distutils.sysconfig import *; print get_config_var('LIBPL')"
OUTPUT_VARIABLE PYTHON_POSSIBLE_LIB_PATH
)
EXECUTE_PROCESS(
COMMAND ${PYTHON_EXECUTABLE} -c "from distutils.sysconfig import *; print get_config_var('LINKFORSHARED')"
OUTPUT_VARIABLE PYTHON_LFLAGS
)
# remove the new lines from the output by replacing them with empty strings
STRING(REPLACE "\n" "" PYTHON_INC_DIR "${PYTHON_INC_DIR}")
STRING(REPLACE "\n" "" PYTHON_POSSIBLE_LIB_PATH "${PYTHON_POSSIBLE_LIB_PATH}")
STRING(REPLACE "\n" "" PYTHON_LFLAGS "${PYTHON_LFLAGS}")
FIND_PATH(PYTHON_INCLUDE_PATH
NAMES Python.h
PATHS ${PYTHON_INC_DIR}
)
FIND_LIBRARY(PYTHON_LIBRARY
NAMES python python2.6 python2.5 python2.4 python2.3 python2.2
PATHS ${PYTHON_POSSIBLE_LIB_PATH}
)
IF(PYTHON_LIBRARY AND PYTHON_INCLUDE_PATH)
SET(PYTHON_FOUND TRUE)
ENDIF(PYTHON_LIBRARY AND PYTHON_INCLUDE_PATH)
MARK_AS_ADVANCED(
PYTHON_EXECUTABLE
PYTHON_INCLUDE_PATH
PYTHON_LIBRARY
PYTHON_LFLAGS
)
ENDIF(PYTHON_EXECUTABLE)
-96
View File
@@ -1,96 +0,0 @@
# Copyright (c) 2003-2010 by 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
# the Free Software Foundation; either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
# - Find Ruby
# This module finds if Ruby is installed and determines where the include files
# and libraries are. It also determines what the name of the library is. This
# code sets the following variables:
#
# RUBY_EXECUTABLE = full path to the ruby binary
# RUBY_INCLUDE_PATH = path to where ruby.h can be found
# RUBY_LIBRARY = path to where libruby.so* can be found
IF(RUBY_FOUND)
# Already in cache, be silent
SET(RUBY_FIND_QUIETLY TRUE)
ENDIF(RUBY_FOUND)
FIND_PROGRAM(RUBY_EXECUTABLE
NAMES ruby ruby1.9 ruby19 ruby1.8 ruby18 ruby1.6 ruby16
PATHS /usr/bin /usr/local/bin /usr/pkg/bin
)
IF(RUBY_EXECUTABLE)
EXECUTE_PROCESS(
COMMAND ${RUBY_EXECUTABLE} -r rbconfig -e "puts Config::CONFIG['rubyhdrdir'] || Config::CONFIG['archdir']"
OUTPUT_VARIABLE RUBY_ARCH_DIR
)
EXECUTE_PROCESS(
COMMAND ${RUBY_EXECUTABLE} -r rbconfig -e "puts Config::CONFIG['arch']"
OUTPUT_VARIABLE RUBY_ARCH
)
EXECUTE_PROCESS(
COMMAND ${RUBY_EXECUTABLE} -r rbconfig -e "puts Config::CONFIG['libdir']"
OUTPUT_VARIABLE RUBY_POSSIBLE_LIB_PATH
)
EXECUTE_PROCESS(
COMMAND ${RUBY_EXECUTABLE} -r rbconfig -e "puts Config::CONFIG['rubylibdir']"
OUTPUT_VARIABLE RUBY_RUBY_LIB_PATH
)
EXECUTE_PROCESS(
COMMAND ${RUBY_EXECUTABLE} -r rbconfig -e "puts Config::CONFIG['ruby_version']"
OUTPUT_VARIABLE RUBY_VERSION
)
# remove the new lines from the output by replacing them with empty strings
STRING(REPLACE "\n" "" RUBY_ARCH_DIR "${RUBY_ARCH_DIR}")
STRING(REPLACE "\n" "" RUBY_POSSIBLE_LIB_PATH "${RUBY_POSSIBLE_LIB_PATH}")
STRING(REPLACE "\n" "" RUBY_RUBY_LIB_PATH "${RUBY_RUBY_LIB_PATH}")
STRING(REPLACE "\n" "" RUBY_ARCH "${RUBY_ARCH}")
STRING(REPLACE "\n" "" RUBY_VERSION "${RUBY_VERSION}")
FIND_PATH(RUBY_INCLUDE_PATH
NAMES ruby.h
PATHS ${RUBY_ARCH_DIR}
)
SET(RUBY_ARCH
"${RUBY_INCLUDE_PATH}/${RUBY_ARCH}")
FIND_LIBRARY(RUBY_LIBRARY
NAMES ruby ruby1.6 ruby16 ruby1.8 ruby18 ruby1.9 ruby19
PATHS ${RUBY_POSSIBLE_LIB_PATH} ${RUBY_RUBY_LIB_PATH}
)
IF(RUBY_LIBRARY AND RUBY_INCLUDE_PATH)
SET(RUBY_FOUND TRUE)
ENDIF(RUBY_LIBRARY AND RUBY_INCLUDE_PATH)
IF(${RUBY_VERSION} STREQUAL "1.9.0")
SET(RUBY_FOUND FALSE)
ENDIF(${RUBY_VERSION} STREQUAL "1.9.0")
MARK_AS_ADVANCED(
RUBY_EXECUTABLE
RUBY_LIBRARY
RUBY_ARCH
RUBY_INCLUDE_PATH
)
ENDIF(RUBY_EXECUTABLE)
-35
View File
@@ -1,35 +0,0 @@
# Copyright (c) 2003-2010 by 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
# the Free Software Foundation; either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
# - Find Source-Highlight
# This module finds if source-highlight is installed.
IF (SOURCEHIGHLIGHT_FOUND)
# Already in cache, be silent
SET(SOURCEHIGHLIGHT_FIND_QUIETLY TRUE)
ENDIF (SOURCEHIGHLIGHT_FOUND)
FIND_PROGRAM(
SOURCEHIGHLIGHT_EXECUTABLE source-highlight
PATHS /bin /usr/bin /usr/local/bin /usr/pkg/bin
)
IF(SOURCEHIGHLIGHT_EXECUTABLE)
SET(SOURCEHIGHLIGHT_FOUND TRUE)
MARK_AS_ADVANCED(
SOURCEHIGHLIGHT_EXECUTABLE
)
ENDIF(SOURCEHIGHLIGHT_EXECUTABLE)
-159
View File
@@ -1,159 +0,0 @@
# - Find Tcl includes and libraries.
# This module finds if Tcl is installed and determines where the
# include files and libraries are. It also determines what the name of
# the library is. This code sets the following variables:
# TCL_FOUND = Tcl was found
# TK_FOUND = Tk was found
# TCLTK_FOUND = Tcl and Tk were found
# TCL_LIBRARY = path to Tcl library (tcl tcl80)
# TCL_INCLUDE_PATH = path to where tcl.h can be found
# TCL_TCLSH = path to tclsh binary (tcl tcl80)
# TK_LIBRARY = path to Tk library (tk tk80 etc)
# TK_INCLUDE_PATH = path to where tk.h can be found
# TK_WISH = full path to the wish executable
#
# In an effort to remove some clutter and clear up some issues for people
# who are not necessarily Tcl/Tk gurus/developpers, some variables were
# moved or removed. Changes compared to CMake 2.4 are:
# - The stub libraries are now found in FindTclStub.cmake
# => they were only useful for people writing Tcl/Tk extensions.
# - TCL_LIBRARY_DEBUG and TK_LIBRARY_DEBUG were removed.
# => these libs are not packaged by default with Tcl/Tk distributions.
# Even when Tcl/Tk is built from source, several flavors of debug libs
# are created and there is no real reason to pick a single one
# specifically (say, amongst tcl84g, tcl84gs, or tcl84sgx).
# Let's leave that choice to the user by allowing him to assign
# TCL_LIBRARY to any Tcl library, debug or not.
# - TK_INTERNAL_PATH was removed.
# => this ended up being only a Win32 variable, and there is a lot of
# confusion regarding the location of this file in an installed Tcl/Tk
# tree anyway (see 8.5 for example). If you need the internal path at
# this point it is safer you ask directly where the *source* tree is
# and dig from there.
IF(TCL_FOUND)
SET(TCL_FIND_QUIETLY TRUE)
ENDIF(TCL_FOUND)
INCLUDE(CMakeFindFrameworks)
INCLUDE(FindTclsh)
GET_FILENAME_COMPONENT(TCL_TCLSH_PATH "${TCL_TCLSH}" PATH)
GET_FILENAME_COMPONENT(TCL_TCLSH_PATH_PARENT "${TCL_TCLSH_PATH}" PATH)
STRING(REGEX REPLACE
"^.*tclsh([0-9]\\.*[0-9]).*$" "\\1" TCL_TCLSH_VERSION "${TCL_TCLSH}")
GET_FILENAME_COMPONENT(TCL_INCLUDE_PATH_PARENT "${TCL_INCLUDE_PATH}" PATH)
GET_FILENAME_COMPONENT(TCL_LIBRARY_PATH "${TCL_LIBRARY}" PATH)
GET_FILENAME_COMPONENT(TCL_LIBRARY_PATH_PARENT "${TCL_LIBRARY_PATH}" PATH)
STRING(REGEX REPLACE
"^.*tcl([0-9]\\.*[0-9]).*$" "\\1" TCL_VERSION "${TCL_LIBRARY}")
SET(TCL_POSSIBLE_LIB_PATHS
"${TCL_INCLUDE_PATH_PARENT}/lib"
"${TCL_LIBRARY_PATH}"
"${TCL_TCLSH_PATH_PARENT}/lib"
/usr/lib
/usr/local/lib
)
IF(WIN32)
GET_FILENAME_COMPONENT(
ActiveTcl_CurrentVersion
"[HKEY_LOCAL_MACHINE\\SOFTWARE\\ActiveState\\ActiveTcl;CurrentVersion]"
NAME)
SET(TCLTK_POSSIBLE_LIB_PATHS ${TCLTK_POSSIBLE_LIB_PATHS}
"[HKEY_LOCAL_MACHINE\\SOFTWARE\\ActiveState\\ActiveTcl\\${ActiveTcl_CurrentVersion}]/lib"
"[HKEY_LOCAL_MACHINE\\SOFTWARE\\Scriptics\\Tcl\\8.6;Root]/lib"
"[HKEY_LOCAL_MACHINE\\SOFTWARE\\Scriptics\\Tcl\\8.5;Root]/lib"
"[HKEY_LOCAL_MACHINE\\SOFTWARE\\Scriptics\\Tcl\\8.4;Root]/lib"
"[HKEY_LOCAL_MACHINE\\SOFTWARE\\Scriptics\\Tcl\\8.3;Root]/lib"
"[HKEY_LOCAL_MACHINE\\SOFTWARE\\Scriptics\\Tcl\\8.2;Root]/lib"
"[HKEY_LOCAL_MACHINE\\SOFTWARE\\Scriptics\\Tcl\\8.0;Root]/lib"
"$ENV{ProgramFiles}/Tcl/Lib"
"C:/Program Files/Tcl/lib"
"C:/Tcl/lib"
)
ENDIF(WIN32)
FIND_LIBRARY(TCL_LIBRARY
NAMES
tcl
tcl${TCL_VERSION} tcl${TCL_TCLSH_VERSION}
tcl86 tcl8.6
tcl85 tcl8.5
tcl84 tcl8.4
tcl83 tcl8.3
tcl82 tcl8.2
tcl80 tcl8.0
PATHS ${TCL_POSSIBLE_LIB_PATHS}
)
CMAKE_FIND_FRAMEWORKS(Tcl)
SET(TCL_FRAMEWORK_INCLUDES)
IF(Tcl_FRAMEWORKS)
IF(NOT TCL_INCLUDE_PATH)
FOREACH(dir ${Tcl_FRAMEWORKS})
SET(TCL_FRAMEWORK_INCLUDES ${TCL_FRAMEWORK_INCLUDES} ${dir}/Headers)
ENDFOREACH(dir)
ENDIF(NOT TCL_INCLUDE_PATH)
ENDIF(Tcl_FRAMEWORKS)
SET(TCL_POSSIBLE_INCLUDE_PATHS
"${TCL_LIBRARY_PATH_PARENT}/include"
"${TCL_INCLUDE_PATH}"
${TCL_FRAMEWORK_INCLUDES}
"${TCL_TCLSH_PATH_PARENT}/include"
/usr/include
/usr/local/include
/usr/include/tcl${TCL_VERSION}
/usr/include/tcl8.6
/usr/include/tcl8.5
/usr/include/tcl8.4
/usr/include/tcl8.3
/usr/include/tcl8.2
/usr/include/tcl8.0
/usr/local/include/tcl${TCL_VERSION}
/usr/local/include/tcl8.6
/usr/local/include/tcl8.5
/usr/local/include/tcl8.4
/usr/local/include/tcl8.3
/usr/local/include/tcl8.2
/usr/local/include/tcl8.0
)
IF(WIN32)
SET(TCLTK_POSSIBLE_INCLUDE_PATHS ${TCLTK_POSSIBLE_INCLUDE_PATHS}
"[HKEY_LOCAL_MACHINE\\SOFTWARE\\ActiveState\\ActiveTcl\\${ActiveTcl_CurrentVersion}]/include"
"[HKEY_LOCAL_MACHINE\\SOFTWARE\\Scriptics\\Tcl\\8.6;Root]/include"
"[HKEY_LOCAL_MACHINE\\SOFTWARE\\Scriptics\\Tcl\\8.5;Root]/include"
"[HKEY_LOCAL_MACHINE\\SOFTWARE\\Scriptics\\Tcl\\8.4;Root]/include"
"[HKEY_LOCAL_MACHINE\\SOFTWARE\\Scriptics\\Tcl\\8.3;Root]/include"
"[HKEY_LOCAL_MACHINE\\SOFTWARE\\Scriptics\\Tcl\\8.2;Root]/include"
"[HKEY_LOCAL_MACHINE\\SOFTWARE\\Scriptics\\Tcl\\8.0;Root]/include"
"$ENV{ProgramFiles}/Tcl/include"
"C:/Program Files/Tcl/include"
"C:/Tcl/include"
)
ENDIF(WIN32)
FIND_PATH(TCL_INCLUDE_PATH
NAMES tcl.h
PATHS ${TCL_POSSIBLE_INCLUDE_PATHS}
)
IF(TCL_LIBRARY AND TCL_INCLUDE_PATH)
SET(TCL_VERSION ${TCL_VERSION})
SET(TCL_LIBARY ${TCL_LIBRARY})
SET(TCL_INCLUDE_PATH ${TCL_INCLUDE_PATH})
SET(TCL_FOUND TRUE)
ENDIF(TCL_LIBRARY AND TCL_INCLUDE_PATH)
MARK_AS_ADVANCED(
TCL_INCLUDE_PATH
TCL_LIBRARY
TCL_VERSION
)
-37
View File
@@ -1,37 +0,0 @@
# Copyright (c) 2003-2010 by 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
# the Free Software Foundation; either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
IF(NOT EXISTS "@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt")
MESSAGE(FATAL_ERROR "Cannot find install manifest: \"@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt\"")
ENDIF(NOT EXISTS "@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt")
FILE(READ "@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt" files)
STRING(REGEX REPLACE "\n" ";" files "${files}")
FOREACH(file ${files})
MESSAGE(STATUS "Uninstalling \"${file}\"")
IF(NOT EXISTS "${file}")
MESSAGE(FATAL_ERROR "File \"${file}\" does not exists.")
ENDIF(NOT EXISTS "${file}")
EXEC_PROGRAM("@CMAKE_COMMAND@" ARGS "-E remove \"${file}\""
OUTPUT_VARIABLE rm_out
RETURN_VARIABLE rm_retval)
IF("${rm_retval}" GREATER 0)
MESSAGE(FATAL_ERROR "Problem when removing \"${file}\"")
ENDIF("${rm_retval}" GREATER 0)
ENDFOREACH(file)
-50
View File
@@ -1,50 +0,0 @@
#!/bin/sh
#
# Copyright (c) 2003-2010 by 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
# the Free Software Foundation; either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
VERSION=@VERSION@
SRCROOT=@CMAKE_SOURCE_DIR@
BUILDDIR=@CMAKE_BINARY_DIR@
PROJECT=@PROJECT_NAME@
TAG=release-$(echo $VERSION | sed -e 's/\./-/g')
EXCLUDE="@DIST_EXCLUDE@"
EXPORT_DIR="${PROJECT}-${VERSION}"
if [ -z $CVSROOT ]; then
echo "The CVSROOT variable must be set"
exit 1
fi
echo "Exporting source tree"
if [ $(echo $VERSION | grep cvs) ]; then
cvs export -r HEAD -d $PROJECT-$VERSION $PROJECT
else
cvs export -r $TAG -d $PROJECT-$VERSION $PROJECT
fi
echo "Removing not needed stuff"
for i in $EXCLUDE ; do
echo " $i"
rm -rf $EXPORT_DIR/$i
done
echo "Generating archive"
tar cjf ${BUILDDIR}/${PROJECT}-${VERSION}.tar.bz2 ${EXPORT_DIR}
echo "Cleaning up"
rm -rf ${EXPORT_DIR}
-31
View File
@@ -1,31 +0,0 @@
#cmakedefine HAVE_ARPA_INET_H
#cmakedefine HAVE_LIBINTL_H
#cmakedefine HAVE_LIMITS_H
#cmakedefine HAVE_LOCALE_H
#cmakedefine HAVE_NETDB_H
#cmakedefine HAVE_NETINET_IN_H
#cmakedefine HAVE_STDLIB_H
#cmakedefine HAVE_STRING_H
#cmakedefine HAVE_SYS_SOCKET_H
#cmakedefine HAVE_SYS_TIME_H
#cmakedefine HAVE_SYS_TYPES_H
#cmakedefine HAVE_UNISTD_H
#cmakedefine HAVE_PWD_H
#cmakedefine HAVE_ERRNO_H
#cmakedefine HAVE_REGEX_H
#cmakedefine HAVE_WCHAR_H
#cmakedefine HAVE_SYS_FILE_H
#cmakedefine HAVE_FLOCK
#cmakedefine HAVE_LANGINFO_CODESET
#cmakedefine HAVE_STRNDUP
#cmakedefine HAVE_BACKTRACE
#cmakedefine ICONV_2ARG_IS_CONST 1
#cmakedefine HAVE_TCL_CREATE_NS
#define PACKAGE_VERSION "@VERSION@"
#define PACKAGE "@PROJECT_NAME@"
#define PACKAGE_NAME "@PROJECT_NAME@"
#define PACKAGE_STRING "@PKG_STRING@"
#define WEECHAT_LIBDIR "@LIBDIR@"
#define WEECHAT_SHAREDIR "@SHAREDIR@"
#define LOCALEDIR "@LOCALEDIR@"
#define _GNU_SOURCE 1
-1108
View File
File diff suppressed because it is too large Load Diff
Vendored
-9
View File
@@ -1,9 +0,0 @@
weechat (0.3.0-1) unstable; urgency=low
This release introduces major changes. Large part of code was
rewritten without keeping compatibility with older versions.
Please refer to the file /usr/share/doc/weechat-core/UPGRADE_0.3
for more informations on upgrade from a version 0.2.x to 0.3.x.
-- Emmanuel Bouthenot <kolter@openics.org> Tue, 15 Sep 2009 20:59:42 +0000
+1 -335
View File
@@ -1,339 +1,5 @@
weechat (0.3.0-1) unstable; urgency=low
* New (final) upstream release.
* Upload to unstable.
* Add doc-base files for documentation.
-- Emmanuel Bouthenot <kolter@openics.org> Tue, 15 Sep 2009 20:58:07 +0000
weechat (0.3.0~rc3-1) experimental; urgency=low
* New (major) upstream release.
- Fix the excessive number of wakeups (Closes: #461945)
* Remove patches (merged upstream).
* Update debian/copyright: add new copyright holder.
* Packaging changes (taking into account future frontends: weechat-gtk,
weechat-qt, etc.):
- Drop weechat-common
- Add weechat-doc (Documentation)
- Add weechat-core (locales files, essential plugins)
- Add weechat-dev (plugins development files)
- Add weechat-dbg (gdb debugging symbols)
* Switch packaging from cdbs to debhelper 7.
* Update packages descriptions.
* Add a lintian-override against manpage line wrapping error.
* Update Standards-Version to 3.8.3.
* Add file UPGRADE_0.3 to doc files.
* Update debian/NEWS about major changes in this release.
-- Emmanuel Bouthenot <kolter@openics.org> Sun, 16 Aug 2009 20:32:01 +0000
weechat (0.2.6.3-1) unstable; urgency=low
* New upstream release
- drop the usage of the deprecated libgnutls-config script to detect
gnutls (Closes: #529912).
-- Emmanuel Bouthenot <kolter@openics.org> Sat, 13 Jun 2009 21:47:56 +0000
weechat (0.2.6.2-1) unstable; urgency=low
* New upstream release
* Add a patch which fix typos in aspell plugin.
* Refresh patch multiple_ip_servers according to the new upstream release.
-- Emmanuel Bouthenot <kolter@openics.org> Sun, 19 Apr 2009 10:23:26 +0000
weechat (0.2.6.1-1) unstable; urgency=low
* New upstream release which includes a fix against a possible remote
Denial of Service (crash) while receiving messages with special chars
(Closes: #519940).
* Refresh patch multiple_ip_servers according to the new upstream release.
* Update Standards-Version to 3.8.1.
-- Emmanuel Bouthenot <kolter@openics.org> Mon, 16 Mar 2009 13:18:29 +0000
weechat (0.2.6-3) unstable; urgency=low
* Add a patch to make weechat try to connect other server IPs
when the first one failed. Thanks to Lionel Elie Mamane for
his patch (Closes: #498610).
* Rename patch 01_perlembed_init_macros to perlembed_init_macros.
* Update debian/control:
- add ${misc:Depends}
- update descriptions
* Update debian/copyright about debian packaging.
* Add Vcs-Browser and Vcs-Git fields in debian/control.
* Add DM-Upload-Allowed field.
-- Emmanuel Bouthenot <kolter@openics.org> Sat, 21 Feb 2009 18:34:08 +0000
weechat (0.2.6-2) unstable; urgency=low
* Setting me as maintainer with previous maintainer agreement.
* Remove Uploaders field.
* Add quilt to Build-Depends.
* Add a patch to fix probable pthread mutex locks on hppa architecture
with perl plugin (Closes: #495080).
* Add a Homepage field.
* Update Standards-Version to 3.8.0.
* Reformat NEWS file to avoid lintian warnings.
* Fix typos in control file.
-- Emmanuel Bouthenot <kolter@openics.org> Sun, 07 Sep 2008 19:39:42 +0000
weechat (0.2.6-1) unstable; urgency=low
* New Upstream Version
* Switch to GPLv3 (update copyright)
* Update menu entry
-- Emmanuel Bouthenot <kolter@openics.org> Thu, 06 Sep 2007 20:10:26 +0200
weechat (0.2.5-1) unstable; urgency=low
* New Upstream Version
-- Julien Louis <ptitlouis@sysif.net> Tue, 12 Jun 2007 19:42:15 +0200
weechat (0.2.4-2) unstable; urgency=low
* Backport iso-2022-jp patch from upstream CVS (Closes: #421833).
* Set myself as Maintainer with previous Maintainer agreement.
-- Julien Louis <ptitlouis@sysif.net> Thu, 03 May 2007 21:15:59 +0200
weechat (0.2.4-1) unstable; urgency=low
* New upstream release
-- Julien Louis <ptitlouis@sysif.net> Thu, 29 Mar 2007 21:01:46 +0200
weechat (0.2.3-1) unstable; urgency=low
* New upstream release
* Bump lua build-dependency to liblua5.1-0-dev
* Add pkg-config to Build-Depends
* Remove some duplited changelog entries.
* Improve weechat-plugins description
-- Julien Louis <ptitlouis@sysif.net> Fri, 12 Jan 2007 09:01:46 +0100
weechat (0.2.1-1) unstable; urgency=low
* New upstream release
* Overrive lintian menu-icon-missing warning
since the icon is in the weechat-common package.
-- Julien Louis <ptitlouis@sysif.net> Mon, 2 Oct 2006 15:30:06 +0200
weechat (0.2.0-2) unstable; urgency=low
* Add libaspell-dev to Build-Depends. This enables the aspell plugin built.
-- Julien Louis <ptitlouis@sysif.net> Mon, 25 Sep 2006 23:56:16 +0200
weechat (0.2.0-1) unstable; urgency=low
* New upstream release
* Rebuild against new default python version (Closes: #380985).
-- Julien Louis <ptitlouis@sysif.net> Sat, 19 Aug 2006 17:10:59 +0200
weechat (0.1.9-3) unstable; urgency=low
* Remove gnutls Build-Depends introduced in the previous upload
(closes: #379765).
* Move xsltproc, docbook-xml, docbook-xsl to Build-Depends-Indep.
* Change icon format from png to xpm.
-- Julien Louis <ptitlouis@sysif.net> Tue, 25 Jul 2006 11:53:25 +0200
weechat (0.1.9-2) unstable; urgency=low
* Fix ${datadir} expansion in configure.in which caused some problem when
loading scripts from /usr/share/weechat.
* Add weechat-scripts to weechat-plugins Suggests.
* Apply patch from Andreas Metzler to make weechat binNMUable
(Closes: #379419).
* Build-Depends against libgnutls13-dev | libgnutls-dev.
-- Julien Louis <ptitlouis@sysif.net> Sun, 23 Jul 2006 17:28:34 +0200
weechat (0.1.9-1) unstable; urgency=low
* New upstream release
-- Julien Louis <ptitlouis@sysif.net> Thu, 25 May 2006 07:40:53 +0200
weechat (0.1.8-2) unstable; urgency=low
* Switch to cdbs
* update debhelper compatibility to 5
* update Build-Depends
* update debian/copyright
* Bump Standards-Version, no changes needed
-- Julien Louis <ptitlouis@sysif.net> Fri, 21 Apr 2006 22:39:00 +0200
weechat (0.1.8-1) unstable; urgency=low
* New upstream release
* Add liblualib50-dev and docbook-xml to Build-Depends
-- Julien Louis <ptitlouis@sysif.net> Sat, 18 Mar 2006 11:32:52 +0100
weechat (0.1.7-2) unstable; urgency=low
* force linking against libpthread on GNU/Hurd (Closes: #350487)
-- Julien Louis <ptitlouis@sysif.net> Sun, 5 Feb 2006 18:23:24 +0100
weechat (0.1.7-1) unstable; urgency=low
* New upstream release
-- Julien Louis <ptitlouis@sysif.net> Sat, 14 Jan 2006 14:14:29 +0100
weechat (0.1.6-2) unstable; urgency=low
* Apply path to fix segfault when removing server.
* Move plugins in a separate package
-- Julien Louis <ptitlouis@sysif.net> Tue, 22 Nov 2005 08:33:09 +0100
weechat (0.1.6-1) unstable; urgency=low
* New upstream release
* Add menu entry
* Move libperl5.8 and python2.3 from Depends to Recommends
-- Julien Louis <ptitlouis@sysif.net> Fri, 11 Nov 2005 22:21:08 +0100
weechat (0.1.5-1) unstable; urgency=low
* New upstream release
-- Julien Louis <ptitlouis@sysif.net> Sat, 24 Sep 2005 14:08:55 +0200
weechat (0.1.4-2) unstable; urgency=low
* Add autotools-dev to Build-Depends.
* update autotools stuff automatically to always
have up-to-date config.{guess,sub}
* Update Build-Depends: libgnutls11-dev -> libgnutls-dev
-- Julien Louis <ptitlouis@sysif.net> Mon, 1 Aug 2005 11:46:39 +0200
weechat (0.1.4-1) unstable; urgency=low
* New upstream release.
-- Julien Louis <ptitlouis@sysif.net> Sat, 30 Jul 2005 16:26:55 +0200
weechat (0.1.3-2) unstable; urgency=low
* Update config.{guess,sub} to fix FTBFS on k*BSD (Closes: #316791)
-- Julien Louis <ptitlouis@sysif.net> Fri, 8 Jul 2005 21:30:38 +0200
weechat (0.1.3-1) unstable; urgency=low
* New upstream release.
-- Julien Louis <ptitlouis@sysif.net> Sat, 2 Jul 2005 20:06:29 +0200
weechat (0.1.2-3) unstable; urgency=low
* Apply patch against gui-display.c to fix curses color bug.
* remove dh_install --sourcedir to allow builds on woody.
-- Julien Louis <ptitlouis@sysif.net> Sun, 19 Jun 2005 22:37:11 +0200
weechat (0.1.2-2) unstable; urgency=low
* Patch src/gui/curse/gui-display.c to fix segfault
when config file does not exists (Closes: #310589).
-- Julien Louis <ptitlouis@sysif.net> Tue, 24 May 2005 20:55:02 +0200
weechat (0.1.2-1) unstable; urgency=low
* WeeChat version 0.1.2, see ChangeLog for detail.
-- Sebastien Helleu <flashcode@flashtux.org> Sat, 21 May 2005 08:00:00 +0200
weechat (0.1.1-2) unstable; urgency=low
* debian/control:
- Add myself to uploaders.
- Remove unecessary dependency on weechat-gtk (Closes: #308287).
-- Julien Louis <ptitlouis@sysif.net> Tue, 10 May 2005 22:38:52 +0200
weechat (0.1.1-1) unstable; urgency=low
* WeeChat version 0.1.1, see ChangeLog for detail (closes: #306492)
-- Sebastien Helleu <flashcode@flashtux.org> Sat, 20 Mar 2005 08:00:00 +0200
weechat (0.1.0-1) unstable; urgency=low
* WeeChat version 0.1.0, see ChangeLog for detail.
-- Sebastien Helleu <flashcode@flashtux.org> Sat, 12 Feb 2005 12:00:00 +0200
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.
-- FlashCode <flashcode@flashtux.org> Sat, 30 Oct 2004 11:40:00 +0200
weechat (0.0.7-1) unstable; urgency=low
* WeeChat version 0.0.7, see ChangeLog for detail.
-- FlashCode <flashcode@flashtux.org> Sat, 08 Aug 2004 21:00:00 +0200
weechat (0.0.6-1) unstable; urgency=low
* WeeChat version 0.0.6, see ChangeLog for detail.
-- FlashCode <flashcode@flashtux.org> Sat, 05 Jun 2004 11:30:00 +0200
weechat (0.0.5-1) unstable; urgency=low
* WeeChat version 0.0.5, see ChangeLog for detail.
-- FlashCode <flashcode@flashtux.org> Sat, 07 Feb 2004 20:30:00 +0200
weechat (0.0.4-1) unstable; urgency=low
* WeeChat version 0.0.4, see ChangeLog for detail.
-- FlashCode <flashcode@flashtux.org> Thu, 01 Jan 2004 13:00:00 +0200
weechat (0.0.3-1) unstable; urgency=low
* WeeChat version 0.0.3, see ChangeLog for detail.
-- FlashCode <flashcode@flashtux.org> Mon, 03 Nov 2003 23:15:00 +0200
weechat (0.0.2-1) unstable; urgency=low
* WeeChat version 0.0.2, see ChangeLog for detail.
-- FlashCode <flashcode@flashtux.org> Sun, 05 Oct 2003 12:00:00 +0200
weechat (0.0.1-1) unstable; urgency=low
* First version.
-- FlashCode <flashcode@flashtux.org> Sat, 27 Sep 2003 12:00:00 +0200
-- FlashCode <flashcode@flashtux.org> Sat, 27 Jun 2003 12:00:00 +0200
+1 -1
View File
@@ -1 +1 @@
7
4
+7 -100
View File
@@ -1,107 +1,14 @@
Source: weechat
Section: net
Priority: optional
Maintainer: Emmanuel Bouthenot <kolter@openics.org>
Build-Depends-Indep: asciidoc (>= 8.2), source-highlight
Build-Depends: debhelper (>= 7.0.50), cmake, libncursesw5-dev,
ruby, ruby1.8-dev, libperl-dev, python-dev, libaspell-dev, liblua5.1-0-dev,
tcl-dev, libgnutls-dev, dpkg-dev (>= 1.13.19), pkg-config
Standards-Version: 3.8.3
Homepage: http://weechat.org/
Vcs-Git: git://git.debian.org/users/kolter-guest/weechat.git
Vcs-Browser: http://git.debian.org/git/users/kolter-guest/weechat.git
DM-Upload-Allowed: yes
Maintainer: FlashCode <flashcode@flashtux.org>
Build-Depends: debhelper (>> 4.0.0)
Standards-Version: 3.5.8
Package: weechat
Architecture: all
Depends: ${misc:Depends}, weechat-curses (>= ${source:Version})
Description: Fast, light and extensible chat client
WeeChat (Wee Enhanced Environment for Chat) is a fast and light chat client
for many operating systems. Everything can be done with a keyboard.
It is customizable and extensible with plugins/scripts, and includes:
- nicklist
- smart hotlist
- infobar with highlight notification
- horizontal and vertical split
- double charset support (decode/encode)
- FIFO pipe for remote control
- and much more!
Package: weechat-curses
Architecture: any
Depends: ${misc:Depends}, ${shlibs:Depends}, weechat-core (= ${binary:Version})
Conflicts: weechat-common
Breaks: weechat-scripts (<= 20090221-1)
Recommends: weechat-plugins (= ${binary:Version})
Description: Fast, light and extensible chat client - console client
WeeChat (Wee Enhanced Environment for Chat) is a fast and light chat client
Depends: ${shlibs:Depends}
Description: Fast, light and extensible IRC client
WeeChat (Wee Enhanced Environment for Chat) is a fast and light IRC client
for many operating systems. Everything can be done with a keyboard.
It is customizable and extensible with plugins/scripts, and includes:
- nicklist
- smart hotlist
- infobar with highlight notification
- horizontal and vertical split
- double charset support (decode/encode)
- FIFO pipe for remote control
- and much more!
.
This package provides the console client (ncurses).
Package: weechat-core
Architecture: any
Depends: ${misc:Depends}, ${shlibs:Depends}
Replaces: weechat-common, weechat-plugins (<< 0.3.0)
Suggests: weechat-doc (= ${source:Version})
Description: Fast, light and extensible chat client - core files
WeeChat (Wee Enhanced Environment for Chat) is a fast and light chat client
for many operating systems. Everything can be done with a keyboard.
.
This package provides core plugins and locales files for WeeChat. It
currently ships the following plugins: alias, xfer, irc, charset and
logger. It is useless without weechat-curses.
Package: weechat-plugins
Architecture: any
Depends: ${misc:Depends}, ${shlibs:Depends}, weechat-curses (= ${binary:Version})
Suggests: weechat-scripts (>> 20090221-1)
Description: Fast, light and extensible chat client - plugins
WeeChat (Wee Enhanced Environment for Chat) is a fast and light chat client
for many operating systems. Everything can be done with a keyboard.
.
This package provides some plugins to enhance WeeChat. It currently
ships the following plugins:
- Perl, Python, Ruby, Lua, and Tcl scripting
- Spell checking (thanks to aspell)
- And many others (Fifo, ...)
Package: weechat-doc
Section: doc
Architecture: all
Depends: ${misc:Depends}
Description: Fast, light and extensible chat client - documentation
WeeChat (Wee Enhanced Environment for Chat) is a fast and light chat client
for many operating systems. Everything can be done with a keyboard.
.
This package contains the html documentation for WeeChat.
Package: weechat-dev
Section: devel
Architecture: all
Depends: ${misc:Depends}
Description: Fast, light and extensible chat client - developement headers
WeeChat (Wee Enhanced Environment for Chat) is a fast and light chat client
for many operating systems. Everything can be done with a keyboard.
.
This package contains the headers needed to build plugins.
Package: weechat-dbg
Section: debug
Priority: extra
Architecture: any
Depends: ${misc:Depends}, weechat-curses (= ${binary:Version}) |
weechat-core (= ${binary:Version}), weechat-plugins (= ${binary:Version})
Description: Fast, light and extensible chat client - debugging symbols
WeeChat (Wee Enhanced Environment for Chat) is a fast and light chat client
for many operating systems. Everything can be done with a keyboard.
.
This package contains gdb debugging symbols for the WeeChat packages.
It is customizable and extensible with scripts.
+7 -12
View File
@@ -1,22 +1,17 @@
This package was debianized by FlashCode <flashcode@flashtux.org> on
Sat, 21 May 2005 08:00:00 +0200.
Sat, 27 Sep 2003 10:00:00 +0200.
It was downloaded from http://weechat.org/files/src/
It was downloaded from http://weechat.flashtux.org/download
Upstream Author(s): FlashCode <flashcode@flashtux.org>
Copyright:
Copyright (C) (2003-2010) FlashCode <flashcode@flashtux.org>
Copyright (C) (2005-2010) Emmanuel Bouthenot <kolter@openics.org>
Copyright (C) (2008-2010) Dmitry Kobylin <fnfal@academ.tsc.ru> (tcl plugin)
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 3 of the License, or (at
the Free Software Foundation; either version 2 of the License, or (at
your option) any later version.
On Debian systems, the complete text of the GNU General Public
License, Version 3 can be found in the file
/usr/share/common-licenses/GPL-3
Debian packaging (licensed under the GPLv3):
Copyright(C) 2005-2008, Julien Louis <ptitlouis@sysif.net>
Copyright(C) 2008-2010, Emmanuel Bouthenot <kolter@openics.org>
License, Version 2 can be found in the file
/usr/share/common-licenses/GPL
Vendored
+1
View File
@@ -0,0 +1 @@
usr/bin
Vendored
+9
View File
@@ -0,0 +1,9 @@
AUTHORS
BUGS
ChangeLog
COPYING
FAQ
INSTALL
NEWS
README
TODO
+1
View File
@@ -0,0 +1 @@
weechat_0.0.1-1_i386.deb net optional
+87 -27
View File
@@ -1,37 +1,97 @@
#!/usr/bin/make -f
# Sample debian/rules that uses debhelper.
# GNU copyright 1997 to 1999 by Joey Hess.
# Uncomment this to turn on verbose mode.
#export DH_VERBOSE=1
CFLAGS = -Wall -g
ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS)))
CFLAGS += -O0
else
CFLAGS += -O2
endif
ifeq (,$(findstring nostrip,$(DEB_BUILD_OPTIONS)))
INSTALL_PROGRAM += -s
endif
configure: configure-stamp
configure-stamp:
dh_testdir
# Add here commands to configure the package.
touch configure-stamp
builddir/Makefile:
mkdir -p builddir
cd builddir && \
cmake .. \
-DCMAKE_INSTALL_PREFIX:FILEPATH=/usr \
-DCMAKE_C_FLAGS:STRING="$(CFLAGS)" \
-DCMAKE_LD_FLAGS:STRING="-Wl,-z,defs" \
-DCMAKE_CXX_FLAGS:STRING="$(CXXFLAGS)" \
-DCMAKE_SKIP_RPATH:BOOL=ON \
-DCMAKE_VERBOSE_MAKEFILE:BOOL=ON
build: build-stamp
build-stamp: builddir/Makefile
build-stamp: configure-stamp
dh_testdir
$(MAKE) -C builddir
touch $@
override_dh_auto_configure:
# the package also has autotools buildsys and
# debhelper try to use it but that's not needed
echo
# Add here commands to compile the package.
$(MAKE)
#/usr/bin/docbook-to-man debian/weechat.sgml > weechat.1
override_dh_install:
$(MAKE) -C builddir DESTDIR=$(CURDIR)/debian/tmp install
dh_install
override_dh_strip:
dh_strip --dbg-package=weechat-dbg
touch build-stamp
clean:
rm -rf builddir
dh $@
dh_testdir
dh_testroot
rm -f build-stamp configure-stamp
%:
dh $@
# Add here commands to clean up after the build process.
-$(MAKE) clean
dh_clean
install: build
dh_testdir
dh_testroot
dh_clean -k
dh_installdirs
# Add here commands to install the package into debian/weechat.
$(MAKE) install DESTDIR=$(CURDIR)/debian/weechat
# Build architecture-independent files here.
binary-indep: build install
# We have nothing to do by default.
# Build architecture-dependent files here.
binary-arch: build install
dh_testdir
dh_testroot
dh_installchangelogs
dh_installdocs
dh_installexamples
# dh_install
# dh_installmenu
# dh_installdebconf
# dh_installlogrotate
# dh_installemacsen
# dh_installpam
# dh_installmime
# dh_installinit
# dh_installcron
# dh_installinfo
dh_installman weechat.1
dh_link
dh_strip
dh_compress
dh_fixperms
# dh_perl
# dh_python
# dh_makeshlibs
dh_installdeb
dh_shlibdeps
dh_gencontrol
dh_md5sums
dh_builddeb
binary: binary-indep binary-arch
.PHONY: build clean binary-indep binary-arch binary install configure
-2
View File
@@ -1,2 +0,0 @@
version=2
http://weechat.org/files/src/weechat-(\d.*)\.tar\.bz2
-4
View File
@@ -1,4 +0,0 @@
AUTHORS
NEWS
README
UPGRADE_0.3
-6
View File
@@ -1,6 +0,0 @@
usr/share/locale/
usr/lib/weechat/plugins/alias.so
usr/lib/weechat/plugins/xfer.so
usr/lib/weechat/plugins/irc.so
usr/lib/weechat/plugins/charset.so
usr/lib/weechat/plugins/logger.so
-2
View File
@@ -1,2 +0,0 @@
usr/bin
usr/share/pixmaps
-2
View File
@@ -1,2 +0,0 @@
usr/bin/weechat-curses
debian/weechat.xpm usr/share/pixmaps
-1
View File
@@ -1 +0,0 @@
weechat-curses: manpage-has-errors-from-man usr/share/man/man1/weechat-curses.1.gz 54: warning [p 1, 8.2i]: cannot adjust line
-1
View File
@@ -1 +0,0 @@
doc/weechat-curses.1
-4
View File
@@ -1,4 +0,0 @@
?package(weechat-curses):needs="text" section="Applications/Network/Communication" \
title="weechat-curses" \
icon="/usr/share/pixmaps/weechat.xpm" \
command="/usr/bin/weechat-curses"
-1
View File
@@ -1 +0,0 @@
usr/include/weechat
-2
View File
@@ -1,2 +0,0 @@
usr/include/weechat/*
usr/lib/pkgconfig/*
-13
View File
@@ -1,13 +0,0 @@
Document: weechat-faq-en
Title: WeeChat FAQ (English)
Author: Sebastien Helleu
Abstract: This document answers frequently asked questions
about the WeeChat IRC client (English version).
Section: Network/Communication
Format: text
Files: /usr/share/doc/weechat-doc/weechat_faq.en.txt.gz
Format: HTML
Index: /usr/share/doc/weechat-doc/weechat_faq.en.html
Files: /usr/share/doc/weechat-doc/weechat_faq.en.html
-13
View File
@@ -1,13 +0,0 @@
Document: weechat-faq-fr
Title: WeeChat FAQ (French)
Author: Sebastien Helleu
Abstract: This document answers frequently asked questions
about the WeeChat IRC client (French version).
Section: Network/Communication
Format: text
Files: /usr/share/doc/weechat-doc/weechat_faq.fr.txt.gz
Format: HTML
Index: /usr/share/doc/weechat-doc/weechat_faq.fr.html
Files: /usr/share/doc/weechat-doc/weechat_faq.fr.html
-10
View File
@@ -1,10 +0,0 @@
Document: weechat-faq-pl
Title: WeeChat FAQ (Polish)
Author: Sebastien Helleu
Abstract: This document answers frequently asked questions
about the WeeChat IRC client (Polish version).
Section: Network/Communication
Format: HTML
Index: /usr/share/doc/weechat-doc/weechat_faq.pl.html
Files: /usr/share/doc/weechat-doc/weechat_faq.pl.html
-10
View File
@@ -1,10 +0,0 @@
Document: weechat-plugin-en
Title: WeeChat plugins API (English)
Author: Sebastien Helleu
Abstract: This document describes the API to create plugins
for WeeChat (English version).
Section: Network/Communication
Format: HTML
Index: /usr/share/doc/weechat-doc/weechat_plugin_api.en.html
Files: /usr/share/doc/weechat-doc/weechat_plugin_api.en.html
-10
View File
@@ -1,10 +0,0 @@
Document: weechat-plugin-fr
Title: WeeChat plugins API (French)
Author: Sebastien Helleu
Abstract: This document describes the API to create plugins
for WeeChat (French version).
Section: Network/Communication
Format: HTML
Index: /usr/share/doc/weechat-doc/weechat_plugin_api.fr.html
Files: /usr/share/doc/weechat-doc/weechat_plugin_api.fr.html
-9
View File
@@ -1,9 +0,0 @@
Document: weechat-quickstart-de
Title: WeeChat Quickstart (German)
Author: Sebastien Helleu
Abstract: A short HowTo for new WeeChat users (German version).
Section: Network/Communication
Format: HTML
Index: /usr/share/doc/weechat-doc/weechat_quickstart.de.html
Files: /usr/share/doc/weechat-doc/weechat_quickstart.de.html
-12
View File
@@ -1,12 +0,0 @@
Document: weechat-quickstart-en
Title: WeeChat Quickstart (English)
Author: Sebastien Helleu
Abstract: A short HowTo for new WeeChat users (English version).
Section: Network/Communication
Format: text
Files: /usr/share/doc/weechat-doc/weechat_quickstart.en.txt.gz
Format: HTML
Index: /usr/share/doc/weechat-doc/weechat_quickstart.en.html
Files: /usr/share/doc/weechat-doc/weechat_quickstart.en.html
-12
View File
@@ -1,12 +0,0 @@
Document: weechat-quickstart-fr
Title: WeeChat Quickstart (French)
Author: Sebastien Helleu
Abstract: A short HowTo for new WeeChat users (French version).
Section: Network/Communication
Format: text
Files: /usr/share/doc/weechat-doc/weechat_quickstart.fr.txt.gz
Format: HTML
Index: /usr/share/doc/weechat-doc/weechat_quickstart.fr.html
Files: /usr/share/doc/weechat-doc/weechat_quickstart.fr.html
-9
View File
@@ -1,9 +0,0 @@
Document: weechat-quickstart-pl
Title: WeeChat Quickstart (Polish)
Author: Sebastien Helleu
Abstract: A short HowTo for new WeeChat users (Polish version).
Section: Network/Communication
Format: HTML
Index: /usr/share/doc/weechat-doc/weechat_quickstart.pl.html
Files: /usr/share/doc/weechat-doc/weechat_quickstart.pl.html
-9
View File
@@ -1,9 +0,0 @@
Document: weechat-quickstart-ru
Title: WeeChat Quickstart (Russian)
Author: Sebastien Helleu
Abstract: A short HowTo for new WeeChat users (Russian version).
Section: Network/Communication
Format: HTML
Index: /usr/share/doc/weechat-doc/weechat_quickstart.ru.html
Files: /usr/share/doc/weechat-doc/weechat_quickstart.ru.html
-10
View File
@@ -1,10 +0,0 @@
Document: weechat-scripting-en
Title: WeeChat Scripting Guide (English)
Author: Sebastien Helleu
Abstract: This document describes the API to create scripts
for WeeChat (English version).
Section: Network/Communication
Format: HTML
Index: /usr/share/doc/weechat-doc/weechat_scripting.en.html
Files: /usr/share/doc/weechat-doc/weechat_scripting.en.html
-10
View File
@@ -1,10 +0,0 @@
Document: weechat-scripting-fr
Title: WeeChat Scripting Guide (French)
Author: Sebastien Helleu
Abstract: This document describes the API to create scripts
for WeeChat (French version).
Section: Network/Communication
Format: HTML
Index: /usr/share/doc/weechat-doc/weechat_scripting.fr.html
Files: /usr/share/doc/weechat-doc/weechat_scripting.fr.html
-13
View File
@@ -1,13 +0,0 @@
Document: weechat-tester-en
Title: WeeChat Tester's Guide (English)
Author: Sebastien Helleu
Abstract: This document describes how to test and report
bugs against the WeeChat IRC Client (English version).
Section: Network/Communication
Format: text
Files: /usr/share/doc/weechat-doc/weechat_tester.en.txt.gz
Format: HTML
Index: /usr/share/doc/weechat-doc/weechat_tester.en.html
Files: /usr/share/doc/weechat-doc/weechat_tester.en.html
-13
View File
@@ -1,13 +0,0 @@
Document: weechat-tester-fr
Title: WeeChat Tester's Guide (French)
Author: Sebastien Helleu
Abstract: This document describes how to test and report
bugs against the WeeChat IRC Client (French version).
Section: Network/Communication
Format: text
Files: /usr/share/doc/weechat-doc/weechat_tester.fr.txt.gz
Format: HTML
Index: /usr/share/doc/weechat-doc/weechat_tester.fr.html
Files: /usr/share/doc/weechat-doc/weechat_tester.fr.html
-10
View File
@@ -1,10 +0,0 @@
Document: weechat-tester-pl
Title: WeeChat Tester's Guide (Polish)
Author: Sebastien Helleu
Abstract: This document describes how to test and report
bugs against the WeeChat IRC Client (Polish version).
Section: Network/Communication
Format: HTML
Index: /usr/share/doc/weechat-doc/weechat_tester.pl.html
Files: /usr/share/doc/weechat-doc/weechat_tester.pl.html
-10
View File
@@ -1,10 +0,0 @@
Document: weechat-user-en
Title: WeeChat User's Guide (English)
Author: Sebastien Helleu
Abstract: This manual describes how to use the WeeChat
IRC client (English version).
Section: Network/Communication
Format: HTML
Index: /usr/share/doc/weechat-doc/weechat_user.en.html
Files: /usr/share/doc/weechat-doc/weechat_user.en.html
-10
View File
@@ -1,10 +0,0 @@
Document: weechat-user-fr
Title: WeeChat User's Guide (French)
Author: Sebastien Helleu
Abstract: This manual describes how to use the WeeChat
IRC client (French version).
Section: Network/Communication
Format: HTML
Index: /usr/share/doc/weechat-doc/weechat_user.fr.html
Files: /usr/share/doc/weechat-doc/weechat_user.fr.html
-6
View File
@@ -1,6 +0,0 @@
doc/en/weechat_faq.en.txt
doc/en/weechat_quickstart.en.txt
doc/en/weechat_tester.en.txt
doc/fr/weechat_faq.fr.txt
doc/fr/weechat_quickstart.fr.txt
doc/fr/weechat_tester.fr.txt
-1
View File
@@ -1 +0,0 @@
usr/share/doc/weechat/* usr/share/doc/weechat-doc
-1
View File
@@ -1 +0,0 @@
usr/lib
-7
View File
@@ -1,7 +0,0 @@
usr/lib/weechat/plugins/aspell.so
usr/lib/weechat/plugins/fifo.so
usr/lib/weechat/plugins/perl.so
usr/lib/weechat/plugins/python.so
usr/lib/weechat/plugins/ruby.so
usr/lib/weechat/plugins/lua.so
usr/lib/weechat/plugins/tcl.so
+1
View File
@@ -0,0 +1 @@
shlibs:Depends=libc6 (>= 2.3.2-1), libncurses5 (>= 5.3.20030510-1)
-295
View File
@@ -1,295 +0,0 @@
/* XPM */
static char *weechat[] = {
/* columns rows colors chars-per-pixel */
"32 32 257 2",
" c #000000",
". c #0A0904",
"X c #080813",
"o c #080716",
"O c #110D08",
"+ c #150A15",
"@ c #1A0D1A",
"# c #19150C",
"$ c #151517",
"% c #1F1F32",
"& c #13132C",
"* c #260A26",
"= c #351935",
"- c #271927",
"; c #262608",
": c #322C0C",
"> c #36380B",
", c #353316",
"< c #232516",
"1 c #242224",
"2 c #292935",
"3 c #2D302D",
"4 c #2D3330",
"5 c #3B333B",
"6 c #1D1C4A",
"7 c #110F7B",
"8 c #0E0D65",
"9 c #221F60",
"0 c #282948",
"q c #292855",
"w c #333447",
"e c #383855",
"r c #2A2978",
"t c #302F70",
"y c #353465",
"u c #363574",
"i c #2A286E",
"p c #2E4110",
"a c #39410C",
"s c #3E4C11",
"d c #3F5220",
"f c #394041",
"g c #3E4753",
"h c #493F11",
"j c #4F1050",
"k c #4A0F4B",
"l c #572657",
"z c #4D374D",
"x c #403F6F",
"c c #640964",
"v c #641E64",
"b c #701770",
"n c #790A79",
"m c #683C68",
"M c #623662",
"N c #6B2B6B",
"B c #454A08",
"V c #484C15",
"C c #554B16",
"Z c #58560A",
"A c #595B0B",
"S c #545715",
"D c #4C5712",
"F c #4D5034",
"G c #504F24",
"H c #4E710E",
"J c #4D7C1C",
"K c #5B6713",
"L c #506B11",
"P c #546927",
"I c #506D2E",
"U c #665B14",
"Y c #696C0C",
"T c #68730D",
"R c #6F7010",
"E c #707128",
"W c #4D504D",
"Q c #46456A",
"! c #4C4C7B",
"~ c #434577",
"^ c #554C69",
"/ c #5B5A7D",
"( c #54547A",
") c #535964",
"_ c #567745",
"` c #4D6B57",
"' c #5D6C78",
"] c #587069",
"[ c #6A487C",
"{ c #6D576D",
"} c #645475",
"| c #76557A",
" . c #786678",
".. c #70707D",
"X. c #676768",
"o. c #3F3E82",
"O. c #2D2BAA",
"+. c #3D3BA4",
"@. c #3B39B9",
"#. c #484888",
"$. c #4A4C96",
"%. c #585885",
"&. c #595890",
"*. c #555494",
"=. c #4745A6",
"-. c #4947B5",
";. c #514FBB",
":. c #5A58BB",
">. c #5C5BAF",
",. c #755581",
"<. c #605FB6",
"1. c #6B6883",
"2. c #68679B",
"3. c #7A7497",
"4. c #76698F",
"5. c #6968A6",
"6. c #706FB5",
"7. c #7675BB",
"8. c #6E6DB6",
"9. c #4947C3",
"0. c #5351C2",
"q. c #5D5BC0",
"w. c #6B6ACC",
"e. c #6361C7",
"r. c #7170C6",
"t. c #7877D2",
"y. c #56840C",
"u. c #6A8814",
"i. c #63980B",
"p. c #748614",
"a. c #7F9C0D",
"s. c #749218",
"d. c #698F13",
"f. c #6C852A",
"g. c #798C35",
"h. c #76912B",
"j. c #76B505",
"k. c #70A50F",
"l. c #7EA525",
"z. c #678946",
"x. c #A57A5A",
"c. c #9A1E9A",
"v. c #861B86",
"b. c #912B92",
"n. c #8A298A",
"m. c #A030A0",
"M. c #864886",
"N. c #8F469E",
"B. c #975897",
"V. c #8A788A",
"C. c #936A93",
"Z. c #987599",
"A. c #866892",
"S. c #9470AB",
"D. c #A25FA2",
"F. c #B16FB1",
"G. c #B07FB1",
"H. c #B776B7",
"J. c #807FD0",
"K. c #A37AC2",
"L. c #87880B",
"P. c #888513",
"I. c #869A0A",
"U. c #8B9B14",
"Y. c #94970D",
"T. c #9B9C13",
"R. c #98961A",
"E. c #968D16",
"W. c #929D2F",
"Q. c #82A90B",
"!. c #8CAA06",
"~. c #82B30A",
"^. c #84B706",
"/. c #97A913",
"(. c #96B90A",
"). c #99B914",
"_. c #91AB10",
"`. c #A39A1C",
"'. c #A09A3D",
"]. c #A9AE05",
"[. c #A7AA16",
"{. c #A7B90B",
"}. c #ACB712",
"|. c #BDBA18",
" X c #B7B711",
".X c #B0B726",
"XX c #9A8B4B",
"oX c #9EC008",
"OX c #BCC40D",
"+X c #BCC90E",
"@X c #B1C707",
"#X c #AEC90C",
"$X c #C4AE2A",
"%X c #C4CB11",
"&X c #C8D809",
"*X c #CBD011",
"=X c #D1CF1A",
"-X c #D1D50E",
";X c #D7E803",
":X c #918197",
">X c #858494",
",X c #8987BA",
"<X c #928BBB",
"1X c #9B9BA8",
"2X c #9B98B8",
"3X c #8784A3",
"4X c #A787A8",
"5X c #AE9CAE",
"6X c #AC99B1",
"7X c #B988B9",
"8X c #BB92BC",
"9X c #B598B8",
"0X c #A0A0A7",
"qX c #A6A6B7",
"wX c #8382C6",
"eX c #8382D4",
"rX c #8D8CD4",
"tX c #9C8CC7",
"yX c #908FD9",
"uX c #9493C6",
"iX c #9A99DB",
"pX c #9493D3",
"aX c #A693C8",
"sX c #A09AD5",
"dX c #A8A5C9",
"fX c #A9A6D6",
"gX c #B7A8C7",
"hX c #B7B6DA",
"jX c #B5B1CE",
"kX c #B7B4E2",
"lX c #A9A8E2",
"zX c #C88EC8",
"xX c #C38BC3",
"cX c #C695C6",
"vX c #C2ADC2",
"bX c #C7A6C7",
"nX c #C4B5C4",
"mX c #C6B9D3",
"MX c #DDB9DD",
"NX c #D9B4D9",
"BX c #D3A4D4",
"VX c #C9C5CA",
"CX c #CAC9D7",
"ZX c #D4CBD4",
"AX c #D9C1D9",
"SX c #DACEDA",
"DX c #C4C3E4",
"FX c #CBC9E6",
"GX c #D8D7E6",
"HX c #E7CCE7",
"JX c #E9CFE9",
"KX c #EADBEA",
"LX c #E4DAE4",
"PX c #EDE2ED",
"IX c #EAEAF4",
"UX c #F0E1F0",
"YX c None",
/* pixels */
"YXYXYXYXYXYXYXYXYXSXLXIXUXCX YXYXYXYXVXLXPXPXZX. YXYXYXYXYX",
"YXYXYXYXYXYXYXnXKXUXUXKXJXSXnX YXnXKXPXPXPXKXSXnX YXYXYXYX",
"YXYXYXYXYXYX9XHXJXMX0XvX:X9XSX .HXJXAX5XvX>XvXAX. YXYXYXYX",
"YXYXYXYXYXYXMXMXkXx.. | 4XNXvX NXMXMXV. { 4XNXbX YXYXYX",
"YXYXYXYXYXBXBX8XZ. 4X8X8XZ. { BX8X4X G.7XcXZ. YXYXYX",
"YXYXYXYXLXcXcXC.z zXxX7X) X.G.G.C.z zXcX7X5 5 VX YXYX",
"YXYX1XIXGXBXCXC.+ H.H.F.6XIXIX8X| B.- F.H.8X5X0XCXCX YX",
"YXYX3 GXmX8XmXZ.M M.D.m | VXCXGX4X| B.M.B.D.m gXqX1XCXW YX",
"YXYX CXgXS.jXA.= + = 2XFXqXFXZ.| n.l @ = jX>X..GX$ YX",
"YXYX hXaXA.jX,.= + kXFXDXFX3.{ m l * w hXV.2XdX YX",
"YXYX hXdX,.fX[ v n.j b.kX2XDXhX1.4.v b.m.j S.tX3XkX1. YX",
"YXYX fXdX4.aX^ j v.c.N.fX) kXuX} <X= b c.c.G.tX1.kX% YXYX",
"YXYX <XfXuX<X[ k c c S.uX( fX,X' iXk c n b tX/ 3.uX YXYX",
"YXYX 2.iXrX2./ $ pX2.6.rX,XQ iX2 2 iXQ pX/ YXYX",
"YXYX e rXrX( %.e ( rX( 5.7.wXQ J.y 5.yX( yX& YXYXYX",
"YXYXYX t.eXQ 5.~ 7.7.2.% 2.eX&.2.&. J.6.8.5. YXYXYX",
"YXYXYX r.t.y 8.#.o 8.~ *. x t.r.~ 8. 0 t.! r.0 o $ F YXYXYX",
"YXYXYX <.w.~ >.#.d ] #.0 q w.w.y w.o #.e.$.<.. d I I YX",
"YXYXYX =.e.=.#.g z.I t X q ;.e.u :.y :.o.q.u < J y.d YX",
"YXYXYX y 0.0.r ] _ I 6 o -.0.-.=.0.;.t 0.o , I y.p YX",
"YXYXYXYX 9.9.i ' _ g X + +.9.9.@.;.i +.r y.k.i.y.H ",
"YXYXXXW.Q.] =.@.z.J 4 . V s.E o.@.@.-.' d.z.L ; s j.j.j.i.D ",
"YXXXW.Q.Q.f.) O.l.f.# D Q.u.u.o O.$.g.g.h.^.^.> s.oX~.~.u.s ",
"YX}.oXD a P w 9 ~.f.S T p.p.K ~ ).g q g j.(.. # k.a.K ",
".X#X{. . ; 7 0 _.!.V O I.U.C . oXg.6 8 4 Y.(. a /.).T ",
"+X#X(. 1 # T.{., #X{.C B +XI. I./.{. T #XoXA YX",
"&X+X}.Y P.%X[.P.+X@X. &X@XY Z ;X/.A T.OX}.+X; Y.}.[.B YXYX",
".X*XOX;X;X XZ T.*XL. =X%XP.; ;X%X*XT.> `.|., ].`. X: YXYX",
". Y.].T.A . C C ; $X-Xh P.].R O R : XE.P.O YXYX",
" E U C . YXYX",
"YX YX. # YXYXYX",
"YXYXYXYXYXYXYXYXYXYXYXYXYX YXYXYXYXYXYXYXYXYX YXYXYXYXYX"
};
-33
View File
@@ -1,33 +0,0 @@
# Copyright (c) 2003-2010 by 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
# the Free Software Foundation; either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
IF(NOT DISABLE_DOC)
FIND_PACKAGE(Sourcehighlight)
FIND_PACKAGE(Asciidoc)
IF(ASCIIDOC_FOUND AND SOURCEHIGHLIGHT_FOUND)
ADD_SUBDIRECTORY( en )
ADD_SUBDIRECTORY( fr )
ADD_SUBDIRECTORY( pl )
ADD_SUBDIRECTORY( de )
ADD_SUBDIRECTORY( ru )
ADD_SUBDIRECTORY( ja )
ADD_SUBDIRECTORY( it )
ENDIF(ASCIIDOC_FOUND AND SOURCEHIGHLIGHT_FOUND)
ENDIF(NOT DISABLE_DOC)
INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/weechat-curses.1 DESTINATION ${SHAREDIR}/man/man1)
-21
View File
@@ -1,21 +0,0 @@
# Copyright (c) 2003-2010 by 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
# the Free Software Foundation; either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
SUBDIRS = . en fr pl de ru ja it
man_MANS = weechat-curses.1
EXTRA_DIST = $(man_MANS) CMakeLists.txt
-48
View File
@@ -1,48 +0,0 @@
# Copyright (c) 2003-2010 by 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
# the Free Software Foundation; either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
# FAQ
ADD_CUSTOM_COMMAND(
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/weechat_faq.de.html
COMMAND ${ASCIIDOC_EXECUTABLE} ARGS -a toc -a toc-title='Inhaltsverzeichnis' -a date=`date "+%F"` -a revision="${VERSION}" -n -o ${CMAKE_CURRENT_BINARY_DIR}/weechat_faq.de.html ${CMAKE_CURRENT_SOURCE_DIR}/weechat_faq.de.txt
DEPENDS
${CMAKE_CURRENT_SOURCE_DIR}/weechat_faq.de.txt
COMMENT "Building weechat_faq.de.html"
)
ADD_CUSTOM_TARGET(doc-faq-de ALL DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/weechat_faq.de.html)
INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/weechat_faq.de.html DESTINATION ${SHAREDIR}/doc/${PROJECT_NAME})
# quickstart
ADD_CUSTOM_COMMAND(
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/weechat_quickstart.de.html
COMMAND ${ASCIIDOC_EXECUTABLE} ARGS -a toc -a toc-title='Inhaltsverzeichnis' -a date=`date "+%F"` -a revision="${VERSION}" -n -o ${CMAKE_CURRENT_BINARY_DIR}/weechat_quickstart.de.html ${CMAKE_CURRENT_SOURCE_DIR}/weechat_quickstart.de.txt
DEPENDS
${CMAKE_CURRENT_SOURCE_DIR}/weechat_quickstart.de.txt
COMMENT "Building weechat_quickstart.de.html"
)
ADD_CUSTOM_TARGET(doc-quickstart-de ALL DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/weechat_quickstart.de.html)
INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/weechat_quickstart.de.html DESTINATION ${SHAREDIR}/doc/${PROJECT_NAME})
# tester's guide
ADD_CUSTOM_COMMAND(
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/weechat_tester.de.html
COMMAND ${ASCIIDOC_EXECUTABLE} ARGS -a toc -a toc-title='Inhaltsverzeichnis' -a date=`date "+%F"` -a revision="${VERSION}" -n -o ${CMAKE_CURRENT_BINARY_DIR}/weechat_tester.de.html ${CMAKE_CURRENT_SOURCE_DIR}/weechat_tester.de.txt
DEPENDS
${CMAKE_CURRENT_SOURCE_DIR}/weechat_tester.de.txt
COMMENT "Building weechat_tester.de.html"
)
ADD_CUSTOM_TARGET(doc-tester-de ALL DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/weechat_tester.de.html)
INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/weechat_tester.de.html DESTINATION ${SHAREDIR}/doc/${PROJECT_NAME})
-49
View File
@@ -1,49 +0,0 @@
# Copyright (c) 2003-2010 by 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
# the Free Software Foundation; either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
docdir = $(datadir)/doc/$(PACKAGE)
EXTRA_DIST = CMakeLists.txt \
weechat_faq.de.txt \
weechat_quickstart.de.txt \
weechat_tester.de.txt
all-local: weechat_faq.de.html \
weechat_quickstart.de.html \
weechat_tester.de.html
# FAQ
weechat_faq.de.html: weechat_faq.de.txt
$(ASCIIDOC) -a toc -a toc-title='Inhaltsverzeichnis' -a date=`date "+%F"` -a revision="$(VERSION)" -n -o weechat_faq.de.html weechat_faq.de.txt
# quickstart
weechat_quickstart.de.html: weechat_quickstart.de.txt
$(ASCIIDOC) -a toc -a toc-title='Inhaltsverzeichnis' -a date=`date "+%F"` -a revision="$(VERSION)" -n -o weechat_quickstart.de.html weechat_quickstart.de.txt
# tester's guide
weechat_tester.de.html: weechat_tester.de.txt
$(ASCIIDOC) -a toc -a toc-title='Inhaltsverzeichnis' -a date=`date "+%F"` -a revision="$(VERSION)" -n -o weechat_tester.de.html weechat_tester.de.txt
# install docs
install-data-hook:
$(mkinstalldirs) $(DESTDIR)$(docdir)/
$(INSTALL_DATA) *.html $(DESTDIR)$(docdir)/
# clean
clean-local:
-rm -f *.html
-378
View File
@@ -1,378 +0,0 @@
WeeChat FAQ (Frequently Asked Questions)
========================================
FlashCode <flashcode@flashtux.org>
Allgemein
---------
[[why_choose_weechat]]
Weshalb WeeChat? - X-Chat und Irssi sind sehr gut...
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Weil WeeChat schlank ist und neue Funktionen besitzt.
Einige Funktionen (Version > = 0.3.x):
* Unterstützung mehrerer Protokolle durch Erweiterungen (IRC, Jabber)
* mehrere Remote GUIs als Ergänzung zu Curses (in Kürze)
* in mehreren Sprachen verfügbar
* Erweiterungsfähig durch Erweiterungen (C, Perl, Python, Ruby, Lua, Tcl)
* Buffer mit unabhängigem Inhalt
* Filterung der Anzeige mittels Tags und regulären Ausdrücken
* horizontale und vertikale Teilung der Fenster
* anpass- und erweiterbare Leisten
* Nickliste in allen GUI's verfügbar
* inkrementelle Textsuche in Buffern, zu Highlights springen
* FIFO Pipe für Fernsteuerung
* Unterstützung für Aspell
* Doppelter Zeichensatz (Kodierung/Dekodierung)
* Neuentwicklung (basiert auf keinem anderem Programm)
* Lauffähig auf einer Vielzahl von Plattformen
* 100% GPL und Frei
Weitere Informationen gibt es auf der folgenden Internetseite:
http://www.weechat.org/features
Kompilierung / Installation
---------------------------
[[gui]]
Ich habe gehört, es gibt mehrere GUIs für WeeChat. Wie kann ich diese kompilieren bzw nutzen?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Zur Zeit ist nur die GUI für Curses verfügbar.
Andere GUIs (zur Zeit in der Entwicklung) werden als Remote Clients verfügbar
sein.
[[compile_git]]
Ich kann WeeChat nach Cloning des git Repository nicht kompilieren - warum?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Der empfohlene Weg WeeChat zu komilieren ist die Nutzung von cmake.
Falls Du mit Hilfe der autotools kompilierst (also nicht cmake), stelle sicher,
dass Du die neueste Version von autoconf und automake besitzt (WeeChat wird mit
autoconf 2.61 und automake 1.10.1 entwickelt).
Der andere Weg ist, das "Entwickler-Paket" zu installieren, dieses hat weniger
Abhängigkeiten. Dieses Paket wird quasi täglich aus dem git Repository erstellt.
Beachte, dass dieses Paket nicht immer exakt mit dem git Repository übereinstimmt
und daher auch weniger brauchbar sein kann als wenn man selbst das Repository
klont und daraus Updates installiert.
WeeChat anwenden
----------------
[[lost]]
Ich habe WeeChat gestartet, komme aber nicht mehr weiter - was kann ich tun?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Um Hilfe zu erhalten, gebe `/help` ein. Hilfe zu einem Befehl erhälst Du durch
die Eingabe von: `help Befehlsname`.
Befehle sowie die Belegung der jeweiligen Tasten sind in der Dokumentation
aufgeführt.
FIXME: (Tip: Mit den Tasten <Bild-hoch>/<Bild-runter> kannst Du die Anzeige
scrollen)
Neue Benutzer sollten unbedingt die 'quickstart'-Anleitung lesen (siehe
Dokumentation auf der Internetseite).
[[buffer_vs_window]]
Ich habe von "Buffern" und "Fenstern" gehört - was ist der Unterschied?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Ein 'Buffer' besteht aus einer Nummer, einem Namen, anzuzeigenden Zeilen (und
anderen Daten)
Ein 'Fenster' ist ein Bildschirmbereich der Buffer darstellt. Es ist möglich
den Bildschirm in mehrere Fenster aufzuteilen.
Jedes Fenster stellt einen Buffer dar. Ein Buffer kann unsichtbar sein (er wird
nicht durch ein Fenster angezeigt), oder durch ein sowie mehrere Fenster
angezeigt werden.
[[charset]]
Teilweise fehlen bei Zeichen die Akzente, was kann ich tun?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Dies ist ein bekanntes Problem, bitte lese nachfolgendes sorgfältig und
prüfe *alle* aufgezeigten Lösungsmöglichkeiten.
Für Versionen < 0.2.3, bitte auf die neueste stabile Version upgraden.
Für Versionen > = 0.2.3:
* prüfe, dass weechat-curses mit libncursesw gelinkt ist (Warnung: nötig bei den
meißten Distributionen - jedoch nicht bei allen):
`ldd /path/to/weechat-curses`
* prüfe mit dem Befehl `/plugin`, dass die "Charset" Erweiterung geladen ist (falls
nicht, benötigst Du wahrscheinlich noch das Paket "weechat-plugins")
* prüfe die Ausgabe des Befehls /charset (auf dem Server-Buffer). Du solltest
'ISO-XXXXXX' oder 'UTF-8' für den Terminal Zeichensatz sehen. Falls Du
'ANSI_X3.4-1968' oder andere Werte siehst, ist Deine Einstellung der locale
möglicherweise falsch.
* setzen des globalen decode Wertes, z.B.:
** WeeChat < = 0.2.6: `/setp charset.global.decode = ISO-8859-15`
** WeeChat > = 0.3.x: `/set charset.default.decode "ISO-8859-15"`
* Falls Du UTF-8 locale nutzt:
** prüfe, ob Dein Terminal UTF-8 fähig ist (der empfohlene Terminal für UTF-8
ist rxvt-unicode)
** Solltest Du screen nutzten, prüfe ob er im UTF-8 Modus läuft
("`defutf8 on`" in der Datei ~/.screenrc oder `screen -U` zum Sarten von
screen)
[NOTE]
Die Nutzung der UTF-8 locale wird für WeeChat empfohlen. Nutzt Du jedoch ISO
oder andere locale, bitte vergewissere Dich dann, dass *alle* Deine
Einstellungen (Terminal, screen, ...) sich auch auf ISO beziehen und *nicht* auf
UTF-8.
[[bars_background]]
Leisten, z.B. Titel und Status sind nicht ausgefüllt, die Hintergrundfarbe endet direkt nach dem Text, warum?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Dies kann durch einen falschen Wert der Variablen TERM Deiner Shell verursacht
werden (schaue Dir die Ausgabe von `echo $TERM` in Deinem Terminal an).
Abhängig davon wo Du WeeChat startest, solltest Du folgenden Wert haben:
* falls WeeChat lokal oder auf einem entfernten Rechner läuft, je nach benutztem
Terminal: 'xterm', 'rxvt', ...
* falls WeeChat unter screen läuft, sollte der Wert 'screen' sein.
Wenn nötig korrigiere den Wert Deiner Variablen TERM: `export TERM="xxx"`.
[[screen_weird_chars]]
Wenn ich Weechat unter screen nutze, habe ich merkwürdige Zeichen, wie kann ich dies beheben?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Dies kann durch einen falschen Wert der Variablen TERM Deiner Shell verursacht
werden (schaue Dir die Ausgabe von `echo $TERM` in Deinem Terminal an).
Als Beispiel, 'xterm-color' könnte solche merkwürdigen Zeichen produzieren,
nutzte stattdessen 'xterm' - die ist ok (wie mehrer andere Werte).
Wenn nötig korrigiere den Wert Deiner Variablen TERM: `export TERM="xxx"`.
[[key_bindings]]
Wie kann ich die Tastaturbelegung anpassen?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Die Tasten werden mit dem Befehl /key belegt.
Per Voreinstellung kannst Du mit der Tastenkombination Meta-k (normal Alt-k) den
Code der jeweiligen Taste herausfinden und in die Eingabezeile einfügen.
[[openbsd_plugins]]
Ich benutze BSD, und WeeChat lädt keine Erweiterungen - warum?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Unter BSD Enden die Dateinamen der Erweiterungen mit ".so.0.0" (".so" bei Linux).
Um dies zu beheben muss folgendes konfiguriert werden:
* WeeChat < = 0.2.6: +
`/set plugins_extension = ".so.0.0"`
* WeeChat > = 0.3.x: +
`/set weechat.plugin.extension ".so.0.0"`
Danach: `/plugin autoload`.
[[scripts]]
Wie kann ich Perl/Python/Ruby/Lua/Tcl Skripten laden? Sind Skripten kompatibel zu anderen IRC-Clients?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Benutze die Befehle: `/perl`, `/python`, `/ruby`, `/lua` und `/tcl` um Skripten
zu laden (Voreingestellter Pfad zu den Skripten: '~/.weechat/<Skriptsprache>/').
Die Skripten sind mit den anderer IRC-Clients nicht kompatibel.
Anmerkung:
* Skripten, die sich unter '~/.weechat/<Skriptsprache>/autoload/' befinden, werden
beim Start von WeeChat automatisch geladen.
* Eine 'tcl' Erweiterung ist ab version > = 0.3.x verfügbar.
[[change_locale_without_quit]]
Ich möchte die Sprache der Meldungen, die WeeChat ausgibt, ändern ohne WeeChat zu verlassen. Ist dies möglich?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Ja, dazu kannst Du das Python-Skript shell.py verwenden (erhältlich auf der
Internetseite). Nach dem laden des Skripts führe folgende Befehle aus:
/shell setenv LANG=en_US.UTF-8
/upgrade
Hierdurch erhält man für das Terminal englische, UTF-8 kodierte Meldungen.
Benutzer von ISO-Kodierungen können folgendes eingeben:
`/shell setenv LANG=en_US`.
[[terminal_copy_paste]]
Wie kann ich einen Text kopieren und einfügen ohne das die Nickliste auch eingefügt wird?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Du kannst hierzu ein Terminal nutzen, welches Block-Selektierung erlaubt
(wie rxvt-unicode, konsole, gnome-terminal, ...). Im Normalfall erfolgt diese
mittels der Tasten ctrl + alt in Verbindung mit der Auswahl durch die Maus.
Eine andere Lösung ist, die Nickliste nach oben oder unten zu verschieben, z.B.:
* WeeChat < = 0.2.6: +
`set look_nicklist_position = top`
* WeeChat > = 0.3.x: +
`/bar set nicklist position top`
[[urls]]
Wie kann ich eine URL aufrufen, die einen Zeilenumbruch besitzt?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Da WeeChat sowohl die Uhrzeit als auch einen Präfix für jede Zeile darstellt und
man optional auch noch Bars nutzen kann, die das Chatfenster zusätzlich
verkleinern, kann es passieren das sehr lange URLs abgeschnitten und nicht mehr
aufgerufen werden können.
Deshalb sollte man eines der folgenden Skripten nutzen:
urlbar.py::
stellt die URL in einer Bar dar.
urlgrab.py::
protokolliert URLs und öffnet diese im Standardbrowser.
url_shorten.rb::
tinyurl.py::
shortenurl.py::
URLs werden durch einen Internet-Dienst gekürzt.
Liste der Skripten die sich mit URLs befassen: http://www.weechat.org/scripts/stable/tag/url
[[highlight_notification]]
Wie kann ich informiert werden, wenn jemand in einem Channel highlightet
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
((A.d.Ü) highlight bedeutet, dass der eigene Nick z.B. im Channel genannt wird,
der Nick dessen der ihn schrieb wird farblich hervorgehoben)
Abhängig der WeeChat Version:
* WeeChat < = 0.2.6: nutze das Skript 'sound.pl' (verfügbar auf der Skript-Site),
und nehme Einstellungen für einen System-Befehl (um einen Klang zu spielen,
eine Meldung anzuzeigen, ...) mit folgendem Befehl vor: +
`/setp perl.sound.cmd_highlight = "/path/to/command arguments"`
* WeeChat > = 0.3.x: nutze das Skript 'launcher.pl' (verfügbar auf der Skript-Site),
und nehme Einstellungen für einen System-Befehl (um einen Klang zu spielen,
eine Meldung anzuzeigen, ...) mit folgendem Befehl vor: +
`/set plugins.var.perl.launcher.signal.weechat_highlight "/path/to/command arguments"`
Es gibt noch andere Skripten, die über solche Ereignisse informieren , bitte
besuche dazu die Skripten-Webseite: http://www.weechat.org/scripts/
[[filter_irc_join_part_quit]]
Wie kann ich join/part/quit Meldungen der IRC Channels filtern (A.d.ü.: unterdrücken)?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Entsprechend der WeeChat-Version:
* WeeChat < = 0.2.6: +
`/ignore * join #weechat freenode` +
`/ignore * part #weechat freenode` +
`/ignore * quit #weechat freenode` +
(Channel und/oder Server können durch "*" ersetzt werden, Hilfe mit: `/help ignore`)
* WeeChat > = 0.3.x:
** Intelligenter Filter (erhalte join/part/quit der User, mit denen Du kürzlich gesprochen hast): +
`/set irc.look.smart_filter on` +
`/filter add irc_smart * irc_smart_filter *` +
(Hilfe mit: `/help irc.look.smart_filter` und `/help filter`)
** globaler Filter (unterdrückt *alle* join/part/quit): +
`/filter add jpk * irc_join,irc_part,irc_quit *` +
(Hilfe mit: `/help filter`)
[[ignore_vs_filter]]
Was ist der Unterschied zwischen den Befehlen /ignore und /filter?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Der Befehl `/ignore` ist ein IRC-Befehl und beeinflußt somit nur die IRC-Buffer
(Server und Channel).
Durch den Befehl kann man bestimmte Nicks oder Hostnamen von Usern eines Servers oder
Channels ignorieren (Der Befehl wird nicht auf den Inhalt der Meldung angewandt).
Passende Meldungen werden von dem IRC-Plugin vor der Anzeige gelöscht (Du wirst
sie niemals zu Gesicht bekommen).
Der Befehl `/filter` ist ein Kern-Befehl (A.d.Ü.: wird in WeeChat ausgeführt und
nicht an den Server gesendet) und beeinflußt somit jeden Buffer.
Dieser Befehl eröffnet die Möglichkeit bestimmte Zeilen in Buffern, mittels Tags und
regulären Ausdrücken nach Präfix und Zeileninhalt zu filtern.
Gefilterte Zeilen werden nur unsichtbar - nicht gelöscht. Sehen kannst Du sie
wenn Du den Filter deaktivierst (Voreinstellung zum Aktivieren/Deaktivieren der
Filter: Alt-Taste + "=").
Entwicklung
-----------
[[bug_task_patch]]
Was mache ich um Fehler zu melden, nach neuen Funktionen zu fragen oder Patches einzusenden?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Es gibt drei Möglichkeiten:
. Du kannst zu uns in den IRC kommen: 'irc.freenode.net', channel '#weechat'
. Du kannst die Internetseite savannah nutzen:
* Fehler melden: https://savannah.nongnu.org/bugs/?group=weechat
* Nach einer neuen Funktion fragen: https://savannah.nongnu.org/task/?group=weechat
* Patch senden: https://savannah.nongnu.org/patch/?group=weechat
. Du kannst den Entwicklern mailen, entsprechende Mail-Adressen auf der Supportseite:
http://www.weechat.org/about
(Um emails an die "support" Mailing-Liste zu schicken, kannst Du diese abonnieren)
[[supported_os]]
Auf welchen Plattformen läuft WeeChat? Wird es noch auf anderen Betriebssystemen portiert?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Die gesamte Liste gibt es unter: http://www.weechat.org/download
Wir geben unser Bestes um WeeChat auf möglichst vielen Plattformen lauffähig zu
machen. Um WeeChat auf Betriebssystemen zu testen, zu denen wir keinen Zugang
haben, ist Hilfe willkommenen.
[[help_developers]]
Ich möchte den Entwicklern von WeeChat helfen. Was kann ich tun?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Es gibt einiges zu tun z.B. Testen, Programmieren, Dokumentation, ...
Bitte kontaktiere uns via IRC oder email, schaue auf die Support-Seite:
http://www.weechat.org/about
[[donate]]
Kann ich Geld oder Anderes an die Entwickler von WeeChat spenden?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Du kannst uns Geld zur Unterstützung der weitern Entwicklung spenden.
Details hierzu gibt es auf: http://www.weechat.org/donate
-265
View File
@@ -1,265 +0,0 @@
WeeChat Quick Start Guide
=========================
FlashCode <flashcode@flashtux.org>
[[start]]
Start von WeeChat
-----------------
Der bevorzugte Terminal-Emulator für X (aber nicht obligatorisch) ist
rxvt-unicode (er hat eine gute Unterstützung für UTF-8 und keine Probleme mit der
Standard Tastaturbelegung).
Starte "weechat-curses" aus Deiner shell.
[[help_options]]
Online-Hilfe / Optionen
-----------------------
WeeChat enthält Hilfetexte für alle Befehle, erreichbar über `/help`.
Um Hilfe zu einen bestimmten Befehl zu bekommen kann man einfach `/help Befehl`
ausführen.
Um Optionen zu setzen benutzt man `/set config.section.option value`.
(dabei ist 'config' der Konfigurationsname ('weechat' für den Kern von weechat,
oder ein Plugin-Name), 'section' ein Abschnitt dieser Konfiguration und 'option'
der Name der Option).
WeeChat benutzt den neuen Wert sofort (*Niemals* muss WeeChat neu gestartet
werden nach dem die Konfiguration geändert wurde).
Du kannst die Option `/set` mit teilweise ausgeschriebenen Namen und dem
Platzhalter "*" am Beginn oder Ende verwenden um alle Optionen anzuzeigen, die
die Zeichenkette enthalten.
Zum Beispiel:
`/set`::
Anzeige aller Optionen (WeeChat und Plugins)
`/set weechat.*`::
Anzeige der WeeChat Optionen
`/set irc.*`::
Anzeige der Optionen des IRC-Plugins
Du kannst mit `/help` Hilfe für Optionen auflisten lassen, z.B.:
`/help weechat.look.highlight`.
Beim beenden von WeeChat werden alle Einstellungen gespeichert (mittels `/save`
kann das Schreiben der Optionen erzwungen werden).
Konfigurations-Dateien (*.conf) können auch per Hand editiert und mit dem Befehl
`/reload` neu eingelesen werden (falls man z.B. den `/set` Befehl nicht
verwenden möchte).
[[core_vs_plugins]]
Kern (Core) vs Plugins
----------------------
Der Kern (core) von WeeChat ist ausschließlich dazu da, Daten auf dem Bildschirm
darzustellen um mit dem Benutzer zu interagieren, dies bedeutet, WeeChat an sich
-also nur WeeChat core- ohne jegliche Plugins ist unbrauchbar.
(an die treuen User: IRC war ein Teil des Kerns bei Versionen <= 0.2.6)
Alle Netzwerkprotokolle, z.B. IRC, werden als separates Plugin bereit gestellt.
Benutze den Befehl `/plugin` um alle Plugins aufzulisten, "irc" sowie andere
Plugins sollten aufgelistet werden.
[[create_irc_server]]
Einen IRC-Server erstellen
--------------------------
Du kannst einen IRC-Server mit dem Befehl `/server` hinzufügen, z.B.:
/server add oftc irc.oftc.org/6667
Wie immer, wenn Du nicht mehr weiter weißt, kannst Du mit `/help server` Hilfe
erlangen.
[[irc_server_options]]
Setzen eigener IRC-Server Optionen
----------------------------------
WeeChat verwendet Vorgabewerte für alle Server (so genannte "fall backs") falls
Du keine eigenen Werte für entsprechende Server-Optionen bestimmst.
Diese Vorgabeoptionen sind "irc.server_default.*".
Für jede Server-Option benutzt WeeChat den entsprechend gesetzten Wert - falls
definiert (nicht "null"). Andernfalls verwendet WeeChat Vorgabewerte
("irc.server_default.xxx").
Als Beispiel erwähnt seien die Vorgabe (default) nicks, die auf dem Un*x Login
basieren. Diese können nun für oftc-Server mittels folgendem Befehl
überschrieben werden:
/set irc.server.oftc.nicks "mynick1,mynick2,mynick3,mynick4,mynick5"
Um den User-Namen und wirklichen Namen zu setzen:
/set irc.server.oftc.username "Mein User-Name"
/set irc.server.oftc.realname "Mein wirklicher Name"
Aktivieren des automatischen Verbindens mit dem Server beim Start von WeeChat:
/set irc.server.oftc.autoconnect on
Um einen Befehl nach der Verbindung zum Server auszuführen, z.B. identifizieren
beim nickserv:
/set irc.server.oftc.command "/msg nickserv identify xxxxxx"
Hinweis: Mehrere Befehle können mittels ';' (Semikolon) getrennt werden.
Um ein auto-join (automatisches 'betreten') von Channels (Räumen) nach der
Verbindung zum Server zu erreichen:
/set irc.server.oftc.autojoin "#channel1,#channel2"
Um einen Wert der Server-Optionen zu entfernen und stattdessen wieder den
Vorgabewert (default) zu nutzen, z.B. Nutzung der Vorgabe-Nicks
(irc.server_default.nicks):
/set irc.server.oftc.nicks null
Andere Optionen: Du kannst andere Optionen mit folgendem Befehl setzen ("xxx"
ist der Optionsname):
/set irc.server.oftc.xxx value
[[connect_to_irc_server]]
Verbinden mit dem IRC-Server und auto-join der Channel
------------------------------------------------------
/connect oftc
[NOTE]
Dieser Befehl kann dazu benutzt werden um einen neuen Server zu erstellen und
sich mit ihm zu verbinden ohne den Befehl `/server` zu benutzen (sollte ich
wiederholen, dass Du die Hilfe zu diesem Befehl mit `/help connect` aufrufen
kannst?).
Generell werden die Server-Puffer und der Puffer des Kerns von WeeChat -der
core-Puffer- zusammengelegt. Um zwischen den core-Puffer und den Server-Puffern
umzuschalten kannst Du ctrl-X benutzen.
Es ist möglich das automatische Zusammenlegen der Server-Puffer zu deaktivieren
um eigenständig Puffer zu haben:
/set irc.look.server_buffer independent
[[join_part_irc_channels]]
Betreten/verlassen der IRC-Channel
----------------------------------
`/join #channel`::
Einen Channel betreten
`/part [quit message]`::
Einen Channel verlassen (der Puffer bleibt geöffnet)
`/close [quit message]`::
Schließen eines Server- oder Channel-Puffers (`/close` ist ein Alias für `/buffer close`)
[[buffer_window]]
Puffer/Fenster Verwaltung
-------------------------
Ein Puffer ist eine, zu einem Plugin mit einer Nummer, einer Kategorie und einem
Namen, verbundene Komponente. Ein Puffer beinhaltet die auf dem Bildschirm
dargestellten Daten.
Ein Fenster ist die Ansicht eines Puffers. Standard ist ein Fenster, das einen
Puffer darstellt. Wenn Du den Bildschirm aufteilst, wirst Du mehrere Fenster mit
mehreren Puffer gleichzeitig sehen.
Befehle, welche Puffer und Fenster verwalten:
/buffer
/window
(Ich will jetzt nicht wiederholen, dass Du zu diesen Befehlen Hilfe mit /help
erhalten kannst)
Ein Beispiel, um Deinen Bildschirm vertikal in ein kleines Fenster (1/3 Höhe)
und ein großes Fenster (2/3 Höhe) aufzuteilen, benutze diesen Befehl:
/window splitv 33
[[key_bindings]]
Tastaturbelegung
----------------
WeeChat verwendet viele Standardtasten. Alle diese Belegungen sind in der
Dokumentation beschrieben, doch solltest Du mindestens einige wesentliche
Belegungen kennen:
- 'alt + linker/rechter Pfeil' (oder 'F5'/'F6'): umschalten zum
vorherigen/nächsten Puffer
- 'F7'/'F8': umschalten zum vorherigen/nächsten Fenster (falls der Bildschirm
aufgeteilt ist)
- 'F9'/'F10': scrolle die Titleleiste
- 'F11'/'F12': scrolle die Liste der Nicks
- 'tab': komplettiere den Text in der Eingabeleiste, ähnlich Deiner shell
- 'Seite rauf/runter': scrolle den Text im aktiven Puffer
- 'alt + A': springe zum Puffer mit Aktivität (aus der Hotlist)
Gemäß Deiner Tastatur und/oder Deinen Bedürfnissen kannst Du jede Taste mittels
des Befehls `/key` neu mit einem Befehl belegen.
Eine nützliche Tastenkombination um Tastencodes zu ermitteln ist meta-k (alt-k).
Beispiel, Belegung von meta-y (alt-y) mit dem Befehl `/buffer close`:
/key bind (drücke meta-k) (drücke meta-y) /buffer close
Du wirst folgende Befehlszeile erhalten:
/key bind meta-y /buffer close
Entfernen der Belegung:
/key unbind meta-y
[[plugins_scripts]]
Plugins/Scripte
---------------
Bei einige Distributionen wie Debian, sind Plugins über separate Pakete
erhältlich (z.B. weechat-plugins).
Plugins werden -falls gefunden- automatisch geladen (Bitte beachte die
Dokumentation zum Laden/Entladen von Plugins oder Skripten).
Einige Plugins ermöglichen die Verwendung von Scripten in WeeChat (in mehreren
Sprachen wie Perl, Python, Ruby, Lua und TCL). Diese Plugins müssen mit dem
Befehl `/plugin` geladen werden und verfügen ihrerseits über Befehle wie z.B.
`/perl` um Scripte zu laden.
Viele externe Plugins/Scripte (der Mitarbeitenden) sind für WeeChat verfügbar,
siehe: http://www.weechat.org/scripts
Der einfachste Weg um Scripte zu installieren ist die verwendung von 'weeget.py':
. herunterladen und kopieren von 'weeget.py' nach ~/.weechat/python/autoload/
. laden des Scriptes: `/python autoload`
. Liste der Scripte: `/weeget list` (Hilfe mit: `/help weeget`)
[[more_doc]]
Weitere Dokumentation
---------------------
Nun kannst Du WeeChat nutzen, für weitere Fragen lese die FAQ/Dokumentation:
http://www.weechat.org/doc
Viel Spass mit WeeChat!
-146
View File
@@ -1,146 +0,0 @@
WeeChat Tester's Guide
======================
FlashCode <flashcode@flashtux.org>
[[purpose]]
Intention
---------
Viele dankbare Anwender fragen uns wie sie bei der Entwicklung von WeeChat
helfen können. Der einfachste (aber auch der kniffligste) Weg uns zu helfen ist:
Testen!
Testen ist ein sehr wichtiger Teil der Programmentwicklung und sollte daher
nicht unterbewertet werden. Wenn neue Features implementiert wurden, sollten sie
getestet werden. Für einige Features gibt es aber zu viele Möglichkeiten - oder
diese Möglichkeiten sind komplex und die Entwickler können nicht jede Variante
ausprobieren.
Ein Beispiel: Ein berüchtigtes Zeichensatz-Plugin wurde in WeeChat 0.2.2
eingeführt: Keiner von uns (Entwickler, Mithelfende und Tester) nutzen Channels
in den länderspezifische Zeichen in den Namen vorkamen, und als 0.2.2
freigegeben wurde, wurden wir überschwemmt von russischen Usern, die uns dies
vorwarfen. Hätten wir mehr Tester, dann sollte so etwas nicht mehr passieren.
Eine stabile Version von WeeChat zu testen ist nutzlos, da die Entwickler
die ganze Zeit fleißig neues Zeug implementieren (und alte Bugs fixen).
[[prepare_system]]
Bereite Dein System vor
-----------------------
Sehr helfen würde uns, wenn Du Linuxs 'core' Dateien aktivieren würdest: wenn
WeeChat crasht wird Linux eine Datei Namens 'core' erzeugen. Diese Datei
beinhaltet viele nützliche Debug-Informationen um das genaue Problem in WeeChat
zu lokalisieren.
Falls Du die 'bash' als shell benutzt, ergänze Deine `~/.bashrc` mit folgender
Zeile:
ulimit -c unlimited
[[download]]
Besorge Dir die Entwickler-Version
----------------------------------
Frischer Code (mit den letzten Bugs und Features) ist im GIT Repository
gespeichert.
Du könntest Dich ja dazu entscheiden es manuell zu bauen (empfohlen):
* die GIT Version kann parallel zur stabilen Version gebaut und installiert
werden.
* Du benötigst keine Root-Rechte, und opfern brauchst Du Deine stabile Version
von WeeChat auch nicht.
[[get_sources]]
Beschaffe und baue die Quellen
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Erstelle zuerst einen neuen Ordner, z.B. 'weechat-git':
---------------------
$ mkdir ~/weechat-git
$ cd ~/weechat-git
---------------------
Falls Du git installiert hast, clone das git Repository (empfohlen):
--------------------------------------------
$ git clone git://git.sv.gnu.org/weechat.git
$ cd weechat
--------------------------------------------
NOTE: Um auf den neuesten Stand zukommen verwendest Du z.B. "`git pull`" in
diesem Ordner.
Ansonsten kannst Du das 'Entwickler-Paket' herunterladen und entpacken:
-----------------------------------------------------------------
$ wget http://www.weechat.org/files/src/weechat-devel.tar.bz2
$ tar xvjf weechat-devel.tar.bz2
$ cd weechat-devel
-----------------------------------------------------------------
Um die Quellen zu übersetzen, wird cmake empfohlen:
--------------------------------------------------------------
$ mkdir build
$ cd build
$ cmake .. -DPREFIX=$HOME/weechat-git -DCMAKE_BUILD_TYPE=Debug
$ make
$ make install
--------------------------------------------------------------
Falls Du cmake nicht hast, ist es auch möglich die autotools zu nutzen:
----------------------------------------------------------
$ ./autogen.sh # (nur bei geklontem git Repository)
$ ./configure --prefix=$HOME/weechat-git
$ make
$ make install
----------------------------------------------------------
[[install_binary_package]]
Installieren des Programm-Paketes
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Abhängig Deiner Linux Distribution:
* Debian: http://debian.flashtux.org/
* Gentoo: http://www.weechat.org/download
* ArchLinux: PKGBUILD von http://aur.archlinux.org/
* andere: Wissen wir nicht! Eheh.
[[run]]
WeeChat starten
---------------
Es wird empfohlen WeeChat durch die Option `--dir` mit einem anderen Ordner zu
starten (nicht mit dem der stabilen Version).
Die Befehlszeile lautet:
~/weechat-git/bin/weechat-curses --dir ~/.weechat-dev
Immer noch munter? Dann solltest Du jetzt das bekannte Interface sehen, und nun
prahle vor Anderen, dass Du die neueste WeeChat-Version verwendest :)
Solltest Du nun ein merkwürdiges Verhalten bemerken (es könnte Probleme machen
oder crashen oder Dein Bier kochen) zögere nicht, komme in den Channel
`#weechat` auf `irc.freenode.net` (A.d.Ü.: englischsprachig) und berichte uns
darüber.
Auch wenn es nicht crasht - gib uns trotzdem Bescheid, wir brauchen Deine
Rückmeldung!
[[links]]
Nützliche Links
---------------
* GIT repository: http://git.savannah.gnu.org/gitweb/?p=weechat.git
* Bug tracker: https://savannah.nongnu.org/bugs/?group=weechat
* WeeChat commits RSS feed: http://git.savannah.gnu.org/gitweb/?p=weechat.git;a=rss
-603
View File
@@ -1,603 +0,0 @@
#
# Copyright (c) 2008-2010 by 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
# the Free Software Foundation; either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
# Documentation generator for WeeChat: build include files with commands,
# options, infos and completions for WeeChat core and plugins.
#
# Instructions to build config files yourself in WeeChat directories (replace
# all paths with your path to WeeChat):
# 1. run WeeChat and load this script, with following command:
# /perl load ~/src/weechat/doc/docgen.pl
# 2. change path to build in your doc/ directory:
# /set plugins.var.perl.docgen.path "~/src/weechat/doc"
# 3. run docgen command:
# /docgen
# Files should be in ~/src/weechat/doc/xx/autogen/ (where xx is language)
#
# Script written on 2008-08-22 by FlashCode <flashcode@flashtux.org>
#
use strict;
use POSIX; # needed for setlocale()
use Locale::gettext;
use File::Basename;
my $version = "0.1";
# -------------------------------[ config ]------------------------------------
# default path where doc XML files will be written (should be doc/ in sources
# package tree)
# path must have subdirectories with languages and autogen directory:
# path
# |-- en
# | |-- autogen
# |-- fr
# | |-- autogen
# ...
my $default_path = "~/src/weechat/doc";
# list of locales for which we want to build XML doc files to include
my @locale_list = qw(en_US fr_FR it_IT);
# all commands/options/.. of following plugins will produce a file
# non-listed plugins will be ignored
# value: "c" = plugin may have many commands
# "o" = write config options for plugin
# if plugin is listed without "c", that means plugin has only one command
# /name (where "name" # is name of plugin)
# Note: we consider core is a plugin called "weechat"
my %plugin_list = ("weechat" => "co", "alias" => "",
"aspell" => "o", "charset" => "co",
"demo" => "co", "fifo" => "co",
"irc" => "co", "logger" => "co",
"relay" => "co", "perl" => "",
"python" => "", "ruby" => "",
"lua" => "", "tcl" => "",
"xfer" => "co");
# options to ignore
my @ignore_options = ("aspell\\.dict\\..*",
"charset\\.decode\\..*",
"charset\\.encode\\..*",
"irc\\.msgbuffer\\..*",
"irc\\.ctcp\\..*",
"irc\\.ignore\\..*",
"irc\\.server\\..*",
"jabber\\.server\\..*",
"logger\\.level\\..*",
"logger\\.mask\\..*",
"relay\\.port\\..*",
"weechat\\.proxy\\..*",
"weechat\\.bar\\..*",
"weechat\\.debug\\..*",
"weechat\\.notify\\..*");
# infos to ignore
my @ignore_infos_plugins = ();
# infolists to ignore
my @ignore_infolists_plugins = ();
# completions to ignore
my @ignore_completions_plugins = ();
my @ignore_completions_items = ("jabber.*",
"weeget.*");
# -------------------------------[ init ]--------------------------------------
weechat::register("docgen", "FlashCode <flashcode\@flashtux.org>", $version,
"GPL", "Doc generator for WeeChat 0.3.x", "", "");
weechat::hook_command("docgen", "Doc generator", "", "", "", "docgen", "");
weechat::config_set_plugin("path", $default_path)
if (weechat::config_get_plugin("path") eq "");
# -----------------------------------------------------------------------------
# get list of commands in a hash with 3 indexes: plugin, command, xxx
sub get_commands
{
my %commands;
my $infolist = weechat::infolist_get("hook", "", "command");
while (weechat::infolist_next($infolist))
{
my $command = weechat::infolist_string($infolist, "command");
my $plugin = weechat::infolist_string($infolist, "plugin_name");
$plugin = "weechat" if ($plugin eq "");
if (exists($plugin_list{$plugin}))
{
if (($command eq $plugin) || ($plugin_list{$plugin} =~ /c/))
{
$commands{$plugin}{$command}{"description"} = weechat::infolist_string($infolist, "description");
$commands{$plugin}{$command}{"args"} = weechat::infolist_string($infolist, "args");
$commands{$plugin}{$command}{"args_description"} = weechat::infolist_string($infolist, "args_description");
$commands{$plugin}{$command}{"completion"} = weechat::infolist_string($infolist, "completion");
}
}
}
weechat::infolist_free($infolist);
return %commands;
}
# get list of config options in a hash with 4 indexes: config, section, option, xxx
sub get_options
{
my %options;
my $infolist = weechat::infolist_get("option", "", "");
while (weechat::infolist_next($infolist))
{
my $full_name = weechat::infolist_string($infolist, "full_name");
# check if option is ignored or not
my $ignore = 0;
foreach my $mask (@ignore_options)
{
$ignore = 1 if ($full_name =~ /${mask}/);
}
if ($ignore ne 1)
{
my $config = weechat::infolist_string($infolist, "config_name");
my $section = weechat::infolist_string($infolist, "section_name");
my $option = weechat::infolist_string($infolist, "option_name");
if (defined $plugin_list{$config} && ($plugin_list{$config} =~ /o/))
{
$options{$config}{$section}{$option}{"type"} = weechat::infolist_string($infolist, "type");
$options{$config}{$section}{$option}{"string_values"} = weechat::infolist_string($infolist, "string_values");
$options{$config}{$section}{$option}{"default_value"} = weechat::infolist_string($infolist, "default_value");
$options{$config}{$section}{$option}{"min"} = weechat::infolist_integer($infolist, "min");
$options{$config}{$section}{$option}{"max"} = weechat::infolist_integer($infolist, "max");
$options{$config}{$section}{$option}{"description"} = weechat::infolist_string($infolist, "description");
}
}
}
weechat::infolist_free($infolist);
return %options;
}
# get list of infos hooked by plugins in a hash with 3 indexes: plugin, name, xxx
sub get_infos
{
my %infos;
# get infos hooked
my $infolist = weechat::infolist_get("hook", "", "info");
while (weechat::infolist_next($infolist))
{
my $info_name = weechat::infolist_string($infolist, "info_name");
my $plugin = weechat::infolist_string($infolist, "plugin_name");
$plugin = "weechat" if ($plugin eq "");
# check if infolist is ignored or not
my $ignore = 0;
foreach my $mask (@ignore_infos_plugins)
{
$ignore = 1 if ($plugin =~ /${mask}/);
}
if ($ignore ne 1)
{
$infos{$plugin}{$info_name}{"description"} = weechat::infolist_string($infolist, "description");
}
}
weechat::infolist_free($infolist);
return %infos;
}
# get list of infolists hooked by plugins in a hash with 3 indexes: plugin, name, xxx
sub get_infolists
{
my %infolists;
# get infolists hooked
my $infolist = weechat::infolist_get("hook", "", "infolist");
while (weechat::infolist_next($infolist))
{
my $infolist_name = weechat::infolist_string($infolist, "infolist_name");
my $plugin = weechat::infolist_string($infolist, "plugin_name");
$plugin = "weechat" if ($plugin eq "");
# check if infolist is ignored or not
my $ignore = 0;
foreach my $mask (@ignore_infolists_plugins)
{
$ignore = 1 if ($plugin =~ /${mask}/);
}
if ($ignore ne 1)
{
$infolists{$plugin}{$infolist_name}{"description"} = weechat::infolist_string($infolist, "description");
}
}
weechat::infolist_free($infolist);
return %infolists;
}
# get list of completions hooked by plugins in a hash with 3 indexes: plugin, item, xxx
sub get_completions
{
my %completions;
# get completions hooked
my $infolist = weechat::infolist_get("hook", "", "completion");
while (weechat::infolist_next($infolist))
{
my $completion_item = weechat::infolist_string($infolist, "completion_item");
my $plugin = weechat::infolist_string($infolist, "plugin_name");
$plugin = "weechat" if ($plugin eq "");
# check if completion item is ignored or not
my $ignore = 0;
foreach my $mask (@ignore_completions_plugins)
{
$ignore = 1 if ($plugin =~ /${mask}/);
}
foreach my $mask (@ignore_completions_items)
{
$ignore = 1 if ($completion_item =~ /${mask}/);
}
if ($ignore ne 1)
{
$completions{$plugin}{$completion_item}{"description"} = weechat::infolist_string($infolist, "description");
}
}
weechat::infolist_free($infolist);
return %completions;
}
sub escape_string
{
my $str = $_[0];
$str =~ s/"/\\"/g;
return $str;
}
sub escape_table
{
my $str = $_[0];
$str =~ s/\|/\\|/g;
return $str;
}
# build XML doc files (command /docgen)
sub docgen
{
my %plugin_commands = get_commands();
my %plugin_options = get_options();
my %plugin_infos = get_infos();
my %plugin_infolists = get_infolists();
my %plugin_completions = get_completions();
# get path and replace ~ by home if needed
my $path = weechat::config_get_plugin("path");
$path =~ s/^~\//$ENV{"HOME"}\//;
my $old_locale = setlocale(LC_MESSAGES);
# write to doc files, by locale
my $num_files = 0;
my $num_files_updated = 0;
my $filename = "";
foreach my $locale (@locale_list)
{
my $num_files_commands = 0;
my $num_files_commands_updated = 0;
my $num_files_options = 0;
my $num_files_options_updated = 0;
my $num_files_infos = 0;
my $num_files_infos_updated = 0;
my $num_files_infolists = 0;
my $num_files_infolists_updated = 0;
my $num_files_completions = 0;
my $num_files_completions_updated = 0;
setlocale(LC_MESSAGES, $locale.".UTF-8");
my $d = Locale::gettext->domain_raw("weechat");
$d->codeset("UTF-8");
$d->dir(weechat::info_get("weechat_localedir", ""));
my $dir = $path."/".substr($locale, 0, 2)."/autogen/";
if (-d $dir)
{
# write commands
foreach my $plugin (keys %plugin_commands)
{
$filename = $dir."user/".$plugin."_commands.txt";
if (open(FILE, ">".$filename.".tmp"))
{
foreach my $command (sort keys %{$plugin_commands{$plugin}})
{
my $args = $plugin_commands{$plugin}{$command}{"args"};
$args = $d->get($args) if ($args ne "");
my $description = $plugin_commands{$plugin}{$command}{"description"};
$description = $d->get($description) if ($description ne "");
my $args_description = $plugin_commands{$plugin}{$command}{"args_description"};
$args_description = $d->get($args_description) if ($args_description ne "");
print FILE "&bull; *`/".$command."`*";
print FILE " `".$args."`" if ($args ne "");
print FILE "::\n\n";
print FILE "........................................\n";
print FILE " ".$description."\n" if ($description ne "");
if ($args_description ne "")
{
print FILE "\n";
my @lines = split(/\n/, $args_description);
foreach my $line (@lines)
{
print FILE " ".$line."\n";
}
}
print FILE "........................................\n\n";
}
#weechat::print("", "docgen: file ok: '$filename'");
my $rc = system("diff ".$filename." ".$filename.".tmp >/dev/null 2>&1");
if ($rc != 0)
{
system("mv -f ".$filename.".tmp ".$filename);
$num_files_updated++;
$num_files_commands_updated++;
}
else
{
system("rm ".$filename.".tmp");
}
$num_files++;
$num_files_commands++;
close(FILE);
}
else
{
weechat::print("", weechat::prefix("error")."docgen error: unable to write file '$filename'");
}
}
# write config options
foreach my $config (keys %plugin_options)
{
$filename = $dir."user/".$config."_options.txt";
if (open(FILE, ">".$filename.".tmp"))
{
foreach my $section (sort keys %{$plugin_options{$config}})
{
foreach my $option (sort keys %{$plugin_options{$config}{$section}})
{
my $type = $plugin_options{$config}{$section}{$option}{"type"};
my $string_values = $plugin_options{$config}{$section}{$option}{"string_values"};
my $default_value = $plugin_options{$config}{$section}{$option}{"default_value"};
my $min = $plugin_options{$config}{$section}{$option}{"min"};
my $max = $plugin_options{$config}{$section}{$option}{"max"};
my $description = $plugin_options{$config}{$section}{$option}{"description"};
$description = $d->get($description) if ($description ne "");
my $type_nls = $type;
$type_nls = $d->get($type_nls) if ($type_nls ne "");
my $values = "";
if ($type eq "boolean")
{
$values = "on, off";
}
if ($type eq "integer")
{
if ($string_values ne "")
{
$string_values =~ s/\|/, /g;
$values = $string_values;
}
else
{
$values = $min." .. ".$max;
}
}
if ($type eq "string")
{
$values = $d->get("any string") if ($max <= 0);
$values = $d->get("any char") if ($max == 1);
$values = $d->get("any string")." (".$d->get("max chars").": ".$max.")" if ($max > 1);
$default_value = "\"".escape_string($default_value)."\"";
}
if ($type eq "color")
{
$values = $d->get("a color name");
}
print FILE "* *".$config.".".$section.".".$option."*\n";
print FILE "** ".$d->get("description").": ".$description."\n";
print FILE "** ".$d->get("type").": ".$type_nls."\n";
print FILE "** ".$d->get("values").": ".$values." "
."(".$d->get("default value").": ".$default_value.")\n\n";
}
}
#weechat::print("", "docgen: file ok: '$filename'");
my $rc = system("diff ".$filename." ".$filename.".tmp >/dev/null 2>&1");
if ($rc != 0)
{
system("mv -f ".$filename.".tmp ".$filename);
$num_files_updated++;
$num_files_options_updated++;
}
else
{
system("rm ".$filename.".tmp");
}
$num_files++;
$num_files_options++;
close(FILE);
}
else
{
weechat::print("", weechat::prefix("error")."docgen error: unable to write file '$filename'");
}
}
# write infos hooked
$filename = $dir."plugin_api/infos.txt";
if (open(FILE, ">".$filename.".tmp"))
{
print FILE "[width=\"65%\",cols=\"^1,^2,8\",options=\"header\"]\n";
print FILE "|========================================\n";
print FILE "| ".$d->get("Plugin")." | ".$d->get("Name")." | ".$d->get("Description")."\n";
foreach my $plugin (sort keys %plugin_infos)
{
foreach my $info (sort keys %{$plugin_infos{$plugin}})
{
my $description = $plugin_infos{$plugin}{$info}{"description"};
$description = $d->get($description) if ($description ne "");
print FILE "| ".escape_table($plugin)." | ".escape_table($info)
." | ".escape_table($description)."\n\n";
}
}
print FILE "|========================================\n";
#weechat::print("", "docgen: file ok: '$filename'");
my $rc = system("diff ".$filename." ".$filename.".tmp >/dev/null 2>&1");
if ($rc != 0)
{
system("mv -f ".$filename.".tmp ".$filename);
$num_files_updated++;
$num_files_infos_updated++;
}
else
{
system("rm ".$filename.".tmp");
}
$num_files++;
$num_files_infos++;
close(FILE);
}
else
{
weechat::print("", weechat::prefix("error")."docgen error: unable to write file '$filename'");
}
# write infolists hooked
$filename = $dir."plugin_api/infolists.txt";
if (open(FILE, ">".$filename.".tmp"))
{
print FILE "[width=\"65%\",cols=\"^1,^2,8\",options=\"header\"]\n";
print FILE "|========================================\n";
print FILE "| ".$d->get("Plugin")." | ".$d->get("Name")." | ".$d->get("Description")."\n";
foreach my $plugin (sort keys %plugin_infolists)
{
foreach my $infolist (sort keys %{$plugin_infolists{$plugin}})
{
my $description = $plugin_infolists{$plugin}{$infolist}{"description"};
$description = $d->get($description) if ($description ne "");
print FILE "| ".escape_table($plugin)." | ".escape_table($infolist)
." | ".escape_table($description)."\n\n";
}
}
print FILE "|========================================\n";
#weechat::print("", "docgen: file ok: '$filename'");
my $rc = system("diff ".$filename." ".$filename.".tmp >/dev/null 2>&1");
if ($rc != 0)
{
system("mv -f ".$filename.".tmp ".$filename);
$num_files_updated++;
$num_files_infolists_updated++;
}
else
{
system("rm ".$filename.".tmp");
}
$num_files++;
$num_files_infolists++;
close(FILE);
}
else
{
weechat::print("", weechat::prefix("error")."docgen error: unable to write file '$filename'");
}
# write completions hooked
$filename = $dir."plugin_api/completions.txt";
if (open(FILE, ">".$filename.".tmp"))
{
print FILE "[width=\"65%\",cols=\"^1,^2,8\",options=\"header\"]\n";
print FILE "|========================================\n";
print FILE "| ".$d->get("Plugin")." | ".$d->get("Name")." | ".$d->get("Description")."\n";
foreach my $plugin (sort keys %plugin_completions)
{
foreach my $completion_item (sort keys %{$plugin_completions{$plugin}})
{
my $description = $plugin_completions{$plugin}{$completion_item}{"description"};
$description = $d->get($description) if ($description ne "");
print FILE "| ".escape_table($plugin)." | ".escape_table($completion_item)
." | ".escape_table($description)."\n\n";
}
}
print FILE "|========================================\n";
#weechat::print("", "docgen: file ok: '$filename'");
my $rc = system("diff ".$filename." ".$filename.".tmp >/dev/null 2>&1");
if ($rc != 0)
{
system("mv -f ".$filename.".tmp ".$filename);
$num_files_updated++;
$num_files_completions_updated++;
}
else
{
system("rm ".$filename.".tmp");
}
$num_files++;
$num_files_completions++;
close(FILE);
}
else
{
weechat::print("", weechat::prefix("error")."docgen error: unable to write file '$filename'");
}
}
else
{
weechat::print("", weechat::prefix("error")."docgen error: directory '$dir' does not exist");
}
my $total_files = $num_files_commands + $num_files_options
+ $num_files_infos + $num_files_infolists + $num_files_completions;
my $total_files_updated = $num_files_commands_updated
+ $num_files_options_updated + $num_files_infos_updated
+ $num_files_infolists_updated + $num_files_completions_updated;
weechat::print("", "docgen: ".$locale.": ".$total_files." files ("
.$num_files_commands." cmd, "
.$num_files_options." opt, "
.$num_files_infos." infos, "
.$num_files_infolists." infolists, "
.$num_files_completions." complt) -- "
.$total_files_updated." updated ("
.$num_files_commands_updated." cmd, "
.$num_files_options_updated." opt, "
.$num_files_infos_updated." infos, "
.$num_files_infolists_updated." infolists, "
.$num_files_completions_updated." complt)");
}
weechat::print("", "docgen: total: ".$num_files." files (".$num_files_updated." updated)");
setlocale(LC_MESSAGES, $old_locale);
return weechat::WEECHAT_RC_OK;
}
-83
View File
@@ -1,83 +0,0 @@
# Copyright (c) 2003-2010 by 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
# the Free Software Foundation; either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
# user's guide
ADD_CUSTOM_COMMAND(
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/weechat_user.en.html
COMMAND ${ASCIIDOC_EXECUTABLE} ARGS -a toc -a toclevels=3 -a date=`date "+%F"` -a revision="${VERSION}" -n -o ${CMAKE_CURRENT_BINARY_DIR}/weechat_user.en.html ${CMAKE_CURRENT_SOURCE_DIR}/weechat_user.en.txt
DEPENDS
${CMAKE_CURRENT_SOURCE_DIR}/weechat_user.en.txt
${CMAKE_CURRENT_SOURCE_DIR}/autogen/user/*.txt
COMMENT "Building weechat_user.en.html"
)
ADD_CUSTOM_TARGET(doc-user-en ALL DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/weechat_user.en.html)
INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/weechat_user.en.html DESTINATION ${SHAREDIR}/doc/${PROJECT_NAME})
# plugin API reference
ADD_CUSTOM_COMMAND(
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/weechat_plugin_api.en.html
COMMAND ${ASCIIDOC_EXECUTABLE} ARGS -a toc -a toclevels=3 -a date=`date "+%F"` -a revision="${VERSION}" -n -o ${CMAKE_CURRENT_BINARY_DIR}/weechat_plugin_api.en.html ${CMAKE_CURRENT_SOURCE_DIR}/weechat_plugin_api.en.txt
DEPENDS
${CMAKE_CURRENT_SOURCE_DIR}/weechat_plugin_api.en.txt
${CMAKE_CURRENT_SOURCE_DIR}/autogen/plugin_api/*.txt
COMMENT "Building weechat_plugin_api.en.html"
)
ADD_CUSTOM_TARGET(doc-plugin-api-en ALL DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/weechat_plugin_api.en.html)
INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/weechat_plugin_api.en.html DESTINATION ${SHAREDIR}/doc/${PROJECT_NAME})
# scripting guide
ADD_CUSTOM_COMMAND(
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/weechat_scripting.en.html
COMMAND ${ASCIIDOC_EXECUTABLE} ARGS -a toc -a toclevels=3 -a date=`date "+%F"` -a revision="${VERSION}" -n -o ${CMAKE_CURRENT_BINARY_DIR}/weechat_scripting.en.html ${CMAKE_CURRENT_SOURCE_DIR}/weechat_scripting.en.txt
DEPENDS
${CMAKE_CURRENT_SOURCE_DIR}/weechat_scripting.en.txt
COMMENT "Building weechat_scripting.en.html"
)
ADD_CUSTOM_TARGET(doc-scripting-en ALL DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/weechat_scripting.en.html)
INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/weechat_scripting.en.html DESTINATION ${SHAREDIR}/doc/${PROJECT_NAME})
# FAQ
ADD_CUSTOM_COMMAND(
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/weechat_faq.en.html
COMMAND ${ASCIIDOC_EXECUTABLE} ARGS -a toc -a date=`date "+%F"` -a revision="${VERSION}" -n -o ${CMAKE_CURRENT_BINARY_DIR}/weechat_faq.en.html ${CMAKE_CURRENT_SOURCE_DIR}/weechat_faq.en.txt
DEPENDS
${CMAKE_CURRENT_SOURCE_DIR}/weechat_faq.en.txt
COMMENT "Building weechat_faq.en.html"
)
ADD_CUSTOM_TARGET(doc-faq-en ALL DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/weechat_faq.en.html)
INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/weechat_faq.en.html DESTINATION ${SHAREDIR}/doc/${PROJECT_NAME})
# quickstart
ADD_CUSTOM_COMMAND(
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/weechat_quickstart.en.html
COMMAND ${ASCIIDOC_EXECUTABLE} ARGS -a toc -a date=`date "+%F"` -a revision="${VERSION}" -n -o ${CMAKE_CURRENT_BINARY_DIR}/weechat_quickstart.en.html ${CMAKE_CURRENT_SOURCE_DIR}/weechat_quickstart.en.txt
DEPENDS
${CMAKE_CURRENT_SOURCE_DIR}/weechat_quickstart.en.txt
COMMENT "Building weechat_quickstart.en.html"
)
ADD_CUSTOM_TARGET(doc-quickstart-en ALL DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/weechat_quickstart.en.html)
INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/weechat_quickstart.en.html DESTINATION ${SHAREDIR}/doc/${PROJECT_NAME})
# tester's guide
ADD_CUSTOM_COMMAND(
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/weechat_tester.en.html
COMMAND ${ASCIIDOC_EXECUTABLE} ARGS -a toc -a date=`date "+%F"` -a revision="${VERSION}" -n -o ${CMAKE_CURRENT_BINARY_DIR}/weechat_tester.en.html ${CMAKE_CURRENT_SOURCE_DIR}/weechat_tester.en.txt
DEPENDS
${CMAKE_CURRENT_SOURCE_DIR}/weechat_tester.en.txt
COMMENT "Building weechat_tester.en.html"
)
ADD_CUSTOM_TARGET(doc-tester-en ALL DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/weechat_tester.en.html)
INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/weechat_tester.en.html DESTINATION ${SHAREDIR}/doc/${PROJECT_NAME})
-69
View File
@@ -1,69 +0,0 @@
# Copyright (c) 2003-2010 by 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
# the Free Software Foundation; either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
docdir = $(datadir)/doc/$(PACKAGE)
EXTRA_DIST = CMakeLists.txt \
weechat_user.en.txt \
weechat_plugin_api.en.txt \
weechat_scripting.en.txt \
weechat_faq.en.txt \
weechat_quickstart.en.txt \
weechat_tester.en.txt \
$(wildcard autogen/user/*.txt) \
$(wildcard autogen/plugin_api/*.txt)
all-local: weechat_user.en.html \
weechat_plugin_api.en.html \
weechat_scripting.en.html \
weechat_faq.en.html \
weechat_quickstart.en.html \
weechat_tester.en.html
# user's guide
weechat_user.en.html: weechat_user.en.txt $(wildcard autogen/user/*.txt)
$(ASCIIDOC) -a toc -a toclevels=3 -a date=`date "+%F"` -a revision="$(VERSION)" -n -o weechat_user.en.html weechat_user.en.txt
# plugin API reference
weechat_plugin_api.en.html: weechat_plugin_api.en.txt $(wildcard autogen/plugin_api/*.txt)
$(ASCIIDOC) -a toc -a toclevels=3 -a date=`date "+%F"` -a revision="$(VERSION)" -n -o weechat_plugin_api.en.html weechat_plugin_api.en.txt
# scripting guide
weechat_scripting.en.html: weechat_scripting.en.txt
$(ASCIIDOC) -a toc -a toclevels=3 -a date=`date "+%F"` -a revision="$(VERSION)" -n -o weechat_scripting.en.html weechat_scripting.en.txt
# FAQ
weechat_faq.en.html: weechat_faq.en.txt
$(ASCIIDOC) -a toc -a date=`date "+%F"` -a revision="$(VERSION)" -n -o weechat_faq.en.html weechat_faq.en.txt
# quickstart
weechat_quickstart.en.html: weechat_quickstart.en.txt
$(ASCIIDOC) -a toc -a date=`date "+%F"` -a revision="$(VERSION)" -n -o weechat_quickstart.en.html weechat_quickstart.en.txt
# tester's guide
weechat_tester.en.html: weechat_tester.en.txt
$(ASCIIDOC) -a toc -a date=`date "+%F"` -a revision="$(VERSION)" -n -o weechat_tester.en.html weechat_tester.en.txt
# install docs
install-data-hook:
$(mkinstalldirs) $(DESTDIR)$(docdir)/
$(INSTALL_DATA) *.html $(DESTDIR)$(docdir)/
# clean
clean-local:
-rm -f *.html
-94
View File
@@ -1,94 +0,0 @@
[width="65%",cols="^1,^2,8",options="header"]
|========================================
| Plugin | Name | Description
| alias | alias | list of aliases
| aspell | aspell_langs | list of supported langs for aspell
| irc | irc_channel | current IRC channel
| irc | irc_channel_nicks_hosts | nicks and hostnames of current IRC channel
| irc | irc_channel_topic | topic of current IRC channel
| irc | irc_channels | channels on all IRC servers
| irc | irc_ignores_numbers | numbers for defined ignores
| irc | irc_msg_part | default part message for IRC channel
| irc | irc_privates | privates on all IRC servers
| irc | irc_server | current IRC server
| irc | irc_server_channels | channels on current IRC server
| irc | irc_server_nick | nick on current IRC server
| irc | irc_server_nicks | nicks on all channels of current IRC server
| irc | irc_server_privates | privates on current IRC server
| irc | irc_servers | IRC servers (internal names)
| irc | nick | nicks of current IRC channel
| lua | lua_script | list of scripts
| perl | perl_script | list of scripts
| python | python_script | list of scripts
| relay | relay_free_port | first free port for relay plugin
| relay | relay_protocol_name | all possible protocol.name for relay plugin
| relay | relay_relays | protocol.name of current relays for relay plugin
| ruby | ruby_script | list of scripts
| tcl | tcl_script | list of scripts
| weechat | bars_names | names of bars
| weechat | bars_options | options for bars
| weechat | buffers_names | names of buffers
| weechat | buffers_numbers | numbers of buffers
| weechat | buffers_plugins_names | names of buffers (including plugins names)
| weechat | commands | commands (weechat and plugins)
| weechat | config_files | configuration files
| weechat | config_option_values | values for a configuration option
| weechat | config_options | configuration options
| weechat | filename | filename
| weechat | filters_names | names of filters
| weechat | infolists | names of infolists hooked
| weechat | infos | names of infos hooked
| weechat | keys_codes | key codes
| weechat | nicks | nicks in nicklist of current buffer
| weechat | plugins_commands | commands defined by plugins
| weechat | plugins_names | names of plugins
| weechat | proxies_names | names of proxies
| weechat | proxies_options | options for proxies
| weechat | weechat_commands | weechat commands
| xfer | nick | nicks of DCC chat
|========================================
-58
View File
@@ -1,58 +0,0 @@
[width="65%",cols="^1,^2,8",options="header"]
|========================================
| Plugin | Name | Description
| alias | alias | list of aliases
| irc | irc_channel | list of channels for an IRC server
| irc | irc_ignore | list of IRC ignores
| irc | irc_nick | list of nicks for an IRC channel
| irc | irc_server | list of IRC servers
| logger | logger_buffer | list of logger buffers
| lua | lua_script | list of scripts
| perl | perl_script | list of scripts
| python | python_script | list of scripts
| relay | relay | list of relay clients
| ruby | ruby_script | list of scripts
| tcl | tcl_script | list of scripts
| weechat | bar | list of bars
| weechat | bar_item | list of bar items
| weechat | bar_window | list of bar windows
| weechat | buffer | list of buffers
| weechat | buffer_lines | lines of a buffer
| weechat | filter | list of filters
| weechat | history | history of commands
| weechat | hook | list of hooks
| weechat | hotlist | list of buffers in hotlist
| weechat | key | list of key bindings
| weechat | nicklist | nicks in nicklist for a buffer
| weechat | option | list of options
| weechat | plugin | list of plugins
| weechat | window | list of windows
| xfer | xfer | list of xfer
|========================================
-42
View File
@@ -1,42 +0,0 @@
[width="65%",cols="^1,^2,8",options="header"]
|========================================
| Plugin | Name | Description
| fifo | fifo_filename | name of FIFO pipe
| irc | irc_buffer | get buffer pointer for an IRC server/channel
| irc | irc_is_channel | 1 if string is an IRC channel
| irc | irc_nick | get current nick on a server
| irc | irc_nick_color | get nick color
| irc | irc_nick_from_host | get nick from IRC host
| weechat | charset_internal | WeeChat internal charset
| weechat | charset_terminal | terminal charset
| weechat | date | WeeChat compilation date
| weechat | dir_separator | directory separator
| weechat | filters_enabled | 1 if filters are enabled
| weechat | inactivity | keyboard inactivity (seconds)
| weechat | version | WeeChat version
| weechat | weechat_dir | WeeChat directory
| weechat | weechat_libdir | WeeChat "lib" directory
| weechat | weechat_localedir | WeeChat "locale" directory
| weechat | weechat_sharedir | WeeChat "share" directory
| weechat | weechat_site | WeeChat site
| weechat | weechat_site_download | WeeChat site, download page
|========================================
-23
View File
@@ -1,23 +0,0 @@
&bull; *`/alias`* `[alias_name [command [arguments]]]`::
........................................
create an alias for a command
alias_name: name of alias (can start or end with "*" for alias listing)
command: command name (many commands can be separated by semicolons)
arguments: arguments for command
Without argument, this command lists all defined alias.
Note: in command, special variables are replaced:
$n: argument 'n' (between 1 and 9)
$-m: arguments from 1 to 'm'
$n-: arguments from 'n' to last
$n-m: arguments from 'n' to 'm'
$*: all arguments
$~: last argument
$nick: current nick
$channel: current channel
$server: current server
........................................
-13
View File
@@ -1,13 +0,0 @@
&bull; *`/aspell`* `dictlist | enable lang | disable | addword [lang] word`::
........................................
aspell plugin configuration
dictlist: show installed dictionaries
enable: enable aspell on current buffer
disable: disable aspell on current buffer
addword: add a word in your personal aspell dictionary
Input line beginning with a '/' is not checked, except for some commands.
........................................
-30
View File
@@ -1,30 +0,0 @@
* *aspell.check.commands*
** description: comma separated list of commands for which spell checking is enabled (spell checking is disabled for all other commands)
** type: string
** values: any string (default value: "ame,amsg,away,command,cycle,kick,kickban,me,msg,notice,part,query,quit,topic")
* *aspell.check.default_dict*
** description: default dictionary (or comma separated list of dictionaries) to use when buffer has no dictionary defined (leave blank to disable aspell on buffers for which you didn't explicitly enabled it)
** type: string
** values: any string (default value: "")
* *aspell.check.during_search*
** description: check words during text search in buffer
** type: boolean
** values: on, off (default value: off)
* *aspell.check.real_time*
** description: real-time spell checking of words (slower, disabled by default: words are checked only if there's delimiter after)
** type: boolean
** values: on, off (default value: off)
* *aspell.check.word_min_length*
** description: minimum length for a word to be spell checked (use 0 to check all words)
** type: integer
** values: 0 .. 2147483647 (default value: 2)
* *aspell.look.color*
** description: color used for misspelled words
** type: color
** values: a color name (default value: lightred)
-11
View File
@@ -1,11 +0,0 @@
&bull; *`/charset`* `[[decode | encode] charset] | [reset]`::
........................................
change charset for current buffer
decode: change decoding charset
encode: change encoding charset
charset: new charset for current buffer
reset: reset charsets for current buffer
........................................
-10
View File
@@ -1,10 +0,0 @@
* *charset.default.decode*
** description: global decoding charset
** type: string
** values: any string (default value: "iso-8859-1")
* *charset.default.encode*
** description: global encoding charset
** type: string
** values: any string (default value: "")
-42
View File
@@ -1,42 +0,0 @@
&bull; *`/demo_buffer`* `name`::
........................................
open a new buffer
........................................
&bull; *`/demo_buffer_set`* `property value`::
........................................
set a buffer property
........................................
&bull; *`/demo_info`* `[info [arguments]]`::
........................................
get and display an info
info: info to display
arguments: optional arguments for info
Without argument, this command displays list of available infos
........................................
&bull; *`/demo_infolist`* `[infolist [arguments]]`::
........................................
get and display an infolist
infolist: infolist to display
arguments: optional arguments for infolist
Without argument, this command displays list of available infolists
........................................
&bull; *`/demo_printf`* `[text]`::
........................................
print some messages on current buffer
text: write this text
........................................
-664
View File
@@ -1,664 +0,0 @@
&bull; *`/admin`* `[target]`::
........................................
find information about the administrator of the server
target: server
........................................
&bull; *`/allchan`* `[-current] [-exclude=channel[,channel...]] command [arguments]`::
........................................
execute a command on all channels of all connected servers
-current: execute command for channels of current server only
-exclude: exclude some channels ('*' is allowed at beginning or end of channel name, to exclude many channels)
command: command to execute
arguments: arguments for command
Examples:
execute '/me is testing' on all channels:
/allchan me is testing
say 'hello' everywhere but not on #weechat:
/allchan -exclude=#weechat msg * hello
say 'hello' everywhere but not on #weechat and channels beginning with #linux:
/allchan -exclude=#weechat,#linux* msg * hello
........................................
&bull; *`/allserv`* `[-exclude=server[,server...]] command [arguments]`::
........................................
execute a command on all connected servers
-exclude: exclude some servers ('*' is allowed at beginning or end of server name, to exclude many servers)
command: command to execute
arguments: arguments for command
Examples:
change nick on all servers:
/allserv nick newnick
set away on all servers:
/allserv away I'm away
........................................
&bull; *`/away`* `[-all] [message]`::
........................................
toggle away status
-all: toggle away status on all connected servers
message: message for away (if no message is given, away status is removed)
........................................
&bull; *`/ban`* `[channel] [nickname [nickname ...]]`::
........................................
ban nicks or hosts
channel: channel for ban
nickname: user or host to ban
........................................
&bull; *`/connect`* `[-all [-nojoin] | servername [servername ...] [-nojoin] | hostname[/port] [-option[=value]] [-nooption]]`::
........................................
connect to IRC server(s)
-all: connect to all servers
servername: internal server name to connect (server must have been created by /server add)
-nojoin: do not join any channel (even if autojoin is enabled on server)
hostname: hostname (or IP) of a server
port: port for server (6667 by default)
option: set option for server (for boolean option, value can be omitted)
nooption: set boolean option to 'off' (for example: -nossl)
Examples:
/connect freenode
/connect irc.oftc.net/6667
/connect irc6.oftc.net/6667 -ipv6
/connect irc6.oftc.net/6697 -ipv6 -ssl
/connect my.server.org/6697 -ssl -password=test
........................................
&bull; *`/ctcp`* `receiver type [arguments]`::
........................................
send a CTCP message (Client-To-Client Protocol)
receiver: nick or channel to send CTCP to
type: CTCP type (examples: "version", "ping", ..)
arguments: arguments for CTCP
........................................
&bull; *`/cycle`* `[channel[,channel]] [part_message]`::
........................................
leave and rejoin a channel
channel: channel name for cycle
part_message: part message (displayed to other users)
........................................
&bull; *`/dcc`* `action [nickname [file]]`::
........................................
start DCC (file or chat)
action: 'send' (file) or 'chat'
nickname: nickname to send file or chat
file: filename (on local host)
........................................
&bull; *`/dehalfop`* `[nickname [nickname]]`::
........................................
remove half channel operator status from nickname(s)
........................................
&bull; *`/deop`* `[nickname [nickname]]`::
........................................
remove channel operator status from nickname(s)
........................................
&bull; *`/devoice`* `[nickname [nickname]]`::
........................................
remove voice from nickname(s)
........................................
&bull; *`/die`*::
........................................
shutdown the server
........................................
&bull; *`/disconnect`* `[-all | servername [servername ...]]`::
........................................
disconnect from IRC server(s)
-all: disconnect from all servers
servername: server name to disconnect
........................................
&bull; *`/halfop`* `[nickname [nickname]]`::
........................................
give half channel operator status to nickname(s)
........................................
&bull; *`/ignore`* `[list] | [add [re:]nick/host [server [channel]]] | [del number|-all]`::
........................................
ignore nicks/hosts from servers or channels
list: list all ignores
add: add a ignore
del: del a ignore
number: number of ignore to delete (look at list to find it)
-all: delete all ignores
nick/host: nick or host to ignore: syntax is "re:regex" or "mask" (a mask is a string with some "*" to replace one or more chars)
server: internal server name where ignore is working
channel: channel name where ignore is working
Examples:
ignore nick "toto" everywhere:
/ignore add toto
ignore host "toto@domain.com" on freenode server:
/ignore add toto@domain.com freenode
ignore host "toto*@*.domain.com" on freenode/#weechat:
/ignore add toto*@*.domain.com freenode #weechat
........................................
&bull; *`/info`* `[target]`::
........................................
get information describing the server
target: server name
........................................
&bull; *`/invite`* `nickname channel`::
........................................
invite a nick on a channel
nickname: nick to invite
channel: channel to invite
........................................
&bull; *`/ison`* `nickname [nickname ...]`::
........................................
check if a nickname is currently on IRC
nickname: nickname
........................................
&bull; *`/join`* `[channel[,channel] [key[,key]]]`::
........................................
join a channel
channel: channel name to join
key: key to join the channel
........................................
&bull; *`/kick`* `[channel] nickname [comment]`::
........................................
forcibly remove a user from a channel
channel: channel where user is
nickname: nickname to kick
comment: comment for kick
........................................
&bull; *`/kickban`* `[channel] nickname [comment]`::
........................................
kicks and bans a nick from a channel
channel: channel where user is
nickname: nickname to kick and ban
comment: comment for kick
It is possible to kick/ban with a mask, nick will be extracted from mask and replaced by "*", for example:
/kickban toto!*@host.com
will ban "*!*@host.com" and then kick "toto".
........................................
&bull; *`/kill`* `nickname comment`::
........................................
close client-server connection
nickname: nickname
comment: comment for kill
........................................
&bull; *`/links`* `[[server] server_mask]`::
........................................
list all servernames which are known by the server answering the query
server: this server should answer the query
server_mask: list of servers must match this mask
........................................
&bull; *`/list`* `[channel[,channel] [server]]`::
........................................
list channels and their topic
channel: channel to list (a regexp is allowed)
server: server name
........................................
&bull; *`/lusers`* `[mask [target]]`::
........................................
get statistics about the size of the IRC network
mask: servers matching the mask only
target: server for forwarding request
........................................
&bull; *`/me`* `message`::
........................................
send a CTCP action to the current channel
message: message to send
........................................
&bull; *`/mode`* `{ [channel] {[+|-]|o|p|s|i|t|n|b|v} [limit] [user] [ban mask] } | { nickname {[+|-]|i|w|s|o} }`::
........................................
change channel or user mode
channel modes:
channel: channel name to modify (default is current one)
o: give/take channel operator privileges
p: private channel flag
s: secret channel flag
i: invite-only channel flag
t: topic settable by channel operator only flag
n: no messages to channel from clients on the outside
m: moderated channel
l: set the user limit to channel
b: set a ban mask to keep users out
e: set exception mask
v: give/take the ability to speak on a moderated channel
k: set a channel key (password)
user modes:
nickname: nickname to modify
i: mark a user as invisible
s: mark a user for receive server notices
w: user receives wallops
o: operator flag
........................................
&bull; *`/motd`* `[target]`::
........................................
get the "Message Of The Day"
target: server name
........................................
&bull; *`/msg`* `[-server server] receiver[,receiver] text`::
........................................
send message to a nick or channel
server: send to this server (internal name)
receiver: nick or channel (may be mask, '*' = current channel)
text: text to send
........................................
&bull; *`/names`* `[channel[,channel]]`::
........................................
list nicknames on channels
channel: channel name
........................................
&bull; *`/nick`* `[-all] nickname`::
........................................
change current nickname
-all: set new nickname for all connected servers
nickname: new nickname
........................................
&bull; *`/notice`* `[-server server] nickname text`::
........................................
send notice message to user
server: send to this server (internal name)
nickname: user to send notice to
text: text to send
........................................
&bull; *`/op`* `nickname [nickname]`::
........................................
give channel operator status to nickname(s)
........................................
&bull; *`/oper`* `user password`::
........................................
get operator privileges
user/password: used to get privileges on current IRC server
........................................
&bull; *`/part`* `[channel[,channel]] [part_message]`::
........................................
leave a channel
channel: channel name to leave
part_message: part message (displayed to other users)
........................................
&bull; *`/ping`* `server1 [server2]`::
........................................
ping server
server1: server to ping
server2: forward ping to this server
........................................
&bull; *`/pong`* `daemon [daemon2]`::
........................................
answer to a ping message
daemon: daemon who has responded to Ping message
daemon2: forward message to this daemon
........................................
&bull; *`/query`* `[-server server] nickname [text]`::
........................................
send a private message to a nick
server: send to this server (internal name)
nickname: nickname for private conversation
text: text to send
........................................
&bull; *`/quote`* `[-server server] data`::
........................................
send raw data to server without parsing
server: send to this server (internal name)
data: raw data to send
........................................
&bull; *`/reconnect`* `[-all [-nojoin] | servername [servername ...] [-nojoin]]`::
........................................
reconnect to server(s)
-all: reconnect to all servers
servername: server name to reconnect
-nojoin: do not join any channel (even if autojoin is enabled on server)
........................................
&bull; *`/rehash`* `[option]`::
........................................
tell the server to reload its config file
option: extra option, for some servers
........................................
&bull; *`/restart`*::
........................................
tell the server to restart itself
........................................
&bull; *`/sajoin`* `nickname channel[,channel]`::
........................................
forces a user to join channel(s)
nickname: nickname
channel: channel name
........................................
&bull; *`/samode`* `channel mode`::
........................................
change mode on channel, without having operator status
channel: channel name
mode: mode for channel
........................................
&bull; *`/sanick`* `nickname new_nickname`::
........................................
forces a user to use another nick
nickname: nickname
new_nickname: new nickname
........................................
&bull; *`/sapart`* `nickname channel[,channel]`::
........................................
forces a user to leave channel(s)
nickname: nickname
channel: channel name
........................................
&bull; *`/saquit`* `nickname reason`::
........................................
forces a user to quit server with a reason
nickname: nickname
reason: reason
........................................
&bull; *`/server`* `[list [servername]] | [listfull [servername]] | [add servername hostname[/port] [-temp] [-option[=value]] [-nooption]] | [copy servername newservername] | [rename servername newservername] | [keep servername] | [del servername] | [deloutq] | [jump] | [raw]`::
........................................
list, add or remove IRC servers
list: list servers (no parameter implies this list)
listfull: list servers with detailed info for each server
add: create a new server
servername: server name, for internal and display use
hostname: name or IP address of server, with optional port (default: 6667)
temp: create temporary server (not saved)
option: set option for server (for boolean option, value can be omitted)
nooption: set boolean option to 'off' (for example: -nossl)
copy: duplicate a server
rename: rename a server
keep: keep server in config file (for temporary servers only)
del: delete a server
deloutq: delete messages out queue for all servers (all messages WeeChat is currently sending)
jump: jump to server buffer
raw: open buffer with raw IRC data
Examples:
/server listfull
/server add oftc irc.oftc.net/6697 -ssl -autoconnect
/server add oftc6 irc6.oftc.net/6697 -ipv6 -ssl
/server add freenode2 chat.eu.freenode.net/6667,chat.us.freenode.net/6667
/server copy oftc oftcbis
/server rename oftc newoftc
/server del freenode
/server deloutq
........................................
&bull; *`/service`* `nickname reserved distribution type reserved info`::
........................................
register a new service
distribution: visibility of service
type: reserved for future usage
........................................
&bull; *`/servlist`* `[mask [type]]`::
........................................
list services currently connected to the network
mask: list only services matching this mask
type: list only services of this type
........................................
&bull; *`/squery`* `service text`::
........................................
deliver a message to a service
service: name of service
text: text to send
........................................
&bull; *`/squit`* `server comment`::
........................................
disconnect server links
server: server name
comment: comment for quit
........................................
&bull; *`/stats`* `[query [server]]`::
........................................
query statistics about server
query: c/h/i/k/l/m/o/y/u (see RFC1459)
server: server name
........................................
&bull; *`/summon`* `user [target [channel]]`::
........................................
give users who are on a host running an IRC server a message asking them to please join IRC
user: username
target: server name
channel: channel name
........................................
&bull; *`/time`* `[target]`::
........................................
query local time from server
target: query time from specified server
........................................
&bull; *`/topic`* `[channel] [topic]`::
........................................
get/set channel topic
channel: channel name
topic: new topic for channel (if topic is "-delete" then topic is deleted)
........................................
&bull; *`/trace`* `[target]`::
........................................
find the route to specific server
target: server
........................................
&bull; *`/unban`* `[channel] nickname [nickname ...]`::
........................................
unban nicks or hosts
channel: channel for unban
nickname: user or host to unban
........................................
&bull; *`/userhost`* `nickname [nickname ...]`::
........................................
return a list of information about nicknames
nickname: nickname
........................................
&bull; *`/users`* `[target]`::
........................................
list of users logged into the server
target: server
........................................
&bull; *`/version`* `[server | nickname]`::
........................................
give the version info of nick or server (current or specified)
server: server name
nickname: nickname
........................................
&bull; *`/voice`* `[nickname [nickname]]`::
........................................
give voice to nickname(s)
........................................
&bull; *`/wallops`* `text`::
........................................
send a message to all currently connected users who have set the 'w' user mode for themselves
text to send
........................................
&bull; *`/who`* `[mask ["o"]]`::
........................................
generate a query which returns a list of information
mask: only information which match this mask
o: only operators are returned according to the mask supplied
........................................
&bull; *`/whois`* `[server] nickname[,nickname]`::
........................................
query information about user(s)
server: server name
nickname: nickname (may be a mask)
........................................
&bull; *`/whowas`* `nickname [,nickname [,nickname ...]] [count [target]]`::
........................................
ask for information about a nickname which no longer exists
nickname: nickname to search
count: number of replies to return (full search if negative number)
target: reply should match this mask
........................................
-315
View File
@@ -1,315 +0,0 @@
* *irc.color.input_nick*
** description: color for nick in input bar
** type: color
** values: a color name (default value: lightcyan)
* *irc.color.item_away*
** description: color for away item
** type: color
** values: a color name (default value: yellow)
* *irc.color.item_channel_modes*
** description: color for channel modes, near channel name
** type: color
** values: a color name (default value: default)
* *irc.color.message_join*
** description: color for text in join messages
** type: color
** values: a color name (default value: green)
* *irc.color.message_quit*
** description: color for text in part/quit messages
** type: color
** values: a color name (default value: red)
* *irc.color.notice*
** description: color for text "Notice" in notices
** type: color
** values: a color name (default value: green)
* *irc.look.color_nicks_in_server_messages*
** description: use nick color in messages from server
** type: boolean
** values: on, off (default value: on)
* *irc.look.color_pv_nick_like_channel*
** description: use same nick color for channel and private
** type: boolean
** values: on, off (default value: on)
* *irc.look.display_away*
** description: display message when (un)marking as away
** type: integer
** values: off, local, channel (default value: local)
* *irc.look.display_channel_modes*
** description: display channel modes in "buffer_name" bar item
** type: boolean
** values: on, off (default value: on)
* *irc.look.display_ctcp_blocked*
** description: display CTCP message even if it is blocked
** type: boolean
** values: on, off (default value: on)
* *irc.look.display_ctcp_reply*
** description: display CTCP reply sent by WeeChat
** type: boolean
** values: on, off (default value: on)
* *irc.look.display_ctcp_unknown*
** description: display CTCP message even if it is unknown CTCP
** type: boolean
** values: on, off (default value: on)
* *irc.look.display_nick_modes*
** description: display nick modes in "input_prompt" bar item
** type: boolean
** values: on, off (default value: on)
* *irc.look.display_old_topic*
** description: display old topic when channel topic is changed
** type: boolean
** values: on, off (default value: on)
* *irc.look.hide_nickserv_pwd*
** description: hide password displayed by nickserv
** type: boolean
** values: on, off (default value: on)
* *irc.look.highlight_tags*
** description: comma separated list of tags for messages that may produce highlight (usually any message from another user, not server messages,..)
** type: string
** values: any string (default value: "irc_privmsg,irc_notice")
* *irc.look.item_display_server*
** description: name of bar item where IRC server is displayed (for status bar)
** type: integer
** values: buffer_plugin, buffer_name (default value: buffer_plugin)
* *irc.look.msgbuffer_fallback*
** description: default target buffer for msgbuffer options when target is private and that private buffer is not found
** type: integer
** values: current, server (default value: current)
* *irc.look.nick_completion_smart*
** description: smart completion for nicks (completes first with last speakers)
** type: integer
** values: off, speakers, speakers_highlights (default value: speakers)
* *irc.look.nick_prefix*
** description: text to display before nick in chat window
** type: string
** values: any string (default value: "")
* *irc.look.nick_suffix*
** description: text to display after nick in chat window
** type: string
** values: any string (default value: "")
* *irc.look.notice_as_pv*
** description: display notices as private messages (if auto, use private buffer if found)
** type: integer
** values: auto, never, always (default value: auto)
* *irc.look.open_channel_near_server*
** description: open new channels near server
** type: boolean
** values: on, off (default value: off)
* *irc.look.open_pv_near_server*
** description: open new privates near server
** type: boolean
** values: on, off (default value: off)
* *irc.look.raw_messages*
** description: number of IRC raw messages to save in memory when raw data buffer is closed (messages will be displayed when opening raw data buffer)
** type: integer
** values: 0 .. 65535 (default value: 256)
* *irc.look.server_buffer*
** description: merge server buffers
** type: integer
** values: merge_with_core, merge_without_core, independent (default value: merge_with_core)
* *irc.look.show_away_once*
** description: show remote away message only once in private
** type: boolean
** values: on, off (default value: on)
* *irc.look.smart_filter*
** description: filter join/part/quit messages for a nick if not speaking for some minutes on channel (you must create a filter on tag "irc_smart_filter")
** type: boolean
** values: on, off (default value: off)
* *irc.look.smart_filter_delay*
** description: delay for filtering join/part/quit messages (in minutes)
** type: integer
** values: 1 .. 10080 (default value: 5)
* *irc.look.topic_strip_colors*
** description: strip colors in topic (used only when displaying buffer title)
** type: boolean
** values: on, off (default value: off)
* *irc.network.anti_flood_prio_high*
** description: anti-flood for high priority queue: number of seconds between two user messages or commands sent to IRC server (0 = no anti-flood)
** type: integer
** values: 0 .. 60 (default value: 2)
* *irc.network.anti_flood_prio_low*
** description: anti-flood for low priority queue: number of seconds between two messages sent to IRC server (messages like automatic CTCP replies) (0 = no anti-flood)
** type: integer
** values: 0 .. 60 (default value: 2)
* *irc.network.away_check*
** description: interval between two checks for away (in minutes, 0 = never check)
** type: integer
** values: 0 .. 2147483647 (default value: 0)
* *irc.network.away_check_max_nicks*
** description: do not check away nicks on channels with high number of nicks (0 = unlimited)
** type: integer
** values: 0 .. 2147483647 (default value: 25)
* *irc.network.colors_receive*
** description: when off, colors codes are ignored in incoming messages
** type: boolean
** values: on, off (default value: on)
* *irc.network.colors_send*
** description: allow user to send colors with special codes (ctrl-c + a code and optional color: b=bold, cxx=color, cxx,yy=color+background, u=underline, r=reverse)
** type: boolean
** values: on, off (default value: on)
* *irc.network.default_msg_part*
** description: default part message (leaving channel) ("%v" will be replaced by WeeChat version in string)
** type: string
** values: any string (default value: "WeeChat %v")
* *irc.network.default_msg_quit*
** description: default quit message (disconnecting from server) ("%v" will be replaced by WeeChat version in string)
** type: string
** values: any string (default value: "WeeChat %v")
* *irc.network.lag_check*
** description: interval between two checks for lag (in seconds, 0 = never check)
** type: integer
** values: 0 .. 2147483647 (default value: 60)
* *irc.network.lag_disconnect*
** description: disconnect after important lag (in minutes, 0 = never disconnect)
** type: integer
** values: 0 .. 2147483647 (default value: 0)
* *irc.network.lag_min_show*
** description: minimum lag to show (in seconds)
** type: integer
** values: 0 .. 2147483647 (default value: 1)
* *irc.network.send_unknown_commands*
** description: send unknown commands to server
** type: boolean
** values: on, off (default value: off)
* *irc.server_default.addresses*
** description: list of hostname/port or IP/port for server (separated by comma)
** type: string
** values: any string (default value: "")
* *irc.server_default.autoconnect*
** description: automatically connect to server when WeeChat is starting
** type: boolean
** values: on, off (default value: off)
* *irc.server_default.autojoin*
** description: comma separated list of channels to join when connected to server (example: "#chan1,#chan2,#chan3 key1,key2")
** type: string
** values: any string (default value: "")
* *irc.server_default.autoreconnect*
** description: automatically reconnect to server when disconnected
** type: boolean
** values: on, off (default value: on)
* *irc.server_default.autoreconnect_delay*
** description: delay (in seconds) before trying again to reconnect to server
** type: integer
** values: 0 .. 65535 (default value: 30)
* *irc.server_default.autorejoin*
** description: automatically rejoin channels after kick
** type: boolean
** values: on, off (default value: off)
* *irc.server_default.autorejoin_delay*
** description: delay (in seconds) before autorejoin (after kick)
** type: integer
** values: 0 .. 86400 (default value: 30)
* *irc.server_default.command*
** description: command(s) to run when connected to server (many commands should be separated by ";", use "\;" for a semicolon, special variables $nick, $channel and $server are replaced by their value)
** type: string
** values: any string (default value: "")
* *irc.server_default.command_delay*
** description: delay (in seconds) after command was executed (example: give some time for authentication)
** type: integer
** values: 0 .. 3600 (default value: 0)
* *irc.server_default.ipv6*
** description: use IPv6 protocol for server communication
** type: boolean
** values: on, off (default value: off)
* *irc.server_default.local_hostname*
** description: custom local hostname/IP for server (optional, if empty local hostname is used)
** type: string
** values: any string (default value: "")
* *irc.server_default.nicks*
** description: nicknames to use on server (separated by comma)
** type: string
** values: any string (default value: "")
* *irc.server_default.password*
** description: password for server
** type: string
** values: any string (default value: "")
* *irc.server_default.proxy*
** description: proxy used for this server (optional)
** type: string
** values: any string (default value: "")
* *irc.server_default.realname*
** description: real name to use on server
** type: string
** values: any string (default value: "")
* *irc.server_default.ssl*
** description: use SSL for server communication
** type: boolean
** values: on, off (default value: off)
* *irc.server_default.ssl_cert*
** description: ssl certificate file used to automatically identify your nick
** type: string
** values: any string (default value: "")
* *irc.server_default.ssl_dhkey_size*
** description: size of the key used during the Diffie-Hellman Key Exchange
** type: integer
** values: 0 .. 2147483647 (default value: 2048)
* *irc.server_default.ssl_verify*
** description: check that the ssl connection is fully trusted
** type: boolean
** values: on, off (default value: on)
* *irc.server_default.username*
** description: user name to use on server
** type: string
** values: any string (default value: "")
-33
View File
@@ -1,33 +0,0 @@
&bull; *`/logger`* `[list | set level | disable]`::
........................................
logger plugin configuration
list: show logging status for opened buffers
set: set logging level on current buffer
level: level for messages to be logged (0 = logging disabled, 1 = a few messages (most important) .. 9 = all messages)
disable: disable logging on current buffer (set level to 0)
Options "logger.level.*" and "logger.mask.*" can be used to set level or mask for a buffer, or buffers beginning with name.
Examples:
set level to 5 for current buffer:
/logger set 5
disable logging for current buffer:
/logger disable
set level to 3 for all IRC buffers:
/set logger.level.irc 3
disable logging for main WeeChat buffer:
/set logger.level.core.weechat 0
use a directory per IRC server and a file per channel inside:
/set logger.mask.irc "$server/$channel.weechatlog"
Log levels used by IRC plugin:
1: user message, notice, private
2: nick change
3: server message
4: join/part/quit
9: all other messages
........................................
-40
View File
@@ -1,40 +0,0 @@
* *logger.file.auto_log*
** description: automatically save content of buffers to files (unless a buffer disables log)
** type: boolean
** values: on, off (default value: on)
* *logger.file.info_lines*
** description: write information line in log file when log starts or ends for a buffer
** type: boolean
** values: on, off (default value: off)
* *logger.file.mask*
** description: default file name mask for log files (format is "directory/to/file" or "file", without first "/" because "path" option is used to build complete path to file); local buffer variables are permitted
** type: string
** values: any string (default value: "$plugin.$name.weechatlog")
* *logger.file.name_lower_case*
** description: use only lower case for log filenames
** type: boolean
** values: on, off (default value: on)
* *logger.file.path*
** description: path for WeeChat log files ("%h" will be replaced by WeeChat home, "~/.weechat" by default)
** type: string
** values: any string (default value: "%h/logs/")
* *logger.file.replacement_char*
** description: replacement char for special chars in filename built with mask (like directory delimiter)
** type: string
** values: any string (default value: "_")
* *logger.file.time_format*
** description: timestamp used in log files (see man strftime for date/time specifiers)
** type: string
** values: any string (default value: "%Y-%m-%d %H:%M:%S")
* *logger.look.backlog*
** description: maximum number of lines to display from log file when creating new buffer (0 = no backlog)
** type: integer
** values: 0 .. 2147483647 (default value: 20)
-11
View File
@@ -1,11 +0,0 @@
&bull; *`/lua`* `[list [name]] | [listfull [name]] | [load filename] | [autoload] | [reload] | [unload [name]]`::
........................................
list/load/unload scripts
filename: script (file) to load
name: a script name
Without argument, this command lists all loaded scripts.
........................................
-11
View File
@@ -1,11 +0,0 @@
&bull; *`/perl`* `[list [name]] | [listfull [name]] | [load filename] | [autoload] | [reload] | [unload [name]]`::
........................................
list/load/unload scripts
filename: script (file) to load
name: a script name
Without argument, this command lists all loaded scripts.
........................................
-11
View File
@@ -1,11 +0,0 @@
&bull; *`/python`* `[list [name]] | [listfull [name]] | [load filename] | [autoload] | [reload] | [unload [name]]`::
........................................
list/load/unload scripts
filename: script (file) to load
name: a script name
Without argument, this command lists all loaded scripts.
........................................

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