Potential Deepin support

This commit is contained in:
KockaAdmiralac 2018-08-15 22:01:01 +02:00
parent e2c9806ab2
commit 56af69d59f
No known key found for this signature in database
GPG key ID: A6007A5107D8CFBD
2 changed files with 12 additions and 9 deletions

View file

@ -63,9 +63,10 @@
return; return;
} }
desktop = shState->oneshot().desktopEnv; desktop = shState->oneshot().desktopEnv;
if (desktop == "cinnamon" || desktop == "gnome" || desktop == "mate") { if (desktop == "cinnamon" || desktop == "gnome" || desktop == "mate" || desktop == "deepin") {
if (desktop == "cinnamon" || desktop == "gnome") { if (desktop == "cinnamon" || desktop == "gnome" || desktop == "deepin") {
if (desktop == "cinnamon") bgsetting = g_settings_new("org.cinnamon.desktop.background"); if (desktop == "cinnamon") bgsetting = g_settings_new("org.cinnamon.desktop.background");
else if (desktop == "deepin") bgsetting = g_settings_new("com.deepin.wrap.gnome.desktop.background");
else bgsetting = g_settings_new("org.gnome.desktop.background"); else bgsetting = g_settings_new("org.gnome.desktop.background");
defPictureURI = g_settings_get_string(bgsetting, "picture-uri"); defPictureURI = g_settings_get_string(bgsetting, "picture-uri");
} else { } else {
@ -264,17 +265,17 @@ end:
} }
std::string gameDirStr(gameDir); std::string gameDirStr(gameDir);
desktopEnvironmentInit(); desktopEnvironmentInit();
if (desktop == "cinnamon" || desktop == "gnome" || desktop == "mate") { if (desktop == "cinnamon" || desktop == "gnome" || desktop == "mate" || desktop == "deepin") {
std::stringstream hexColor; std::stringstream hexColor;
hexColor << "#" << std::hex << color; hexColor << "#" << std::hex << color;
if (desktop == "cinnamon" || desktop == "gnome") { g_settings_set_string(bgsetting, "picture-options", "scaled");
g_settings_set_string(bgsetting, "primary-color", hexColor.str().c_str());
g_settings_set_string(bgsetting, "color-shading-type", "solid");
if (desktop == "cinnamon" || desktop == "gnome" || desktop == "deepin") {
g_settings_set_string(bgsetting, "picture-uri", ("file://" + gameDirStr + path).c_str()); g_settings_set_string(bgsetting, "picture-uri", ("file://" + gameDirStr + path).c_str());
} else { } else {
g_settings_set_string(bgsetting, "picture-filename", (gameDirStr + path).c_str()); g_settings_set_string(bgsetting, "picture-filename", (gameDirStr + path).c_str());
} }
g_settings_set_string(bgsetting, "picture-options", "scaled");
g_settings_set_string(bgsetting, "primary-color", hexColor.str().c_str());
g_settings_set_string(bgsetting, "color-shading-type", "solid");
} else if (desktop == "xfce") { } else if (desktop == "xfce") {
int r = (color >> 16) & 0xFF; int r = (color >> 16) & 0xFF;
int g = (color >> 8) & 0xFF; int g = (color >> 8) & 0xFF;
@ -391,8 +392,8 @@ RB_METHOD(wallpaperReset)
MacDesktop::ResetBackground(); MacDesktop::ResetBackground();
#else #else
desktopEnvironmentInit(); desktopEnvironmentInit();
if (desktop == "cinnamon" || desktop == "gnome" || desktop == "mate") { if (desktop == "cinnamon" || desktop == "gnome" || desktop == "mate" || desktop == "deepin") {
if (desktop == "cinnamon" || desktop == "gnome") { if (desktop == "cinnamon" || desktop == "gnome" || desktop == "deepin") {
g_settings_set_string(bgsetting, "picture-uri", defPictureURI.c_str()); g_settings_set_string(bgsetting, "picture-uri", defPictureURI.c_str());
} else { } else {
g_settings_set_string(bgsetting, "picture-filename", defPictureURI.c_str()); g_settings_set_string(bgsetting, "picture-filename", defPictureURI.c_str());

View file

@ -301,6 +301,8 @@ Oneshot::Oneshot(RGSSThreadData &threadData) :
desktopEnv = "kde"; desktopEnv = "kde";
} else if (desktop.find("lxde") != std::string::npos) { } else if (desktop.find("lxde") != std::string::npos) {
desktopEnv = "lxde"; desktopEnv = "lxde";
} else if (desktop.find("deepin") != std::string::npos) {
desktopEnv = "deepin";
} }
#endif #endif