-# Close message-stdin and open terminal-stdin instead.
-# mutt behaves different if STDIN is no terminal
-# TODO: Find cleaner solution (e.g. mutt command-line argument?)
-exec 0<&-
-term="/dev/$(ps -p$$ --no-heading | awk '{print $2}')"
-exec < $term
+msgid_mutt=$(quote_regexp "$msgid_quoted")
+jump_expr="~i'$msgid_mutt'"
+
+if [ "$MUTTJUMP_MULTI_SCREEN_MODE" = no ] ; then
+
+ jump_cmd="<limit>$jump_expr<enter>"
+ if [ "$MUTTJUMP_MODE" = search ] ; then
+ jump_cmd="$jump_cmd<limit>all<enter>"
+ fi
+
+ if [ "$MUTTJUMP_USE_SCREEN" = auto -a -n "$STY" ] ; then
+ MUTTJUMP_USE_SCREEN=yes
+ fi
+
+ screen_opts=()
+ if [ "$MUTTJUMP_USE_SCREEN" = yes ] ; then
+ if [ -n "$STY" ] ; then
+ screen_opts=("-X" "screen")
+ sv=$MUTTJUMP_SCREEN_VERSION
+ if [ "$sv" = auto ] ; then
+ sv=$($SCREEN --version | awk '{print $3}')
+ fi
+ if ! echo "$sv" | grep -q "^\(4\.00\|[0-3]\.\)" ; then
+ jump_cmd=${jump_cmd/\\/\\\\\\}
+ fi
+ else
+ reopen_tty
+ fi
+ screen_window_name=$(MUTTJUMP_SCREEN_WINDOW_NAME_MANGLE "$orig_maildir")
+ screen_opts=("${screen_opts[@]}" "-t" "$screen_window_name")
+ else
+ SCREEN=""
+ reopen_tty
+ fi