This is a plug-in for the Video Disk Recorder (VDR).

Written by:
    Thomas Creutz <thomas.creutz@gmx.de>
    Tobias Grimm <vdr@e-tobi.net>

Project's homepage:
    http://www.vdr-wiki.de/wiki/index.php/Menuorg-plugin
Source Code:
    https://projects.vdr-developer.org/projects/plg-menuorg

Project's old homepage:
    http://www.e-tobi.net/blog/pages/vdr-menuorg

Translations:
    it: Diego Pierotto <vdr-italian@tiscali.it> (The Italian VDR Community)
    fr: NIVAL Michaël <mnival@club-internet.fr>

License:
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation; either version 2 of the License, or
    (at your option) any later version.

    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.

    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
    Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
    02110-1301, USA.

    See the file COPYING for the full license information

Copyright:
    (C) 2007 - 2013 Tobias Grimm
    (C) 2007        Thomas Creutz


Description:
------------

This plug-in allows to reorganize VDR's main OSD menu. The new menu structure is
read from a XML config file. It's basic format is based on the format used by
the setup plug-in.


Requirements:
-------------

The plug-in has been tested with VDR 1.5.18. It requires the libxml++2.6
and libglibmm-2.4 library. VDR must be patched with the enclosed patch
(patches/vdr-patch/vdr-menuorg-0.4.diff). The patch does not 
introduce any ABI changes, so it is not necessary to rebuild all plug-ins
after applying the patch.


Configuration:
--------------

The following parameters are available:

 -c FILE   --config=FILE   loads the specified xml file
                           (default: ConfigDir/plugins/menuorg.xml)


Menu file format
----------------

The menu configuration file, is a simple XML file and has to conform to it's
syntax rules. The root node always is <menus>.

There are only four kinds of menu items described by the following XML tags:

   <system>    : System menu items, like the channels list or the timers
   <plugin>    : Plug-in menu items
   <menu>      : A sub menu
   <command>   : An external command to be excuted, similar to VDR's commands.conf
   <separator> : a separator item

In the menu hierarchy <system>, <plug-in> and <command> are leaf nodes, whereas
<menu> is an internal node. <menu> may contain any number of <system>, <plugin>,
<command>, <separator> or <menu> nodes.

Each node is described by a name attribute. For <system> nodes, the following
names are possible:

  - Schedule
  - Channels
  - Timers
  - Recordings
  - Commands
  - Setup

The name of a <plugin> node describes the plug-ins name, not it's main menu text.

With the name attribute in <menu> or <command> nodes, the main menu title of this
sub menu or command will be set.

Besides the name attribute, a <command> also requires the "execute" attribute,
which is the command to be executed and an optional "confirm" attribute.
With confirm="yes", you will be asked to press OK before executing the command
or abort with any other key.

e.g.:
    <command name="Free Disk Space" execute="df -h" confirm="yes" />

You can provide a custome title for plug-in and system menu entries, by providing
a title attrbute:

    <system name="Schedule" title="Program Schedule" />
    <plugin name="femon" title="DVB Health Monitor" />

<system> items not configured in the menu configuration will not be visible in
VDR's OSD. Plug-ins that are not configured in the xml file, will be shown
at the end of the root main menu.


e.g.:

    <?xml version="1.0" encoding="UTF-8"?>
    <menus>
        <system name="Channels" />
        <system name="Recordings" />
        <menu name="Video/Audio">
            <plugin name="mp3" />
            <plugin name="mplayer" />
            <menu name="CD/DVD">
                <plugin name="burn" />
                <plugin name="dvdselect" />
                <plugin name="dvd" />
            </menu>
        </menu>
        <menu name="Timer">
            <system name="Timers" />
            <plugin name="autotimeredit" />
            <plugin name="sleeptimer" />
        </menu>
        <menu name="Games">
            <plugin name="games" />
            <plugin name="solitaire" />
            <plugin name="freecell" />
        </menu>
        <separator />
        <menu name="System">
            <system name="Setup" />
            <system name="Commands" />
            <plugin name="sysinfo" />
            <plugin name="femon" />
            <command name="CPU-Info" confirm="yes" execute="cat /proc/cpuinfo" />
        </menu>
    </menus>
