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-
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 ;)