From 693e732a718b9375cf5ccaaaa2200b3d22ad37fb Mon Sep 17 00:00:00 2001 From: NiLuJe Date: Sun, 21 Feb 2016 16:36:05 +0100 Subject: [PATCH] Fix exit when running from KUAL on FW >= 5.6.5 Properly refresh the screen with useful stuff, instead of leaving us hanging with an unusable mix of framework and our own crap. --- platform/kindle/koreader.sh | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/platform/kindle/koreader.sh b/platform/kindle/koreader.sh index e91526206..61e871407 100755 --- a/platform/kindle/koreader.sh +++ b/platform/kindle/koreader.sh @@ -190,10 +190,12 @@ if [ "${STOP_FRAMEWORK}" == "no" -a "${INIT_TYPE}" == "upstart" ] ; then if [ "$count" == "" -o "$count" == "0" ] ; then # NOTE: We want to disable the status bar (at the very least). Unfortunately, the soft hide/unhide method doesn't work properly anymore since FW 5.6.5... if [ "$(printf "%.3s" $(grep '^Kindle 5' /etc/prettyversion.txt 2>&1 | sed -n -r 's/^(Kindle)([[:blank:]]*)([[:digit:].]*)(.*?)$/\3/p' | tr -d '.'))" -ge "565" ] ; then + PILLOW_HARD_DISABLED="yes" + # NOTE: Dump the fb so we can restore something useful on exit... + cat /dev/fb0 > /var/tmp/koreader-fb.dump # FIXME: So we resort to killing pillow completely on FW >= 5.6.5... logmsg "Disabling pillow . . ." lipc-set-prop com.lab126.pillow disableEnablePillow disable - PILLOW_HARD_DISABLED="yes" # NOTE: And, oh, joy, on FW >= 5.7.2, this is not enough to prevent the clock from refreshing, so, take the bull by the horns, and SIGSTOP the WM while we run... if [ "$(printf "%.3s" $(grep '^Kindle 5' /etc/prettyversion.txt 2>&1 | sed -n -r 's/^(Kindle)([[:blank:]]*)([[:digit:].]*)(.*?)$/\3/p' | tr -d '.'))" -ge "572" ] ; then logmsg "Stopping awesome . . ." @@ -292,7 +294,11 @@ if [ "${STOP_FRAMEWORK}" == "no" -a "${INIT_TYPE}" == "upstart" ] ; then if [ "${PILLOW_HARD_DISABLED}" == "yes" ] ; then logmsg "Enabling pillow . . ." lipc-set-prop com.lab126.pillow disableEnablePillow enable - # NOTE: Try to leave the user with a slightly less FB content that our own last screen... We'll be missing the menu & status bar, but it's better than the alternative... + # NOTE: Try to leave the user with a slightly more useful FB content than our own last screen... + cat /var/tmp/koreader-fb.dump > /dev/fb0 + rm -f /var/tmp/koreader-fb.dump + # NOTE: In case we ever need an extra full flash refresh... + #eips -s w=${SCREEN_X_RES},h=${SCREEN_Y_RES} -f lipc-set-prop com.lab126.appmgrd start app://com.lab126.booklet.home fi if [ "${PILLOW_SOFT_DISABLED}" == "yes" ] ; then