I would like to toggle the krunner launcher with a modifier only shortcut. Modifier only shortcuts can be bound to D-Bus method calls in kwinrc (for example, see this blog post). I would like one key that both opens and closes krunner similar to how the meta key both opens and closes the launchers in GNOME and Plasma (the other, default launcher that is not krunner).
The method org.kde.krunner,/App,,display can be used to open krunner. However, I have not found a related method for closing it. In my testing, I found that simply killing the krunner process closed the krunner display without other adverse effects. I created a small D-Bus service in Python to kill krunner and was able to bind it to a modifier key successfully. However, when you open krunner, it leaves the krunner process running (I guess to make it faster to open the next time), so one can not simply set a keybinding to run krunner if it is not running and kill it if it is running.
Is there any way to query the state of krunner so it can be killed if it is currently displayed and display it otherwise? If so, I could change my D-Bus service to do this. Or perhaps there is a completely different approach that could achieve the main goal of a toggling krunner with a modifier only shortcut.