[R] How can we ring a bell in Windows?
Prof Brian Ripley
ripley at stats.ox.ac.uk
Tue Mar 8 12:51:09 CET 2005
On Tue, 8 Mar 2005, Martin Maechler wrote:
>>>>>> "Duncan" == Duncan Murdoch <murdoch at stats.uwo.ca>
>>>>>> on Mon, 07 Mar 2005 19:32:17 +0000 writes:
>
> Duncan> On Mon, 7 Mar 2005 18:18:37 +0000 (GMT), Prof Brian
> Duncan> Ripley <ripley at stats.ox.ac.uk> wrote :
>
> >> On Mon, 7 Mar 2005, Duncan Murdoch wrote:
> >>
> >>> On Tue, 8 Mar 2005 00:31:07 +0800 (CST), Lu Joseph
> >>> <c_joseph_lu at yahoo.com.tw> wrote :
> >>>
> >>>> Hello useRs,
> >>>>
> >>>> Is there a way to write code in R to ring a bell in
> >>>> Windows?
> >>> If you load the tcltk package, then
> >>>
> >>> tkbell()
> >>>
> >>> will get you a bell on more platforms than just Windows.
> >>> If you don't want to use tcltk, then you could call the
> >>> Windows API function MessageBeep from some C code, but I
> >>> don't think we have a "bell" or "beep" function in the
> >>> standard R packages.
> >> But there is the ANSI "\a": cat("\n") works as expected,
> >> on all platforms.
>
> {and of course, cat("\a") was meant above}
>
> Duncan> Perhaps we should have a beep() or bell() function,
> Duncan> to remind those of us who never knew all the C
> Duncan> escapes and wouldn't have guessed that the ancient
> Duncan> ASCII control codes still function.
Well, they are in the current C99 standard, section 5.2.2.
> Duncan> I'll put it on my list...
> Duncan> Duncan Murdoch
>
> good. Yes that would be a very sensible encapsulation of
> functionality.
>
> Note that ASCII control codes don't work on all
> kinds of terminals, e.g., they don't work in ESS --- but ESS
> could be made to react smartly to a beep() function call.
Why does ESS implement only some of the ANSI/C control codes? That looks
like an ESS deficiency. I have never come across any other terminal that
did not. These are in the ISO C standard, although the "a" is for
"alarm", and that need not be a sound (it says "audible or visible").
So alarm() would be better than beep().
Would it not be better to correct the problem in ESS: there are lots of
other ways that \a might be sent to stdout?
--
Brian D. Ripley, ripley at stats.ox.ac.uk
Professor of Applied Statistics, http://www.stats.ox.ac.uk/~ripley/
University of Oxford, Tel: +44 1865 272861 (self)
1 South Parks Road, +44 1865 272866 (PA)
Oxford OX1 3TG, UK Fax: +44 1865 272595
More information about the R-help
mailing list