On 09/ 5/13 02:44 PM, James Cloos wrote:
But I cannot replicate that in any other X11 client, including a simple:
#include <stdlib.h>
#include <X11/Xlib.h>
int main (int argc, char *argv[])
{
int vol = 100;
char *disp = NULL;
Display *display;
if (argc > 1)
vol = atoi(argv[1]);
if (display = XOpenDisplay(NULL)
XBell(display, vol);
}
You need an XSync() after the XBell() so that actually gets sent to the server
and not just buffered, then immediately discarded on program exit.
I did find two places in the server src where linux' KDMKTONE ioctl is
called. hw/dmx/input/lnx-keyboard.c uses:
ioctl(priv->fd, KDMKTONE, ((1193190 / pitch) & 0xffff)|(duration << 16));
whereas hw/xfree86/os-support/linux/lnx_bell.c uses:
ioctl(xf86Info.consoleFd, KDMKTONE, ((1193190 / pitch) & 0xffff)|((duration *
loudness / 50) << 16));
might the wm hit the first and everything else the latter?
Nope - those go into two different servers. The first is only if you're
running Xdmx, the second is if you're running Xorg.
--
-Alan Coopersmith- [email protected]
Oracle Solaris Engineering - http://blogs.oracle.com/alanc
_______________________________________________
[email protected]: X.Org development
Archives: http://lists.x.org/archives/xorg-devel
Info: http://lists.x.org/mailman/listinfo/xorg-devel