如何让任意应用实现类似Yakuake的弹出/下拉显示隐藏功能(Kubuntu 22.04环境)
如何让任意应用实现类似Yakuake的弹出/下拉显示隐藏功能(Kubuntu 22.04环境)
嘿,这个需求我太感同身受了!Yakuake的一键呼出/隐藏终端真的是效率神器,在Kubuntu 22.04上,我们完全可以给任意应用复刻这个功能——你已经摸到了wmctrl的门路,只差一个状态判断的脚本而已,给你一步步捋清楚:
第一步:确认工具已安装
你已经在用wmctrl了,先确保它已经装在系统里,如果没装的话,打开终端跑这个命令:
sudo apt install wmctrl
第二步:写一个切换显示/隐藏的脚本
我们需要一个脚本来判断目标应用当前的状态——是显示着还是隐藏着,然后执行对应的操作。你可以在家目录下新建一个脚本文件,比如叫toggle_app.sh,把下面的内容复制进去:
#!/bin/bash # 传入应用的窗口标识(可以是窗口标题关键词,或者更准确的窗口类名) TARGET="$1" # 先检查应用是否在运行,没运行就直接启动它 if ! pgrep -f "$TARGET" > /dev/null; then "$TARGET" & exit 0 fi # 获取目标应用的窗口ID(优先匹配窗口类名,避免标题重复的问题) WIN_ID=$(wmctrl -l -x | grep "$TARGET" | awk '{print $1}') # 判断窗口是否处于隐藏状态 if wmctrl -l -x | grep "$WIN_ID" | grep -q "Hidden"; then # 唤起窗口,把它带到最前面 wmctrl -i -r "$WIN_ID" -b remove,hidden wmctrl -i -r "$WIN_ID" -a else # 隐藏窗口 wmctrl -i -r "$WIN_ID" -b add,hidden fi
第三步:给脚本加执行权限
打开终端,跑这个命令给脚本加上可执行权限:
chmod +x ~/toggle_app.sh
第四步:设置自定义快捷键
现在来绑定快捷键,让我们一键触发这个脚本:
- 打开Kubuntu的系统设置,找到快捷键选项,选择自定义快捷键
- 点击右上角的
+号,新建一个快捷键:- 名称:比如“切换系统监视器”
- 命令:
~/toggle_app.sh plasma-systemmonitor(这里的plasma-systemmonitor是KDE自带系统监视器的窗口类名,如果你要控制其他应用,换成对应的标识就行) - 点击应用,然后点击快捷键的输入框,按下你想要的快捷键(比如F11),确认保存
小Tips:获取准确的应用窗口标识
有时候窗口标题会变(比如浏览器打开不同网页标题不同),用窗口类名更可靠。你可以跑这个命令获取所有窗口的类名:
wmctrl -l -x
找到你要控制的应用那一行,第二个字段就是它的窗口类名(比如系统监视器是org.kde.plasma-systemmonitor),把它替换到脚本的命令参数里就行。
这样设置好之后,按下快捷键就能像Yakuake一样一键唤起/隐藏目标应用了,而且应用会一直在后台运行,不用每次重新启动,完美解决你Alt+Tab找窗口的烦恼!
备注:内容来源于stack exchange,提问作者leleogere
相关产品推荐
相关产品推荐

