![](https://secure.gravatar.com/avatar/a56927c4a87b3293d94b3e98922e2cbe.jpg?s=120&d=mm&r=g)
On Mon, 27 Sep 2004, John Cliff wrote:
Date: Mon, 27 Sep 2004 09:51:42 -0700 (PDT) From: John Cliff <simarilius@...36...> To: inkscape inkscape-devel@lists.sourceforge.net Subject: Re: [Inkscape-devel] "Vacuum Defs"
--- Alan Horkan <horkana@...44...> wrote:
On Sun, 26 Sep 2004, bulia byak wrote:
I do not think you get my point of view on this. I dont understand why the user would really want manualy have to make the decision about cleaning up unused <defs> and certainly not why they would want to do this often enough to want a menu item for it.
I think this exposing implementation details to the user and adding unnecessary complexity for a fairly obscure use case.
nope, its empowering the user to easily clean their defs from their doc when they choose.
If you want to reuse something in <defs> later on why wouldn't you leave it attached to something small and discreetly off page?
"the principle of least astonishment"
if a users deletes something it is not unreasonable to expect it to be gone. if you delete a recatangle with a gradient in it why would a normal users expect the gradient to still be contained in the current document? [1] have you seen anything like this (unused definitions left lying around) in another application, of any kind not just vector drawing applictions? (the closest thing i can think of is styles definitions in a word processing document but the differnce is that there is a clear interface to it that ordinary users can learn.)
in a standard filesystem you can setup aliases set up so that a file is not deleted while there is one or more references to it, the notion of keeping something around when there are no longer any references to it seems bizarre to me.
SVG files can have items that are "hidden" (i think it is a style property of groups, <g style="visibility:hidden">) and if users want to have items hanging around in the file but not shown then they should explicitly hide them.
perhaps this would make sense to me if the defs list was shown in a way that users could easily access and clearly shown to the user as the library/palette that conveyed that these were an abstract set of resuble symbols, gradients, and patterns, associated with this document. (editing the source xml is a great workaround to any problem including this one but not a user friendly solution and is only useful if you are already aware of the defs).
But why should you? its in the defs, its none visible, If you dont tell inkscape to delete it, then you should be able to expect inkscape not to. What your suggesting is that a user should know that he should keep
you and i both understand how the SVG file format works we both understand there is a <defs> block where things are stored and that can be used multiple times within a document.
normal users wont understand how the file format is implemented. unless there is some kind of interface is added to represent these scraps that are associated with a document it wont make sense to artist and ordinary users.
Do you get what I mean? Am I making some sense yet?
not really.
sorry I have been unable to explain this better, I hope I'm getting closer to being clearer. (i have had at least one response from some one who understands what I'm trying to say)
a swatch of a pattern or whatever using the def he created to stop the program automatically wiping away his hard work when he saves. The only way most users will learn that is from the bad experience of having something they wanted keeping deleted. Plus, keeping swatches off the page is a sloppy solution.
I think i can sort of see your point of view but just not within the current limitations of Inkscape. like i said there needs to be a clear representation for users where these <defs> actually are.
being able to manually add <defs> to be stored some where (some sort of palette/swatch would be necessary too but not very convenient.
[1] Inkscape should remember the gradients created but it would be great there was an option for inkscape to automatically collect gradients/patterns/etc from documents you have opened, similar to the way Mozilla can be set to automatically collect email address from messages you recieve (and respond to).
preference implies a choice about default mode of operation to me, this is a one off action you perform on the current file, hence it living in the file menu.
if Inkscape had a 'Format' menu, that would seem like a better place to put it. would it make more sense to have "Clean up defs" under 'Object' (objects are what defs apply to) rather than File?
Sincerely
Alan Horkan
http://advogato.org/person/AlanHorkan/ Inkscape, Draw Freely http://inkscape.org Free SVG Clip Art http://OpenClipArt.org