Simple fix for the flickering.

This commit is contained in:
hordepfo 2014-05-06 22:05:14 +01:00
parent 200653975f
commit 5a7b246b7e

View File

@ -506,6 +506,8 @@ class MenuWin( object ):
self.mainwin = MainWindow( self.button_box, self.settings, self.keybinder ) self.mainwin = MainWindow( self.button_box, self.settings, self.keybinder )
self.mainwin.window.connect( "map-event", self.onWindowMap ) self.mainwin.window.connect( "map-event", self.onWindowMap )
self.mainwin.window.connect( "unmap-event", self.onWindowUnmap ) self.mainwin.window.connect( "unmap-event", self.onWindowUnmap )
self.mainwin.window.connect( "enter-notify-event", self.onWindowEnter )
self.mainwin.window.connect( "leave-notify-event", self.onWindowLeave )
self.mainwin.window.connect( "realize", self.onRealize ) self.mainwin.window.connect( "realize", self.onRealize )
self.mainwin.window.connect( "size-allocate", lambda *args: self.positionMenu() ) self.mainwin.window.connect( "size-allocate", lambda *args: self.positionMenu() )
@ -534,6 +536,14 @@ class MenuWin( object ):
self.pointerMonitor.ungrabPointer() self.pointerMonitor.ungrabPointer()
return False return False
def onWindowEnter(self, applet, event):
self.pointerMonitor.ungrabPointer()
return False
def onWindowLeave(self, applet, event):
self.pointerMonitor.grabPointer()
return False
def onRealize( self, *args): def onRealize( self, *args):
self.pointerMonitor.addWindowToMonitor( self.mainwin.window.window ) self.pointerMonitor.addWindowToMonitor( self.mainwin.window.window )
self.pointerMonitor.addWindowToMonitor( self.applet.window ) self.pointerMonitor.addWindowToMonitor( self.applet.window )