aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--config.def.h2
-rw-r--r--st.c5
-rw-r--r--st.h1
-rw-r--r--win.h3
-rw-r--r--x.c8
5 files changed, 10 insertions, 9 deletions
diff --git a/config.def.h b/config.def.h
index 877afab..dd94be2 100644
--- a/config.def.h
+++ b/config.def.h
@@ -60,7 +60,7 @@ unsigned int cursorthickness = 2;
* bell volume. It must be a value between -100 and 100. Use 0 for disabling
* it
*/
-static int bellvolume = 0;
+int bellvolume = 0;
/* default TERM value */
char termname[] = "st-256color";
diff --git a/st.c b/st.c
index f1f7bc1..df43fac 100644
--- a/st.c
+++ b/st.c
@@ -2176,10 +2176,7 @@ tcontrolcode(uchar ascii)
/* backwards compatibility to xterm */
strhandle();
} else {
- if (!(win.state & WIN_FOCUSED))
- xseturgency(1);
- if (bellvolume)
- xbell(bellvolume);
+ xbell();
}
break;
case '\033': /* ESC */
diff --git a/st.h b/st.h
index 9ece72f..ad94351 100644
--- a/st.h
+++ b/st.h
@@ -246,6 +246,7 @@ extern int allowaltscreen;
extern unsigned int xfps;
extern unsigned int actionfps;
extern unsigned int cursorthickness;
+extern int bellvolume;
extern unsigned int blinktimeout;
extern char termname[];
extern const char *colorname[];
diff --git a/win.h b/win.h
index ea45e60..dee0b7f 100644
--- a/win.h
+++ b/win.h
@@ -8,7 +8,7 @@
void draw(void);
void drawregion(int, int, int, int);
-void xbell(int);
+void xbell(void);
void xclipcopy(void);
void xclippaste(void);
void xhints(void);
@@ -16,7 +16,6 @@ void xloadcols(void);
int xsetcolorname(int, const char *);
void xsettitle(char *);
void xsetpointermotion(int);
-void xseturgency(int);
void xresize(int, int);
void xselpaste(void);
void xsetsel(char *, Time);
diff --git a/x.c b/x.c
index 426ca28..5b3c97b 100644
--- a/x.c
+++ b/x.c
@@ -94,6 +94,7 @@ static void xloadfonts(char *, double);
static void xunloadfont(Font *);
static void xunloadfonts(void);
static void xsetenv(void);
+static void xseturgency(int);
static void expose(XEvent *);
static void visibility(XEvent *);
@@ -1521,9 +1522,12 @@ xseturgency(int add)
}
void
-xbell(int vol)
+xbell(void)
{
- XkbBell(xw.dpy, xw.win, vol, (Atom)NULL);
+ if (!(win.state & WIN_FOCUSED))
+ xseturgency(1);
+ if (bellvolume)
+ XkbBell(xw.dpy, xw.win, bellvolume, (Atom)NULL);
}
void
remember that computers suck.