diff --git a/src/core/bell.c b/src/core/bell.c index 07abc12d7..dbb218831 100644 --- a/src/core/bell.c +++ b/src/core/bell.c @@ -283,9 +283,6 @@ bell_visual_notify (MetaDisplay *display, case G_DESKTOP_VISUAL_BELL_FRAME_FLASH: bell_flash_frame (display, xkb_ev); /* does nothing yet */ break; - case G_DESKTOP_VISUAL_BELL_NONE: - /* do nothing */ - break; } } @@ -293,8 +290,9 @@ void meta_bell_notify (MetaDisplay *display, XkbAnyEvent *xkb_ev) { - /* flash something if appropriate */ - bell_visual_notify (display, xkb_ev); + /* flash something */ + if (meta_prefs_get_visual_bell ()) + bell_visual_notify (display, xkb_ev); #ifdef HAVE_LIBCANBERRA if (meta_prefs_bell_is_audible ()) diff --git a/src/core/prefs.c b/src/core/prefs.c index 8669df5d1..fd76102da 100644 --- a/src/core/prefs.c +++ b/src/core/prefs.c @@ -88,6 +88,7 @@ static gboolean application_based = FALSE; static gboolean disable_workarounds = FALSE; static gboolean auto_raise = FALSE; static gboolean auto_raise_delay = 500; +static gboolean bell_is_visible = FALSE; static gboolean bell_is_audible = TRUE; static gboolean gnome_accessibility = FALSE; static gboolean gnome_animations = TRUE; @@ -302,6 +303,13 @@ static MetaBoolPreference preferences_bool[] = }, &auto_raise, }, + { + { "visual-bell", + SCHEMA_GENERAL, + META_PREF_VISUAL_BELL, + }, + &bell_is_visible, /* FIXME: change the name: it's confusing */ + }, { { "audible-bell", SCHEMA_GENERAL, @@ -1912,6 +1920,12 @@ meta_prefs_get_button_layout (MetaButtonLayout *button_layout_p) *button_layout_p = button_layout; } +gboolean +meta_prefs_get_visual_bell (void) +{ + return bell_is_visible; +} + gboolean meta_prefs_bell_is_audible (void) { diff --git a/src/meta/prefs.h b/src/meta/prefs.h index 099aef7a0..bc62a8250 100644 --- a/src/meta/prefs.h +++ b/src/meta/prefs.h @@ -268,6 +268,7 @@ void meta_prefs_get_window_binding (const char *name, void meta_prefs_get_overlay_binding (MetaKeyCombo *combo); +gboolean meta_prefs_get_visible_bell (void); gboolean meta_prefs_bell_is_audible (void); GDesktopVisualBellType meta_prefs_get_visual_bell_type (void);