Commit 378c52e1 authored by gi1242's avatar gi1242

Use XkbBell instead of XBell. This is to work around a bug in the evdev...

Use XkbBell instead of XBell. This is to work around a bug in the evdev keyboard driver. See http://bugs.freedesktop.org/show_bug.cgi?id=24503.

Also correct fprintf format string in xdefaults.c
parent 8f74e188
......@@ -869,6 +869,8 @@ AC_CHECK_LIB(
AC_MSG_ERROR([Mrxvt requires the libX11 libraries.])
)
AC_CHECK_HEADERS(X11/XKBlib.h)
dnl AC_CHECK_LIB(
dnl Xext,
dnl XextAddDisplay,
......
......@@ -33,6 +33,10 @@
#define INTERN_SCREEN
#include "rxvt.h"
#ifdef HAVE_X11_XKBLIB_H
#include <X11/XKBlib.h>
#endif
#ifdef XFT_SUPPORT
# include <xftacs.h>
#endif
......@@ -2468,7 +2472,17 @@ rxvt_scr_bell(rxvt_t *r, int page)
rxvt_async_exec( r, r->h->rs[Rs_bellCommand] );
else
{
/*
* gi1242: With Xorg-1.7.4 and evdev keyboards, XBell is ignored. Use
* XkbBell for now instead. See bug #24503 on freedesktop.
*/
#ifdef HAVE_X11_XKBLIB_H
XkbBell( r->Xdisplay, PVTS(r, page)->vt, 0, None );
#else
XBell(r->Xdisplay, 0);
#endif
}
#endif /* NO_BELL */
}
......
......@@ -788,7 +788,7 @@ rxvt_usage(int type)
#else
for (i = 0; i < optList_size(); i++)
if (NOT_NULL(optList[i].kw))
fprintf(stdout, " %s: %*s%s\n",
fprintf(stdout, " %s: %s\n",
optList[i].kw,
(optList_isBool(i) ? "boolean" : optList[i].arg));
#endif
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment