summaryrefslogtreecommitdiff
path: root/doc/en/user/plugins.en.xml
blob: 312ede09bb2a374f610e6051b6c853eadce09651 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
<?xml version="1.0" encoding="UTF-8"?>

<!--

WeeChat documentation (english version)

Copyright (c) 2003-2009 by FlashCode <flashcode@flashtux.org>

This manual 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 manual 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/>.

-->

<chapter id="chapPlugins">
  <title>Plugins</title>
  
  <para>
    This chapter describes WeeChat plugin mechanism and default plugins
    provided with WeeChat.
  </para>
  
  <para>
    To learn more about plugin or script development (thru API), please read
    "<literal>WeeChat developer guide</literal>".
  </para>
  
  <section id="secPluginsInWeeChat">
    <title>Plugins in WeeChat</title>
    
    <para>
      A plugin is dynamic library, written in C and compiled, which is loaded
      by WeeChat.
      Under GNU/Linux, the file has ".so" extension, ".dll" under Windows.
    </para>
    
    <para>
      Plugins found are automatically loaded when WeeChat is starting, and it
      is possible to load or unload plugins while WeeChat is running.
    </para>
    
    <para>
      It's important to make difference between a <literal>plugin</literal> and
      a <literal>script</literal>: a plugin is a binary file compiled and
      loaded with command<command>/plugin</command>, whereas a script is a text
      file loaded with a plugin like <literal>Perl</literal> with command
      <command>/perl</command>.
    </para>
    
    <para>
      You can use command <command>/plugin</command> to load/unload a plugin,
      or list all loaded plugins.
      When a plugin is unloaded, all buffers created by this plugin are
      automatically closed.
    </para>
    
    <para>
      Examples to load, unload or list plugins:
<screen>
/plugin load irc
/plugin unload irc
/plugin list
</screen>
    </para>
    
    <para>
      Default plugins are:
      <itemizedlist>
        <listitem>
          <para>alias: define alias for commands</para>
        </listitem>
        <listitem>
          <para>aspell: spell checking for command line</para>
        </listitem>
        <listitem>
          <para>charset: charset decoding/encoding for buffers</para>
        </listitem>
        <listitem>
          <para>demo: demo plugin (not compiled by default, not documented)</para>
        </listitem>
        <listitem>
          <para>fifo: FIFO pipe used to remotely send commands to WeeChat</para>
        </listitem>
        <listitem>
          <para>irc: IRC chat protocol</para>
        </listitem>
        <listitem>
          <para>jabber: Jabber chat protocol</para>
        </listitem>
        <listitem>
          <para>logger: log buffers to files</para>
        </listitem>
        <listitem>
          <para>notify: notify level for buffers</para>
        </listitem>
        <listitem>
          <para>perl: Perl scripting API</para>
        </listitem>
        <listitem>
          <para>python: Python scripting API</para>
        </listitem>
        <listitem>
          <para>ruby: Ruby scripting API</para>
        </listitem>
        <listitem>
          <para>lua: Lua scripting API</para>
        </listitem>
        <listitem>
          <para>tcl: Tcl scripting API</para>
        </listitem>
        <listitem>
          <para>xfer: file transfert and direct chat</para>
        </listitem>
      </itemizedlist>
    </para>
    
  </section>
  
  &plugin_alias.en.xml;
  
  &plugin_aspell.en.xml;
  
  &plugin_charset.en.xml;
  
  &plugin_fifo.en.xml;
  
  &plugin_irc.en.xml;
  
  &plugin_jabber.en.xml;
  
  &plugin_logger.en.xml;
  
  &plugin_scripts.en.xml;
  
  &plugin_xfer.en.xml;
  
</chapter>