Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!mnetor!uunet!husc6!cmcl2!rutgers!ucla-cs!zen!ucbvax!ti-csl.CSNET!Oren%Home From: Oren%Home@ti-csl.CSNET (LaMott Oren) Newsgroups: comp.windows.x Subject: Re: Xv11: ButtonPress and ButtonRelease Message-ID: <2766513292-1832349@SI> Date: Tue, 1-Sep-87 15:54:52 EDT Article-I.D.: SI.2766513292-1832349 Posted: Tue Sep 1 15:54:52 1987 Date-Received: Sat, 5-Sep-87 04:51:13 EDT References: Sender: daemon@ucbvax.BERKELEY.EDU Organization: The ARPA Internet Lines: 35 No, because the button press caused a grab. It sounds like all clients expecting ButtonPress events should first grab the button(s). Is this correct? The X11 protocol document says: Grab Keyboard keys, the keyboard, pointer buttons, the pointer, and the server can be "grabbed" for exclusive use by a client. In general, these facilities are not intended to be used by normal applications, but are intended for various input and window managers to implement various styles of user interfaces. Since I'm interested in implementing "various input and window managers", I'd like to understand when to grab what for various interface styles. Is there a document you could forward to me that explains this? There are several other features of X11 that the protocol document explains what they do, but not what they're good for. For example, The Selection stuff (SetSelectionOwner GetSelectionOwner and ConvertSelection) and RotateProperties. Is there a window-manager manual that explains the usage of all the pre-defined atoms? I'm also confused about the use of SetInputFocus. Does the window-manager use this (i.e. so applications can't). How would I do something like direct all the keyboard input for an application to one of its sub-windows, without locking other applications use of the keyboard? In summary, all the X11 documentation I've seen describes mechanism only. I desperately need a system perspective so I can write tools and applications that work together with other X11 window-managers and applications. I realize you don't have time to write me an X tutorial, but I'd appreciate any documentation pointers you could give me.