info-xnee
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Info-xnee] Help to adapt cnee for logging more events !!


From: sridhar
Subject: Re: [Info-xnee] Help to adapt cnee for logging more events !!
Date: Thu, 24 Apr 2008 21:29:43 +0530

Hello Friend,
 iam just a graduate student,
doing project for my curriculum purpose,
iam a newbie to this xserver,
and you helped me a lot in regarding cnee,
really iam greatful for that,
its not a product to be released or some other thing,
just its part of my curriculum project  to understand
the xserver events from clients to server,
even the source is there,
some what iam feeling difficult to understand,
ie iam asking you...
so i hope  you understood me,



On Thu, Apr 24, 2008 at 9:16 PM, Henrik Sandklef <address@hidden> wrote:

tor 2008-04-24 klockan 14:47 +0530 skrev sridhar:
>
>
>
>
> Hello  ,
> i got struck in middle of my work,

Are you working for something that will be released?

> i need the log format for the events in the following way ,
> i hope you will help me in this,

The source is there. It's free (see below for information about freedom
in this case) for you to change.

I don not have the time to make adaptions for you. You can hire me to do
adaptions/modifications for you or your company. If I find a certain
modification (which is not the case with your 'request') could be useful
for Xnee in general I will probably implement it anyway.


> i need the log format should be in the following way ,
>
> windowid, time, event type(key/mouse/....etc) , event value(key typevalue/left or right or middle mouse button) , requestid, responseid  ...
>
> so where should i need to change the cnee to meet my need,

File:
  libxnee/src/xnee_record.c

Function:
  xnee_record_handle_event_printer

> exactly iam not aware of GPLv3 license.

The code you are using (Xnee) is released under GPL Version 3. You can
find more information here:
  http://www.gnu.org/licenses/gpl-3.0.html

GNU Xnee is Free Software:
 http://www.fsfeurope.org/documents/freesoftware.en.html


>
>
>
>
> On Tue, Apr 15, 2008 at 11:13 AM, Henrik Sandklef <address@hidden>
> wrote:
>         sridhar skrev:
>         > *you are very helpful thanks alot , now iam clear about
>         cnee...very very
>         > thanks
>         > *
>         > one more thing, so cnee does not store any window ids,
>
>
>         well, actually Xnee does. But only in one case. If a window is
>         placed in
>         a different position when replaying than when recording Xnee
>         uses the
>         window id to move the window to the correct position (which is
>         the
>         position as when recorded). Xnee treats reparent-notifications
>         in a
>         special way and stores window id to achieve the above.
>
>         > actually my requirement is to log  what are the events from
>         a particular
>         > window to xserver, can you tell any tools to work out in
>         this way , or cnee
>         > can do this..???
>
>
>         You can modify Xnee. Look at the file:
>
>          libxnee/src/xnee_record.c
>
>         and the function:
>
>          xnee_record_handle_event_printer
>
>         and the switch/case:
>
>            case ReparentNotify:
>              new_window_pos = xnee_get_new_window_pos(xd);
>
>              if (new_window_pos!=0)
>                {
>                  fprintf (out,"0,%u,0,0,0,0,0,%lu\n",
>                           event_type,
>                           xrecintd->server_time );
>                }
>              XGetWindowAttributes(xd->grab,
>                                   xrec_data->event.u.reparent.window,
>                                   &window_attributes_return);
>
>              XTranslateCoordinates (xd->grab,
>
>         xrec_data->event.u.reparent.window,
>                                     window_attributes_return.root,
>
>         -window_attributes_return.border_width,
>
>         -window_attributes_return.border_width,
>                                     &rx,
>                                     &ry,
>                                     &dummy_window);
>
>              /*
>               * Prevent the same window pos to be printed more than
>         once
>               */
>              if ( (last_record_window_pos_win !=
>                    xrec_data->event.u.reparent.window) ||
>                   (last_record_window_pos_par !=
>                    xrec_data->event.u.reparent.parent) )
>                {
>
>                  XFlush(xd->grab);
>                  if (!XFetchName(xd->grab,
>         xrec_data->event.u.reparent.window,
>         &win_name))
>                    { /* Get window name if any */
>                      xnee_verbose((xd," window has has no name\n"));
>                      win_name=NULL;
>                    }
>                  else if (win_name)
>                    {
>                      xnee_verbose((xd," window has has name '%s'\n",
>         win_name));
>                    }
>                  fprintf (out,
>                           "%s:%d,%d:%d,%d,%d,%d,%d,%d:%dx%d+%d+%d:%d,%
>         d:%s\n",
>                           XNEE_NEW_WINDOW_MARK,
>                           rx,
>                           ry,
>                           xrec_data->event.u.reparent.event,
>                           xrec_data->event.u.reparent.window,
>                           xrec_data->event.u.reparent.parent,
>                           xrec_data->event.u.reparent.x,
>                           xrec_data->event.u.reparent.y,
>                           xrec_data->event.u.reparent.override,
>                           window_attributes_return.x,
>                           window_attributes_return.y,
>                           window_attributes_return.width,
>                           window_attributes_return.height,
>                           window_attributes_return.border_width,
>                           window_attributes_return.border_width,
>                           win_name?win_name:""
>                           );
>                  if (win_name)
>                    {
>                      xnee_verbose((xd," freeing window name\n"));
>                      XFree(win_name);
>                    }
>                  last_record_window_pos_win =
>                    xrec_data->event.u.reparent.window;
>                  last_record_window_pos_par =
>                    xrec_data->event.u.reparent.parent;
>                }
>
>
>         you can probably use this code and modify it to get the win id
>         for every
>         event. Will it consume a lot of CPU? You are aware the GPLv3
>         license
>         aren't you?
>
>
>
>         >
>         >
>         >
>         > On Mon, Apr 14, 2008 at 10:43 PM, Henrik Sandklef
>         <address@hidden> wrote:
>         >
>         >> sridhar skrev:
>         >>> hi..friend,
>         >>> im sorry to ask repeatedly the silly things about cnee,
>         >>> iam a novice, just please help me,
>         >>> my requirement is to analyze the events to and from
>         xserver,
>         >>> * as cnee is recording events, in the output till now iam
>         not
>         >>> exactly knowing what each value represent,  does it stores
>         about the
>         >> window
>         >>> id, on which a particular event has occurred, or is there
>         any other tool
>         >> to
>         >>> analyze.
>         >>> ----------------------
>         >>> the following is the output fragment of  cnee
>         >>> using the following options
>         >>>
>         >>> cnee -o output1.xnr --record --device-event-range 2-6
>         >>> --delivered-event-range 7-31 --request-range 1-119
>         --verbose
>         >>> ##### my question what each value represents
>         >>> there are seven values in each line, what 1 stands for, 54
>         stands
>         >> for...and
>         >>> the others too..
>         >>> does it stores window ids too....
>         >> uh oh, it's clearly me who's not reading the manual.
>         Sorry!!!!
>         >>
>         >> Looking at the sources at:
>         >>   libxnee/src/print.c
>         >> at the function:
>         >>   xnee_record_print_request
>         >> you can see what's printed
>         >>
>         >>> ****************
>         >>> 1,54,54,2,54540671,1304748143
>         >> so, let's do this together:
>         >>
>         >> 1   is type, in this case: request
>         >> 54  what request, in this case: 54
>         >> 54  the length (think size)
>         >> 54540671   request id
>         >> 1304748143  server time
>         >>
>         >>
>         >>> 1,59,59,5,54540651,1304748143
>         >>> 1,53,53,4,54540674,1304748143
>         >>> 1,55,55,5,54540675,1304748143
>         >>> 1,72,72,19,54540674,1304748143
>         >> and so forth
>         >>
>         >>
>         >>
>         >> Thanks for requesting an answer, instead of my rtfm. You
>         found a bug.
>         >> It's now fixed in CVS (HEAD).
>         >>
>         >>> ******************
>         >>>
>         >>>
>         >>>
>         >>>
>         ------------------------------------------------------------------------
>         >>>
>         >>> _______________________________________________
>         >>> Info-xnee mailing list
>         >>> address@hidden
>         >>> http://lists.gnu.org/mailman/listinfo/info-xnee
>         >>
>         >
>         >
>
>
>
>
>
>
>
>
> --
> SrIDhAr M.tech(AI)
> Univ of Hyderabad
> ------------------------------------------------
> Life is pleasant. Death is peaceful. It's the transition that's
> troublesome.
> ---------------------------------
> _______________________________________________
> Info-xnee mailing list
> address@hidden
> http://lists.gnu.org/mailman/listinfo/info-xnee




--
SrIDhAr M.tech(AI)
Univ of Hyderabad
------------------------------------------------
Life is pleasant. Death is peaceful. It's the transition that's troublesome.
---------------------------------
reply via email to

[Prev in Thread] Current Thread [Next in Thread]