최근에 Sabayon Linux 컴퓨터에 E17 분기 Moksha를 설치했는데 문제는 배경 화면을 JPG 또는 PNG 파일로 변경하는 그래픽 도구가 나에게 슬픔을 안겨준다는 것입니다(예, Bodhi Linux에서 이에 대한 지원을 얻으려고 노력했습니다). 커뮤니티를 참조하세요.이 포럼 게시물), 하지만 .edj 형식의 배경화면(애니메이션 배경화면 포함)을 꽤 쉽게 사용할 수 있는 것 같습니다. 그래서 누군가가 쉘 스크립트(내가 사용하기에 충분히 간단함)를 가지고 있거나 명령줄에서 실행하여 내 JPG 및 PNG 배경화면을 .edj 파일 형식으로 변환할 수 있기를 바랍니다.
답변1
이를 수행하는 다양한 코드의 발췌문을 제공하겠습니다. 이 버전의 코드는 edj 파일에 이미지를 포함하는 대신 이미지 경로만 포함합니다.
OUTPUT_DIR="$HOME/.e/e/backgrounds"
TEMPLATE='
images { image: "@IMAGE@" USER; }
collections {
group {
name: "e/desktop/background";
data { item: "style" "4"; item: "noanimation" "1"; }
max: @WIDTH@ @HEIGHT@;
parts {
part {
name: "bg";
mouse_events: 0;
description {
state: "default" 0.0;
aspect: @ASPECT@ @ASPECT@;
aspect_preference: NONE;
image { normal: "@IMAGE@"; scale_hint: STATIC; }
}
}
}
}
}
'
OFILE="$OUTPUT_DIR/variety_wallpaper_$RANDOM"
DIMENSION="$(identify -format "%w/%h" "$WP")"
if [ ! -z "$DIMENSION" ]; then
WIDTH=$(echo $DIMENSION | cut -d/ -f1)
HEIGHT=$(echo $DIMENSION | cut -d/ -f2)
IMAGE="$(echo "$WP" | sed 's/[^[:alnum:]_-]/\\&/g')"
if [ -z "$HEIGHT" -o "$HEIGHT" = "0" ]; then
ASPECT="0.0"
else
ASPECT=$(echo "scale=9; $DIMENSION" | bc)
fi
fi
printf "%s" "$TEMPLATE" | \
sed "s/@ASPECT@/$ASPECT/g; s/@WIDTH@/$WIDTH/g; s/@HEIGHT@/$HEIGHT/g; s|@IMAGE@|$IMAGE|g" > "$OFILE.edc"
edje_cc "$OFILE.edc" "$OFILE.edj" 2>/dev/null
rm "$OFILE.edc"
전체 소스는http://bazaar.launchpad.net/~peterlevi/variety/trunk/view/head:/data/scripts/set_wallpaper
이미지를 삽입하려면 다음을 수행할 수 있습니다. UI에 영감을 주어 배경 화면을 만들고 edje_decc를 사용하여 디컴파일하여 얻은 것입니다.
images { image: "1920x1080.png" LOSSY 90; }
collections {
group { name: "e/desktop/background";
data { item: "style" "4"; }
data.item: "noanimation" "1";
parts {
part { name: "bg"; mouse_events: 0;
description { state: "default" 0.0;
aspect: 1.777777778 1.777777778; aspect_preference: NONE;
image { normal: "1920x1080.png"; scale_hint: STATIC; }
}
}
}
}
}
edje_cc -id . -fd . e_bgdlg_new.edc -o 1920x1080.edj
그런 다음 위의 내용이 파일에 있고 e_bgdlg_new.edc
이미지가 스크립트를 호출하는 것과 동일한 디렉터리에 있다고 가정하여 테마를 빌드합니다.