Index: plymouth-22.02.122+64.0b0e93c_new/src/plugins/splash/two-step/plugin.c =================================================================== diff -Nura plymouth-22.02.122+64.0b0e93c/src/plugins/splash/two-step/plugin.c plymouth-22.02.122+64.0b0e93c_new/src/plugins/splash/two-step/plugin.c --- plymouth-22.02.122+64.0b0e93c/src/plugins/splash/two-step/plugin.c 2022-08-13 20:58:13.000000000 +0800 +++ plymouth-22.02.122+64.0b0e93c_new/src/plugins/splash/two-step/plugin.c 2022-08-13 22:48:06.625172362 +0800 @@ -1095,9 +1095,23 @@ plugin->background_tile_image = ply_image_new (image_path); free (image_path); - asprintf (&image_path, "%s/watermark.png", image_dir); - plugin->watermark_image = ply_image_new (image_path); - free (image_path); + char *release_watermark_path, *theme_watermark_path; + release_watermark_path = ply_key_file_get_value (key_file, "two-step", "WatermarkPath"); + asprintf (&theme_watermark_path, "%s/watermark.png", image_dir); + if (release_watermark_path != NULL && access(release_watermark_path, R_OK) == 0 ) + { + ply_trace ("openSUSE's Watermark path: '%s'", release_watermark_path); + plugin->watermark_image = ply_image_new (release_watermark_path); + free (release_watermark_path); + } + else if( access(theme_watermark_path, R_OK) == 0) + { + ply_trace ("Theme's Watermark path: '%s'", theme_watermark_path); + plugin->watermark_image = ply_image_new (theme_watermark_path); + free (theme_watermark_path); + } + else + plugin->watermark_image = NULL; if (!ply_kernel_command_line_has_argument ("secure_boot.warn_if_disabled=false") && !ply_is_secure_boot_enabled ()) { Index: plymouth-22.02.122+64.0b0e93c_new/themes/bgrt/bgrt.plymouth.desktop =================================================================== diff -Nura plymouth-22.02.122+64.0b0e93c/themes/bgrt/bgrt.plymouth.desktop plymouth-22.02.122+64.0b0e93c_new/themes/bgrt/bgrt.plymouth.desktop --- plymouth-22.02.122+64.0b0e93c/themes/bgrt/bgrt.plymouth.desktop 2022-04-15 16:39:24.000000000 +0800 +++ plymouth-22.02.122+64.0b0e93c_new/themes/bgrt/bgrt.plymouth.desktop 2022-08-13 22:45:46.132327415 +0800 @@ -7,6 +7,7 @@ Font=Cantarell 12 TitleFont=Cantarell Light 30 ImageDir=@PLYMOUTH_THEME_PATH@/spinner +WatermarkPath=/usr/share/pixmaps/distribution-logos/light-inline.png DialogHorizontalAlignment=.5 DialogVerticalAlignment=.382 TitleHorizontalAlignment=.5 Index: plymouth-22.02.122+64.0b0e93c_new/scripts/plymouth-populate-initrd.in =================================================================== diff -Nura plymouth-22.02.122+64.0b0e93c/scripts/plymouth-populate-initrd.in plymouth-22.02.122+64.0b0e93c_new/scripts/plymouth-populate-initrd.in --- plymouth-22.02.122+64.0b0e93c/scripts/plymouth-populate-initrd.in 2022-08-13 22:33:38.499980381 +0800 +++ plymouth-22.02.122+64.0b0e93c_new/scripts/plymouth-populate-initrd.in 2022-08-13 22:44:01.052695444 +0800 @@ -491,6 +491,7 @@ PLYMOUTH_MODULE_NAME=$(grep "ModuleName *= *" ${PLYMOUTH_SYSROOT}${PLYMOUTH_THEME_DIR}/${PLYMOUTH_THEME_NAME}.plymouth | sed 's/ModuleName *= *//') PLYMOUTH_IMAGE_DIR=$(grep "ImageDir *= *" ${PLYMOUTH_SYSROOT}${PLYMOUTH_THEME_DIR}/${PLYMOUTH_THEME_NAME}.plymouth | sed 's/ImageDir *= *//') +PLYMOUTH_WATERMARK_PATH=$(grep "WatermarkPath *= *" ${PLYMOUTH_SYSROOT}${PLYMOUTH_THEME_DIR}/${PLYMOUTH_THEME_NAME}.plymouth | sed 's/WatermarkPath *= *//') PLYMOUTH_Font_PATH=$(fc-list |grep $(fc-match "$(echo $(grep "^Font *= *" ${PLYMOUTH_SYSROOT}${PLYMOUTH_DATADIR}/plymouth/themes/`plymouth-set-default-theme`/`plymouth-set-default-theme`.plymouth | sed -e 's/^Font *= *//'| awk 'NF{NF--};1'))" |awk -F : {'print $1'}) |awk -F : {'print $1'} | sort -u | head -n 1) PLYMOUTH_TitleFont_PATH=$(fc-list |grep $(fc-match "$(echo $(grep "^TitleFont *= *" ${PLYMOUTH_SYSROOT}${PLYMOUTH_DATADIR}/plymouth/themes/`plymouth-set-default-theme`/`plymouth-set-default-theme`.plymouth | sed -e 's/^TitleFont *= *//'| awk 'NF{NF--};1'))" |awk -F : {'print $1'}) |awk -F : {'print $1'} | sort -u | head -n 1) @@ -516,6 +517,12 @@ inst_recur "${PLYMOUTH_IMAGE_DIR}" fi +# WatermarkPath is either an image file or a symlink to it +[ -f "${PLYMOUTH_WATERMARK_PATH}" ] && inst "${PLYMOUTH_WATERMARK_PATH}" $INITRDDIR +if [ -L "${PLYMOUTH_WATERMARK_PATH}" ]; then + inst_symlink "${PLYMOUTH_WATERMARK_PATH}" +fi + if [ -L ${PLYMOUTH_SYSROOT}${PLYMOUTH_DATADIR}/plymouth/themes/default.plymouth ]; then cp -a ${PLYMOUTH_SYSROOT}${PLYMOUTH_DATADIR}/plymouth/themes/default.plymouth $INITRDDIR${PLYMOUTH_DATADIR}/plymouth/themes fi