While more extensibility is great. I can only say expecting the user to use python exclusively for adding the new behavior like for issue #2339 is very crude. Not everyone is a programmer or wants to be to draw a schematic. A lot of functionality that's not overly specific should be considered integrated in KiCad itself rather than turning KiCad into a strange python IDE.
On Tue, Jun 30, 2020 at 1:17 PM Eeli Kaikkonen <eeli.kaikko...@gmail.com> wrote: > This post is partly inspired by "Auto-generated backup files: are they > useful?" but I have been thinking about this for a longer time. > > KiCad could benefit from a scripting hook system. There could be > pre-hooks and post-hooks for certain actions. Let's take this backup > file discussion as an example. One system of backups or file history > may not make everyone happy. What if KiCad had hooks for Save etc.? It > would call, let's say pcbnew_save_pre() and pcbnew_save_post() python > functions which could do anything they want to do with the project. In > this case it could create backup files. The script writer would decide > how it would be done. > > It could even use a third-party git or svn python library or external > program and make a commit every time the user Saves the document. > > Let's take another example which was problematic in the past. I don't > remember the details, but I think an attempt to enhance the window > titles was abandoned because it was somehow problematic. What if there > was pcbnew_mainwindow_printwindowtitle_pre(arg1, arg2...) hook which > would return a string from the python function? It would take possible > parts of the window title as arguments. The python function could > form the title as it likes. > > Third example: pcbnew_plot_gerber_post() could rename and zip the > plotted gerber files. See > https://gitlab.com/kicad/code/kicad/-/issues/2076. > > Fourth example: https://gitlab.com/kicad/code/kicad/-/issues/2339. > This is obviously something which is impossible to make to satisfy all > use cases, but create_new_project_post() hook could create any folders > the user wants. > > It's easy to see that only imagination is the limit, and this would > take some needless responsibilities and decisions from the developers > and would give freedom to the users. There could and often should be > some reasonable default behavior, but the user could decide if it's > enough. If the proper infrastructure (asset installer and repository) > will be made, the users could share what they have. > > Eeli Kaikkonen > > _______________________________________________ > Mailing list: https://launchpad.net/~kicad-developers > Post to : kicad-developers@lists.launchpad.net > Unsubscribe : https://launchpad.net/~kicad-developers > More help : https://help.launchpad.net/ListHelp > -- Mark
_______________________________________________ Mailing list: https://launchpad.net/~kicad-developers Post to : kicad-developers@lists.launchpad.net Unsubscribe : https://launchpad.net/~kicad-developers More help : https://help.launchpad.net/ListHelp