summaryrefslogtreecommitdiff
path: root/README
blob: 86e4b38adbcd991675aa3c3c4824f82209688c77 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
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>