xfce_resource_pop_path

Benedikt Meurer benedikt.meurer at unix-ag.uni-siegen.de
Fri Mar 19 11:09:16 CET 2004


edscott wilson garcia wrote:
> El jue, 18-03-2004 a las 08:10, Benedikt Meurer escribió:
> 
>>edscott wilson garcia wrote:
>>
>>>Hey Benny,
>>
>>Hi Edscott,
>>
>>
>>>Looking into the new libxfce4util/xfce-resource.c routines, I have a
>>>small comment. I would need a small function, 
>>>xfce_resource_clear(XfceResourceType type) to clear the contents of the
>>>respective glist (pop everything of the specified type). Is it OK if I
>>>commit a function to do such or would you rather do it yourself?
>>
>>I think you misunderstood the usage of the functions. Theres no need to clear 
>>any of the GLists, as it would make the whole module useless. The push/pop are 
>>provided for modules that temporarily need to add further paths, but should 
>>not be used unless theres no other way. The preferred solution is to move the 
>>files to the locations as specified in the respective XDG standard.
> 
> 
> If that means the routines cannot be used to search paths for icon
> themes, or non-XDG places like where the panel icon themes are currently
> located, then nothing is gained from using the functions. If we limiting
> ourselves to XDG, then I see much easier, faster, and efficient just to
> access the XDG defined paths directly and forget about the overhead of
> loading a dynamic library. Probably the fastest approach is to use
> inline code via macros. 
> 
> 
>>Could you explain, why you see a need for a clear function?
> 
> 
> 
> Sure. I can see much usefulness of the functions for icon themes. To
> change an icon theme on the fly you have to remove all paths to old
> theme and insert new paths to new theme. If it were just one path, no
> problem. Push and pop does the trick. But each theme can have a whole
> bunch (undetermined amount) of paths necessary to find icons. The
> easiest way is to wipe the paths clean and put in the new ones.
> Of course that would probably wipe out one or two XDG defined paths too,
> but since that's standard, there is no problem at all to reinsert them
> again. No magic to that ;-)
> 
> Without a clear function I would have to keep count of what's been
> pushed and popped and I'm afraid I don't have time for that at this
> moment. 

Ok, got your point. But it seems to be out of scope. You can use the resource 
lookup functions to locate the base path of a new theme, like 
xfce_resource_lookup(XFCE_RESOURCE_ICONS, "<theme>/index.theme"), but using 
the resource lookup functions for each and every icon would slow down things 
too much. I think the GtkIconTheme class is better suited for this. I don't 
want to duplicate the GtkIconTheme functionality in libxfce4util.

Also imagine the following case: You clear the XFCE_RESOURCE_ICONS resources 
in a module, but the application from which the module is loaded depends on 
the "original behaviour" of the XFCE_RESOURCE_ICONS resource. That'd definetly 
cause problems.

> regards,
> Edscott  

regards,
Benedikt

-- 
NetBSD Operating system:                       http://www.NetBSD.org/
pkgsrc "Work in progress":                  http://pkgsrc-wip.sf.net/
XFce desktop environment:                        http://www.xfce.org/
German Unix-AG Association:                   http://www.unix-ag.org/
os-network:                                 http://www.os-network.de/

OpenPGP Key: http://www.home.unix-ag.org/bmeurer/#gpg




More information about the Xfce4-dev mailing list