A whole bunch of changes, mostly Lua related.
[monky] / doc / docs.xml
1 <?xml version="1.0" encoding="utf-8"?>
2 <!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
3 "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd"
4 [
5 <!ENTITY command_options SYSTEM "command_options.xml">
6 <!ENTITY config_settings SYSTEM "config_settings.xml">
7 <!ENTITY variables SYSTEM "variables.xml">
8 <!ENTITY lua SYSTEM "lua.xml">
9 ]>
10 <refentry>
11         <refentryinfo>
12                 <address>
13                         <email>brenden1@users.sourceforge.net</email>
14                 </address>
15                 <author>
16                         <firstname>Brenden</firstname>
17                         <surname>Matthews</surname>
18                 </author>
19                 <date>2009-07-09</date>
20         </refentryinfo>
21         <refmeta>
22                 <refentrytitle>conky – Manual</refentrytitle>
23                 <manvolnum>1</manvolnum>
24         </refmeta>
25         <refnamediv>
26                 <refname>conky</refname>
27                 <refpurpose>A system monitor for X originally based on the
28                         torsmo code, but more kickass. It just keeps on given'er.
29                         Yeah.</refpurpose>
30         </refnamediv>
31         <refsynopsisdiv>
32                 <cmdsynopsis>
33                         <command>conky</command>
34                         <arg>
35                                 <replaceable>options</replaceable>
36                         </arg>
37                 </cmdsynopsis>
38         </refsynopsisdiv>
39         <refsect1>
40                 <title>Description</title>
41                 <para>Conky is a system monitor for X originally based on
42                         torsmo. Since its inception, Conky has changed
43                         significantly from its predecessor, while maintaining
44                         simplicity and configurability. Conky can display just
45                         about anything, either on your root desktop or in its own
46                         window. Not only does Conky have many built-in objects, it
47                         can also display just about any piece of information by
48                         using scripts and other external programs.
49                 </para>
50                 <para>Conky has more than 250 built in objects, including
51                         support for a plethora of OS stats (uname, uptime, CPU
52                         usage, mem usage, disk usage, "top" like process stats, and
53                         network monitoring, just to name a few), built in IMAP and
54                         POP3 support, built in support for many popular music
55                         players (MPD, XMMS2, BMPx, Audacious), and much much more.
56                         Conky can display this info either as text, or using simple
57                         progress bars and graph widgets, with different fonts and
58                         colours.
59                 </para>
60                 <para>We are always looking for help, whether its reporting
61                         bugs, writing patches, or writing docs. Please use the
62                         facilities at SourceForge to make bug reports, feature
63                         requests, and submit patches, or stop by #conky on
64                         irc.freenode.net if you have questions or want to
65                         contribute.</para>
66                 <para>Thanks for your interest in Conky.
67                 </para>
68         </refsect1>
69         <refsect1>
70                 <title>Compiling</title>
71                 <para>For users compiling from source on a binary distro,
72                         make sure you have the X development libraries installed
73                         (Unless you provide configure with "--disable-x11"). This
74                         should be a package along the lines of "libx11-dev" or
75                         "xorg-x11-dev" for X11 libs, and similar "-dev" format for
76                         the other libs required (depending on your configure
77                         options). You should be able to see which extra packages
78                         you need to install by reading errors that you get from
79                         './configure'.
80                 </para>
81                 <para>Conky has (for some time) been available in the
82                         repositories of most popular distributions. Here are some
83                         installation instructions for a few:
84                 </para>
85                 <para>Gentoo users -- Conky is in Gentoo's Portage...
86                         simply use "emerge app-admin/conky" for
87                         installation.
88                 </para>
89                 <para>Debian, etc. users -- Conky should be in your
90                         repositories, and can be installed by doing "aptitude
91                         install conky".
92                 </para>
93                 <para>Example to compile and run Conky with all optional
94                         components (note that some configure options may differ for
95                         your system):
96                 </para>
97                 <variablelist>
98                         <varlistentry>
99                                 <term>
100                                         <command>
101                                                 <option>sh autogen.sh</option>
102                                         </command>
103                                         <option># Only required if building from the
104                                                 git repo</option>
105                                 </term>
106                         </varlistentry>
107                         <varlistentry>
108                                 <term>
109                                         <command>
110                                                 <option>./configure</option>
111                                         </command>
112                                         <option>--prefix=/usr --mandir=/usr/share/man
113                                                 --infodir=/usr/share/info --datadir=/usr/share
114                                                 --sysconfdir=/etc --localstatedir=/var/lib
115                                                 --disable-own-window
116                                                 --enable-audacious[=yes|no|legacy]
117                                                 --enable-bmpx --disable-hddtemp --disable-mpd
118                                                 --enable-xmms2 --disable-portmon
119                                                 --disable-network --enable-debug --disable-x11
120                                                 --disable-double-buffer --disable-xdamage
121                                                 --disable-xft</option>
122                                 </term>
123                         </varlistentry>
124                         <varlistentry>
125                                 <term>
126                                         <command>
127                                                 <option>make</option>
128                                         </command>
129                                 </term>
130                         </varlistentry>
131                         <varlistentry>
132                                 <term>
133                                         <command>
134                                                 <option>make install</option>
135                                         </command>
136                                         <option># Optional</option>
137                                 </term>
138                         </varlistentry>
139                         <varlistentry>
140                                 <term>
141                                         <command>
142                                                 <option>src/conky</option>
143                                         </command>
144                                 </term>
145                         </varlistentry>
146                 </variablelist>
147                 <para>Conky has been tested to be compatible with C99 C,
148                         however it has not been tested with anything other than
149                         gcc, and is not guaranteed to work with other
150                         compilers.
151                 </para>
152                 <para></para>
153         </refsect1>
154         <refsect1>
155                 <title>You Should Know</title>
156                 <para>Conky is generally very good on resources. That said,
157                         the more you try to make Conky do, the more resources it is
158                         going to consume.
159                 </para>
160                 <para>An easy way to force Conky to reload your ~/.conkyrc:
161                         "killall -SIGUSR1 conky". Saves you the trouble of having
162                         to kill and then restart. You can now also do the same with
163                         SIGHUP.
164                 </para>
165         </refsect1>
166         <refsect1>
167                 <title>Options</title>
168                 <para>Command line options override configurations defined in
169                         configuration file.
170                 </para>
171                 &command_options;
172         </refsect1>
173         <refsect1>
174                 <title>Configuration Settings</title>
175                 <para>Default configuration file location is $HOME/.conkyrc or
176                         ${sysconfdir}/conky/conky.conf. On most systems, sysconfdir is
177                         /etc, and you can find the sample config file there
178                         (/etc/conky/conky.conf).
179                 </para>
180                 <para>You might want to copy it to $HOME/.conkyrc and then
181                         start modifying it. Other configs can be found at
182                         http://conky.sf.net/
183                 </para>
184                 &config_settings;
185         </refsect1>
186         <refsect1>
187                 <title>Variables</title>
188                 <para>Colours are parsed using XParsecolor(), there might be a
189                         list of them: /usr/share/X11/rgb.txt. 
190                         Colour can be also in
191                         #rrggbb format (hex).
192                 </para>
193                 &variables;
194         </refsect1>
195         <refsect1>
196                 <title>Lua API</title>
197                 <para>Conky features a Lua Programming API, and also ships with
198                         some Lua bindings for some useful libraries. Conky defines
199                         certain global functions and variables which can be accessed
200                         from Lua code running in Conky.
201                 </para>
202                 <para>To use Lua Conky, you first need to make sure you have a version of Conky
203                         with Lua support enabled (``conky -v'' will report this).  Scripts
204                         must first be loaded using the lua_load configuration option.  You
205                         then call functions in Lua via Conky's $lua, $lua_read, and Lua
206                         hooks.
207                 </para>
208                 <para>
209                         At this time, the Lua API should not be considered stabe and may
210                         change drastically from one release to another as it matures.
211                 </para>
212                 &lua;
213         </refsect1>
214         <refsect1>
215                 <title>Examples</title>
216                 <variablelist>
217                         <varlistentry>
218                                 <term>
219                                         <varname>conky</varname>
220                                         <option>-t '${time %D %H:%M}' -o -u 30</option>
221                                 </term>
222                                 <listitem>Start Conky in its own window with date
223                                         and clock as text and 30 sec update
224                                         interval.</listitem>
225                         </varlistentry>
226                         <varlistentry>
227                                 <term>
228                                         <varname>conky</varname>
229                                         <option>-a top_left -x 5 -y 500 -d</option>
230                                 </term>
231                                 <listitem>Start Conky to background at coordinates
232                                         (5, 500).</listitem>
233                         </varlistentry>
234                         <varlistentry>
235                                 <term>
236                                         <varname>conky</varname>
237                                         <option>-C &gt; ~/.conkyrc</option>
238                                 </term>
239                                 <listitem>Do not start Conky, but have it output
240                                         the builtin default config file to ~/.conkyrc for
241                                         later customising.</listitem>
242                         </varlistentry>
243                 </variablelist>
244         </refsect1>
245         <refsect1>
246                 <title>Files</title>
247                 <variablelist>
248                         <varlistentry>
249                                 <term>
250                                         <filename>
251                                                 ${sysconfdir}/conky/conky.conf</filename>
252                                 </term>
253                                 <listitem>Default system-wide configuration file.
254                                         The value of ${sysconfdir} depends on the
255                                         compile-time options (most likely /etc).</listitem>
256                         </varlistentry>
257                         <varlistentry>
258                                 <term>
259                                         <filename>~/.conkyrc</filename>
260                                 </term>
261                                 <listitem>Default personal configuration
262                                         file.</listitem>
263                         </varlistentry>
264                 </variablelist>
265         </refsect1>
266         <refsect1>
267                 <title>Bugs</title>
268                 <para>Drawing to root or some other desktop window directly
269                         doesn't work with all window managers. Especially doesn't
270                         work well with Gnome and it has been reported that it
271                         doesn't work with KDE either. Nautilus can be disabled from
272                         drawing to desktop with program gconf-editor. Uncheck
273                         show_desktop in /apps/nautilus/preferences/. There is -w
274                         switch in Conky to set some specific window id. You might
275                         find xwininfo -tree useful to find the window to draw to.
276                         You can also use -o argument which makes Conky to create
277                         its own window. If you do try running Conky in its own
278                         window, be sure to read up on the own_window_type settings
279                         and experiment.</para>
280         </refsect1>
281         <refsect1>
282                 <title>See Also</title>
283                 <para>
284                         <ulink url="http://conky.sourceforge.net/">
285                                 http://conky.sourceforge.net/</ulink>
286                 </para>
287                 <para>
288                         <ulink url="http://www.sourceforge.net/projects/conky">
289                                 http://www.sourceforge.net/projects/conky</ulink>
290                 </para>
291                 <para>
292                         <ulink url="http://wiki.conky.be">
293                                 http://wiki.conky.be</ulink>
294                 </para>
295                 <para>#conky on irc.freenode.net</para>
296         </refsect1>
297         <refsect1>
298                 <title>Copying</title>
299                 <para>Copyright (c) 2005-2009 Brenden Matthews, Philip
300                         Kovacs, et. al. Any original torsmo code is licensed under
301                         the BSD license (see LICENSE.BSD for a copy). All code
302                         written since the fork of torsmo is licensed under the GPL
303                         (see LICENSE.GPL for a copy), except where noted
304                         differently (such as in portmon code, timed thread code,
305                         and audacious code which are LGPL, and prss which is an
306                         MIT-style license).</para>
307         </refsect1>
308         <refsect1>
309                 <title>Authors</title>
310                 <para>The Conky dev team (see AUTHORS for a full list of
311                         contributors).</para>
312         </refsect1>
313 </refentry>