Kodi Community Forum

Full Version: I can no longer display TVGuide, TVChannels, etc. windows over the top of live video
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
... I could do this in Krypton. I have a skin that calls ActivateWindow(tvguide) from the OSD, but I notice it no longer works in Leia. Is this new intended behaviour? None of the MyPVR* windows will do this. The DialogPVRChannelGuide, DialogPVRChannelsOSD, etc. work fine, but I can't see anything special about them just looking at the XML.
Active modal dialog check is the culprit. Hope this is addressed but in the meantime you should be able to work around it. Try this:

PHP Code:
<onclick>close<</onclick>
<
onclick>ActivateWindow(tvguide)</onclick
yes I had the close in there already, so it isn't that - I'm not sure why it works for the DialogPVR* windows but not for the MyPVR* ones. Is it something special about them in Kodi itself that makes them called like modal dialogs, or is it controllable in the skin?
(Worst comes to worst I'll cut-n-paste all the contents of MyPVRGuide and shove it into DialogPVRChannelGuide - haven't tried that yet tho)
using
xml:
<onclick>close</onclick>
<onclick>ActivateWindow(tvguide)</onclick>
works ok on my end in kodi leia.

check your Debug Log to see what's going on, perhaps you can find some clue there.

this is what i see in mine:
08:18:44.777 T:140614838496000   DEBUG: HandleKey: return (0xf00d) pressed, action is Select
08:18:44.777 T:140614838496000   DEBUG: Activating window ID: 10702
08:18:44.778 T:140614838496000   DEBUG: ------ Window Deinit (VideoOSD.xml) ------
08:18:44.778 T:140614838496000   DEBUG: ------ Window Deinit (VideoFullScreen.xml) ------
08:18:44.780 T:140614838496000   DEBUG: ------ Window Init (MyPVRGuide.xml) ------
(try again, lost my edit)
I used to have
                        <onclick>Dialog.Close(VideoOSD)</onclick>
                        <onclick>ActivateWindow(tvguide)</onclick>

which worked in krypton. If I substitute PVRChannelGuide for tvguide, it works in Leia. Curious why.

BTW I am NOT getting any errors of the form

     Activate of window 'xxx' refused because there are active modal dialogs

in the kodi.log.
Aha...
17:51:33.520 T:3748    INFO: Activate of window '10702' refused because there are active modal dialogs

when debug log is enabled. The VideoOSD window contains:

<window>
    <onload>runscript(special://skin/extras/scripts/dynamicOSD.py)</onload>
    <onunload>Action(Back)</onunload>
</window>


the real OSD is put up by the python script, which, among other things, does
    display = DynamicOSD('VideoOSDControls.xml', 'special://skin/xml')    # this is the XML for the OSD controls
    display.doModal()

so it is a modal dialog. But I do close it before trying to activate tvguide:

                        <onclick>Dialog.Close(VideoOSD)</onclick>
                        <onclick>ActivateWindow(tvguide)</onclick>

Could it be a timing issue? And why do the DialogPVR* windows work?
ah, since you're using some python based dialogs, you might have better luck using:
xml:
<onclick>Dialog.Close(all)</onclick>
<onclick>ActivateWindow(TVGuide)</onclick>
I also faced it and in some situations I also had to add a "action(fullscreen)" 

Example:
Code:


                    <onclick condition="!Window.IsVisible(script-cu-irclyrics-main.xml)">close</onclick>
                    <onclick condition="Window.IsVisible(script-cu-irclyrics-main.xml)">Dialog.Close(all,true)</onclick>
                    <onclick condition="Window.IsVisible(script-cu-irclyrics-main.xml)">Action(fullscreen)</onclick>
                    <onclick condition="Integer.IsGreater(Playlist.Length(video),1) + !Integer.IsGreater(Playlist.Length(music),1)">ActivateWindow(videoplaylist)</onclick>
                    <onclick condition="!Integer.IsGreater(Playlist.Length(video),1) + Integer.IsGreater(Playlist.Length(music),1)">ActivateWindow(musicplaylist)</onclick>

Otherwise nothing worked. It was working in Krypton.
Success.
Dialog.Close(all) did the trick. Thanks for all help! See skin.mousetuary (Leia branch) for the result.