úterý 6. srpna 2013

E17 0.17.4 EFL 1.7.8 update problem at start

For those, who are using E17 and run into problems after upgrade to E17 0.17.4 and EFL 1.7.8, you may find useful following script:
#!/bin/bash

TMP=$(mktemp)
TMP2=$(mktemp)
GOOD=1

use_one() {
    echo "$CFGFILE"
}

find_all() {
    find ~/.e/e/config -name e.cfg
}

if [ "$1" ]; then
    fn=use_one
    CFGFILE="$1"
else
    fn=find_all
fi

while read cfg; do
    eet -d "${cfg}" config "$TMP"

    # editation is simple
    sed 's/\([[:blank:]]*value "show_splash" int: \)1;$/\10;/' "$TMP" > "$TMP2"

    # now sanity checks
    # was there any change at all?
    if cat "$TMP" | md5sum -c <(cat "$TMP2" | md5sum ) &> /dev/null; then
        echo "${cfg} wasn't modified"
        continue
    fi

    # do we still have the same size? altering 1 --> 0 shouldn't change it
    if [ $(stat --format=%s "$TMP") != $(stat --format=%s "$TMP2") ]; then
        echo "Modifying ${cfg} caused size change, probably edited wrong :("
        echo "Skipping..."
        continue
    fi

    echo "${cfg} looks good, applying changes"
    eet -e "${cfg}" config "$TMP2" 1
done < <($fn)


rm "$TMP" "$TMP2"

It will disable splash screen on your configuration (all profiles) or one file if you specify it manually. Even though it should be harmless, you should still backup your configuration first, for example with:
cp -R ~/.e ~/.e-backup