On Fri, 19 Jun 2009 15:11:28 -0300 Gustavo Sverzut Barbieri <[email protected]> said:
> On Fri, Jun 19, 2009 at 3:02 AM, Sergey > Semernin<[email protected]> wrote: > > Hello, All. > > > > Now, gadget managers can distinguish which gadgets are usable for > > shelfs, toolbars, desktop and etc. I was added to E_Gadcon_Client_Class > > new callback 'is_site', and when gadget manager build list of available > > gadgets it try to call this functor: > > -- If 'is_site' undefined, then it means that this gadget can be used > > everywhere. > > -- Otherwise, manager call 'is_site' with a name of the site and if > > result is EINA_FALSE, then this gadget should not be included in available > > gadgets list. > > -- If manager can't determine target site of gadgets it call 'is_site > > (NULL)', so this case should be properly matched in gadget module. > > Ok, in order to avoid adding overhead document that is_site() will get > a stringshared string and you pre-stringshare the known names as you > listed below. Before calling is_site() you certify that the parameter > is stringshared already or do that once. Then functions can just check > for pointers being equal and avoid strcmp(). to be realistic - this will never make a difference. you many gadgets do you expect to have in a list? 100? 1000? more? you know that if 1 module provides 1 gadget... you'll run out of fd's long before you have enough items for this to matter. this is micro-optimisation with no real effect. :( every list item created will probably do dozens and dozens of strcmp's. this won't make a dent at all. even if they were all removed you'd still barely notice. :) > Last but not least, since we have common stuff here, provide the > following functions by default: > - PREFIX_only_shelf_is_site() > - PREFIX_only_desktop_is_site() > - PREFIX_only_efm_toolbar_is_site() > - PREFIX_not_efm_toolbar_is_site() > > they should be used by modules to avoid duplication, and you can have > them to use the globals with the stringshared version of names you > created before (at init time). what are these funcs. it's not clearly explained. > > There are several site names exists now: > > -- 'shelf' - all shelfs, > > -- 'toolbar' - the toolbar used in EFM2, > > name this "fileman" or something else, otherwise if we wish to have > other toolbar categories it will conflict. > > > > -- 'desktop' - all desktops via gadman. > > Other site names can be easily added. > > > > Now, to complete 'is_site' callbacks for all modules, I need to know which > > modules should appear for shelf and/or desktop and/or toolbar. Because, I > > don't experimented with all modules at this time. Please tell me this > > information and I will complete the callbacks. > > I'd say that efm_* are just for toolbar (fm), monitors/status are for > all and everything else are for !toolbar. Monitors are not often > useful, but can demo some coolness of our technologies: > > e/src/modules: > - battery: all > - clock: all > - conf: !toolbar > - connman: !toolbar > - cpufreq: all > - fileman_opinfo: all (it would be good to make it work properly on toolbar) > - gadman: just desktop > - ibar: !toolbar > - ibox: !toolbar > - illume: !toolbar > - mixer: !toolbar > - pager: !toolbar > - start: !toolbar > - systray: !toolbar > - temperature: !toolbar > > E-MODULES-EXTRA: > - alarm: !toolbar > - calendar: just as clock, leave it for all so we have the fancy factor. > - configmenu: !toolbar > - cpu: all > - deskshow: !toolbar > - diskio: all > - drawer: !toolbar (maybe all?) > - efm_nav: just toolbar > - efm_path: just toolbar > - efm_pathbar: just toolbar > - emu: !toolbar > - exalt-client: !toolbar > - execwatch: !toolbar > - forecasts: all > - iiirk: !toolbar > - language: !toolbar > - mail: all > - mem: all > - moon: all > - mpdule: all (or !toolbar?) > - net: all > - news: all > - notification: !toolbar > - photo: !toolbar > - places: all > - screenshot: !toolbar > - skel: <-- dummy :-) > - slideshow: !toolbar > - taskbar: !toolbar > - tclock: all > - uptime: all > - weather: all > - winselector: !toolbar > - wlan: all > > > > -- > Gustavo Sverzut Barbieri > http://profusion.mobi embedded systems > -------------------------------------- > MSN: [email protected] > Skype: gsbarbieri > Mobile: +55 (19) 9225-2202 > > ------------------------------------------------------------------------------ > Are you an open source citizen? Join us for the Open Source Bridge conference! > Portland, OR, June 17-19. Two days of sessions, one day of unconference: $250. > Need another reason to go? 24-hour hacker lounge. Register today! > http://ad.doubleclick.net/clk;215844324;13503038;v?http://opensourcebridge.org > _______________________________________________ > enlightenment-devel mailing list > [email protected] > https://lists.sourceforge.net/lists/listinfo/enlightenment-devel -- ------------- Codito, ergo sum - "I code, therefore I am" -------------- The Rasterman (Carsten Haitzler) [email protected] ------------------------------------------------------------------------------ Are you an open source citizen? Join us for the Open Source Bridge conference! Portland, OR, June 17-19. Two days of sessions, one day of unconference: $250. Need another reason to go? 24-hour hacker lounge. Register today! http://ad.doubleclick.net/clk;215844324;13503038;v?http://opensourcebridge.org _______________________________________________ enlightenment-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
