Disabling libraries in the library tables is problematic

Description

In v10 the new nested library type, used by default when installed in a standard way at least on Windows, is a bit problematic. The master table now points to a read-only table. If I want to disable some of those default libraries, I can open the table "C:/Program Files/KiCad/10.0/share/kicad/template/sym-lib-table" and use "Enable" tick boxes. However, because the table is read-only file, KiCad does something for about 10 seconds, then shows a message box "Permission denied".

The first problematic feature is that the user can try to edit a read-only table in the first place. Editing should be disabled already when the table is read from the disk.

The second is that as it is currently implemented, the only way to disable some libraries is to copy the library table to a writable location and add it to the master table. This would partly defeat the purpose of the library nesting. The table wouldn't be automatically updated when the library is updated. (Also, currently KiCad installation by default points to templates, not to the library folder, so updating the library wouldn't update the table in any case.)

There are of course problems in the writable library workflow, too. If for example a library tracked by git is changed, local changes are either overridden or the table coming with the library must not be updated at all.

Maybe separating the actual global table and the active status information could be a solution. In that case the default status for each library would be Enabled, and the disabled status would be saved to a user configuration along with other config. That way, if a library and the table is updated, KiCad would show new libraries but keep old disabled libraries disabled.

Project library tables are a bit different, though. The status information should belong to the project.

Steps to reproduce

  1. Install v10 RC1 (nightly) from scratch with the Windows installer.
  2. Choose the default library setup.
  3. Open e.g. Preferences -> Manage Symbol Libraries.
  4. Open C:/Program Files/KiCad/10.0/share/kicad/template/sym-lib-table with "Open library table" button.
  5. Disable some library.
  6. OK.

KiCad Version

Application: KiCad x64 on x64

Version: 10.0.0-rc1.1-65-gfd160e7dd7, release build

Libraries:
	wxWidgets 3.3.2
	FreeType 2.13.3
	HarfBuzz 12.3.0
	FontConfig 2.17.1
	libcurl/8.18.0 Schannel zlib/1.3.1

Platform: Windows 11 (build 26100), 64-bit edition, 64 bit, Little endian, wxMSW

Build Info:
	Date: Feb 15 2026 06:34:29
	wxWidgets: 3.3.2 (wchar_t,STL containers)
	Boost: 1.90.0
	OCC: 7.9.2
	Curl: 8.18.0
	ngspice: 45.2
	Compiler: Visual C++ 1944 without C++ ABI
	KICAD_IPC_API=ON
	KICAD_USE_PCH=OFF

Locale: 
	Lang: en_FI
	Enc: UTF-8
	Num: 1 234,5
	Encoded кΩ丈: D0BACEA9E4B888 (sys), D0BACEA9E4B888 (utf8)