diff --git a/meta-ohos-core/recipes-graphics/wayland/weston-init.bbappend b/meta-ohos-core/recipes-graphics/wayland/weston-init.bbappend index 6c16444cd040b3fadf1c98f41ab36532ae34e9d5..8019a38dbaffbf9b03514e212fbe78b8f961f3d0 100644 --- a/meta-ohos-core/recipes-graphics/wayland/weston-init.bbappend +++ b/meta-ohos-core/recipes-graphics/wayland/weston-init.bbappend @@ -1,9 +1,25 @@ -FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" +FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:${OHOS_COREBASE}/assets:" + +SRC_URI += "${@oe.utils.conditional('WESTON_INI_BACKGROUND_IMAGE', '', '', "file://${WESTON_INI_BACKGROUND_IMAGE_BASENAME}", d)}" WESTON_DYNAMIC_INI ?= "0" WESTON_INI_PATH ?= "etc/xdg/weston/weston.ini" WESTON_INI_NO_TOOLBAR ?= "0" +WESTON_INI_BACKGROUND_IMAGE ?= "" +WESTON_INI_BACKGROUND_IMAGE_BASENAME = "${@os.path.basename("${WESTON_INI_BACKGROUND_IMAGE}")}" +WESTON_INI_BACKGROUND_COLOR ?= "0xffffffff" +WESTON_INI_BACKGROUND_TYPE ?= "centered" + +do_install_append() { + # The filename references in WESTON_INI_BACKGROUND_IMAGE needs to be + # provided in SRC_URI/WORKDIR. + if [ -n "${WESTON_INI_BACKGROUND_IMAGE}" ]; then + mkdir -p "${D}/$(dirname ${WESTON_INI_BACKGROUND_IMAGE})" + install -m 0644 "${WORKDIR}/$(basename ${WESTON_INI_BACKGROUND_IMAGE})" \ + "${D}/$(dirname ${WESTON_INI_BACKGROUND_IMAGE})" + fi +} python generate_dynamic_ini() { import configparser @@ -31,8 +47,22 @@ python generate_dynamic_ini() { config.add_section('shell') config.set('shell', 'panel-position', 'none') + # Handle background. + background_image = d.getVar('WESTON_INI_BACKGROUND_IMAGE', True) + if background_image: + bb.note('Handling WESTON_INI_BACKGROUND_IMAGE.') + background_color = d.getVar('WESTON_INI_BACKGROUND_COLOR', True) + background_type = d.getVar('WESTON_INI_BACKGROUND_TYPE', True) + if 'shell' not in config.sections(): + config.add_section('shell') + config.set('shell', 'background-image', background_image) + config.set('shell', 'background-color', background_color) + config.set('shell', 'background-type', background_type) + # Finally, write the configuration. Keep this at the end. with open(ini_path, 'w') as init_path_fo: config.write(init_path_fo, space_around_delimiters=False) } do_install[postfuncs] += "generate_dynamic_ini" + +FILES_${PN} += "${WESTON_INI_BACKGROUND_IMAGE}"