Index: userdata/LCD.xml =================================================================== --- userdata/LCD.xml (revision 32801) +++ userdata/LCD.xml (working copy) @@ -24,12 +24,30 @@ Freemem: $INFO[System.FreeMemory] $INFO[System.ScreenWidth]x$INFO[System.ScreenHeight] $INFO[System.ScreenMode] - + $INFO[System.CurrentWindow] $INFO[LCD.TimeWide21] $INFO[LCD.TimeWide22] + CPU Temp: $INFO[System.CPUTemperature] + + + $INFO[System.CurrentWindow] + $INFO[LCD.TimeWide21] + $INFO[LCD.TimeWide22] + GPU Temp: $INFO[System.GPUTemperature] + + + $INFO[System.CurrentWindow] + $INFO[LCD.TimeWide21] + $INFO[LCD.TimeWide22] + HDD Temp: $INFO[system.hddtemperature] + + + $INFO[System.CurrentWindow] + $INFO[LCD.TimeWide21] + $INFO[LCD.TimeWide22] Freemem: $INFO[System.FreeMemory] - + Playing Index: xbmc/Application.cpp =================================================================== --- xbmc/Application.cpp (revision 32801) +++ xbmc/Application.cpp (working copy) @@ -2759,7 +2759,30 @@ else if (IsPlayingAudio()) g_lcd->Render(ILCD::LCD_MODE_MUSIC); else if (IsInScreenSaver()) - g_lcd->Render(ILCD::LCD_MODE_SCREENSAVER); + { + m_screenSaverStateTimer.Start(); + if ( m_screenSaverStateTimer.GetElapsedSeconds() < 10 ) + { + g_lcd->Render(ILCD::LCD_MODE_SCREENSAVER1); + } + else if ( m_screenSaverStateTimer.GetElapsedSeconds() > 10 && m_screenSaverStateTimer.GetElapsedSeconds() < 20 ) + { + g_lcd->Render(ILCD::LCD_MODE_SCREENSAVER2); + } + else if ( m_screenSaverStateTimer.GetElapsedSeconds() > 20 && m_screenSaverStateTimer.GetElapsedSeconds() < 30 ) + { + g_lcd->Render(ILCD::LCD_MODE_SCREENSAVER3); + } + else if ( m_screenSaverStateTimer.GetElapsedSeconds() > 30 && m_screenSaverStateTimer.GetElapsedSeconds() < 40 ) + { + g_lcd->Render(ILCD::LCD_MODE_SCREENSAVER4); + } + else + { + g_lcd->Render(ILCD::LCD_MODE_SCREENSAVER1); + m_screenSaverStateTimer.Reset(); + } + } else g_lcd->Render(ILCD::LCD_MODE_GENERAL); @@ -4539,6 +4562,9 @@ if (m_bScreenSave) // already running the screensaver return; + if (!m_bScreenSave && m_screenSaverStateTimer.IsRunning()) + m_screenSaverStateTimer.Stop(); + if ( m_screenSaverTimer.GetElapsedSeconds() > g_guiSettings.GetInt("screensaver.time") * 60 ) ActivateScreenSaver(); } Index: xbmc/Application.h =================================================================== --- xbmc/Application.h (revision 32801) +++ xbmc/Application.h (working copy) @@ -230,6 +230,7 @@ CStopWatch m_navigationTimer; CStopWatch m_slowTimer; CStopWatch m_screenSaverTimer; + CStopWatch m_screenSaverStateTimer; CStopWatch m_shutdownTimer; CFileItemPtr m_itemCurrentFile; Index: xbmc/utils/LCD.cpp =================================================================== --- xbmc/utils/LCD.cpp (revision 32801) +++ xbmc/utils/LCD.cpp (working copy) @@ -434,10 +434,23 @@ { // navigation mode LoadMode(mode, LCD_MODE_NAVIGATION); } - else if (strcmpi(mode->Value(), "screensaver") == 0) - { // screensaver mode - LoadMode(mode, LCD_MODE_SCREENSAVER); + // screensaver mode + else if (strcmpi(mode->Value(), "screensaver1") == 0) + { + LoadMode(mode, LCD_MODE_SCREENSAVER1); } + else if (strcmpi(mode->Value(), "screensaver2") == 0) + { + LoadMode(mode, LCD_MODE_SCREENSAVER2); + } + else if (strcmpi(mode->Value(), "screensaver3") == 0) + { + LoadMode(mode, LCD_MODE_SCREENSAVER3); + } + else if (strcmpi(mode->Value(), "screensaver4") == 0) + { + LoadMode(mode, LCD_MODE_SCREENSAVER4); + } else if (strcmpi(mode->Value(), "xbelaunch") == 0) { // xbe launch mode LoadMode(mode, LCD_MODE_XBE_LAUNCH); Index: xbmc/utils/LCD.h =================================================================== --- xbmc/utils/LCD.h (revision 32801) +++ xbmc/utils/LCD.h (working copy) @@ -37,7 +37,10 @@ LCD_MODE_MUSIC, LCD_MODE_VIDEO, LCD_MODE_NAVIGATION, - LCD_MODE_SCREENSAVER, + LCD_MODE_SCREENSAVER1, + LCD_MODE_SCREENSAVER2, + LCD_MODE_SCREENSAVER3, + LCD_MODE_SCREENSAVER4, LCD_MODE_XBE_LAUNCH, LCD_MODE_MAX };