[Xcb] Xcb and Xevie
Charles Ricketts
chuck.the.pc.guy at gmail.com
Sun May 10 22:41:12 PDT 2015
On 05/10/2015 04:21 PM, Rémi Cardona wrote:
> Le 10/05/2015 22:25, Charles Ricketts a écrit :
>> Since X11 support was dropped for Xevie in 2009, one of my favorite
>> programs can no longer has the ability to discard specified inputs,
>> which can be pain under certain circumstances. In talking to the
>> developers, they stated that it wasn't possible anymore due to Xevie
>> being discontinued with nothing to take its place as far as the
>> necessary input intercepting.
>>
>> So, I was fairly happy to see that Xcb has a Xevie library. Bare in
>> mind, I'm new to X programming and X internals in general but I've
>> learned a little bit from perusing the old code of this application. The
>> way I understand it, is that X has extensions, one of which was Xevie.
>> My main question is, does xcb-xevie take the place of that X extension,
>> or is it simply a way of communicating with an existing Xevie extension
>> if the user happens to be running an old X server? After looking through
>> the code, it looks to be the latter, but I just wanted to verify before
>> I put in a bunch of work for potentially nothing.
> X11 is the core protocol.
> XEvIE is an extension to the protocol (much like XRandR, XRender, etc)
>
> libX11 is a client-side library that implements the core protocol.
> libXevie is a client-side library based on libX11 that implements XEvIE
>
> libxcb is a client-side library that implements the core protocol (with
> many parts of the library generated from XML protocol description files)
> libxcb-xevie is a client-side library (part of the libxcb source tree)
> that implements XEvIE.
>
>> On my system, I can't seem to get it to work properly, but for now I'm
>> chalking this up to me not fully understanding the library yet and how
>> to work with it.
> XEvIE support has been removed from the *server* back in late 2008.
> Unless you're using a distro from back then, there's no chance your
> program will work. Whichever library you're using has no one to talk to.
>
> Cheers,
>
> Rémi
Thank you both for your responses. That's what I figured by looking at
the code. Without the Xevie extension enabled in X11, then my pursuit is
hopeless. Kind of a bummer that nothing came along to replace it. In my
case, the application I was referring to was Mumble. It used to use
Xevie to capture keypresses for push-to-talk so that they didn't get
passed to the focused application. As I'm often in a text editor while
using Mumble and all my PTT keys are printable characters it's pretty
frustrating. I guess my only option is to remap some of my keys to
non-printable characters/keys (not something that an average end-user
should be expected to know).
So, it makes sense that xcb-xevie is largely undocumented -- it's pretty
much impossible to use it from what I can tell. I installed Debian Lenny
in a VM (from the same year Xevie was deprecated, though I imagined
that, being Debian, it wouldn't have yet had that change if it were made
before the Lenny release) and tried to build libxcb, but the version of
Python was too old (2.4 I think?) to compile Xcb. So, unless there are
some crazy custom compilations, for the most part any machine that has
an X old enough to still support Xevie won't even be able to compile Xcb
to utilize that part of the library. That is, unless it's a static build
I guess.
Anyway, I appreciate the help and thank you for the replies!
More information about the Xcb
mailing list