This is an old revision of the document!
I modified the default skin Estuary so I can customize the main menu items. To do this in a maintainable way I first copied the add-on folder from a Kodi Windows installation and then made the necessary changes. Menu entry names, to which favorite if any it points to, and the Menu entry icon are defined in the language strings which makes it easier to modify.
C:\Program Files\Kodi\addons\skin.estuary to a new locationaddon.xml 2nd line (bco is my short name, v21 indicates the version of Kodi)<addon id="skin.estuary.bco.v21" version="4.0.0" name="Estuary bco" provider-name="phil65, Ichabod Fletchman, bco">
Rename folder skin.estuary to the id you changed in addon.xml, in this example skin.estuary.bco.v21
xml/Home.xml where you make the changes for the menu entries. To do this we substitute a menu item we will not use in our Kodi installation, for example Games or Music videos31162 which is the language message id of the games widget and comment out the surrounding <include content=“ImageWidget”> (enclose between <!-- and -->)<content> and comment out all items, then copy the ones you want in your menu in the sequence you want them to appear<item> <label>$LOCALIZE[31711]</label> <property name="menu_id">$NUMBER[17000]</property> <onclick>ActivateWindow(10025,"videodb://movies/sets/$LOCALIZE[31712]/?setid=$LOCALIZE[31721]",return)</onclick> <thumb>icons/sidemenu/$LOCALIZE[31713]</thumb> <property name="id">games</property> <visible>!Skin.HasSetting(HomeMenuNoGamesButton)</visible> </item>
Note that I use language strings to reference to the name of the menu entry, the movie set it points to, and the icon to use
<item> <label>$LOCALIZE[31721]</label> <property name="menu_id">$NUMBER[17000]</property> <onclick>RunAddon(plugin.audio.radio_de)</onclick> <thumb>icons/sidemenu/$LOCALIZE[31723]</thumb> <property name="id">games</property> <visible>!Skin.HasSetting(HomeMenuNoGamesButton)</visible> </item>
language/resource.language.en_gb/strings.po right after the initial comments starting on line 5# modified by bco, 26.03.2024 # modify string text and movie set id number below which depends on Kodi installed on each client # msgid "" msgstr "" msgctxt "#31711" msgid "Cartoons" msgstr "" msgctxt "#31712" msgid "343" msgstr "" msgctxt "#31713" msgid "videos.png" msgstr "" msgctxt "#31721" msgid "Radio" msgstr "" msgctxt "#31722" msgid "" msgstr "" msgctxt "#31723" msgid "radio.png" msgstr ""
Add corresponding translations to all languages you will need in your Kodi installations
skin.estuary.bco.v21 and install it in Kodi –> Settings –> Add-ons –> Install from zip file
For my Kodi clients I have added the favorite IDs in a table below which makes it easier to upgrade Estuary for a new version of Kodi. Find the IDs by opening file Settings –> File manager –> Profile directory –> favorites.xml. Sometimes you cannot read the numbers on an entry, in which case select favorites.xml then use the context menu and select copy which copies the file to the path selected on the right hand side.
| Client | Room | Cartoons | Thai movies | Billiard | Concerts | 3D | Trickfilme | Radio |
|---|---|---|---|---|---|---|---|---|
| Asklepios | Living HH | 401 | 8 | 10 | 9 | 76 | 18 | yes |
| Aquarius | Study HH | 343 | 7 | 1 | 8 | 64 | 371 | yes |
| Aquarius | Library HH | 343 | 7 | 1 | 8 | 64 | 371 | yes |
| Artemis | Billiard HH | 343 | 7 | 1 | 8 | 64 | 371 | yes |
| x | Prachin Buri | x | x | x | x | x | x | yes |
| x | Flims | x | x | x | x | x | x | yes |
Bold number = visible menu entry