On 2007-September-07 , at 04:21 , MenTaLguY wrote:
On Thu, 2007-09-06 at 10:07 +0200, jiho wrote:
On each start, Inkscape dynamically creates the GTK theme depending on your Appearance settings and writes it inside the app bundle (inside Inkscape itself).
Hmm, can we use a different approach that is compatible with multi- user installation?
Well, though it is ugly, current behaviour works fine with multiple users on a client machine, i.e. on a machine on which users use Inkscape sequentially in time. Since it recreates the theme each time it starts, each user sees his own theme. I am not sure about a server machine on which multiple clients connect simultaneously, but since Inkscape creates and, immediately after, reads its theme on startup and then keeps it for the whole time it is open, it should be OK unless two users start Inkscape at the exact same time.
Anyway, using a user level configuration directory (such a .inkscape on linux) is definitely the way to do things like this. I did not do it as a first step for several reasons: - Putting the theme in a user level configuration directory implies either copying the whole theme (gtkrc+pixmaps) there on each startup, which can potentially take some time, or add a check on the pixmaps "version" and only copy the pixmaps when their version changed. Both this approaches add some more checks and may add some lag to startup, which is already quite long on OS X. So I just took the brute force approach of not copying anything and not checking for anything either. However, I am probably only saving tenth of seconds here so it may not be that worse to use the "right" approach. - Inkscape on Mac OS X currently uses ~/.inkscape, ~/.inkscape-etc when it should do things the "Mac-way" and use ~/Application Support/ Inkscape. I did not want to start using this and put Inkscape stuff in three different places: we should move everything together.
When we do so, it would probably be nice to synchronize with The Gimp guys and share things (GTK theme,...). I was wondering what the connection between the two apps was on Linux: does Inkscape and Gimp share palettes for example? I know that Inkscape reads user defined paletters in ~/.inkscape/palettes while Gimp stores them in ~/.palettes. Does Inkscape read those also?
What I would like to see is a ~/Library/Application Support/Inkscape directory where the user would store Inkscape specific things (icon themes, templates, keys, preferences...) and a ~/Library/Application Support/GTK directory with stuff like GTK themes, palettes (maybe also gdk-pixbuf.loaders, pango.modules and such that we currently store in ~/.inkscape-etc while Gimp stores them in ~/Library/ Application Support/Gimp). Well in fact it would be even better to have Gimp and Inkscape share a common GTK framework stored somewhere on the system but that probably won't happen before a while (and if people want this they can already use MacPorts or Fink and install both Gimp and Inkscape this way). OK, I have gone far enough from the initial question, time to stop ;)
Cheers,
JiHO --- http://jo.irisson.free.fr/