After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 70986 - Beep when moving off buffer in text widgets?
Beep when moving off buffer in text widgets?
Status: RESOLVED FIXED
Product: gtk+
Classification: Platform
Component: Widget: GtkTextView
1.3.x
Other All
: Normal normal
: Small feature
Assigned To: gtk-bugs
gtk-bugs
AP2
: 142791 (view as bug list)
Depends on:
Blocks:
 
 
Reported: 2002-02-09 00:41 UTC by Owen Taylor
Modified: 2006-12-02 18:32 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Owen Taylor 2002-02-09 00:41:38 UTC
Should the text widgets beep when you attempt to move
or delete off the end of the text widgets?

See:

 http://developer.gnome.org/projects/gap/keynav/gtk_text.html
Comment 1 Calum Benson 2002-02-11 12:18:17 UTC
Yes, I believe they should-- however, I'm guessing we really need some
system wide setting that lets the user decide what the "system beep"
actually means, as for example a deaf user will need a visual
indication rather than an audio one.  I'm not sure if such a mechanism
currently exists in gtk/GNOME.
Comment 2 Owen Taylor 2002-03-25 23:30:57 UTC
Moving non-critical and hard-to-fix bugs to 2.0.2
Comment 3 Matthias Clasen 2002-04-05 13:35:02 UTC
Move open bugs from milestones 2.0.[012] -- > 2.0.3, since 2.0.2 is already out.
Comment 4 Owen Taylor 2002-05-01 23:21:25 UTC
This can be dealt with through Xkb ... it provides a mechanism
for an application to implement custom handling for XBell()
Comment 5 Calum Benson 2002-10-24 19:04:12 UTC
(Just adding comments in response to Owen's recent "should we fix 
for 2.2" email)

Now that a visual bell seems close to being reality (see recent 
discussions on desktop-devel-list), I think the issue of beeping in 
text and other widgets (like lists) when the user tries to navigate 
beyond their bounds is worth considering again.  This is part of 
Windows accessibility guidelines so users with accessibility needs 
who are migrating from a Windows desktop will expect it.
Comment 6 Owen Taylor 2002-10-25 21:39:54 UTC
Punting, since I don't think we have a definition of the
complete set of circumstances where a beep should occur.

Comment 7 Calum Benson 2002-10-30 14:22:33 UTC
The keynav spec does mention it everywhere we'd want it, I think, but
I'm happy to punt it until we've given the doc the overhaul and
re-appraisal it so badly needs :)
Comment 8 Calum Benson 2003-04-03 14:56:49 UTC
Updating status_whiteboard field to reflect A11Y team's assessment 
of accessibility impact.
Comment 9 Calum Benson 2003-08-07 16:09:11 UTC
Apologies for spam... marking as GNOMEVER2.3 so it appears on the official GNOME
bug list :)
Comment 10 Owen Taylor 2004-07-27 16:56:55 UTC
*** Bug 142791 has been marked as a duplicate of this bug. ***
Comment 11 bill.haneman 2004-07-28 14:22:27 UTC
We should incorporate this into the keynav guidelines.

I think that any time a navigation or deletion event (destructive backspace, or
navigation) past end-of-buffer or beginning-of-buffer occurs in response to a
user command, a beep should be issued.
Comment 12 bill.haneman 2004-07-28 14:23:21 UTC
AP4 was too low for this bug - especially since it's part of the Windows
guidelines, and something many users (with or without disabilities) will have
come to expect.
Comment 13 Calum Benson 2004-10-21 16:44:45 UTC
Apologies for spam-- ensuring Sun a11y team are cc'ed on all current a11y bugs.
 Filter on "SUN A11Y SPAM" to ignore.
Comment 14 Owen Taylor 2004-11-29 21:43:09 UTC
I'd like to make sure we've checked other platforms to make sure that we
are reasonably consistent with what they are doing here. Beeping a lot
isn't really "user friendly" - consider that a lot of users will hold
down the delete key to delete the entire buffer.
Comment 15 Calum Benson 2005-03-29 16:30:27 UTC
For that particular case, couldn't you just beep once for the first 'nothing
left to delete' occurrence, and not beep again until the user released and
re-pressed the Delete key?  Or do what my Powerbook manages to do in
gnome-terminal and make a single continuous beep until you release Delete...
great for playing little tunes :)
Comment 16 Calum Benson 2006-04-26 17:12:42 UTC
Apologies for spam... ensuring Sun a11y folks are cc'ed on all current accessibility bugs.
Comment 17 Michael Natterer 2006-05-10 10:34:19 UTC
See bug #322640 for a more general solution of "keynav failed".
Comment 18 Michael Natterer 2006-11-16 13:04:00 UTC
Fixed in CVS. Bug reporters, please check your use cases and file
new bugs against the new features if anything doesn't work. It doesn't
make sense to keep 6 bugs open.

2006-11-16  Michael Natterer  <mitch@imendio.com>

	Add new infrastructure for notifications of failed keyboard
	navigation and navigation with restricted set of keys.

	The patch handles configurable beeping, navigating the GUI with
	cursor keys only (as in phone environments), and configurable
	wrap-around. Fixes bugs #322640, #70986, #318827, #334726, #334742
	and #309291.

	* gtk/gtksettings.c: added properties gtk-keynav-cursor-only,
	gtk-keynav-wrap-around and gtk-error-bell.

	* gtk/gtkwidget.[ch]: added new signal "keynav-failed" and public
	API to emit it. Added New function gtk_widget_error_bell() which
	looks at the gtk-error-bell setting and calls gdk_window_beep()
	accordingly.

	* gtk/gtk.symbols: add the new widget symbols.

	* gtk/gtkcellrendereraccel.c
	* gtk/gtkimcontextsimple.c
	* gtk/gtkmenu.c
	* gtk/gtknotebook.c: use gtk_widget_error_bell() or look at the
	gtk-error-bell setting instead of calling gdk_display_beep()
	unconditionally.

	* gtk/gtkcombobox.c
	* gtk/gtkentry.c
	* gtk/gtkiconview.c
	* gtk/gtklabel.c
	* gtk/gtkmenushell.c
	* gtk/gtkspinbutton.c
	* gtk/gtktextview.c
	* gtk/gtktreeview.c: call gtk_widget_error_bell() on failed keynav.

	* gtk/gtkentry.c
	* gtk/gtklabel.c
	* gtk/gtkrange.c
	* gtk/gtktextview.c: consult gtk_widget_keynav_failed() on failed
	cursor navigation and leave the widget if it returns FALSE.

	* gtk/gtkmenushell.c
	* gtk/gtknotebook.c: only wrap around if gtk-keynav-wrap-around
	is TRUE.

	* gtk/gtkradiobutton.c: ask gtk_widget_keynav_failed() to decide
	whether to to wrap-around, and don't select active items on cursor
	navigation if gtk-keynav-cursor-only is TRUE. Should look at
	gtk-keynav-wrap-around too, will look into that.
Comment 19 Yevgen Muntyan 2006-12-02 18:32:27 UTC
Has someone actually tried using a gtk text editor with this beeping? Has someone tried to address the concerns about beeping a lot? It's nice that widgets beep consistently, but it beeps like crazy!
Does it beep because "if it doesn't beep, and focus doesn't move, then user will be confused?" I.e. is beeping added because some other feature is implemented/not implemented, not because someone actually think beeping is good?