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)<addon id="skin.estuary.bco" 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
. Do not include the version of Kodi in the folder name, so you can update later when a new Kodi version will become available.
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 videos
31162
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
and install it in Kodi –> Settings –> Add-ons –> Install from zip filefavorites.xml
then use the context menu and select copy which copies the file to the path selected on the right hand side, for example a network path.Client | Device | Room | Cartoons | Thai movies | Billiard | Concerts | 3D | Trickfilme | Radio |
---|---|---|---|---|---|---|---|---|---|
Asklepios | Nokia 8010 | Living Hua Hin | 401 | 8 | 10 | 9 | 76 | 18 | yes |
Aquarius | Xiaomi Mi Box S | Study Hua Hin | 343 | 7 | 1 | 8 | 64 | 371 | yes |
Athena | Mecool KM9 | Study Hua Hin | 343 | 7 | 1 | 8 | 64 | 383 | yes |
Aquarius | Mecool KM9 | Library Hua Hin | 343 | 7 | 1 | 8 | 64 | 371 | yes |
Artemis | Mecool KM9 | Billiard Hua Hin | 343 | 7 | 1 | 8 | 64 | 371 | yes |
Minerva | Xiaomi Mi Box S | Prachin Buri | 352 | 7 | 1 | 9 | 68 | 366 | yes |
Prometheus | Xiaomi Mi Box S | Flims | 343 | 7 | 1 | 8 | - | 365 | yes |
S5e | Samsung Tab S5e | Bernard's Tablet | 343 | 7 | 1 | 8 | 64 | 375 | yes |
Bold number = visible menu entry