qdbus 和 wmctrl

近来想通过F12来控制konsole的呼出以及最小化,试了khotkeys之后,发现只能呼出,没法最小化,于是没办法只能自己想办法了。

X window有一个控制工具叫wmctrl, 可以通过窗口的字符串或WM_CLASS来控制窗口,因此在此处使用它就可以呼出窗口并使焦点位于该窗口了。代码是:

-a是用来激活窗口,默认接受一个字符串,这个字符串可以是窗口的标题等。
-x指示将-a后的字符串解析为一个WM_CLASS,
命令的结果是以找到该窗口类的第一个窗口置顶且使焦点位于该窗口。

kde的窗口一般都有一些属性和方法可以通过qdbus来调用,这些方法与属性可以用qdbusviewer来查看。在这里,我们调用konsole的最小化方法使窗口最小化,代码:

或者简单的来写也行:

这样可以使第一个konsole的窗口最小化。

完整的代码:

有了这个shell脚本后,就可以在kde系统设置里绑定执行这个脚本,并设置快捷键为F12,然后就可以最小化或呼出konsole了,这个脚本当然可以更改以适应其他窗口的。

作者: 勿慢牛

安全方向,化學/化工專業,主要關注學佛、計算化學、C++、Python、計算機、古文化、哲學、思維方向,渴求與有共同興趣的朋友交流,詳情請查看“關于”頁面。

发表评论

电子邮件地址不会被公开。 必填项已用*标注