Recording UI elements from X to an application - X

This is a discussion on Recording UI elements from X to an application - X ; Hi, I was wondering what the easiest or best method for getting/trapping the UI elements sent to an application by X. For example, if I was running firefox, I would like to trap, record and transfer all the UI elements( ...

+ Reply to Thread
Results 1 to 2 of 2

Thread: Recording UI elements from X to an application

  1. Recording UI elements from X to an application

    Hi,
    I was wondering what the easiest or best method for getting/trapping
    the UI elements sent to an application by X. For example, if I was
    running firefox, I would like to trap, record and transfer all the UI
    elements( mouse clicks, etc) that are sent to firefox by X.
    [This is part of an effort to understand the various responses
    triggered by UI events by an application - with out actually having to
    look at its event handlers etc. i.e If I know what sort of events X is
    providing the application, and the responses triggered in the
    application, I will have some idea of the correlation]
    Thanks,


  2. Re: Recording UI elements from X to an application

    begin.middle.end@gmail.com wrote:
    > Hi,
    > I was wondering what the easiest or best method for getting/trapping
    > the UI elements sent to an application by X. For example, if I was
    > running firefox, I would like to trap, record and transfer all the UI
    > elements( mouse clicks, etc) that are sent to firefox by X.
    > [This is part of an effort to understand the various responses
    > triggered by UI events by an application - with out actually having to
    > look at its event handlers etc. i.e If I know what sort of events X is
    > providing the application, and the responses triggered in the
    > application, I will have some idea of the correlation]
    > Thanks,



    You probably want the XRecord extension, along with XTest. If you run
    xdpyinfo these show up as RECORD and XTEST under the list of extensions.

    Depending on what you want to do XRecord may work well, or it may be a
    pain. The problem I ran into was that XRecordEnableContextAsync() works
    for a while, but when some GNOME apps are started, the async callback
    stops being called. So the synchronous solution is best for now. You
    may want to fork a separate process that sends events over a pipe, or
    use XThreads.

    I wrote one tool that you could use as a basis to understand how to use
    these poorly documented extensions (especially XRecord).

    See TkXext-3.6.12/src/TkXext.record.c
    http://www.xmission.com/~georgeps/im...3.6.12.tar.bz2


    George

+ Reply to Thread