diff options
author | Matthias Clasen <mclasen@redhat.com> | 2006-08-30 03:30:43 +0000 |
---|---|---|
committer | Matthias Clasen <matthiasc@src.gnome.org> | 2006-08-30 03:30:43 +0000 |
commit | 6760faeb4b36dac9e1c226d7d9485a47be28bf24 (patch) | |
tree | 1105c08f109882b0b26b58c12a35a8161af18eaa /gdk | |
parent | 4e3d7dd0884bf9545c30744a10494e1c2b9c09a2 (diff) | |
download | gtk+-6760faeb4b36dac9e1c226d7d9485a47be28bf24.tar.gz |
Add a function to beep on a window. For X11, implement this with XkbBell.
2006-08-29 Matthias Clasen <mclasen@redhat.com>
* gdk/gdkwindow.h:
* gdk/gdk.symbols:
* gdk/directfb/gdkwindow-directfb.c (gdk_window_beep):
* gdk/win32/gdkwindow-win32.c (gdk_window_beep):
* gdk/quartz/gdkwindow-quartz.c (gdk_window_beep):
* gdk/x11/gdkwindow-x11.c (gdk_window_beep): Add a function
to beep on a window. For X11, implement this with
XkbBell. (#353455, Mariano Suárez-Alvarez)
Diffstat (limited to 'gdk')
-rw-r--r-- | gdk/directfb/gdkwindow-directfb.c | 6 | ||||
-rw-r--r-- | gdk/gdk.symbols | 1 | ||||
-rw-r--r-- | gdk/gdkwindow.h | 1 | ||||
-rw-r--r-- | gdk/quartz/gdkwindow-quartz.c | 6 | ||||
-rw-r--r-- | gdk/win32/gdkwindow-win32.c | 6 | ||||
-rw-r--r-- | gdk/x11/gdkwindow-x11.c | 28 |
6 files changed, 48 insertions, 0 deletions
diff --git a/gdk/directfb/gdkwindow-directfb.c b/gdk/directfb/gdkwindow-directfb.c index edbc3901a2..a374400b32 100644 --- a/gdk/directfb/gdkwindow-directfb.c +++ b/gdk/directfb/gdkwindow-directfb.c @@ -2990,6 +2990,12 @@ gdk_window_impl_directfb_paintable_init (GdkPaintableIface *iface) iface->process_updates = gdk_window_impl_directfb_process_updates; } +void +gdk_window_beep (GdkWindow *window) +{ + gdk_display_beep (GDK_WINDOW_DISPLAY (window)); +} + #define __GDK_WINDOW_X11_C__ #include "gdkaliasdef.c" diff --git a/gdk/gdk.symbols b/gdk/gdk.symbols index 52924ac4a3..103ed0cb5e 100644 --- a/gdk/gdk.symbols +++ b/gdk/gdk.symbols @@ -738,6 +738,7 @@ gdk_window_set_focus_on_map gdk_window_set_icon_list gdk_window_set_icon gdk_window_set_icon_name +gdk_window_beep gdk_window_iconify gdk_window_deiconify gdk_window_stick diff --git a/gdk/gdkwindow.h b/gdk/gdkwindow.h index b0962bcfde..8380aa56e3 100644 --- a/gdk/gdkwindow.h +++ b/gdk/gdkwindow.h @@ -552,6 +552,7 @@ void gdk_window_set_functions (GdkWindow *window, GList * gdk_window_get_toplevels (void); #endif +void gdk_window_beep (GdkWindow *window); void gdk_window_iconify (GdkWindow *window); void gdk_window_deiconify (GdkWindow *window); void gdk_window_stick (GdkWindow *window); diff --git a/gdk/quartz/gdkwindow-quartz.c b/gdk/quartz/gdkwindow-quartz.c index b3428f7152..6fc58db27e 100644 --- a/gdk/quartz/gdkwindow-quartz.c +++ b/gdk/quartz/gdkwindow-quartz.c @@ -1993,3 +1993,9 @@ gdk_window_destroy_notify (GdkWindow *window) * -[GdkQuartzView dealloc], although I suspect that currently they leak * anyway. */ } + +void +gdk_window_beep (GdkWindow *window) +{ + gdk_display_beep (GDK_WINDOW_DISPLAY (window)); +} diff --git a/gdk/win32/gdkwindow-win32.c b/gdk/win32/gdkwindow-win32.c index 73486d9e77..95f3f01725 100644 --- a/gdk/win32/gdkwindow-win32.c +++ b/gdk/win32/gdkwindow-win32.c @@ -3397,3 +3397,9 @@ gdk_window_configure_finished (GdkWindow *window) { g_return_if_fail (GDK_IS_WINDOW (window)); } + +void +gdk_window_beep (GdkWindow *window) +{ + gdk_display_beep (GDK_WINDOW_DISPLAY (window)); +} diff --git a/gdk/x11/gdkwindow-x11.c b/gdk/x11/gdkwindow-x11.c index 06f5f8bdf9..665793ad51 100644 --- a/gdk/x11/gdkwindow-x11.c +++ b/gdk/x11/gdkwindow-x11.c @@ -29,6 +29,11 @@ #include <X11/Xlib.h> #include <X11/Xutil.h> #include <X11/Xatom.h> + +#ifdef HAVE_XKB +#include <X11/XKBlib.h> +#endif + #include <netinet/in.h> #include <unistd.h> @@ -6311,5 +6316,28 @@ gdk_window_configure_finished (GdkWindow *window) #endif } +/** + * gdk_window_beep: + * @window: a toplevel #GdkWindow + * + * Emits a short beep associated to @window in the appropriate + * display, if supported. Otherwise, emits a short beep on + * the display just as gdk_display_beep(). + * + * Since: 2.12 + **/ +void +gdk_window_beep (GdkWindow *window) +{ +#ifdef HAVE_XKB + XkbBell (GDK_WINDOW_XDISPLAY (window), + GDK_WINDOW_XID (window), + 0, + None); +#else + gdk_display_beep (GDK_WINDOW_DISPLAY (window)); +#endif +} + #define __GDK_WINDOW_X11_C__ #include "gdkaliasdef.c" |