From: Clayton Smith Date: 2005-12-12T18:32:38+09:00 Subject: ruby-gnome2: catching middle clicks on tabs What I am trying to do is capture the button-press-event when a person middle-clicks on a tab(similar to how Firefox tabs work). As I learned in #gtk+ using the EventBox should be able to do this After a quick scouting of the web for an example, I found this: http://www.async.com.br/faq/pygtk/index.py?req=show&file=faq17.003.htp Unfortunately, I had problems with what I came up with. By using the following, when middle clicking on any of the tabs it finds the page_num to be -1 .. -------------- #!/usr/local/bin/ruby --verbose require 'gtk2' include Gtk init win = Window.new win.set_default_size 300, 300 hbox = HBox.new( false, 0) win.add(hbox) nb = Notebook.new hbox.add(nb) def add_page nb vbox = VBox.new( false, 0) tab_label_box = EventBox.new label = Label.new('test') tab_label_box.add(label) tab_label_box.show_all tab_label_box.signal_connect('button-press-event') do |widget, event| if event.event_type==Gdk::Event::BUTTON_PRESS and event.button==2 puts nb.page_num(widget) # <-- not recognizing as a child ? end end nb.append_page( vbox, tab_label_box) end add_page nb add_page nb add_page nb win.show_all main --------------