however, the Makefiles will need to be modified to support
linking against libvga and libvgagl, and support for the SVGALIB_DRV
define will have to be added to autoconf or whatever.
* Uses syslog instead of printf or fprintf (except during init)
* Replaced sprintf with snprintf throughout
* Removed all references to lcd.* and replaced with CFontz->*
Note: this compiles, that's all I can say - but the changes are not
major structural or logical changes.
* Heavily commented options
* Fixed bug introduced into default_duration and -w (my fault)
* Defined configuration file string defaults (no processing yet)
* Added simple optimization to option processing
* Reformed some comments for easier readability
* Fixed bug that caused program not to drop root privs when
running on port under 1024
* Converted further to use syslog instead of printf
+ Convert to use syslog instead of printf
+ Fixed some memory allocation bugs: in particular, driver
is only a local variable! Use static variable debug_drv instead....
* Added preliminary color support
* Changed to using "window" instead of full screen
* Added window border
* Window is positionable
* Fixed possible bug in curses_drv_string
* Ability to specify port and address to bind to
* By default, binds only to 127.0.0.1 port 13666
* Client commands now return usage when no options given
* New driver command: getinfo
* Added comments all over the place
* Used #defines to further document code
* Used #defines to set up compile-time defaults, etc.
* Cleaned up client command argument analysis in client_functions.c
* Beginning support of syslog
* Some bug fixes
serial port side. Also fixed problems with ioperm on the parallel port
side.
Added --waittime option to the server to specify how long the server
should leave a screen up before changing to the next screen.
horrible hack) to a screen data item, I neglected to fix the code that
doles out key events to screens and clients. This meant screens didn't
get keys. It's now fixed.
as argument introducers. in 0.4-pre10, these were changed
from foo to -foo and this broke many clients. This change
should fix that and be backward/forward compatible.
+ Added a noop function to the protocol. This is useful for writing
shell script clients of LCDproc.
+ Changed the shared sock_send_string function to NOT send the
ending NUL ('\0') byte with the string. This was confusing
in Perl clients which saw NUL's as the first character of
each reply. WARNING: The LCDPROC client depended on this
behavior, your client may too. Use the newline instead.
See the code in clients/lcdproc/main.c (look for "switch(buf[i])")
to see one way to handle this. This should allow new clients
to connect to old servers and vice-versa.
+ Messed with include structure in .c files. It should no longer
be necessary to specify ../.. to get to shared code headers.
Also, since we are using automake, the global config.h can be
found with just #include "config.h" as it's location is included
in a -I to the compilers. As a result "make distcheck" now works.
longer allow the -Wp,-lang-c-c++-comments directive. Also cleaned
up getloadavg support that had problems on Solaris and RedHat 7.1.
Removed unused variables in a number of functions as a result of
warnings when compiled with --enable-debug config option.
Clients must now request keys using either client_add_key or screen_add_key
to receive key events. If a screen is active (on the display) and it
has registered a key with "screen_add_key" it will be the only client
to get that key. If the current screen doesn't want the key, it will
be sent to all clients that have registered that key using "client_add_key".
If you want to define a "hot button" for your client, you should probably
register that "hot key" with "client_add_key" and then list the keys that
control your client with "screen_add_key" on each screen. If you don't
have a "hot key", then just register keys with "screen_add_key" and you'll
get keystrokes only when your screen is active.
Also fixed some formatting (spaces versus tabs) in a couple of places.
Fixed lots of small problems in various places.
Added new protocol commands screen_add/del_key so screens
can request keystrokes when they are being displayed.
Lots of work on CPU GRAPH and BIG NUMBER CLOCK screens.
Fixed 'output' function in MtxOrb.c
display. The patch applied cleanly, and compiled properly. At least,
"it worked for me." :) I don't have such a display, thus I cannot test that
the driver actually works, but it at least doesn't do nasty things or break
the compile. Thanks, Nathan!
- bugfixes for display != MatrixOrb LCD
- changes the meaning of output_state
+ it's now a bitfield where evry bit corresponds to
one output
- protocol change
output on|off|value
where on = all outputs on
off = all outputs off
value = output on for all 1 bits
- changes the behavior for key presses
Keypresses are now deliverd to _all_ clients (not only
the one with the active screen)
reason: I have an client which is only active a few seconds after
an keypress
- changes the protocol so that a response is sent for every
command
reason: the client needs to communicate with the server with a
minimal latency
process LCDd now compiles and runs properly on Solaris! Additionally, he
has provided a new driver for a 16x2 LCD made by an Australian company.
I've compiled and executed this new code on a Solaris 2.6 box, and while I
don't have the display the new driver uses, LCDd tries to use it anyway,
fails (since the device isn't installed), and continues running, so this
looks solid!
Passed *every* piece of source in this project through indent. I'm setting
things up with ctags soon and am actually going to *gasp* use a nice
programming environment to continue development in. :)