Changeset View
Changeset View
Standalone View
Standalone View
contrib/mg/bell.c
- This file was added.
/* $OpenBSD: bell.c,v 1.6 2021/05/06 12:44:21 lum Exp $ */ | |||||
/* | |||||
* This file is in the public domain. | |||||
* | |||||
* Author: Mark Lumsden <mark@showcomplex.com> | |||||
* | |||||
*/ | |||||
/* | |||||
* Control how mg communicates with the user. | |||||
*/ | |||||
#include <sys/queue.h> | |||||
#include <signal.h> | |||||
#include <stdio.h> | |||||
#include <unistd.h> | |||||
#include "def.h" | |||||
#include "macro.h" | |||||
void | |||||
bellinit(void) | |||||
{ | |||||
doaudiblebell = 1; | |||||
dovisiblebell = 0; | |||||
} | |||||
int | |||||
dobeep_num(const char *msg, int n) | |||||
{ | |||||
ewprintf("%s %d", msg, n); | |||||
dobeep(); | |||||
return (FALSE); | |||||
} | |||||
int | |||||
dobeep_msgs(const char *msg, const char *s) | |||||
{ | |||||
ewprintf("%s %s", msg, s); | |||||
dobeep(); | |||||
return (FALSE); | |||||
} | |||||
int | |||||
dobeep_msg(const char *msg) | |||||
{ | |||||
ewprintf("%s", msg); | |||||
dobeep(); | |||||
return (FALSE); | |||||
} | |||||
void | |||||
dobeep(void) | |||||
{ | |||||
if (doaudiblebell) { | |||||
ttbeep(); | |||||
} | |||||
if (dovisiblebell) { | |||||
sgarbf = TRUE; | |||||
update(CNONE); | |||||
if (inmacro) /* avoid delaying macro execution. */ | |||||
return; | |||||
usleep(50000); | |||||
} | |||||
} | |||||
/* ARGSUSED */ | |||||
int | |||||
toggleaudiblebell(int f, int n) | |||||
{ | |||||
if (f & FFARG) | |||||
doaudiblebell = n > 0; | |||||
else | |||||
doaudiblebell = !doaudiblebell; | |||||
return (TRUE); | |||||
} | |||||
/* ARGSUSED */ | |||||
int | |||||
togglevisiblebell(int f, int n) | |||||
{ | |||||
if (f & FFARG) | |||||
dovisiblebell = n > 0; | |||||
else | |||||
dovisiblebell = !dovisiblebell; | |||||
return (TRUE); | |||||
} |