Commit Graph
11 Commits
Author SHA1 Message Date
ddouthitt eb6e99e7e8 Server no longer uses a fixed lcd structure, but now a pointer to
a lcd_logical_driver structure (lcd_ptr).  Fixed bug in lcd.c
which caused lcd_drv_getkey_loop to act badly.
2001-09-27 16:12:55 +00:00
ddouthitt 6a0e23dc3e Massive changes (first commit), including but not limited to:
* 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
2001-09-21 21:08:10 +00:00
ppokorny 5d6406feb1 When changing from a widget-based storage (that was, in retrospect a
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.
2001-05-25 15:22:34 +00:00
ppokorny 00cc9fca23 + Changed protocol to 0.3 because we now accept both -foo and foo
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.
2001-05-25 03:14:27 +00:00
ppokorny 3e4ce08d43 Added support for "client_add_key" and "client_delete_key" functions.
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.
2001-05-11 17:55:36 +00:00
ppokorny 877d8ac8e8 Added GLK12232-25SM support with glk driver.
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
2001-04-27 02:20:38 +00:00
William Ferrell 6dabd0b8f3 Applied patches supplied by Andre' Breiler:
- 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
2001-03-22 22:51:49 +00:00
William Ferrell 6a115b4446 More formatting changes, new tags file. 2000-04-03 22:13:57 +00:00
William Ferrell ddfd41f53e More formatting updates. Reduced whitespace, looks even better. 2000-03-30 20:43:33 +00:00
William Ferrell f5a5e9653b Removed lcddriver.c (doesn't do anything, isn't in any makefiles, etc.).
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. :)
2000-03-30 20:20:41 +00:00
William Ferrell 2635c3085d Initial revision 1999-12-09 23:15:14 +00:00