Kodi Community Forum

Full Version: Estuary home menu items and custom nodes
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Hello eveybody,

I recently started some customization of Kodi with the Library Node Editor. Now my issue is that when I enter a category like 'Movies' or 'Musicvideos' from the main menu, my customizations andĀ filter-rules are ignored. Only when accessing them from the video menu I get all my custom nodes and filters.

How can I edit the Estuary home menu items so they jump to my custom nodes instead of the default ones?
You while need to dig into the xml files.

The menu is create by this fixedlist https://github.com/xbmc/xbmc/blob/master...L827-L1015

The movie menu item is created by https://github.com/xbmc/xbmc/blob/master...#L905-L914

The issue is this value

ActivateWindow(Videos,videodb://movies/titles/,return)

As that's a videodb:// link that simply to link to the database to return all movies stored in the database which ignores node setup.

If you've modified the Movie Titles node for example, then you need to replace that videodb link with a link that points to the node, this is done with library:// style links, so in this case for Movie Titles it would be

library://video/movies/titles.xml

so the above line would become

ActivateWindow(Videos,library://video/movies/titles.xml,return)
OK, thank you, that sounds promising.

I do not understand the difference of the entries that are already there:
I assume the 'onclick condition' is conditional to a gui setting, but what is the difference in the line without (Skin.HasSetting) and the one with an exclamation mark (!Skin.HasSetting)?
I assume the exclamation mark is equivalent to 'is not'?
That seems to work, it jumps to my custom node, BUT when stepping up one level in the menu the following menu is the default one (genre, studios etc.) and not my modified one.
(2022-06-01, 14:24)vonson Wrote: [ -> ]I assume the 'onclick condition' is conditional to a gui setting,
The onlick line is simply defines the action to perform when an item is selected, and this can be made conditional by the skinner for a wide variety of factors.
(2022-06-01, 14:24)vonson Wrote: [ -> ]I assume the exclamation mark is equivalent to 'is not'?
Yes correct.
(2022-06-01, 14:24)vonson Wrote: [ -> ]but what is the difference in the line without (Skin.HasSetting) and the one with an exclamation mark (!Skin.HasSetting)?

So to break it down

<onclick condition="Library.HasContent(movies) + Skin.HasSetting(home_no_categories_widget)">ActivateWindow(Videos,videodb://movies/,return)</onclick>

This applies when the Library contains movies and the skin setting Enable Category Widgets is disabled, see https://kodi.wiki/view/Add-on:Estuary/Se...ry_Widgets

So because the Categories widget won't be avaiable on Home with Titles, Genre, Year etc..etc it takes you to the Movie root to display the avaiable nodes.

<onclick condition="Library.HasContent(movies) + !Skin.HasSetting(home_no_categories_widget)">ActivateWindow(Videos,videodb://movies/titles/,return)</onclick>

This applies when the Library contains movies and the skin setting Enable Category Widgets is enabled.

So because the Categories widget is avaiable on Home with Titles, Genre, Year etc..etc it takes you direct to the Movie listing (unfiltered DB).

<onclick condition="!Library.HasContent(movies)">ActivateWindow(Videos,sources://video/,return)</onclick>

This applied when there are no movies in the Library.
Note for a functioning menu item there only needs to be a single onclick line.

So you could have a single unconditional

<onclick>ActivateWindow(Videos,library://video/movies/titles.xml,return)</onclick>

and remove the others.
that's more or less what I suspected. Thank you for the detailed explanation, code can be quite confusing...

What now I do not understand is why the link to my custom node does work, but stepping up in the menu brings me to some default instead of staying in my custom node structure.
(2022-06-01, 14:35)vonson Wrote: [ -> ]That seems to work, it jumps to my custom node, BUT when stepping up one level in the menu the following menu is the default one (genre, studios etc.) and not my modified one.
Did you restart Kodi after making the changes? If you did then that could be a bug, so please report to https://github.com/xbmc/xbmc/issues

A possible workaround is to locate your Kodi install folder where you'll find system -> library

Image

This is the location of the default nodes.

The Library Node Editor will put your modified nodes in userdata -> library

Note that anything in userdata -> library should take priority. However it could be this is not always happening.

IMPORTANT - Make a backup of system -> library folder and store this somewhere safe before making any changes to it.

With this done you can move the custom nodes from the userdata -> library folder to the equivalent system -> library folder.

So your custom nodes will sit in system -> library and userdata -> library will go back to being empty. With that done restart Kodi and check the navigation behaviour.
no, that's not it. Whatever change I do to \system\library\video (adding custom nodes, removing default nodes) it makes no difference. When I step up from the movie list the following menu is the unaltered default nodes.

might this have to do with what's defined in addons\script.skinshortcuts\resources\shortcuts\ ?
Which xml is the one for the movie list? I can't find it. Maybe it is the 'step up' from the movie list that causes this?