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
|
This is a plug-in for the Video Disk Recorder (VDR).
Written by: Thomas Creutz <thomas.creutz@gmx.de>
Tobias Grimm <tg@e-tobi.net>
Project's homepage: http://www.e-tobi.net/blog/pages/vdr-menuorg
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.
See the file COPYING for the full license information
Description:
------------
This plug-in allows to reorganise VDR's main OSD menu. The new menu structure is
read from an XML config file. It's basic format is based on the format used in
the setup plug-in.
Requirements:
-------------
The plug-in has been tested with vdr 1.4.7 and 1.5.7. It requires the libxml++2.6
library.
Configuration:
--------------
The following parameters are available:
-c FILE --config=FILE loads the specified xml file
(default: ConfigDir/plugins/menuorg.xml)
Upgrading from vdr-submenu plugin
---------------------------------
There is a convert script in this package. With it you can convert your old
MainMenu.conf from the submenu plugin to the XML file which is needed by
menuorg.
Example usage:
vdr-submenu2menuorg /var/lib/vdr/plugins/MainMenu.conf /var/lib/vdr/plugins/menuorg.xml
Attention: Your destination file will be overwritten without any warning!
When your vdr runs not as root, than you should verify that the target file is
readable for the which ever user runs vdr.
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
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> 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" />
<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="Schedule" />
<system name="Channels" />
<system name="Recordings" />
<menu name="Video/Audio">
<plug-in name="mp3" />
<plug-in name="mplayer" />
<menu name="CD/DVD">
<plug-in name="burn" />
<plug-in name="dvdselect" />
<plug-in name="dvd" />
</menu>
</menu>
<menu name="Timer">
<system name="Timers" />
<plug-in name="autotimeredit" />
<plug-in name="sleeptimer" />
</menu>
<menu name="Games">
<plug-in name="games" />
<plug-in name="solitaire" />
<plug-in name="freecell" />
</menu>
<menu name="System">
<system name="Setup" />
<system name="Commands" />
<plug-in name="sysinfo" />
<plug-in name="femon" />
<command name="CPU-Info" confirm="yes" execute="cat /proc/cpuinfo" />
</menu>
</menus>
|