如何使用仅修饰符的快捷方式切换 krunner?

如何使用仅修饰符的快捷方式切换 krunner?

我想krunner使用仅修饰键快捷键切换启动器。仅修饰键快捷键可以绑定到 D-Bus 方法调用kwinrc(例如,请参阅此博客文章)。我希望有一个键可以同时打开和关闭,krunner类似于 meta 键可以同时打开和关闭 GNOME 和 Plasma 中的启动器(另一个默认启动器不是krunner)。

该方法org.kde.krunner,/App,,display可用于打开krunner。但是,我还没有找到相关的方法来关闭它。在我的测试中,我发现只需killingkrunner进程即可关闭krunner显示,而不会产生其他不利影响。我在 Python 中创建了一个小型 D-Bus 服务来终止它krunner,并能够成功将其绑定到修饰键。但是,当您打开 时krunner,它会让krunner进程继续运行(我猜是为了让下次打开更快),因此,如果它未运行,就不能简单地设置一个键绑定来运行,krunner如果它正在运行,就终止它。

有没有办法查询 的状态,以便在当前显示时将其杀死,否则显示它?如果是这样,我可以更改我的 D-Bus 服务来执行此操作。或者也许有一种完全不同的方法可以实现仅使用修饰符快捷方式krunner切换的主要目标。krunner

答案1

而要org.kde.krunner,/App,,display使用org.kde.kglobalaccel,/component/krunner,,invokeShortcut,run command。查看更多这里


编辑:在我更新到 Plasma 5.17.5 后,上述方法不再有效。我必须恢复org.kde.krunner,/App,,display,然后使用 Esc 关闭 krunner。


编辑2:解决方案这里.使用xdotool模拟Esc键。

答案2

使用org.kde.krunner,/App,,toggleDisplay

相关内容