On 02/13/2010 11:10 AM, Carsten Haitzler (The Rasterman) wrote: > On Sat, 13 Feb 2010 10:57:06 -0500 Christopher Michael<[email protected]> > said: > >> The round trips are possibly necessary here tho :( In my tests I ran >> into cases where the bd->client.icccm.title was NULL (when it should not >> have been), hence the ecore_x calls to get the title....so these may >> still be needed in some cases. A better fix (which is in the new code) >> would have been to check bd->client.icccm.title first, and if (and only >> if) that is NULL, than call the ecore_x function. > > oh.. i forgot - if icccm.title is null... netwm.name maay not be. in fact > netwm.name should be pereferred - and if not set - uses icccm.title. :) so.. > round trips are not needed. if there was a property change - the border core > will have fetched the new title. as such shouldnt call the title get cals at > all - if border hasnt seen it yet - it wasnt set before mapping the window. > any app not setting a title before a window is mapped is not going to reliably > be detected - so blame there lies in the client - not the wm. >
Ahhh, netwm.name...nice one :) Wasn't "blaming" the wm at all...just noting what was found in my tests ;) dh >> dh >> >> On 02/13/2010 06:42 AM, Enlightenment SVN wrote: >>> Log: >>> why do a server rount trip for every border to get title when it's >>> already stored? bad bad bad! this will cause mucho slowness. >>> >>> >>> Author: raster >>> Date: 2010-02-13 03:42:28 -0800 (Sat, 13 Feb 2010) >>> New Revision: 46128 >>> >>> Modified: >>> trunk/e/src/modules/illume2/e_illume_border.c >>> >>> Modified: trunk/e/src/modules/illume2/e_illume_border.c >>> =================================================================== >>> --- trunk/e/src/modules/illume2/e_illume_border.c 2010-02-13 >>> 11:37:57 UTC (rev 46127) +++ >>> trunk/e/src/modules/illume2/e_illume_border.c 2010-02-13 11:42:28 >>> UTC (rev 46128) @@ -38,11 +38,10 @@ char *title; >>> int ret = 0; >>> >>> - title = ecore_x_icccm_title_get(bd->client.win); >>> + title = bd->client.icccm.title; >>> if ((title)&& >>> (!strcmp(title, il_cfg->policy.vkbd.title))) >>> ret = 1; >>> - if (title) free(title); >>> if (ret) return ret; >>> } >>> if (il_cfg->policy.vkbd.match.name) >>> @@ -73,7 +72,7 @@ >>> char *title; >>> int ret = 0; >>> >>> - title = ecore_x_icccm_title_get(bd->client.win); >>> + title = bd->client.icccm.title; >>> if ((title)&& >>> (!strcmp(title, il_cfg->policy.softkey.title))) >>> ret = 1; >>> @@ -106,7 +105,7 @@ >>> char *title; >>> int ret = 0; >>> >>> - title = ecore_x_icccm_title_get(bd->client.win); >>> + title = bd->client.icccm.title; >>> if ((title)&& >>> (!strcmp(title, il_cfg->policy.indicator.title))) >>> ret = 1; >>> @@ -136,7 +135,7 @@ >>> char *title; >>> int ret = 0; >>> >>> - title = ecore_x_icccm_title_get(bd->client.win); >>> + title = bd->client.icccm.title; >>> if ((title)&& >>> (!strcmp(title, il_cfg->policy.home.title))) >>> ret = 1; >>> >> ------------------------------------------------------------------------------ SOLARIS 10 is the OS for Data Centers - provides features such as DTrace, Predictive Self Healing and Award Winning ZFS. Get Solaris 10 NOW http://p.sf.net/sfu/solaris-dev2dev _______________________________________________ enlightenment-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
