Skip to content

Instantly share code, notes, and snippets.

@squentin
Created September 9, 2011 21:11
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save squentin/1207348 to your computer and use it in GitHub Desktop.
Save squentin/1207348 to your computer and use it in GitHub Desktop.
bypass default shortcut keys except for entries and spinbuttons
diff --git a/gmusicbrowser_layout.pm b/gmusicbrowser_layout.pm
index ee3a576..d0dc82b 100644
--- a/gmusicbrowser_layout.pm
+++ b/gmusicbrowser_layout.pm
@@ -981,7 +981,7 @@ sub CreateWidgets
{ $widgets->{$_}->signal_connect(scroll_event => \&::ChangeVol)
for grep $widgets->{$_}, split /\s+/,$l;
}
- $self->signal_connect_after(key_press_event => \&KeyPressed);
+ $self->signal_connect(key_press_event => \&KeyPressed);
$self->{layoutdepth}--;
my @noparentboxes=grep m/^(?:[HV][BP]|[AMETNFSW]B|FR)/ && !$widgets->{$_}->parent, keys %$boxes;
@@ -1240,6 +1240,7 @@ sub ToggleFullscreen
sub KeyPressed
{ my ($self,$event)=@_;
+ my $focused=$self->get_focus; return 0 if $focused && ($focused->isa('Gtk2::Entry') || $focused->isa('Gtk2::SpinButton'));
my $key=Gtk2::Gdk->keyval_name( $event->keyval );
my $mod;
$mod.='c' if $event->state >= 'control-mask';
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment