1. Use <stdbool.h> if it is available but keep a compatibility shim in
shared/defines.h in case it is not.
2. Unbreak the circular header dependencies (mostly):
2a. client.c and client.h may NOT depend on 'struct Menu'. Use a void pointer
and casts instead.
2b. Separate the data type definitions in client.h and screen.h from
function prototypes which may require other data structures. This makes
header dependencies much more easy to maintain. Usually the data types
should have been moved to their own files but I (mmdolze) chose to
separate them using different header guards.
2c. Remove many now unused header includes.
Apply (old BSD-) style on menuscreens.c.
- explicitely declare void arguments
- make a few string args const
* better support for shorter displays in server screen
* make target to create top level tag file
'custom_main_menu' instead of 'main_menu' is used for
navigation. The "real" main menu is saved in a variable
- Adaptation to the MenuItem changes (V.Boerchers)
- make menuscreen_goto() more permissive: any transition between one
client's menu is allowed. If configure option
--enable-permissive-menuscreen-goto is choosen any transition is
allowed
- #define for TESTMENUS now set via configure
option --enable-testmenus (VB)
(IPv6 support is not in good shape yet)
a few more bug fixes, more error checks
extended input methods using more key (left, righ) if they are available
- Now using priority classes internally and in protocol
- Converting (depreciated) priorty numbers to the classes BACKGROUND,
INFO and FOREGROUND
- Added menu_goto command (only works when menu not active)
- Moved and altered code to create, destroy and manipulate clients, screens
and widgets in an OO-like manner.
- Moved command execution code to a commands directory, splitting commands to
what subject they are concerned.
- Menus are temporary disabled while working on new menu structure.