Hi Vincent, sorry taking so long, but patch is in svn. See comments below:

On Mon, Jun 29, 2009 at 8:49 PM, Vincent
Francois<[email protected]> wrote:
> Vincent Francois <[email protected]>
>
> Hello,
>
> I am writing to inform of a change in the systray module.
>
> When using the module, some icons are incorrectly placed (Google Desktop, 
> VideoLan, Claw-Mails ...).
>
> The problem stems from the need to capture the event XConfigureEvent and then 
> apply the new geometry of the embedded window.
>
> Below, I describe the changes applied to the file 
> e/src/modules/systray/e_mod_main.c.
>
> // modify _Instance structure
>
> struct _Instance
> {
> ...
> struct
> {
> ...
> Ecore_Event_Handler *configure;
> } handler;
> ...
> };
>
> // new callback function
>
> static int
> _systray_cb_window_configure(void *data, int type __UNUSED__, void *event)
> {
>   Ecore_X_Event_Window_Configure *ev = event;
>   Instance *inst = data;
>   Icon *icon;
>   Eina_List *l;   EINA_LIST_FOREACH(inst->icons, l, icon)
>     if (icon->win == ev->win)
>       {
>       _systray_icon_geometry_apply(icon);
>       break;
>       }
>
>   return 1;
> }
>
> // add handler
>
> static E_Gadcon_Client *
> _gc_init(...)
> {
> ...
>   inst->handler.configure = ecore_event_handler_add
>      (ECORE_X_EVENT_WINDOW_CONFIGURE, _systray_cb_window_configure, inst);
> ...
> }
>
> *********
>
> After several tries, I can say that this method is successful.
>
> A patch file is included with this email. To create the patch I used this 
> command :
>
> $ svn diff e_mod_main.c > e_mod_main.c.patch


Okay, patch applied with minor changes:
  - important: delete the event handler when gadget is removed!
Failing to do so will lead to callback being called to already dead
object and possibly code if we unload the module.
  - remove stdio.h as it's not required, probably you used it to debug
with printf()
  - fixed indentation on new code

Also, next time you don't need to describe your patch, just code is
enough, I can understand it. Just need to comment if patch is very
different or unexpected.


> I hope that my help will be most useful. If you are looking for a programmer 
> specializing in low-level programming X11, think of me :)

Good :-)


> I would like to participate in the adventure Enlightenment.

Already doing it :-) Welcome aboard. More patches are welcome.

-- 
Gustavo Sverzut Barbieri
http://profusion.mobi embedded systems
--------------------------------------
MSN: [email protected]
Skype: gsbarbieri
Mobile: +55 (19) 9225-2202

------------------------------------------------------------------------------
Enter the BlackBerry Developer Challenge  
This is your chance to win up to $100,000 in prizes! For a limited time, 
vendors submitting new applications to BlackBerry App World(TM) will have
the opportunity to enter the BlackBerry Developer Challenge. See full prize  
details at: http://p.sf.net/sfu/Challenge
_______________________________________________
enlightenment-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel

Reply via email to