Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!mnetor!uunet!husc6!mit-eddie!uw-beaver!cornell!batcomputer!pyramid!decwrl!karlton From: karlton@decwrl.dec.com (Philip Karlton) Newsgroups: comp.windows.x Subject: Re: Event Questions Message-ID: <137@bacchus.DEC.COM> Date: Wed, 11-Nov-87 14:35:29 EST Article-I.D.: bacchus.137 Posted: Wed Nov 11 14:35:29 1987 Date-Received: Sat, 14-Nov-87 03:18:14 EST References: <26900019@uiucdcsm> Reply-To: karlton@decwrl.UUCP (Philip Karlton) Organization: DEC Western Software Lab, Palo Alto, CA Lines: 27 In article <26900019@uiucdcsm> grogers@uiucdcsm.cs.uiuc.edu writes: ... >- Does the server send ALL events to the client and let the Xlib filter out the > events not requested by the application or does the mask get applied > at the server level? Really I'm asking if it costs me anything to > enable events and then ignore them (especially expensive if the event > causes a SIGIO interrupt and then is ignored). The events are filtered at the server on a per client basis. >- I'm I supposed to be able to change the event mask after a ButtonPress event > but before a ButtonReleased event? For example, after a ButtonPress > I want to drag something across the screen by watching the MotionNotify > events until a ButtonReleased event. My problem is this, after the > ButtonPress event, if I change the event mask via > XGetWindowAttributes, and XSelectInput or XChangeWindowAttributes I > do not get any MotionNotify events. This is because a "grab" is active while the button is down. If you want to change what events are being delivered, then call ChangeActivePointerGrab. The ButtonMotionMask was intended to be used in just the manner you are using it. That is why the event-mask of the automatic grab is copied from the selected pointer events of the event window. PK