最近、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
呼び出すのと同じディレクトリにあると仮定してテーマを構築します。