A few suggestions for Darrell, and any other OS X folks out there working
on Tux Paint.

When I first sat down and had a good play on Tux Paint under OS X, I noticed
that the Apple-combo-keys didn't work.  ([H]ide, [?]-help, [M]inimize,
[Q]uit)

I'd be happy to 'recognize' these key-combos in the SDL event loop.
Just tell me the appropriate method!


Also, I just got an e-mail from a school that would like to install Tux Paint
for their 500+ students, but were having problems getting the Stamps to
work without installing them on ALL 500 ACCOUNTS! :^)

I tracked it down to the fact that Tux Paint looks for 'user-specific'
stamps in the "get_fname()"'d directory, which on OS X, ends up being:

  $HOME/Library/Preferences/tuxpaint/stamps


The way the code works right now, speaking from the Linux standpoint,
since that's what I'm most familiar with, it tries to load from a 'global'
location.  e.g.:

  /usr/local/share/tuxpaint/stamps/
  /usr/local/share/tuxpaint/brushes/
  etc.


It THEN tries to load any user-specific stuff.  (This is much like the
way The Gimp lets you create a "~/.gimp-1.2/brushes/" folder and save
your own brushes in there.)

  ~/.tuxpaint/stamps/
  ~/.tuxpaint/brushes/
  etc.


The function call to load this kind of stuff is typically the
"loadarbitrary()" call, which I admit is a hideous Frankenstien of
a function.  But when you get past all of the NULLs you usually end
up sending it, it's not SO bad ;^)


Anyway, in the above case, for example, I'll translate code to Linux paths:

  /* Load brushes: */

  loadarbitrary(img_brushes, NULL, NULL, NULL, NULL, &num_brushes, 0,
                MAX_BRUSHES, DATA_PREFIX "brushes", 1, 40, 40);

  homedirdir = get_fname("brushes");

  loadarbitrary(img_brushes, NULL, NULL, NULL, NULL, &num_brushes, num_brushes,
                MAX_BRUSHES, homedirdir, 0, 40, 40);


"DATA_PREFIX" is typically a compile-time setting.  By default, it ends
up being that core "/usr/local/share/tuxpaint" directory, so you can see how
it makes sense that that would become, in this case:

  /usr/local/share/tuxpaint/brushes


Then it says, "hey, helperfunction, where can I find the _user's_ set of
brushes, if they have any?"  That's the "get_fname()" function.
(Note: I just added some /* clarification commentary */ to it, and stuck it
in CVS.)

So in the case of Linux, that becomes:

  ~/.tuxpaint/brushes



Pretty sensible! :^)


What I think may be happening, since I'm not familiar with the build process,
or project files, or what have you, on OS X, is that the FIRST function call
is silently failing.

  "No stamps are installed in $DATA_PREFIX/stamps/.  Oh well, that's life!"

But then, it finds them in the user's home directory, where they were
installed by the "Tux Paint Stamps Installer" application Darrell made:

  "Hey!  Some stamps in $HOME/.../stamps/!  Cool!"




So, to the woman who contacted me about using the stamps without installing
them 500 times, I sent her a description of how I got it working
'more properly' by following a few short steps:

  1. Install stamps.  They'll go in the user's homedir.
  2. Fire up Terminal (or I guess you can do this from Finder?)
     and MOVE the "stamps" folder from
     "/Users/username/Library/Preferences/tuxpaint", and into
     "/Library/Preferences/tuxpaint"  (first making that "tuxpaint" folder)
  3. Make a Unix symbolic link to have:
     /Users/username/Lib.../tuxpaint/stamps -> /Lib.../tuxpaint/stamps

Of course, step 3 will need to be repeated 500+ times. :^(  But that could
be scripted.  Hopefully she or someone else there has the skills to do that.
I wouldn't want to guess the exact steps needed. :^(


Anyway, Darrell... what does "DATA_PREFIX" end up being on Mac OS X?

And in the next version of the Stamps installer, can you make them install
in a 'global' place?  At least as an option?  (Kind of like how StarOffice 5.2
had the "/net" install option ;) )


Hope this makes sense.  Sorry for the long ramble!




PS - I REALLY want to get 0.9.13 out the door before Christmas.
Looks unlikely, though :^(  Flu, work and everyone else having the flu and
being busy, will probably interfere...


-bill!
[EMAIL PROTECTED]                           Got kids?  Get Tux Paint! 
http://newbreedsoftware.com/bill/       http://newbreedsoftware.com/tuxpaint/

_______________________________________________
Tuxpaint-dev mailing list
[EMAIL PROTECTED]
http://tux4kids.net/mailman/listinfo/tuxpaint-dev

Reply via email to