# # $Id: README,v 1.6 2000/04/15 16:56:52 reinelt Exp $ # This is the README file for lcd4linux INTRODUCTION lcd4linux is a small program that reads various information from the kernel (and probably from other subsystems, especially ISDN) and displays them on a LCD. It supports displaying text values and different types of bars: Horizontal and vertical bars, logarithmic bars, split bars (two independent bars in one row). USAGE lcd4linux -h print version number and a small help text, then exit lcd4linux -l list available drivers lcd4linux -d calibrate delay loop (necessary for some drivers) lcd4linux [-c key=val] [-f config-file] [-o output] [-q] [-v] run lcd4linux generate debugging messages with '-v' use configuration from 'config-file' instead of /etc/lcd4linux.conf write picture to 'output' (raster driver only) overwrite entries from the config-file with '-c' suppress startup splash screen with '-q' SUPPORTED DISPLAYS * Matrox Orbital: "LCD0821": 2 lines by 8 characters "LCD1621": 2 lines by 16 characters "LCD2021": 2 lines by 20 characters "LCD2041": 4 lines by 20 characters (tested) "LCD4021": 2 lines by 40 characters * X11 thanks to Herbert Rosmanith a driver for the X Window System is available. It supports any size at any resolution. A very small XLCD4Linux-Window can even swallow on the KDE Panel! * Raster formats: a generic raster driver (which is used by the X11-driver, too) is availiable, PPM (portable pixmap) is the only output format at the moment. I'm working on PNG! * other displays: lcd4linux and especially the display driver code is very modular, so it should be quite easy to write a driver for any display. See README.driver for details. Contributors are welcome!!! CONFIGURATION The configuration file (default: /etc/lcd4linux.conf) has a very simple format: Every line consists of a key and a value, seperated by whitespace (blanks or tabs). Values can contain whitespace, and can be enclosed in single or double quotes. A key must not contain whitespace. Keys are NOT case-sensitive. Order doesn't matter. Empty lines and all text on a line after a '#' will be ignored. If you want to use '#' in a value (think of X11-colors), you have to quote it with a backslash. The configuration file contains information for different modules of lcd4linux: Global options: tick: time in milliseconds between bar updates tack: time in milliseconds between text updates (text can be updated less often than bars, so you get a smooth bar display and readable text) tau: time constant (in milliseconds) for damping function (not used by now) Data-specific options: overload: load average threshold and bar scaling. The '%L' token (see below) displays a '!' instead of a blank if the current load average exceeds this value. load bars are scaled by this value (load=overload gives 100%) fifo: path to fifo for communication with isdnlog (not implemented) sensor1: path to the 1st temperature file (e.g. /proc/sys/dev/sensors/w83781d-isa-0290/temp1) it is important that you use the isa sensors, because the i2c sensors are very slow! sensor1_min: temperature where the corresponding bar starts sensor1_max: temperature where bar ends sensor[2..9], -_min, -_max: entries for the 2nd to 9th temperature sensor Driver-specific options: Display: the name of a display model (see "supported displays" above) every driver has its own configuration options (e.g. 'Port', 'Speed', ...) see README. for details! Display options: row1: Text to display in row 1 row[2-max]: Text to display in other rows The text to be displayed can contain specific directives, which will be replaced by the appropriate values, or will create bars: '\nnn` will write the ASCII-character nnn (octal) '%' will be replaced by the value of '%%' will write a '%' '%$' will write a '$' '$[+] will create a bar with the specified direction and length (in characters) with the value of . If the driver supports dual bars, you can specify the second value with '+'. can be 'l' (left), 'r' (right), 'u' (up) or 'd' (down). If you specify the direction in upper case, a logarithmic bar will be created. note that the space occupied by a bar always grows from left to right or from top to bottom, regardless of the direction! Tokens: 'o', operating system name ('Linux') 'v', operating system release ('2.0.38') 'p', processor ('i686') 'r', total amount of memory installed (MB) 'mt', total memory from /proc/meminfo (kB) 'mu', used memory (kB) 'mf', free memory (kB) 'ms', shared memory (kB) 'mb', buffers (kB) 'mc', page cache (kB) 'ma', application memory (kB) = used - buffer - cache 'l1', load average for the past 1 minute 'l2', load average for the past 5 minutes 'l3', load average for the past 15 minutes 'L', '!' if load > overload (from config) 'cu', percentage of CPU in user mode 'cn', percentage of CPU in niced tasks 'cs', percentage of CPU in system mode 'cb', percentage of CPU busy (=100-idle) 'ci', percentage of CPU idle 'dr', disk blocks read 'dw', disk blocks written 'dt', disk blocks total (read+write) 'dm', disk blocks max (read, write) 'nr', network packets received 'nw', network packets transmitted 'nt', network packets total (receive+transmit) 'nm', network packets max (receive, transmit) 'ii', ISDN bytes received 'io', ISDN bytes sent 'it', ISDN bytes total (received+send) 'im', ISDN bytes max (received, send) 's1', T_SENSOR_1, 's2', T_SENSOR_2, 's3', T_SENSOR_3, 's4', T_SENSOR_4, 's5', T_SENSOR_5, 's6', T_SENSOR_6, 's7', T_SENSOR_7, 's8', T_SENSOR_8, 's9', T_SENSOR_9, d.Reserved */ .highlight .kt { color: #888888; font-weight: bold } /* Keyword.Type */ .highlight .m { color: #0000DD; font-weight: bold } /* Literal.Number */ .highlight .s { color: #dd2200; background-color: #fff0f0 } /* Literal.String */ .highlight .na { color: #336699 } /* Name.Attribute */ .highlight .nb { color: #003388 } /* Name.Builtin */ .highlight .nc { color: #bb0066; font-weight: bold } /* Name.Class */ .highlight .no { color: #003366; font-weight: bold } /* Name.Constant */ .highlight .nd { color: #555555 } /* Name.Decorator */ .highlight .ne { color: #bb0066; font-weight: bold } /* Name.Exception */ .highlight .nf { color: #0066bb; font-weight: bold } /* Name.Function */ .highlight .nl { color: #336699; font-style: italic } /* Name.Label */ .highlight .nn { color: #bb0066; font-weight: bold } /* Name.Namespace */ .highlight .py { color: #336699; font-weight: bold } /* Name.Property */ .highlight .nt { color: #bb0066; font-weight: bold } /* Name.Tag */ .highlight .nv { color: #336699 } /* Name.Variable */ .highlight .ow { color: #008800 } /* Operator.Word */ .highlight .w { color: #bbbbbb } /* Text.Whitespace */ .highlight .mb { color: #0000DD; font-weight: bold } /* Literal.Number.Bin */ .highlight .mf { color: #0000DD; font-weight: bold } /* Literal.Number.Float */ .highlight .mh { color: #0000DD; font-weight: bold } /* Literal.Number.Hex */ .highlight .mi { color: #0000DD; font-weight: bold } /* Literal.Number.Integer */ .highlight .mo { color: #0000DD; font-weight: bold } /* Literal.Number.Oct */ .highlight .sa { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Affix */ .highlight .sb { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Backtick */ .highlight .sc { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Char */ .highlight .dl { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Delimiter */ .highlight .sd { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Doc */ .highlight .s2 { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Double */ .highlight .se { color: #0044dd; background-color: #fff0f0 } /* Literal.String.Escape */ .highlight .sh { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Heredoc */ .highlight .si { color: #3333bb; background-color: #fff0f0 } /* Literal.String.Interpol */ .highlight .sx { color: #22bb22; background-color: #f0fff0 } /* Literal.String.Other */ .highlight .sr { color: #008800; background-color: #fff0ff } /* Literal.String.Regex */ .highlight .s1 { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Single */ .highlight .ss { color: #aa6600; background-color: #fff0f0 } /* Literal.String.Symbol */ .highlight .bp { color: #003388 } /* Name.Builtin.Pseudo */ .highlight .fm { color: #0066bb; font-weight: bold } /* Name.Function.Magic */ .highlight .vc { color: #336699 } /* Name.Variable.Class */ .highlight .vg { color: #dd7700 } /* Name.Variable.Global */ .highlight .vi { color: #3333bb } /* Name.Variable.Instance */ .highlight .vm { color: #336699 } /* Name.Variable.Magic */ .highlight .il { color: #0000DD; font-weight: bold } /* Literal.Number.Integer.Long */
/* $Id: seti.h,v 1.3 2001/03/08 09:02:04 reinelt Exp $
 *
 * seti@home specific functions
 *
 * Copyright 2001 by Axel Ehnert <Axel@Ehnert.net>
 *
 * 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, 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., 675 Mass Ave, Cambridge, MA 02139, USA.
 *
 *
 * $Log: seti.h,v $
 * Revision 1.3  2001/03/08 09:02:04  reinelt
 *
 * seti client cleanup
 *
 * Revision 1.2  2001/02/19 00:15:46  reinelt
 *
 * integrated mail and seti client
 * major rewrite of parser and tokenizer to support double-byte tokens
 *
 * Revision 1.1  2001/02/18 21:15:15  reinelt
 *
 * added setiathome client
 *
 */

#ifndef _SETI_H_
#define _SETI_H_

int Seti (double *perc, double *cput);

#endif