As I’ve found, it is stored in ~/.config/plasma-org.kde.plasma.desktop-appletsrc, under [Containments][147][Applets][150][Configuration][General]. I’ve found a way to edit it with kreadconfig6 and kwriteconfig6, but to apply changes (a new shortcut to appear), I need to reload shell, which is not ideal in my case.
I took a look at Kickoff launcher’s source code. I found a reference to this model, but this is just a representation of data, as far as I understood.
By researching source code further, I’ve found that it’s probably this what does the job:
onLauncherListChanged: {
Plasmoid.configuration.launchers = launcherList;
}
As far as I know, Plasmoid is a widget/applet, so I probably can’t access this myself from a standalone Kirigami C++ app. It isn’t that much of a problem, if I can edit manually with kreadconfig6/kwriteconfig6, but I need to somehow to tell the task manager to refresh the configuration (as I understood, when it modifies its own config, it happens automatically? I wasn’t able to find something responsible for refreshing in Kickoff source code), so that’s my final question.
Or, well, to avoid XY problem, I also ask for any other ways to programmatically add shortcuts/launchers to application launchers that don’t require to reload the Plasma shell for new shortcuts to appear.