Kodi 18 with Estuary skin

Kodi Setup

  1. Install custom version of Estuary skin as explained in the next section.
  2. Set Screensaver to Dim.
  3. Add Radio addon and Yahoo Weather addon. The latter can be enabled in the skin settings to display in the top bar.
  4. Add Keymap Editor from Program Addons.
  5. Enable Show movie sets in Settings/Media/Videos. You might want to enable Include sets containing a single movie before setting up the library, and disable it afterwards.
  6. Add file paths through main menu Videos, then Files/Add videos…/Browse/Add network location…, and add the samba path to the folder.
  7. Add file path for (example) Concerts, then create movie set concerts, then add all movies to the movie set.
  8. Select the movie set, then select Add to favorites through the context menu.
  9. Repeat for other movie types you want to group into it's own menu item, for example Billiard and Foreign movies.
  10. Add file path for Music, go to Settings first and enable additional scrapers for Artist and Album information.
  11. Add photos file path and make the path a favorite.
  12. Optional: Zattoo Box addon

Modify Menu Entries

The new default skin “Estuary” is very good, not too heavy, and well maintained. However, it lacks the ability to customize the home screen. However, it is possible to customize the home menu items manually. With SSH access to your Kodi box, you can create custom menu entries. You need to be root to copy from the apk directory. Alternatively, you can copy from a rooted device, or a PC install, and then copy from USB to your media player, if the media player is not rooted.

  1. Login to your box (for Android use SSHelper) and copy the entire skin directory with TotalCommander or the following command:
    ; Android:
    su
    cp -R /data/data/org.xbmc.kodi/cache/apk/assets/addons/skin.estuary /storage/emulated/0/Android/data/org.xbmc.kodi/files/.kodi/addons
    ; LibreELEC:
    cp -R /usr/share/kodi/addons/skin.estuary ~/.kodi/addons
  2. Instead of /storage/emulated, you can also use path /data/media, which points to the same “0” directory, but the latter can be accessed only when root
  3. Rename the copied directory to skin.estuary.mod, then rename the skin id and name to “estuary.mod” in the 2nd line of addon.xml:
    ; Android: /storage/emulated/0/Android/data/org.xbmc.kodi/files/.kodi/addons/skin.estuary.mod/addon.xml
    ; LibreELEC: ~/.kodi/addons/skin.estuary.mod/addon.xml
  4. Fix directory and file permissions
  5. Reboot Kodi, first enable the new skin in Addons, then set the new skin in Interface
  6. Make the desired views a favorite, for example you want to have a menu item for foreign language movies, so add all foreign language movies into the same movie set and make it a favorite.
  7. Note the ActivateWindow command including the parameters in between the (brackets) in favorites.xml, this will be the command to open your custom menu.
    ; Android: /storage/emulated/0/Android/data/org.xbmc.kodi/files/.kodi/userdata/favorites.xml
    ; LibreELEC: ~/.kodi/userdata/favorites.xml
  8. Modify all custom menu entries and menu icons in Home.xml:
    ; Android: /storage/emulated/0/Android/data/org.xbmc.kodi/files/.kodi/addons/skin.estuary.mod/xml/Home.xml
    ; LibreELEC: ~/.kodi/addons/skin.estuary.mod/xml/Home.xml
  9. For that, choose a menu item you do not use, for example “Games”, find the string “ActivateWindow(Games)” in Home.xml
  10. Rename the entry within <label>, and replace the png file within <thumb>, for example with movies.png
  11. Remove visibility check within <visible> except !Skin.HasSetting, with which you can enable/disable all custom menu items
  12. If you want to remove the text when moving to your new menu item, first open file strings.po and find the string id (for “Games”, this is id 31162 as per Kodi 9.0.1):
    ; Android: /storage/emulated/0/Android/data/org.xbmc.kodi/files/.kodi/addons/skin.estuary.mod/language/resource.language.en_us
    ; LibreELEC: ~/.kodi/addons/skin.estuary.mod/language/resource.language.en_us
  13. Open Home.xml again and find id 31162, comment out from <include content=“ImageWidget”> to </include>, this will disable the text “Play your personal games…”
  14. To create more than one extra menu item, copy the new menu item and rename the <label> and <onclick> directives, but keep property name (menu_id and id) the same as for the original games menu item
  15. Reorder your menu items to your liking and reboot Kodi
  16. Optionally, change the splash screen by replacing splash.jpg in the kodi install folder, or by placing splash.png into the user folder:
    ; Android:
    /data/data/org.xbmc.kodi/cache/apk/assets/media
    /storage/emulated/0/Android/data/org.xbmc.kodi/files/.kodi/media

Refer to the example file home.zip which contains custom menu items replacing the games entry. Note id 52 below, which is the id of the favorite selected.

<item>
  <label>$LOCALIZE[20389]</label>
  <property name="menu_id">$NUMBER[17000]</property>
  <onclick>ActivateWindow(10025,&quot;videodb://movies/sets/52/?setid=52&quot;,return)</onclick>
  <thumb>icons/sidemenu/musicvideos.png</thumb>
  <property name="id">games</property>
  <visible>!Skin.HasSetting(HomeMenuNoGamesButton)</visible>
</item>

In my setup, it is Concerts(1), Billiard(2), Thai movies (8), 3D(53).

Movie sets and media files

Movie set artwork

Kodi 19 introduces a central movie set artwork folder. Prior to that, movie sets got their artwork from one of their movie members, but this does not work anymore in Kodi 19 beta2. I use tmm (tiny media manager) to create artwork, which also adds movieset artwork. This is how to extract the movieset-poster.jpg and movieset-fanart.jpg files from the movie folder and move them to a central artwork folder.

$ cd /your/movies/root/folder
$ find . -name 'movieset-poster.jpg' -exec cp --parents \{\} /path/to/moviesetart \;
$ find . -name 'movieset-fanart.jpg' -exec cp --parents \{\} /path/to/moviesetart \;
$ cd /path/to/moviesetart
find . -name '*.jpg' -exec bash -c 'filename="{}"; mv "$filename" "${filename//movieset-/}"' \;

In addition, you need to create file advancedsettings.xml in the userdata folder with the following content

<advancedsettings>
	<videolibrary>
		<moviesetextraart>
			<arttype>poster</arttype>
			<arttype>fanart</arttype>
		</moviesetextraart>
	</videolibrary>
</advancedsettings>

Links