[GRASSGUI] Re: Add addon menu files to Tcl GUI menu?

William Kyngesburye woklist at kyngchaos.com
Thu Sep 6 19:38:36 EDT 2007


 From what I can understand of the logic in gmmenu.tcl, it tests for  
the GEM menu dir (etc/gm/Xtns), so it ignores it if it doesn't  
exist.  Then it concats all .gem files there.  The same method could  
be used for the OSX user folder, since it will not exist on other  
systems.  Though if this user support setup is adopted by other  
systems it could be easily extended to them.

To make it system-agnostic, instead of hardwiring the OSX path  
(mainly the Library/ part, other systems could be .grass6/ on linux  
and whatever the user prefs or support folder is in a Windows user's  
home), it might try to use $GRASS_ADDON_ETC which would be set at  
startup per system (either init.sh or the initial grass script  
startup - currently the OSX startup sets this).  This can have  
multiple paths separated by colons, like $PATH.  Just check each path  
in $GRASS_ADDON_ETC for menu files in gm/addons.


I could probably duplicate that block and figure out how to handle a  
single hardwired path, but I'm not sure about splitting a string and  
adding a loop for the resulting pieces.

On Sep 6, 2007, at 6:02 PM, Michael Barton wrote:

> William,
>
> I don't currently have a way to get these into gmmenu.tcl in such a  
> way as
> to have them show up on a Mac but not be a problem on other systems  
> that
> don't have this new feature. Do you have any suggestions along  
> these lines?
>
> Michael
>
>
> On 9/4/07 8:48 AM, "William Kyngesburye" <woklist at kyngchaos.com>  
> wrote:
>
>> Something that got pushed back in my head, I'd like to get this in
>> the 6.3 release.  I have the OSX app startup generating tcl menu
>> files (similar to GEM menu files) for the OSX addon folders.  Can you
>> get these into gmmenu.tcl?
>>
>> OSX app addon menus are in:
>>
>> $HOME/Library/GRASS/$GRASS_VER/Modules/etc/gm/addons
>>
>> where $GRASS_VER is the major.minor version of the running GRASS.
>> They are named with a .menu extension and are generated automatically
>> on startup.  I'm thinking there should also be a user-customizable
>> menu that won't get zapped on every startup, maybe etc/gm/user.menu.
>>
>> When you settle on a way to extend the python gui menu, I'll do a
>> similar thing for that.
>>
>> -----
>> William Kyngesburye <kyngchaos*at*kyngchaos*dot*com>
>> http://www.kyngchaos.com/
>>
>> All generalizations are dangerous, even this one.
>>

-----
William Kyngesburye <kyngchaos*at*kyngchaos*dot*com>
http://www.kyngchaos.com/

"Mon Dieu! but they are all alike.  Cheating, murdering, lying,  
fighting, and all for things that the beasts of the jungle would not  
deign to possess - money to purchase the effeminate pleasures of  
weaklings.  And yet withal bound down by silly customs that make them  
slaves to their unhappy lot while firm in the belief that they be the  
lords of creation enjoying the only real pleasures of existence....

- the wisdom of Tarzan





More information about the grass-gui mailing list