mousearea: rewrite interface && signal