← Back to team overview

kicad-developers team mailing list archive

Re: Why we chose to put libraries in directories?


Hi Tom,

I’ve only run into this stuff a bit tangentially, but I can provide a few insights:

The wxDirDialog hack is because the Mac doesn’t have a combined open dialog that can handle either a file or a directory.  I think both GTK and Windows do.

Most of the performance hit in the library stuff is indeed “lots of files in directories”.  This has been optimised in 5.1 to only do a single fstat, but it’s still the slowest part.  A zip file would probably significantly help.


> On 28 Jan 2019, at 17:22, Tomasz Wlostowski <tomasz.wlostowski@xxxxxxx> wrote:
> Hi Devs,
> A (probably) dumb question of a programmer who tried to put himself in
> the user's shoes:
> - KiCad libraries (.pretty) are directories full of tiny files.
> - Other libraries (Eagle, etc.) are just files.
> - The Library Table dialog must support both, but there's no single
> dialog that allows selecting both files and directories (or even faking
> directories to look as files).
> - [update] wxDirDialog seems to support the above ^^, but it doesn't
> look like a standard file chooser dialog. This is confusing to users.
> - Why do footprint libraries have the extension ".pretty"? What does it
> convey to the user (it's a nice codename for programmers, though)?.
> - Why the PROJECT class is compiled conditionally, exposing only PCB
> libs to pcbnew and SCH libs to eeschema? This prevents having a single,
> unified library configuration dialog accessible from all Kicad apps as
> well as the Project Manager.
> - Do we *really* need to expose all these environmental variables,
> fp-lib-table paths, plugin options and so on in the main library
> configuration dialog? This is extremely confusing. I'm not opposed to
> support environment vars, but should they be as visible as they are now?
> - How about adding support for .zip library files (zipped
> .pretty/.sweet/.3dshapes directory)? This could significantly improve
> the library loading speed as the scanner will no longer need to access
> every single .kicad_mod/.kicad_sym file just to enumerate the
> footprint/symbol it contains. It's quite annoying, in particular under
> Windows or NFS/Samba (loading the standard FP library on my laptop takes
> ~20 seconds).
> - Should we have the same interface for adding 3D model libraries
> (directories/zipfiles with .STEP files) instead of a 3D model search path?
> I'm asking because despite our efforts to improve Kicad's UX, the
> library configuration is still quite difficult, even for experienced PCB
> designers who are switching to KiCad from proprietary tools (see recent
> posts on the Kicad Forum). I'd like to improve this during the V6
> development cycle.
> Cheers,
> Tom
> _______________________________________________
> Mailing list: https://launchpad.net/~kicad-developers
> Post to     : kicad-developers@xxxxxxxxxxxxxxxxxxx
> Unsubscribe : https://launchpad.net/~kicad-developers
> More help   : https://help.launchpad.net/ListHelp