Modify Menu Entries

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.

  1. Install Kodi on a Windows machine and copy folder C:\Program Files\Kodi\addons\skin.estuary to a new location
  2. Modify file addon.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.

  3. Modify file 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
    1. Find 31162 which is the language message id of the games widget and comment out the surrounding <include content=“ImageWidget”> (enclose between <!-- and -->)
    2. Find <content> and comment out all items, then copy the ones you want in your menu in the sequence you want them to appear
    3. If you want to add a menu entry to a group of movies, for example all Cartoons, add an item for a movie set, all items of that set will appear when you click that menu entry
      <item>
      	<label>$LOCALIZE[31711]</label>
      	<property name="menu_id">$NUMBER[17000]</property>
      	<onclick>ActivateWindow(10025,&quot;videodb://movies/sets/$LOCALIZE[31712]/?setid=$LOCALIZE[31721]&quot;,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

    4. If you want to add a menu entry for an addon, for example a Radio addon, add an item to open that addon
      <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>
  4. Enter the corresponding language strings in 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

  5. Zip folder skin.estuary.bco and install it in Kodi –> Settings –> Add-ons –> Install from zip file

Favorite IDs

  • 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, for example a network path.
  • Check before the upgrade in Settings –> Add-ons –> My add-ons –> Look and feel –> Skin whether any themes need to be uninstalled prior to installing a new one.
Client Room Cartoons Thai movies Billiard Concerts 3D Trickfilme Radio
Asklepios Living Hua Hin 401 8 10 9 76 18 yes
Aquarius Study Hua Hin 343 7 1 8 64 371 yes
Aquarius Library Hua Hin 343 7 1 8 64 371 yes
Artemis Billiard Hua Hin 343 7 1 8 64 371 yes
Minerva Prachin Buri 352 7 1 9 68 366 yes
x Flims x x x x x x yes

Bold number = visible menu entry