From 7341dce214a9895d77d0743a8a135748736020bc Mon Sep 17 00:00:00 2001 From: martii Date: Tue, 24 Dec 2013 15:11:08 +0100 Subject: [PATCH] gui/hdd_menu: use hd-idle instead of hdparm, if available Signed-off-by: Jacek Jendrzej --- src/gui/hdd_menu.cpp | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/src/gui/hdd_menu.cpp b/src/gui/hdd_menu.cpp index 5e5904c1f..c0b1b3aa7 100644 --- a/src/gui/hdd_menu.cpp +++ b/src/gui/hdd_menu.cpp @@ -271,6 +271,24 @@ int CHDDDestExec::exec(CMenuTarget* /*parent*/, const std::string&) if (n < 0) return 0; + if (!access("/sbin/hd-idle", X_OK)) { + system("kill $(pidof hd-idle)"); + int sleep_seconds = g_settings.hdd_sleep; + switch (sleep_seconds) { + case 241: + sleep_seconds = 30 * 60; + break; + case 242: + sleep_seconds = 60 * 60; + break; + default: + sleep_seconds *= 5; + } + if (sleep_seconds) + my_system(3, "/sbin/hd-idle", "-i", to_string(sleep_seconds).c_str()); + return 1; + } + const char hdparm[] = "/sbin/hdparm"; bool hdparm_link = false; struct stat stat_buf;