Date: Sat, 26 Dec 2009 11:50:06 -0500 From: Thomas Dickey <dickey@radix.net> To: Anton Shterenlikht <mexas@bristol.ac.uk> Cc: Polytropon <freebsd@edvax.de>, freebsd-questions@freebsd.org Subject: Re: example c program that does "beep" Message-ID: <20091226165005.GA17386@saltmine.radix.net> In-Reply-To: <20091226153327.GA9918@mech-anton242.men.bris.ac.uk> References: <20091225185826.GA82073@mech-cluster241.men.bris.ac.uk> <20091225204914.2a532df3.freebsd@edvax.de> <20091226153327.GA9918@mech-anton242.men.bris.ac.uk>
next in thread | previous in thread | raw e-mail | index | archive | help
[-- Attachment #1 --]
On Sat, Dec 26, 2009 at 03:33:27PM +0000, Anton Shterenlikht wrote:
> On Fri, Dec 25, 2009 at 08:49:14PM +0100, Polytropon wrote:
> > On Fri, 25 Dec 2009 18:58:26 +0000, Anton Shterenlikht <mexas@bristol.ac.uk> wrote:
> > > How can I get a beep from c?
> > > I looked at curses and syscons.c, but
> > > still not clear.
> >
> > If you want to use NCURSES / CURSES, it's a bit complicated.
> >
> > Otherwise, just output %c (the character) 0x07, BEL, which
> > generates an audible bell, or beep.
> >
> >
> > *** text/plain attachement has been stripped *** RETRY ***
> >
> > /* beepflash.c
> > * -----------
> > * cc -Wall -lcurses -o beepflash beepflash.c
> > *
> > */
> >
> > #include <stdio.h>
> > #include <ncurses.h>
> >
> > int main(int argc, char *argv[])
> > {
> > initscr();
> > cbreak();
> > noecho();
> > nonl();
> > intrflush(stdscr, FALSE);
> > keypad(stdscr, TRUE);
> > start_color();
> >
> > printf("beep: %d\n", beep());
> > fflush(stdout);
> >
> > printf("flash: %d\n", flash());
> > fflush(stdout);
> >
> > return 0;
> > }
>
> Instead of a beep and a flash I get:
>
> beep: 0./beepflash
> flash: 0
> HAMOR>
That sounds about right, given the code shown above.
If you'd used just
beep();
refresh();
instead of the printf/fflush, it would clear the screen and beep - if the
terminal description says it can do the beep.
In the ncurses sources, progs/clear.c is a simple program which sets
up the terminal and calls the tputs function - something like what you're
trying to do.
--
Thomas E. Dickey
http://invisible-island.net
ftp://invisible-island.net
[-- Attachment #2 --]
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.0.6 (SunOS)
Comment: For info see http://www.gnupg.org
iD8DBQFLNj68tIqByHxlDocRAjCmAJ9CXuxXjvcaL1fq0sNl5V3UiJW1VwCcDi+m
Tqtq2u+1XfF35Da/1EKv7ds=
=18by
-----END PGP SIGNATURE-----
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20091226165005.GA17386>
