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.
So all types ahve the following options:
-text "text" ("")
Sets the visible text.
-is_hidden false|true (false)
If the item currently should not appear in a menu.
-parent id ()
Sets the parent of this item.
Additionally menu_goto accepts an optional <parentid>
arg. (V.Boerchers)
(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.