@@ -87,7 +87,7 @@ def __init__(self, font):
8787 self ._font_size = font [1 ]
8888 self ._attrs = None
8989 self ._busy = False
90- self ._mouse_enabled = False
90+ self ._mouse_enabled = True
9191 self ._insert_cursor = False
9292 self ._blink = False
9393 self ._blink_timer_id = None
@@ -115,10 +115,10 @@ def create_drawing_area(self, handle):
115115 window .connect ('delete-event' , self ._gtk_quit )
116116 window .connect ('key-press-event' , self ._gtk_key )
117117 window .connect ('key-release-event' , self ._gtk_key_release )
118- window .connect ('button-press-event' , self ._gtk_button_press )
119- window .connect ('button-release-event' , self ._gtk_button_release )
120- window .connect ('motion-notify-event' , self ._gtk_motion_notify )
121- window .connect ('scroll-event' , self ._gtk_scroll )
118+ window .connect ('button-press-event' , partial ( self ._gtk_button_press , self . g ) )
119+ window .connect ('button-release-event' , partial ( self ._gtk_button_release , self . g ) )
120+ window .connect ('motion-notify-event' , partial ( self ._gtk_motion_notify , self . g ) )
121+ window .connect ('scroll-event' , partial ( self ._gtk_scroll , self . g ) )
122122 window .connect ('focus-in-event' , self ._gtk_focus_in )
123123 window .connect ('focus-out-event' , self ._gtk_focus_out )
124124 window .show_all ()
@@ -404,7 +404,7 @@ def _gtk_key(self, widget, event, *args):
404404 def _gtk_key_release (self , widget , event , * args ):
405405 self ._im_context .filter_keypress (event )
406406
407- def _gtk_button_press (self , widget , event , * args ):
407+ def _gtk_button_press (self , g , widget , event , * args ):
408408 if not self ._mouse_enabled or event .type != Gdk .EventType .BUTTON_PRESS :
409409 return
410410 button = 'Left'
@@ -415,24 +415,25 @@ def _gtk_button_press(self, widget, event, *args):
415415 col = int (math .floor (event .x / self ._cell_pixel_width ))
416416 row = int (math .floor (event .y / self ._cell_pixel_height ))
417417 input_str = _stringify_key (button + 'Mouse' , event .state )
418- input_str += '<{0},{1}>' .format (col , row )
418+ input_str += '<{},{},{}>' .format (g .handle , col , row )
419+ print (input_str ,file = sys .stderr )
419420 self ._bridge .input (input_str )
420421 self ._pressed = button
421422 return True
422423
423- def _gtk_button_release (self , widget , event , * args ):
424+ def _gtk_button_release (self , g , widget , event , * args ):
424425 self ._pressed = None
425426
426- def _gtk_motion_notify (self , widget , event , * args ):
427+ def _gtk_motion_notify (self , g , widget , event , * args ):
427428 if not self ._mouse_enabled or not self ._pressed :
428429 return
429430 col = int (math .floor (event .x / self ._cell_pixel_width ))
430431 row = int (math .floor (event .y / self ._cell_pixel_height ))
431432 input_str = _stringify_key (self ._pressed + 'Drag' , event .state )
432- input_str += '<{0 },{1} >' .format (col , row )
433+ input_str += '<{},{},{} >' .format (g . handle , col , row )
433434 self ._bridge .input (input_str )
434435
435- def _gtk_scroll (self , widget , event , * args ):
436+ def _gtk_scroll (self , g , widget , event , * args ):
436437 if not self ._mouse_enabled :
437438 return
438439 col = int (math .floor (event .x / self ._cell_pixel_width ))
@@ -444,7 +445,7 @@ def _gtk_scroll(self, widget, event, *args):
444445 else :
445446 return
446447 input_str = _stringify_key (key , event .state )
447- input_str += '<{0 },{1} >' .format (col , row )
448+ input_str += '<{},{},{} >' .format (g . handle , col , row )
448449 self ._bridge .input (input_str )
449450
450451 def _gtk_focus_in (self , * a ):
0 commit comments