dde-appearance: init at 1.1.6

This commit is contained in:
rewine 2023-09-26 17:22:06 +08:00
parent c5b4480435
commit fe69e321da
No known key found for this signature in database
GPG Key ID: 2964FF5514455F51
3 changed files with 151 additions and 0 deletions

View File

@ -0,0 +1,82 @@
{ stdenv
, lib
, fetchFromGitHub
, cmake
, pkg-config
, wrapQtAppsHook
, qtbase
, dtkgui
, gsettings-qt
, gtk3
, kconfig
, kwindowsystem
, kglobalaccel
, xorg
, iconv
}:
stdenv.mkDerivation rec {
pname = "dde-appearance";
version = "1.1.6";
src = fetchFromGitHub {
owner = "linuxdeepin";
repo = pname;
rev = version;
hash = "sha256-7oRbydLXw8yRzi9L1GH/q0cjMY/DLyWbj4RUSyNpVNM=";
};
patches = [
./fix-custom-wallpapers-path.diff
];
postPatch = ''
substituteInPlace src/service/impl/appearancemanager.cpp \
src/service/modules/api/compatibleengine.cpp \
src/service/modules/subthemes/customtheme.cpp \
--replace "/usr/share" "/run/current-system/sw/share"
for file in $(grep -rl "/usr/bin/dde-appearance"); do
substituteInPlace $file --replace "/usr/bin/dde-appearance" "$out/bin/dde-appearance"
done
substituteInPlace src/service/modules/api/themethumb.cpp \
--replace "/usr/lib/deepin-api" "/run/current-system/sw/lib/deepin-api"
substituteInPlace src/service/dbus/deepinwmfaker.cpp \
--replace "/usr/lib/deepin-daemon" "/run/current-system/sw/lib/deepin-daemon"
substituteInPlace src/service/modules/api/locale.cpp \
--replace "/usr/share/locale/locale.alias" "${iconv}/share/locale/locale.alias"
'';
nativeBuildInputs = [
cmake
pkg-config
wrapQtAppsHook
];
buildInputs = [
dtkgui
gsettings-qt
gtk3
kconfig
kwindowsystem
kglobalaccel
xorg.libXcursor
xorg.xcbutilcursor
];
cmakeFlags = [
"-DDSG_DATA_DIR=/run/current-system/sw/share/dsg"
"-DSYSTEMD_USER_UNIT_DIR=${placeholder "out"}/lib/systemd/user"
];
meta = with lib; {
description = "A program used to set the theme and appearance of deepin desktop";
homepage = "https://github.com/linuxdeepin/dde-appearance";
license = licenses.lgpl3Plus;
platforms = platforms.linux;
maintainers = teams.deepin.members;
};
}

View File

@ -0,0 +1,68 @@
diff --git a/misc/dconfig/org.deepin.dde.appearance.json b/misc/dconfig/org.deepin.dde.appearance.json
index b612e6e..371f966 100644
--- a/misc/dconfig/org.deepin.dde.appearance.json
+++ b/misc/dconfig/org.deepin.dde.appearance.json
@@ -143,7 +143,7 @@
"visibility": "private"
},
"Background_Uris": {
- "value": ["file:///usr/share/backgrounds/default_background.jpg"],
+ "value": ["file:///run/current-system/sw/share/backgrounds/default_background.jpg"],
"serial": 0,
"flags": [],
"name": "Background_Uris",
diff --git a/src/service/dbus/deepinwmfaker.cpp b/src/service/dbus/deepinwmfaker.cpp
index 5d455fa..40ec608 100644
--- a/src/service/dbus/deepinwmfaker.cpp
+++ b/src/service/dbus/deepinwmfaker.cpp
@@ -54,13 +54,13 @@ Q_GLOBAL_STATIC_WITH_ARGS(QGSettings, _gsettings_dde_zone, ("com.deepin.dde.zone
#define KWinDBusCompositorInterface "org.kde.kwin.Compositing"
#define KWinDBusCompositorPath "/Compositor"
-const char defaultFirstBackgroundUri[] = "file:///usr/share/wallpapers/deepin/desktop.jpg";
+const char defaultFirstBackgroundUri[] = "file:///run/current-system/sw/share/wallpapers/deepin/desktop.jpg";
const char defaultSecondBackgroundUri[] = "francesco-ungaro-1fzbUyzsHV8-unsplash";
//default cursor size :24
#define DEFAULTCURSORSIZE 24
-const char fallback_background_name[] = "file:///usr/share/backgrounds/default_background.jpg";
+const char fallback_background_name[] = "file:///run/current-system/sw/share/backgrounds/default_background.jpg";
//using org::kde::KWin;
diff --git a/src/service/impl/appearancemanager.cpp b/src/service/impl/appearancemanager.cpp
index 360ca6f..6db93ab 100644
--- a/src/service/impl/appearancemanager.cpp
+++ b/src/service/impl/appearancemanager.cpp
@@ -821,7 +821,7 @@ void AppearanceManager::doUpdateWallpaperURIs()
}
// 如果是用户自己设置的桌面壁纸, 需要将主题更新为自定义
- if (!monitorWallpaperUris.first().startsWith("/usr/share/wallpapers/deepin")) {
+ if (!monitorWallpaperUris.first().startsWith("/run/current-system/sw/share/wallpapers/deepin")) {
updateCustomTheme(TYPEWALLPAPER, monitorWallpaperUris.first());
}
}
@@ -1689,7 +1689,7 @@ QString AppearanceManager::getWallpaperUri(const QString &index, const QString &
const Background &bg = backgroudlist.at(QRandomGenerator::global()->generate() % backgroudlist.size());
wallpaper = bg.getId();
} else {
- wallpaper = "file:///usr/share/wallpapers/deepin/desktop.jpg";
+ wallpaper = "file:///run/current-system/sw/wallpapers/deepin/desktop.jpg";
}
PhaseWallPaper::setWallpaperUri(index, monitorName, wallpaper);
diff --git a/src/service/modules/background/backgrounds.cpp b/src/service/modules/background/backgrounds.cpp
index bf739a5..1076d59 100644
--- a/src/service/modules/background/backgrounds.cpp
+++ b/src/service/modules/background/backgrounds.cpp
@@ -11,7 +11,7 @@
#include <pwd.h>
#include <QDBusReply>
-QStringList Backgrounds::systemWallpapersDir = { "/usr/share/wallpapers/deepin" };
+QStringList Backgrounds::systemWallpapersDir = { "/run/current-system/sw/wallpapers/deepin" };
QStringList Backgrounds::uiSupportedFormats = { "jpeg", "png", "bmp", "tiff", "gif" };
Backgrounds::Backgrounds(QObject *parent)

View File

@ -25,6 +25,7 @@ let
#### CORE
deepin-kwin = callPackage ./core/deepin-kwin { };
dde-appearance = callPackage ./core/dde-appearance { };
dde-app-services = callPackage ./core/dde-app-services { };
dde-control-center = callPackage ./core/dde-control-center { };
dde-calendar = callPackage ./core/dde-calendar { };