From 47ca319dd0a0bd215308bf5d20dfccd2c2f98e1e Mon Sep 17 00:00:00 2001 From: AnmiTaliDev Date: Sat, 15 Aug 2026 06:51:44 +0500 Subject: [PATCH] Add Pantheon desktop wallpaper support --- binding-mri/wallpaper-binding.cpp | 12 ++++++------ src/oneshot.cpp | 2 ++ 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/binding-mri/wallpaper-binding.cpp b/binding-mri/wallpaper-binding.cpp index 6ffcd68..3d408f6 100644 --- a/binding-mri/wallpaper-binding.cpp +++ b/binding-mri/wallpaper-binding.cpp @@ -153,8 +153,8 @@ } infile.close(); } - if (desktop == "cinnamon" || desktop == "gnome" || desktop == "mate" || desktop == "deepin" || desktop == "budgie") { - if (desktop == "cinnamon" || desktop == "gnome" || desktop == "deepin" || desktop == "budgie") { + if (desktop == "cinnamon" || desktop == "gnome" || desktop == "mate" || desktop == "deepin" || desktop == "budgie" || desktop == "pantheon") { + if (desktop == "cinnamon" || desktop == "gnome" || desktop == "deepin" || desktop == "budgie" || desktop == "pantheon") { 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"); @@ -358,13 +358,13 @@ end: } std::string gameDirStr(gameDir); desktopEnvironmentInit(); - if (desktop == "cinnamon" || desktop == "gnome" || desktop == "mate" || desktop == "deepin" || desktop == "budgie") { + if (desktop == "cinnamon" || desktop == "gnome" || desktop == "mate" || desktop == "deepin" || desktop == "budgie" || desktop == "pantheon") { std::stringstream hexColor; hexColor << "#" << std::hex << color; 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" || desktop == "budgie") { + if (desktop == "cinnamon" || desktop == "gnome" || desktop == "deepin" || desktop == "budgie" || desktop == "pantheon") { g_settings_set_string(bgsetting, "picture-uri", ("file://" + gameDirStr + path).c_str()); } else { g_settings_set_string(bgsetting, "picture-filename", (gameDirStr + path).c_str()); @@ -506,8 +506,8 @@ RB_METHOD(wallpaperReset){ MacDesktop::ResetBackground(); #else desktopEnvironmentInit(); - if (desktop == "cinnamon" || desktop == "gnome" || desktop == "mate" || desktop == "deepin" || desktop == "budgie") { - if (desktop == "cinnamon" || desktop == "gnome" || desktop == "deepin" || desktop == "budgie") { + if (desktop == "cinnamon" || desktop == "gnome" || desktop == "mate" || desktop == "deepin" || desktop == "budgie" || desktop == "pantheon") { + if (desktop == "cinnamon" || desktop == "gnome" || desktop == "deepin" || desktop == "budgie" || desktop == "pantheon") { g_settings_set_string(bgsetting, "picture-uri", defPictureURI.c_str()); } else { g_settings_set_string(bgsetting, "picture-filename", defPictureURI.c_str()); diff --git a/src/oneshot.cpp b/src/oneshot.cpp index 211f431..3558c78 100644 --- a/src/oneshot.cpp +++ b/src/oneshot.cpp @@ -291,6 +291,8 @@ Oneshot::Oneshot(RGSSThreadData &threadData) : threadData(threadData){ desktopEnv = "deepin"; }else if (desktop.find("budgie") != std::string::npos){ desktopEnv = "budgie"; + }else if (desktop.find("pantheon") != std::string::npos){ + desktopEnv = "pantheon"; } }