4

I want to remove the POINTER_MOTION_MASK from my window's events. I tried:

win.set_events(win.get_events() & ~Gdk.EventMask.POINTER_MOTION_MASK)

however, I get this error:

TypeError: Expected a Gdk.EventMask, but got int

How should I remove the bit from the event mask?

Charles Brunet
  • 21,797
  • 24
  • 83
  • 124

1 Answers1

1

The ~ operator changes the result type:

>>> type(Gdk.EventMask.POINTER_MOTION_MASK)
<class 'gi.repository.Gdk.GdkEventMask'>
>>> type(~Gdk.EventMask.POINTER_MOTION_MASK)
<type 'int'>

So you need to cast the result. I guess this should work:

win.set_events(win.get_events() & (Gdk.EventMask)~Gdk.EventMask.POINTER_MOTION_MASK))
liberforce
  • 11,189
  • 37
  • 48