Help? XBMC Screensaver stuck on (Dim) when automatically switching profiles
#1
Was wondering if anyone can confirm or help me with this... (new forum user, btw! Long-time xbmc fan!)

I've got 2 profiles running, Parents and Kids.

I've written a small script that I run under the Parents profile that will automatically switch over to the Kids profile after xbmc has been idle for 30 minutes.

This worked great under Dharma. Under Eden however, it seems that the Dim screensaver (that is already running before the profile switch timeout) stays permanently enabled once the Kids profile loads. Oo xbmc works just fine after the switch, it's just forever dimmed.

Is this a bug in Eden, or am I doing something wrong in my script? It's really about as basic as it gets:

# logic to detect the idle time... blah blah
# ...
# switch profiles:
xbmc.executebuiltin("LoadProfile(Kids)")


Any thoughts or advice would be greatly appreciated! Nod
(I'd be happy to copy/paste the entire script if anyone is interested)
Reply
#2
can you compile?

Code:
diff --git a/xbmc/windows/GUIWindowLoginScreen.cpp b/xbmc/windows/GUIWindowLoginScreen.cpp
index db50c78..34a75fd 100644
--- a/xbmc/windows/GUIWindowLoginScreen.cpp
+++ b/xbmc/windows/GUIWindowLoginScreen.cpp
@@ -290,5 +290,7 @@ void CGUIWindowLoginScreen::LoadProfile(unsigned int profile
#endif
   g_windowManager.ChangeActiveWindow(g_SkinInfo->GetFirstWindow());

+  g_application.WakeUpScreenSaverAndDPMS();
+
   g_application.UpdateLibraries();
}
Reply
#3
Hey spiff... (thanks for the reply!)

No, I'm afraid I don't have my machine set up for any dev work like that. I'm happy to test out anything you might be able to compile for me, assuming that's feasible, of course.

Cheers
Reply
#4
I can add another clue to this as well... I've mapped a couple entries in my keymap.xml as follows:

<F1>LoadProfile(Parents,prompt)</F1>
<F2>LoadProfile(Kids)</F2>

These both work just fine. The dim screensaver clears and everything works just fine. It's only when I do it from within the autoexec.py script.
Reply
#5
yes, cause the key press will wake the screensaver.
Reply
#6
spiff Wrote:yes, cause the key press will wake the screensaver.

Ah, should've thought of that. It gave me a good idea as a workaround though. I've tested the following and it solves the problem:

xbmc.executehttpapi("sendkey(0xF01B)")
xbmc.executebuiltin("LoadProfile(Kids)")


What it does is send an escape keypress right before switching the profile. That clears the screensaver dimming effect and solves the problem.
Reply
#7
Well, I'm back. Finally got around to upgrading to Frodo, and discovered that .executehttpapi is now deprecated.

So, my trick of simply sending a trivial keypress to wake up the screensaver no longer works, and I'm back facing my original problem... The "Dim" screensaver stays permanently dimmed after the script switches profiles. I've spent quite a while investigating executeJSONRPC but there doesn't seem to be a "sendkey" equivalent.

Can someone show me the code to simply wake up the screensaver before I switch profiles? Thanks in advance!!!
Reply
#8
I am facing exactly the same problems:

1. If "LoadProfile" is executed while the Dim is active, the screen is dimmed forever.
2. Is there a way to simulate a key press? The json-rpc call to method Input.Down seems not to work.

Is there a way to disable/enable the screensaver from an addon?

Best regards
DrScott
Reply
#9
Can you use the EventClient python module to send key presses+
BBC Live Football Scores: Football scores notifications service.
script.squeezeinfo: shows what's playing on your Logitech Media Server
Reply

Logout Mark Read Team Forum Stats Members Help
Help? XBMC Screensaver stuck on (Dim) when automatically switching profiles0