The right way to do this would be by implementing it directly in KRunner. I wanted to do that 2 years ago because I always felt it was too small, and my implementation was functional:
- [KRunner] Make KRunner width configurable (!1053) · Merge requests · Plasma / Plasma Desktop · GitLab
- [KRunner] UI to configure new runnerWidth property (!1057) · Merge requests · Plasma / Plasma Desktop · GitLab
- [KRunner] New runnerWidth property (!1939) · Merge requests · Plasma / Plasma Workspace · GitLab
But apparently the new, better way to implement this would be to turn the KRunner popup into an org.kde.plasma.core.Dialog (I think PlasmaQuick::Dialog Class | KDE API Reference), and I haven’t tried that since (back then I knew virtually nothing about the Plasma Framework/Libplasma API).