summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPetr Mrázek2012-07-12 13:00:01 +0200
committerPetr Mrázek2012-07-12 13:00:01 +0200
commitaee15db75fdb4cb812788e13db4c83da6672d951 (patch)
tree34be992e8bd0eea33bf88beff56f811443b6ce72
parenta4194cc5b965b87e47651002beacaa8aa592a754 (diff)
downloaddfhack-aee15db75fdb4cb812788e13db4c83da6672d951.tar.gz
dfhack-aee15db75fdb4cb812788e13db4c83da6672d951.tar.bz2
dfhack-aee15db75fdb4cb812788e13db4c83da6672d951.tar.xz
Even better handling of terminal reset on linux
-rwxr-xr-xpackage/linux/dfhack8
1 files changed, 6 insertions, 2 deletions
diff --git a/package/linux/dfhack b/package/linux/dfhack
index ef708932..cfb57153 100755
--- a/package/linux/dfhack
+++ b/package/linux/dfhack
@@ -31,6 +31,9 @@ if [ -r "./$RC" ]; then
. "./$RC"
fi
+# Save current terminal settings
+old_tty_settings=$(stty -g)
+
# Now run
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:"./stonesense/deplibs":"./hack"
@@ -65,8 +68,9 @@ case "$1" in
;;
esac
-# Reset terminal to sane state in case of a crash
-printf '\033[3g\033[0m\033[?25h\033(B\017\033%%G'
+# Restore previous terminal settings
+stty "$old_tty_settings"
+echo -e "\n"
if [ -n "$DF_POST_CMD" ]; then
eval $DF_POST_CMD