summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrei Karas <akaras@inbox.ru>2012-10-20 21:41:08 +0300
committerAndrei Karas <akaras@inbox.ru>2012-10-20 21:41:08 +0300
commitcf1744f779b38bdc3e5119ab831037ff3228a898 (patch)
treeace3e1d03b55b0a861d3150e36c8fafda9fc2994
parentd9994f114b1febf4c075d77c0fb3e7a44e510e20 (diff)
downloadmv-cf1744f779b38bdc3e5119ab831037ff3228a898.tar.gz
mv-cf1744f779b38bdc3e5119ab831037ff3228a898.tar.bz2
mv-cf1744f779b38bdc3e5119ab831037ff3228a898.tar.xz
mv-cf1744f779b38bdc3e5119ab831037ff3228a898.zip
Add option to allow screensaver. (by default screensaver disabled)
-rw-r--r--src/client.cpp5
-rw-r--r--src/defaults.cpp1
-rw-r--r--src/gui/setup_visual.cpp3
3 files changed, 9 insertions, 0 deletions
diff --git a/src/client.cpp b/src/client.cpp
index 7168f0cec..5dd417670 100644
--- a/src/client.cpp
+++ b/src/client.cpp
@@ -355,6 +355,11 @@ void Client::gameInit()
putenv("SDL_VIDEO_CENTERED=0");
#endif
+ if (config.getBoolValue("allowscreensaver"))
+ putenv("SDL_VIDEO_ALLOW_SCREENSAVER=1");
+ else
+ putenv("SDL_VIDEO_ALLOW_SCREENSAVER=0");
+
chatLogger = new ChatLogger;
if (mOptions.chatLogDir == "")
chatLogger->setBaseLogDir(mLocalDataDir + std::string("/logs/"));
diff --git a/src/defaults.cpp b/src/defaults.cpp
index a020fbe1f..d29a818a7 100644
--- a/src/defaults.cpp
+++ b/src/defaults.cpp
@@ -267,6 +267,7 @@ DefaultsData* getConfigDefaults()
AddDEF("useAtlases", true);
AddDEF("useTextureSampler", false);
AddDEF("ministatussaved", 0);
+ AddDEF("allowscreensaver", false);
return configData;
}
diff --git a/src/gui/setup_visual.cpp b/src/gui/setup_visual.cpp
index a7d83b11d..7b35df3a1 100644
--- a/src/gui/setup_visual.cpp
+++ b/src/gui/setup_visual.cpp
@@ -111,6 +111,9 @@ Setup_Visual::Setup_Visual(const Widget2 *const widget) :
"", "centerwindow", this, "centerwindowEvent");
#endif
+ new SetupItemCheckBox(_("Allow screensaver to run"),
+ "", "allowscreensaver", this, "allowscreensaverEvent");
+
setDimension(gcn::Rectangle(0, 0, 550, 350));
}