The signal-handler was working wonderfully at that point, but I wasn't sure if I was getting the event from the MOTION_MASK or the MOTION_HINT_MASK. To test it I made the following signal-handler:
def handle_map_motion(w, e, handler_id)
puts "HINT!!!!" if e.hint?
puts "Moving over (#{e.x}, #{e.y})"
end
Here's the output:
HINT!!!!
Moving over (372.0, 277.0)
HINT!!!!
Moving over (386.0, 260.0)
HINT!!!!
Moving over (478.0, 410.0)
HINT!!!!
So in summary, when you want to detect mouse movement in GTK, make sure that both POINTER_MOTION_MASK and POINTER_MOTION_HINT_MASK are in your event mask, and you'll be good to go.