Re: Really global accelerators ?

On Sun, 2001-11-18 at 21:55, Paolo Molaro wrote:
I can't seem to find a way to have an accelerator that works all the
My problem: I want to use ctrl-w to activate something in my program,
but if the focus is in a GtkEntry, ctrl-w is bound to kill word... is
there any way around this ?

A key event is first sent to the toplevel window: you should be able to
handle it there, if that doesn't work, your code doesn't do the right

Any ideias of what I could be doing wrong ?
I'm doing something like this...

my $win_browser = new Gtk::Window();
$self->{_mainwindow} = $win_browser;
$self->{_accelgroup} = new Gtk::AccelGroup;

now this particular key combination always works (alt-s) but if I try
ctrl-w it wont work if I'm in a GTK::Entry...

Anyway, there is also another way to get keyboard events before Gtk
sends them to the widgets:

      Gtk->key_snooper_install (\&handler);

sub handler {
      my ($widget, $gdkevent, @args) = @_;
      #return 1; # if we want to handle the key event ourselves
      return 0;

Yes, this could work as a way to intercept a key that I don't want going
to a widget, but is there a way to redirect the event to the proper
accelerator ?
sub handler {
   my ($widget, $gdkevent, @args) = @_;
   return 1;

Thank You

Pedro Caria
(Maquina de Estados)

[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]