Custom home screen menus
#31
(2014-06-19, 12:50)jingai Wrote: MacGyver's modifications will be in the next official release, if you can hold off for a bit.

Good news, thanks for the feedback.
Reply
#32
In the next release, can you add Recent Played Games on Games tab, through the Advanced Launcher?

Thanks
Reply
#33
hi all, this is the best skin !

But i am trying to add home custom 5 (the fifth or more custom buttons) on Gotham. But the skin become blank (no buttons)
Can anyone help , what did i missed ?

Thanks a millions~


I tried to edit Skinsettings.xml , Includes_Home1.xml, Includes_Home2.xml, Includes_Home3.xml, Includes_HomeDeck.xml



ON Includes_Home1 to 3.xml, i added
Code:
[Container(9000).HasFocus(21) + Skin.HasSetting(HomeCustom5_Shortcuts)]

ON Includes_HomeDeck.xml, i added
Code:
    <include name="HomeCustom5Icon">
        <description>Custom5</description>
        <label>$INFO[Skin.String(DialogHome5Title)]</label>
        <icon>$INFO[Skin.String(DialogHome5image)]</icon>
    </include>
    <include name="HomeCustom5Wallpaper">
        <description>Custom5</description>
        <label>$INFO[Skin.String(DialogHome5Title)]</label>
        <icon>$INFO[Skin.String(DialogHome5wallpaper)]</icon>
    </include>
ON Skinsetting.xml ,
I copy and paste everything on <!-- Custom Home Shortcut item 4 --> and modified control id.

Code:
    <!-- Custom Home Shortcut item 5 -->
                    <control type="radiobutton" id="2060">
                        <font>METF_Menu</font>
                        <include>SettingsLabel</include>
                        <label>$LOCALIZE[31713] 5</label>
                        <onclick>Skin.ToggleSetting(DialogHome5Enable)</onclick>
                        <selected>Skin.HasSetting(DialogHome5Enable)</selected>
                    </control>
                    <control type="button" id="2061">
                        <include>SettingsLabel</include>
                        <width>370</width>
                        <label>- $LOCALIZE[31714]</label>
                        <label2>$INFO[Skin.String(DialogHome5Title)]</label2>
                        <onclick>Skin.Reset(DialogHome5Title)</onclick>
                        <onclick>Skin.Reset(DialogHome5)</onclick>
                        <onclick>Skin.SetString(DialogHome5Title)</onclick>
                        <onclick>RunScript(script.favourites,property=DialogHome5)</onclick>
                        <visible>Skin.HasSetting(DialogHome5Enable)</visible>
                    </control>
                    <control type="button" id="2062">
                        <include>SettingsLabel</include>
                        <width>370</width>
                        <label>- $LOCALIZE[31715]</label>
                        <label2>$INFO[Skin.String(DialogHome5image)]</label2>
                        <onclick>Skin.Reset(DialogHome5image)</onclick>
                        <onclick>Skin.SetImage(DialogHome5image)</onclick>
                        <visible>Skin.HasSetting(DialogHome5Enable)</visible>
                    </control>
                    <control type="button" id="2063">
                        <include>SettingsLabel</include>
                        <width>370</width>
                        <label>- $LOCALIZE[31716]</label>
                        <label2>$INFO[Skin.String(DialogHome5wallpaper)]</label2>
                        <onclick>Skin.Reset(DialogHome5wallpaper)</onclick>
                        <onclick>Skin.SetImage(DialogHome5wallpaper)</onclick>
                        <visible>Skin.HasSetting(DialogHome5Enable)</visible>
                    </control>
                    <control type="radiobutton" id="2064">
                        <include>SettingsLabel</include>
                        <label>- $LOCALIZE[1034] $LOCALIZE[31457]</label>
                        <onclick>Skin.ToggleSetting(HomeCustom5_Shortcuts)</onclick>
                        <selected>Skin.HasSetting(HomeCustom5_Shortcuts)</selected>
                        <visible>Skin.HasSetting(DialogHome5Enable)</visible>
                    </control>
                    <!-- Custom5 submenus -->
                    <control type="button" id="2065">
                        <include>SettingsLabel</include>
                        <width>370</width>
                        <label>  - $LOCALIZE[31271] 1</label>
                        <label2>$INFO[Skin.String(HomeCustom5_Favourite1_Label)]</label2>
                        <onclick>Skin.Reset(HomeCustom5_Addon1)</onclick>
                        <onclick>Skin.Reset(HomeCustom5_Favourite1_Label)</onclick>
                        <onclick>Skin.Reset(HomeCustom5_Favourite1_Path)</onclick>
                        <onclick>Skin.SetString(CustomFavouritePath,HomeCustom5_Favourite1_Path)</onclick>
                        <onclick>Skin.SetString(CustomFavouriteName,HomeCustom5_Favourite1_Label)</onclick>
                        <onclick>ActivateWindow(1114)</onclick>
                        <visible>Skin.HasSetting(DialogHome5Enable) + Skin.HasSetting(HomeCustom5_Shortcuts) + IsEmpty(Skin.String(HomeCustom5_Addon1))</visible>
                    </control>
                    <control type="button" id="2066">
                        <include>SettingsLabel</include>
                        <width>370</width>
                        <label>  - $LOCALIZE[24000] 1</label>
                        <label2>$INFO[System.AddonTitle(Skin.String(HomeCustom5_Addon1))]</label2>
                        <onclick>Skin.SetAddon(HomeCustom5_Addon1,xbmc.addon.executable,xbmc.addon.video,xbmc.addon.audio,xbmc.addon.image)</onclick>
                        <visible>Skin.HasSetting(DialogHome5Enable) + Skin.HasSetting(HomeCustom5_Shortcuts) + IsEmpty(Skin.String(HomeCustom5_Favourite1_Path)</visible>
                    </control>
                    <control type="button" id="2067">
                        <include>SettingsLabel</include>
                        <width>370</width>
                        <label>  - $LOCALIZE[31271] 2</label>
                        <label2>$INFO[Skin.String(HomeCustom5_Favourite2_Label)]</label2>
                        <onclick>Skin.Reset(HomeCustom5_Addon2)</onclick>
                        <onclick>Skin.Reset(HomeCustom5_Favourite2_Label)</onclick>
                        <onclick>Skin.Reset(HomeCustom5_Favourite2_Path)</onclick>
                        <onclick>Skin.SetString(CustomFavouritePath,HomeCustom5_Favourite2_Path)</onclick>
                        <onclick>Skin.SetString(CustomFavouriteName,HomeCustom5_Favourite2_Label)</onclick>
                        <onclick>ActivateWindow(1114)</onclick>
                        <visible>Skin.HasSetting(DialogHome5Enable) + Skin.HasSetting(HomeCustom5_Shortcuts) + IsEmpty(Skin.String(HomeCustom5_Addon2))</visible>
                    </control>
                    <control type="button" id="2068">
                        <include>SettingsLabel</include>
                        <width>370</width>
                        <label>  - $LOCALIZE[24000] 2</label>
                        <label2>$INFO[System.AddonTitle(Skin.String(HomeCustom5_Addon2))]</label2>
                        <onclick>Skin.SetAddon(HomeCustom5_Addon2,xbmc.addon.executable,xbmc.addon.video,xbmc.addon.audio,xbmc.addon.image)</onclick>
                        <visible>Skin.HasSetting(DialogHome5Enable) + Skin.HasSetting(HomeCustom5_Shortcuts) + IsEmpty(Skin.String(HomeCustom5_Favourite2_Path)</visible>
                    </control>
                    <control type="button" id="2069">
                        <include>SettingsLabel</include>
                        <width>370</width>
                        <label>  - $LOCALIZE[31271] 3</label>
                        <label2>$INFO[Skin.String(HomeCustom5_Favourite3_Label)]</label2>
                        <onclick>Skin.Reset(HomeCustom5_Addon3)</onclick>
                        <onclick>Skin.Reset(HomeCustom5_Favourite3_Label)</onclick>
                        <onclick>Skin.Reset(HomeCustom5_Favourite3_Path)</onclick>
                        <onclick>Skin.SetString(CustomFavouritePath,HomeCustom5_Favourite3_Path)</onclick>
                        <onclick>Skin.SetString(CustomFavouriteName,HomeCustom5_Favourite3_Label)</onclick>
                        <onclick>ActivateWindow(1114)</onclick>
                        <visible>Skin.HasSetting(DialogHome5Enable) + Skin.HasSetting(HomeCustom5_Shortcuts) + IsEmpty(Skin.String(HomeCustom5_Addon3))</visible>
                    </control>
                    <control type="button" id="2070">
                        <include>SettingsLabel</include>
                        <width>370</width>
                        <label>  - $LOCALIZE[24000] 3</label>
                        <label2>$INFO[System.AddonTitle(Skin.String(HomeCustom5_Addon3))]</label2>
                        <onclick>Skin.SetAddon(HomeCustom5_Addon3,xbmc.addon.executable,xbmc.addon.video,xbmc.addon.audio,xbmc.addon.image)</onclick>
                        <visible>Skin.HasSetting(DialogHome5Enable) + Skin.HasSetting(HomeCustom5_Shortcuts) + IsEmpty(Skin.String(HomeCustom5_Favourite3_Path)</visible>
                    </control>
                    <control type="button" id="2071">
                        <include>SettingsLabel</include>
                        <width>370</width>
                        <label>  - $LOCALIZE[31271] 4</label>
                        <label2>$INFO[Skin.String(HomeCustom5_Favourite4_Label)]</label2>
                        <onclick>Skin.Reset(HomeCustom5_Addon4)</onclick>
                        <onclick>Skin.Reset(HomeCustom5_Favourite4_Label)</onclick>
                        <onclick>Skin.Reset(HomeCustom5_Favourite4_Path)</onclick>
                        <onclick>Skin.SetString(CustomFavouritePath,HomeCustom5_Favourite4_Path)</onclick>
                        <onclick>Skin.SetString(CustomFavouriteName,HomeCustom5_Favourite4_Label)</onclick>
                        <onclick>ActivateWindow(1114)</onclick>
                        <visible>Skin.HasSetting(DialogHome5Enable) + Skin.HasSetting(HomeCustom5_Shortcuts) + IsEmpty(Skin.String(HomeCustom5_Addon4))</visible>
                    </control>
                    <control type="button" id="2072">
                        <include>SettingsLabel</include>
                        <width>370</width>
                        <label>  - $LOCALIZE[24000] 4</label>
                        <label2>$INFO[System.AddonTitle(Skin.String(HomeCustom5_Addon4))]</label2>
                        <onclick>Skin.SetAddon(HomeCustom5_Addon4,xbmc.addon.executable,xbmc.addon.video,xbmc.addon.audio,xbmc.addon.image)</onclick>
                        <visible>Skin.HasSetting(DialogHome5Enable) + Skin.HasSetting(HomeCustom5_Shortcuts) + IsEmpty(Skin.String(HomeCustom5_Favourite4_Path)</visible>
                    </control>
                    <control type="button" id="2073">
                        <include>SettingsLabel</include>
                        <width>370</width>
                        <label>  - $LOCALIZE[31271] 5</label>
                        <label2>$INFO[Skin.String(HomeCustom5_Favourite5_Label)]</label2>
                        <onclick>Skin.Reset(HomeCustom5_Addon5)</onclick>
                        <onclick>Skin.Reset(HomeCustom5_Favourite5_Label)</onclick>
                        <onclick>Skin.Reset(HomeCustom5_Favourite5_Path)</onclick>
                        <onclick>Skin.SetString(CustomFavouritePath,HomeCustom5_Favourite5_Path)</onclick>
                        <onclick>Skin.SetString(CustomFavouriteName,HomeCustom5_Favourite5_Label)</onclick>
                        <onclick>ActivateWindow(1114)</onclick>
                        <visible>Skin.HasSetting(DialogHome5Enable) + Skin.HasSetting(HomeCustom5_Shortcuts) + IsEmpty(Skin.String(HomeCustom5_Addon5))</visible>
                    </control>
                    <control type="button" id="2074">
                        <include>SettingsLabel</include>
                        <width>370</width>
                        <label>  - $LOCALIZE[24000] 5</label>
                        <label2>$INFO[System.AddonTitle(Skin.String(HomeCustom5_Addon5))]</label2>
                        <onclick>Skin.SetAddon(HomeCustom5_Addon5,xbmc.addon.executable,xbmc.addon.video,xbmc.addon.audio,xbmc.addon.image)</onclick>
                        <visible>Skin.HasSetting(DialogHome5Enable) + Skin.HasSetting(HomeCustom5_Shortcuts) + IsEmpty(Skin.String(HomeCustom5_Favourite5_Path)</visible>
                    </control>
                </control>
Reply
#34
One too many </control> in there at the end?
Using a NUC7PJYHN and a 2820FYKH0 Intel NUC running LibreELEC, and two FireTVs.:)
Reply
#35
Notepad++ and XML Tools help me with that sort of error.
Reply
#36
Thanks both of you : ) , i got it done , MacGyver is correct. Just basic mistake on coding. My fifth custom shortcut show up.

But i have another issue.
I am on Android device, i download metropolis through xbmc, when after i put in the name of Button, a dialog pop up for me to pick my favorite.

But when i download the metropolis from here : https://github.com/stoli/Metropolis
Put it back to apk and install it, the dialog simple don't show up anymore. Which means i can only put in the name of new button , but it is not linked to anything.

This package is missing something or it is not for gotham ?

Best wish ~~~

SImon
Reply
#37
If you can wait a bit, I'm about 95% done with doing what Hitcher recommended. Just finishing up the default submenus and cleaning up the SkinSettings.
If I didn't have to sleep, it would have been done today. Smile It will only be for Helix and only in my personal Git unless jingai wants to adopt it for the next big release supporting Helix.

Image
Using a NUC7PJYHN and a 2820FYKH0 Intel NUC running LibreELEC, and two FireTVs.:)
Reply
#38
I'm sure there are lots wrong with it, but if you're running Helix, are brave, and want to try out completely customizable menus on Metropolis go ahead and give it a whirl.
skin.metropolis-personal-master.zip

Partial instructions on how to install it are in the Readme.md file. However, I have no idea what it will do to your rig if you load it. So don't come crying to me, and definitely don't go bugging jingai with issues, this is my personal test version not an official anything.

It uses script.skinshortcuts by Unfledged to make the menus (as recommended by Hitcher), so make sure you have it installed or you might be stuck on a blank menu (I have included a default menu config, but you never know). If it was named correctly and zipped up, using the "Install from Zip" function of Kodi would automatically install it (I think).

Who knows, good luck. Big Grin
Using a NUC7PJYHN and a 2820FYKH0 Intel NUC running LibreELEC, and two FireTVs.:)
Reply
#39
(Can I also recommend, because I've dealt with enough issues on this, that you install skinshortcuts through Kodi's add-on manager so all its dependencies are installed, or make sure you also have script.module.unidecode installed - though a quick look at the provided zip suggests it will cause Kodi to install it automatically)

Looking forward to giving this a run-through - always look forward to seeing new implementing of the skin shortcuts script Smile
Reply
#40
I only spent a few hours figuring it out Unfledged, so I'm sure there are things I did wrong (or not to the full potential). I also couldn't seem to add a button to set a custom "Icon" just the "Thumbnail". Did I miss something, or is this planned for a later date? So far your script seems to work absolutely perfect. Thanks for making it. Smile

Oh, anything I got wrong, let me know so I can fix it.
Using a NUC7PJYHN and a 2820FYKH0 Intel NUC running LibreELEC, and two FireTVs.:)
Reply
#41
I'll have a proper play tomorrow, and report any issues I find (quick test, though, and it works well Smile)

As regard thumbnails and icons, no you can only set the thumbnail and this won't change unless someone comes up with a very convincing argument - as far as Kodi is concerned, the icon is considered the fallback, the thumbnail is the preferred image. So if the thumbnail can't be found or isn't set, it falls back to the icon. Therefore, only the thumbnail (the image Kodi should use) is allowed to be set, meaning the icon can be kept as a default fallback (most often "DefaultShortcut.png") just in case an invalid thumbnail is specified Smile

Edit: Had a proper play. The only two things I noticed - there's an untranslated label in script-skinshortcuts.xml and, if I'm understanding right, there's two widget implementations - one managed by skinshortcuts, one managed by the skin in SkinSettings.xml...? Otherwise, a near-textbook implementation Wink
Reply
#42
Some screenshots.

Default Home screen
Image

Icon Home screen
Image

Horizontal Home screen
Image

Settings
Image

As you can see everything on the home menu is completely movable and removable and all sub-menus are as well. Thanks to Unfledged for script.skinshortcuts that made this functionality possible. (Tip: Make the source you want a Favorite, then point the ,menu/sub-menu shortcut to that.)
Using a NUC7PJYHN and a 2820FYKH0 Intel NUC running LibreELEC, and two FireTVs.:)
Reply
#43
MacGyver (the perfect handle for you)
This is awesome work!

Will The Metropolis-helix-custommenu-rewrite run on Gotham? If yes, how can I add it?
Reply
#44
Thanks.

Quote:Will The Metropolis-helix-custommenu-rewrite run on Gotham? If yes, how can I add it?

Not really, mostly due to the weird changes between Gotham and Helix in the form of button and control IDs. However.... one might be able to drop just:

Includes_Home1.xml
Includes_Home2.xml
Includes_Home3.xml
Includes_HomeDeck.xml
Includes.xml
SkinSettings.xml
script-skinshortcuts.xml
script-skinshortcuts-includes.xml

..from the Helix rewrite into a Gotham build (if you have the script.skinshortcuts addon already installed), it might work. (It might destroy the space time continuum that keeps all the dimensions together, or just make it so you can't undo what you did, resulting in you manually modifying or deleting your guisettings.xml file to boot again.)
I have not tried these file changes on Gotham so you're on your own. Smile
Using a NUC7PJYHN and a 2820FYKH0 Intel NUC running LibreELEC, and two FireTVs.:)
Reply
#45
It will be in the official Helix release too.
Reply

Logout Mark Read Team Forum Stats Members Help
Custom home screen menus0