[comp.mail.mush] Curses refreshes/...continue... mode

scott@grlab.UUCP (Scott Blachowicz) (05/18/89)

Yet another is it possible message...

I'm running in a terminal emulator window under X11 and I want to tell
mush "I'm done for now, go update things then come back when there's new
mail for me to look at." After that I iconify the window and go check it
again when my mailwatching window changes images by which time the
following await command should have finished, and mush should be back in
screen mode. Actually, what I probably want is an X11 version of the
SunTools mode (I've never seen the tools mode, but it sounds neat).

What I'm trying to do is this:
   bind = macro "[update][line-mode]await\n[sort-reverse]d[first-msg]"

Questions:
  -Is it possible to shut off curses-mode screen updates by a command
   in a macro?

  -It seems the "[update]" part refreshes the screen regardless of
   whether or not an update was requested/done...doesn't seem it really
   needs to do so.

  -Is it possible to avoid getting dumped into "...continue..." mode?
   I've got another one that is similar, but doesn't leave me there:
      bind @ macro "[sort-reverse]d[first-msg]"

Scott Blachowicz
USPS:  Graphicus                UUCP:    ...!hpubvwa!grlab!scott
       150 Lake Str S, #206     VoicePh: 206/828-4691
       Kirkland, WA 98033       FAX:     206/828-4236

schaefer@ogccse.ogc.edu (Barton E. Schaefer) (05/22/89)

In article <7330013@grlab.UUCP> scott@grlab.UUCP (Scott Blachowicz) writes:
} 
} What I'm trying to do is this:
}    bind = macro "[update][line-mode]await\n[sort-reverse]d[first-msg]"
} 
} Questions:
}   -Is it possible to shut off curses-mode screen updates by a command
}    in a macro?

No, though I'm not exactly sure what you want here.  Commands in macros work
exactly as if you typed them yourself.

You can always resort to an escape to [line-mode], which results in the
"...continue..." prompt; then no screen update is done.

}   -It seems the "[update]" part refreshes the screen regardless of
}    whether or not an update was requested/done...doesn't seem it really
}    needs to do so.

What do you mean by "whether or not an update was requested/done"?  If you
give the [update] command, obviously an update was requested ... but yes,
the screen gets refreshed even if no update was "necessary".  Update
implies updating the screen as well as the folder.

}   -Is it possible to avoid getting dumped into "...continue..." mode?
}    I've got another one that is similar, but doesn't leave me there:
}       bind @ macro "[sort-reverse]d[first-msg]"

Any time you do a [line-mode] escape, you get dumped into "...continue..."
because curses mode doesnt' know what sort of mischief the line mode has
perpetrated upon the screen.  This is analogous to getting "[Hit return to
continue]" in vi.  [sort-reverse] happens to do a screen update if the
"...continue..." is not already present, so that's why you don't get put
in continue mode there.

There is an undocumented curses command called [no-op] that can be used
only in macros.  It returns to the regular curses screen from continue
mode (forces a refresh) and produces an error bell otherwise.  This is
safer than using [quit] for obvious reasons. :-)  It corresponds to
pressing an unbound key.  So if you change your macro to:

bind = macro "[update][line-mode]await\n[sort-reverse]d[first-msg][no-op]"

You will probably see what you want to see.

} Scott Blachowicz

-- 
Bart Schaefer       "And if you believe that, you'll believe anything."
							-- DangerMouse
CSNET / Internet                schaefer@cse.ogc.edu
UUCP                            ...{sequent,tektronix,verdix}!ogccse!schaefer