diff --git a/CREDITS b/CREDITS index fdf2df3..edb5585 100644 --- a/CREDITS +++ b/CREDITS @@ -187,13 +187,20 @@ Matthias Goebl : Stefan Herdler: - serialVFD driver + - bignum library -Bernd Walle: +Bernhard Walle: - driver for the ULA-200 device from ELV (http://www.elv.de) Andrew Foss: - menu support for lcdproc client +Anthony J. Mirabella: + - Logitech g15 driver + +Cedric Tessier: + - EyeBoxOne driver + John Sanders: - iMon driver graphics support diff --git a/ChangeLog b/ChangeLog index 6849176..0241b66 100644 --- a/ChangeLog +++ b/ChangeLog @@ -14,6 +14,9 @@ v.0.5dev (ongoing development) + graphics character support in iMon driver (John Saunders) * try harder to find a shell in lcdexec + big number support in CwLnx driver via bignum library + * do not copy more bytes than reserved in get_fs() in lcdproc's machine_*.c + * update lcdproc's About screen with credits + * fixes to ula200 build environment and documentation (B. Walle) v.0.5.1 + config file support in lcdproc client (Andrew Foss) diff --git a/clients/lcdproc/machine.h b/clients/lcdproc/machine.h index f204ca8..1f09223 100644 --- a/clients/lcdproc/machine.h +++ b/clients/lcdproc/machine.h @@ -17,14 +17,14 @@ typedef struct typedef struct { - char dev[256]; /*< device */ - char type[64]; /*< file system type (as string) */ - char mpoint[256]; /*< mount point */ - long bsize; /*< transfer block size */ - long blocks; /*< total data blocks in file system */ - long bfree; /*< free blocks in fs */ - long files; /*< total file nodes in file system */ - long ffree; /*< free file nodes in fs */ + char dev[256]; /**< device */ + char type[64]; /**< file system type (as string) */ + char mpoint[256]; /**< mount point */ + long bsize; /**< transfer block size */ + long blocks; /**< total data blocks in file system */ + long bfree; /**< free blocks in fs */ + long files; /**< total file nodes in file system */ + long ffree; /**< free file nodes in fs */ } mounts_type; diff --git a/clients/lcdproc/mode.c b/clients/lcdproc/mode.c index 582dc24..8b17420 100644 --- a/clients/lcdproc/mode.c +++ b/clients/lcdproc/mode.c @@ -84,29 +84,89 @@ update_screen(mode *m, int display) int credit_screen(int rep, int display, int *flags_ptr) { + const char *contributors[] = { + "William Ferrell", + "Scott Scriven", + "Gareth Watts", + "Lorand Bruhacs", + "Benjamin Tse", + "Matthias Prinke", + "Richard Rognlie", + "Tom Wheeley", + "Bjoern Andersson", + "Andrew McMeikan", + "David Glaude", + "Todd Porter", + "Bjoern Andersson", + "Jason Dale Woodward", + "Ethan Dicks", + "Michael Reinelt", + "Simon Harrison", + "Charles Steinkuehler", + "Harald Klein", + "Philip Pokorny", + "Glen Gray", + "David Douthitt", + "Eddie Sheldrake", + "Rene Wagner", + "Andre Breiler", + "Joris Robijn", + "Guillaume Filion", + "Chris Debenham", + "Mark Haemmerling", + "Robin Adams", + "Manuel Stahl", + "Mike Patnode", + "Peter Marschall", + "Markus Dolze", + "Volker Boerchers", + "Lucian Muresan", + "Matteo Pillon", + "Laurent Arnal", + "Simon Funke", + "Matthias Goebl", + "Stefan Herdler", + "Bernhard Walle", + "Andrew Foss", + "Anthony J. Mirabella", + "Cedric Tessier", + "John Sanders", + NULL + }; + int contr_num = 0; + int i; + if ((*flags_ptr & INITIALIZED) == 0) { *flags_ptr |= INITIALIZED; + /* get number of contributors */ + for (contr_num = 0; contributors[contr_num] != NULL; contr_num++) + ; sock_send_string(sock, "screen_add A\n"); sock_send_string(sock, "screen_set A -name {Credits for LCDproc}\n"); sock_send_string(sock, "widget_add A title title\n"); sock_printf(sock, "widget_set A title {LCDPROC %s}\n", version); - if (lcd_hgt >= 4) - { - sock_send_string(sock, "widget_add A one string\n"); - sock_send_string(sock, "widget_add A two string\n"); - sock_send_string(sock, "widget_add A three string\n"); - sock_send_string(sock, "widget_set A one 1 2 { for Linux & *BSD}\n"); - sock_send_string(sock, "widget_set A two 1 3 { by William Ferrell}\n"); - sock_send_string(sock, "widget_set A three 1 4 { and Scott Scriven}\n"); - } - else - { + if (lcd_hgt >= 4) { sock_send_string(sock, "widget_add A text scroller\n"); - sock_printf(sock, "widget_set A text 1 2 %d 2 h 8 { for Linux & *BSD by William Ferrell, Scott Scriven}\n", lcd_wid); + sock_printf(sock, "widget_set A text 1 2 %d 2 h 8 {%s}\n", + lcd_wid, "LCDproc was brought to you by:"); } + + // frame from (2nd/3rd line, left) to (last line, right) + sock_send_string(sock, "widget_add A f frame\n"); + sock_printf(sock, "widget_set A f 1 %i %i %i %i %i v %i\n", + ((lcd_hgt >= 4) ? 3 : 2), lcd_wid, lcd_hgt, lcd_wid, contr_num, + // scroll rate: 1 line every X ticks (= 1/8 sec) + ((lcd_hgt >= 4) ? 8 : 12)); + + // frame contents + for (i = 1; i < contr_num; i++) { + sock_printf(sock, "widget_add A c%i string -in f\n", i); + sock_printf(sock, "widget_set A c%i 1 %i {%s}\n", i, i, contributors[i]); + } } return(0); } // End credit_screen() +