Re: Automatic focus handling? How do I turn it off?
- From: Owen Taylor <otaylor redhat com>
- To: Havoc Pennington <hp redhat com>
- Cc: Ken Simpson <kens ActiveState com>, <gtk-list gnome org>, <blizzard redhat com>, David Ascher <DavidA ActiveState com>, Mark Hammond <markh ActiveState com>
- Subject: Re: Automatic focus handling? How do I turn it off?
- Date: 12 Jun 2001 07:42:50 -0400
Havoc Pennington <hp redhat com> writes:
> Ken Simpson <kens ActiveState com> writes:
> > Is this the code which performs automatic focus changing in response to
> > keypresses? It certainly seems to fit the symptoms :)
> > Hmm.. But there doesn't appear any way of "turning it off".
> Yep, that's the code. Writing other widget sets is not what GTK is
> made for, so we don't have an easy way to change this. ;-) That's why
> Chris was working on Xlib Mozilla for a while I imagine.
> However you can do a hack to GtkWindow - connect to key_press_event,
> when you see one of these keys call gtk_signal_emit_stop_by_name to
> kill the event. Or subclass GtkWindow and override the default signal
> handler and do something a bit differently there. Should be able to
> get it working. You could possibly also override set_focus or
> grab_focus and do some sort of hack.
> You may well have weird interactions with GtkMozEmbed and apps like
You shouldn't need anything this complicated, or this likely
to break stuff.
Widgets are sent key presses before GTK+ checks for focus keys. If the
widget handles the key press in its event handler and returns TRUE,
then GTK+ will not check for tab/arrows.
For instance, this is how GtkText prevents a tab key from tabbing out
of the GtkText widget.
] [Thread Prev