• 1
  • 99
  • 100
  • 101(current)
  • 102
  • 103
  • 140
Release script.skinshortcuts
It has a way to gather together the helper services backgrounds Wink Skin Helper's docs.
Reply
well look at that! Big Grin hahaaa thank you!
Reply
Hi! I've been using this script with Mimic skin on Jarvis without any problems but now I can't get the script to add shortcuts to Krypton (Mimic skin).

This is only applicable to trying to add source folders as a shortcut.

For example I have my media separated into Cartoon Movies, Movies, TV Series, Cartoon Series etc (in different folders on Windows). Previously I can add them as shortcuts on Jarvis. Now I get script error. I have no problem if I were to add them as shortcuts under "Title" or "Genre" etc.
Reply
A link to a full debug log (wiki) with the scripts own debug logging enabled (System/Settings > System > Add-Ons > Manage Dependencies > Skin Shortcuts > Configure > Enable Debug Logging) will be needed Smile
Reply
Hi! This is the debug log file. Hope I that I've done it correctly.
https://www.mediafire.com/?x8in25im36ipkn8
Reply
You did it perfectly. I've reproduced the issue and will let you know when a fix is available.
Reply
Now fixed on git. To install the git version download the zip from the link, extract it then manually replace addons/script.skinshortcuts with the contents of the zip file. The addons folder is found one folder 'up' from the userdata (wiki) folder.

And many thanks for the bug report.
Reply
Hi Bob! Thanks for the quick bug fix!
Reply
Is it possible to use Custom Widget grouping ?

I want to only show some widgets in some conditions.

For resume, I want to hide my additional widgets (in overrides.xml) in some conditions.

SendClick(312) always return all widgets.

This is my widget grouping :

Code:
<widgettype-groupings>
        <node label="40084">
            <content>widgets</content>
        </node>
    </widgettype-groupings>    
    <widget-groupings>
        <shortcut label="40085" icon="DefaultFolder.png" condition="System.HasAddon(script.skin.helper.service)">||BROWSE||script.skin.helper.service/?action=widgets&amp;path=skinplaylists,librarydataprovider,scriptwidgets,extendedinfo,smartshortcuts,pvr,smartishwidgets</shortcut>
        <shortcut label="32107" type="32021" icon="DefaultAddon.png" condition="!System.HasAddon(script.skin.helper.service)">::INSTALL::script.skin.helper.service</shortcut>
        <node label="32030">
            <content>video</content>
            <node label="32040">
                <content>playlist-video</content>
            </node>
            <node label="32010">
                <content>addon-video</content>
            </node>
            <node label="32075">
                <content>videosources</content>
            </node>
        </node>
        <node label="32031">
            <content>music</content>
            <node label="32040">
                <content>playlist-audio</content>
            </node>
            <node label="32011">
                <content>addon-audio</content>
            </node>
            <node label="32075">
                <content>musicsources</content>
            </node>
        </node>
        <node label="32020">
            <content>picturesources</content>
        </node>
        <node label="32007">
            <node label="32009">
                <content>addon-program-plugin</content>
            </node>
            <node label="32010">
                <content>addon-video</content>
            </node>
            <node label="32011">
                <content>addon-audio</content>
            </node>
            <node label="32012">
                <content>addon-image</content>
            </node>
            <shortcut label="10001" type="32021" icon="DefaultAddonProgram.png" widget="addon" widgetType="program" widgetTarget="programs">addons://sources/executable</shortcut>
            <shortcut label="20244" type="32021" icon="DefaultAddonProgram.png" widget="addon" widgetType="program" widgetTarget="programs" condition="System.Platform.Android">androidapp://sources/apps</shortcut>
            <shortcut label="1037" type="32014" icon="DefaultAddonVideo.png" widget="addon" widgetType="video" widgetTarget="video">addons://sources/video</shortcut>
            <shortcut label="1038" type="32019" icon="DefaultAddonMusic.png" widget="addon" widgetType="music" widgetTarget="music">addons://sources/audio</shortcut>
            <shortcut label="1039" type="32020" icon="DefaultAddonPicture.png" widget="addon" widgetType="picture" widgetTarget="pictures">addons://sources/image</shortcut>
        </node>
    </widget-groupings>
 Estuary MOD V2 
Reply
No, there's no additional custom groupings for widgets, just the ability to customise the <widget-groupings />. This is because it actually needs quite significant code refactoring to allow this - the different behaviours when using the widget groupings ('Use as widget' label, no choice of action for playlists and sources, etc) are based on it being the widget grouping, not conditional on it being a widget grouping...

The <node /> and <shortcut /> elements support the condition attribute, though - so you could set/clear a window property before sending the click to 312 and have the nodes that are displayed conditional on that.
Reply
(2016-07-26, 21:28)BobCratchett Wrote: No, there's no additional custom groupings for widgets, just the ability to customise the <widget-groupings />. This is because it actually needs quite significant code refactoring to allow this - the different behaviours when using the widget groupings ('Use as widget' label, no choice of action for playlists and sources, etc) are based on it being the widget grouping, not conditional on it being a widget grouping...

The <node /> and <shortcut /> elements support the condition attribute, though - so you could set/clear a window property before sending the click to 312 and have the nodes that are displayed conditional on that.

I not really understand for set/clear a window property before sending the click to 312.

Can you give me an example please ?

My dialog look like that :

Image

When I select 'Type of widget' I want to show only 'Type of widgets' (my additionnal widget on overrides.xml)

And when I select a widget to change it I want to show all others (except 'Type of widgets')

Image
 Estuary MOD V2 
Reply
This is completely untested and being typed off the top of my head (which is to say, don't expect it to work as-is but it will hopefully give you the idea of what I mean). In the button which sets the widget, something like:-

Code:
<onclick condition="IsEmpty(Container(211).ListItem.Property(widgetPath))">ClearProperty(CustomPropertyForVisibility,10000)</onclick>
<onclick condition="!IsEmpty(Container(211).ListItem.Property(widgetPath))">SetProperty(CustomPropertyForVisibility,True,10000)</onclick>
<onclick>SendClick(312)</onclick>

... (setting to the home window in this case, but should be able to be done directly to the current window); and then in the overrides ...

Code:
<widget-groupings>
    <!-- Nodes that are visibile when there is no widget set -->
    <node label="..." condition="IsEmpty(Window(10000).Property(CustomPropertyForVisibility))">
        ...
    </node>
    ...

    <!-- Nodes that are visible when there is a widget set -->
    <node label="..." condition="!IsEmpty(Window(10000).Property(CustomPropertyForVisibility))">
        ...
    </node>
    ...
</widget-groupings>

... and you now have different nodes that will appear depending on whether the widgetPath property is set on the current menu item.
Reply
I not sure it's working because I have already property for my widgets

I have my button 312 to choose type of widgets (they are pre-configured widgets) :

Code:
<control type="button" id="312">
                        <width>1256</width>
                        <include>DefaultSettingButton</include>
                        <label>$VAR[Label_SkinSetting_WidgetLabel]</label>
                        <label2>$VAR[Label_SkinSetting_Widget]</label2>
                        <visible>String.IsEqual(Window.Property(groupname),mainmenu) | String.StartsWith(Window.Property(groupname),x11)</visible>
                        <visible>!String.IsEqual(Container(211).ListItem.Label,OpenELEC) + !String.IsEqual(Container(211).ListItem.Label,LibreELEC)</visible>
                    </control>

And to manage items of this pre configured widgets, I use this :

Code:
<control type="button" id="1452">
                        <width>1256</width>
                        <include>DefaultSettingButton</include>
                        <label>$ADDON[script.skinshortcuts 32044] 1</label>
                        <label2>$VAR[MoviesWidget1Label2Var]</label2>
                        <onclick>SetProperty(widgetID, movies1)</onclick>
                        <onclick>SendClick(312)</onclick>
                        <visible>String.IsEqual(Window.Property(groupname),mainmenu)</visible>
                        <visible>String.IsEqual(Container(211).ListItem.Property(widget),MoviesWidget)</visible>
                    </control>
                    <control type="button" id="1453">
                        <width>1256</width>
                        <include>DefaultSettingButton</include>
                        <label>$ADDON[script.skinshortcuts 32044] 2</label>
                        <label2>$VAR[MoviesWidget2Label2Var]</label2>
                        <onclick>SetProperty(widgetID, movies2)</onclick>
                        <onclick>SendClick(312)</onclick>
                        <visible>String.IsEqual(Window.Property(groupname),mainmenu)</visible>
                        <visible>String.IsEqual(Container(211).ListItem.Property(widget),MoviesWidget)</visible>
                    </control>
                    <control type="button" id="1454">
                        <width>1256</width>
                        <include>DefaultSettingButton</include>
                        <label>$ADDON[script.skinshortcuts 32044] 3</label>
                        <label2>$VAR[MoviesWidget3Label2Var]</label2>
                        <onclick>SetProperty(widgetID, movies3)</onclick>
                        <onclick>SendClick(312)</onclick>
                        <visible>String.IsEqual(Window.Property(groupname),mainmenu)</visible>
                        <visible>String.IsEqual(Container(211).ListItem.Property(widget),MoviesWidget)</visible>
                    </control>
                    <control type="button" id="1455">
                        <width>1256</width>
                        <include>DefaultSettingButton</include>
                        <label>$ADDON[script.skinshortcuts 32044] 4</label>
                        <label2>$VAR[MoviesWidget4Label2Var]</label2>
                        <onclick>SetProperty(widgetID, movies4)</onclick>
                        <onclick>SendClick(312)</onclick>
                        <visible>String.IsEqual(Window.Property(groupname),mainmenu)</visible>
                        <visible>String.IsEqual(Container(211).ListItem.Property(widget),MoviesWidget)</visible>
                    </control>

And not sure, you have understand what I want. I want to show only additionnal widgets (<content>widgets</content>) when I click on button 312 and show others node when click on my others buttons.
 Estuary MOD V2 
Reply
You're absolutely right in that I don't understand exactly what you want, that's why I made it clear the example I gave wasn't something you could use as-is but gives an idea of the method. As such, I would suggest you don't understand what that example shows Wink

However, another example. Taking you absolutely at your word of what you want to achieve, to only show <content>widgets</content> when you click 312:-

Add a button you'll use as 312, with the onclicks...

Code:
<onclick>SetProperty(ARandomPropertyName,True)</onclick>
<onclick>SendClick(312)</onclick>

...and in all the other buttons that send a click to 312...

Code:
<onclick>ClearProperty(ARandomPropertyName,True)</onclick>
<onclick>SendClick(312)</onclick>

...and for the node...

Code:
<node label="..." condition="!IsEmpty(Window.Property(ARandomPropertyName))>
    <content>widgets</content>
</node>

...and finally adjust the method for your specific skin and exact needs (along with doing the relevant testing such as checking whether a specific window id has to be specified for the property, etc).
Reply
Thanks for your help.

Add SendClick on 312 button open me 2 windows, so I have tried :

Code:
<control type="button" id="312">
                        <width>1256</width>
                        <include>DefaultSettingButton</include>
                        <label>$VAR[Label_SkinSetting_WidgetLabel]</label>
                        <label2>$VAR[Label_SkinSetting_Widget]</label2>
                        <onclick>SetProperty(WidgetVisibility,True)</onclick>
                        <visible>String.IsEqual(Window.Property(groupname),mainmenu) | String.StartsWith(Window.Property(groupname),x11)</visible>
                        <visible>!String.IsEqual(Container(211).ListItem.Label,OpenELEC) + !String.IsEqual(Container(211).ListItem.Label,LibreELEC)</visible>
                    </control>

                    <control type="button" id="1452">
                        <width>1256</width>
                        <include>DefaultSettingButton</include>
                        <label>$ADDON[script.skinshortcuts 32044] 1</label>
                        <label2>$VAR[MoviesWidget1Label2Var]</label2>
                        <onclick>SetProperty(widgetID, movies1)</onclick>
                        <onclick>ClearProperty(WidgetVisibility,True)</onclick>
                        <onclick>SendClick(312)</onclick>
                        <visible>String.IsEqual(Window.Property(groupname),mainmenu)</visible>
                        <visible>String.IsEqual(Container(211).ListItem.Property(widget),MoviesWidget)</visible>
                    </control>

And for overrides :

Code:
<widget-groupings>
        <node label="40084" condition="!String.IsEmpty(Window.Property(WidgetVisibility))">
            <content>widgets</content>
        </node>
        <shortcut label="40085" icon="DefaultFolder.png" condition="String.IsEmpty(Window.Property(WidgetVisibility))">||BROWSE||script.skin.helper.service/?action=widgets&amp;path=skinplaylists,librarydataprovider,scriptwidgets,extendedinfo,smartshortcuts,pvr,smartishwidgets</shortcut>
</widget-groupings>

But it seems property have no effect, two shortcuts are displayed each time.
 Estuary MOD V2 
Reply
  • 1
  • 99
  • 100
  • 101(current)
  • 102
  • 103
  • 140

Logout Mark Read Team Forum Stats Members Help
script.skinshortcuts8